Im ersten Beitrag zum Aufbau meines Handelssystems bin ich auf den modularen Aufbau eingegangen und habe die ersten beiden logischen Blöcke (Import der Kursdaten und Generierung der Handelssignale) näher beleuchtet. Im folgenden Beitrag gehe ich auf den Kern des Systems ein: der eigentlichen Depotverwaltung mit Umsetzung von Kauf- und Verkaufssignalen.

blockdiagramm handelssystemDepotverwaltung

Aus dem Block "Signalgenerierung" liegen alle nun Handelssignale (die sich wiederrum aus der Auswertung der Indikatoren ergeben), in der Datenbank vor. Der Kern des Systems betrachtet die letzten x Handelstage (wobei x ein einstellbarer Parameter ist) und für diese wiederrum alle ausgewählten Märkte.

Für jeden Tag wird geprüft, ob sich dieser Wert bereits im Depot befindet. Falls ja, wird der Stop Loss anhand der letzten Kursdaten nachgezogen. Das Nachziehen des SL erfolgt VOR der Prüfung, ob ein Stop Loss ausgelöst wurde, da das System mit End of Day Daten arbeitet. Die SL Prüfung sollte also mit den aktuellen Daten erfolgen.

Nur wenn sich der betrachtete Wert noch nicht im Depot befindet, wird geprüft ob vielleicht ein Kaufsignal für den aktuellen Tag vorliegt. In diesem Beitrag habe ich bereits beschrieben, dass im jetzigen System kein Pyramidisieren erfolgt: pro Markt und Richtung ist maximal eine Position investiert (es ist theoretisch möglich, dass für ein und denselben Markt sowohl eine Short- als auch eine Long Position eingegangen werden). Dieses Verhalten möchte ich zukünftig ebenfalls einstellbar machen, Voraussetzung dafür ist allerdings ein ausgefeilteres Risikomanagement, als derzeit betrieben wird.

Liegt kein Kaufsignal vor, wird zum nächsten auszuwertenden Tag gesprungen. Falls aber ein Kaufsignal generiert wurde, wird das Depot aktualisiert (dieser Schritt ist in mehrere EInzelschritte unterteilt, z.B. wird eine Eingabemaske eingeblendet, in welcher der tatsächliche Kaufkurs eingetragen wird und der initiale SL wird bestimmt).

Sowohl für die neu gekauften Werte als auch für den "Altbestand" im Depot wird dann der SL für den letzten Tag berechnet und ggf. nachgezogen. Falls ein SL ausgelöst wurde, wird der Wert aus dem Depot ausgebucht und die GuV Rechnung (sowie zahlreiche zusätzliche Kennzahlen für die Statistik) berechnet. Wurde der SL nicht ausgelöst, rückt die Auswertung einen Handelstag weiter.

Sind schließlich alle letzten x Handelstage ausgewertet, erfolgt der selbe Ablauf für die nächsten betrachteten Märkte neu.

Dies ist im Großen und Ganzen mein System. Der Teufel steckt natürlich wie so oft im Detail, die meisten der dargestellten Funktionen müssen vor der Umsetzung in ein konkretes Programm noch weiter heruntergebrochen werden. Auch die Erweiterung um zusätzliche Funtionalität (Stichwort Risiko-/Moneymanagement) ist mit Sicherheit nicht schädlich. Die Intention meiner beiden Artikel bestand vor allem darin, EINE Möglichkeit aufzuzeigen, wie die Architektur eines eigenen Handelssystems aussehen kann. Bei Interesse freu ich mich über Kommentare direkt bei den Artikeln oder über Email: This email address is being protected from spambots. You need JavaScript enabled to view it.

Comments powered by CComment