Die Environment ist (wie der Name schon sagt) alles rundherum und wird zu jedem Zeitpunkt mit einem gewissen Zustand repräsentiert. Dieser Zustand kommt aus einem Zustandsraum S, der endlich oder unendlich groß sein kann.
Der Agent interagiert jetzt in jedem Zeitpunkt mit der Environment. Nach jeder Aktion des Agenten, ändert sich der Zustand in dem sich die Environment befindet und der Agent erhält einen Reward.
Eine "Änderung" passiert eigentlich implizit, indem der Agent erfährt in welchem neuen Zustand die Environment ist. Dieser Zustand kann natürlich gleich bleiben, falls sich nichts geändert hat, bzw. kann natürlich der Agent auch mit der Fähigkeit des "Nichtstun" ausgestattet sein ;).
Eine Strategie des Agenten ist nichts anderes als eine Vorschrift, welche Aktion er in welchem Zustand ausführt.
Der Agent versucht nun eine Strategie zu lernen, die die erwarteten Rewards auf lange Sicht maximiert. Dieser "Lernvorgang" ist vom Entwickler aber nur insoweit beeinflussbar, als das er die möglichen Aktionen des Agenten bestimmt, das Environment und die Rewardstruktur modelliert.
Für endliche Zustandsräume und endliche Aktionsräume kann man die Konvergenz zu einer optimalen Strategie beweisen. Bei unendlichen Zustandsräumen wird das schwerer bis unmöglich.
Die Zustandsänderungen und Rewards können natürlich auch stochastisch sein.
Kleines "praktisches" Beispiel:
Eine simples Schachbrett. rechts oben ist das Ziel, links unten der Start. Der aktuelle "Zustand" ist die Position an der sich der Agent befindet.
Der Agent steht zu Beginn am Start und kann nun die Aktionen links, rechts, vor und zurück ausführen.
Für jede Bewegung erhält er einen Reward von -1, Erreicht er das Ziel, so erhält er einen Reward von 100 und die Episode ist vorbei. Fällt er vom Brett erhält er -100 und die Episode ist ebenfalls aus.
Nach mehreren (hunderten ;) Trainingsläufen, lernt der Agent in diesem Beispiel den schnellsten Weg vom Start zum Ziel zu finden.
Und was hat das jetzt mit Trading zu tun?
Wähle Zustandsraum: Der Markt.
Mögliche Aktionen: Kaufen (zB zwischen 0.1 und 5 Lots), Verkaufen (auch 0.1 bis 5 Lots) und nichts tun.
Jeder Bar ist ein Zeitschritt, Der Reward ist die Balance Änderung von heute open (also wo die aktion passiert) bis nächster Bar open.
Soweit die Theorie
Warum ich das hier poste:
Ich bin derzeit dabei mich stark in das Thema einzuarbeiten, und seh da einiges an forschungspotential und möglicherweise Anwendungsmöglichkeiten im Markt.
Die Frage die sich mir stellt:
Wie modelliert man den Markt sinnvoll? also wie sieht ein Zustandsvektor aus?
Um was geht es beim RL (reinforcement learning)?
(Hier eine informelle Erklärung, mehr Details auf
Es gibt 2 wichtige Punkte:
Die Environment und den Agenten.
Die Environment ist (wie der Name schon sagt) alles rundherum und wird zu jedem Zeitpunkt mit einem gewissen Zustand repräsentiert. Dieser Zustand kommt aus einem Zustandsraum S, der endlich oder unendlich groß sein kann.
Der Agent interagiert jetzt in jedem Zeitpunkt mit der Environment. Nach jeder Aktion des Agenten, ändert sich der Zustand in dem sich die Environment befindet und der Agent erhält einen Reward.
Eine "Änderung" passiert eigentlich implizit, indem der Agent erfährt in welchem neuen Zustand die Environment ist. Dieser Zustand kann natürlich gleich bleiben, falls sich nichts geändert hat, bzw. kann natürlich der Agent auch mit der Fähigkeit des "Nichtstun" ausgestattet sein ;).
Eine Strategie des Agenten ist nichts anderes als eine Vorschrift, welche Aktion er in welchem Zustand ausführt.
Der Agent versucht nun eine Strategie zu lernen, die die erwarteten Rewards auf lange Sicht maximiert. Dieser "Lernvorgang" ist vom Entwickler aber nur insoweit beeinflussbar, als das er die möglichen Aktionen des Agenten bestimmt, das Environment und die Rewardstruktur modelliert.
Für endliche Zustandsräume und endliche Aktionsräume kann man die Konvergenz zu einer optimalen Strategie beweisen. Bei unendlichen Zustandsräumen wird das schwerer bis unmöglich.
Die Zustandsänderungen und Rewards können natürlich auch stochastisch sein.
Kleines "praktisches" Beispiel:
Eine simples Schachbrett. rechts oben ist das Ziel, links unten der Start. Der aktuelle "Zustand" ist die Position an der sich der Agent befindet.
Der Agent steht zu Beginn am Start und kann nun die Aktionen links, rechts, vor und zurück ausführen.
Für jede Bewegung erhält er einen Reward von -1, Erreicht er das Ziel, so erhält er einen Reward von 100 und die Episode ist vorbei. Fällt er vom Brett erhält er -100 und die Episode ist ebenfalls aus.
Nach mehreren (hunderten ;) Trainingsläufen, lernt der Agent in diesem Beispiel den schnellsten Weg vom Start zum Ziel zu finden.
Und was hat das jetzt mit Trading zu tun?
Wähle Zustandsraum: Der Markt.
Mögliche Aktionen: Kaufen (zB zwischen 0.1 und 5 Lots), Verkaufen (auch 0.1 bis 5 Lots) und nichts tun.
Jeder Bar ist ein Zeitschritt, Der Reward ist die Balance Änderung von heute open (also wo die aktion passiert) bis nächster Bar open.
Soweit die Theorie
Warum ich das hier poste:
Ich bin derzeit dabei mich stark in das Thema einzuarbeiten, und seh da einiges an forschungspotential und möglicherweise Anwendungsmöglichkeiten im Markt.
Die Frage die sich mir stellt:
Wie modelliert man den Markt sinnvoll? also wie sieht ein Zustandsvektor aus?