Wie man Trading-Algorithmen in Python schreibt: Das sind die Geheimnisse
Wenn du im algorithmischen Trading einsteigen willst, brauchst du nicht unbedingt C++ zu nutzen. Jane Street verwendet Ocaml, Kryptounternehmen verwenden entweder Python oder Java.
Auch wenn C++-Puristen abfällig auf Python herabschauen, hat die Programmiersprache durchaus ihre Berechtigung.
Wenn du als Python-Kenner in den Hochfrequenzhandel (HFT) einsteigen willst, sei es als Einzelkämpfer oder in einem großen Unternehmen, gibt es eine Reihe von Möglichkeiten, mit denen du selbstständig erfolgreich sein kannst oder auch attraktiv wirst für potenzielle Arbeitgeber.
In einem Webinar zum Thema „Algorithmic Trading mit Python“, das vom Kryptotrading- und Analyseunternehmen ProfitView veranstaltet wurde, führte der Mitbegründer und ehemalige BofA-Quant Jahan Zahid vor, wie ein Trading-Algorithmus programmiert wird und teilte Tipps und Tricks.
Verwende „cubic spline“
Häufig streuen Marktdaten weit und lassen sich nur schwer zu sinnvollen Mustern zusammenfassen. Zahid meint, man solle „hier und da kleine Datenfragmente nehmen und daraus eine glatte Oberfläche erstellen“.
Ein Tool, das hier helfen kann, ist der „cubic spline“.
Der „cubic spline“ ist ein Tool aus der Python-Bibliothek SciPy („scientific Python“). Wolfram Mathworld definiert es als „konstruiert aus stückweisen Polynomen dritter Ordnung, die durch einen Satz von m Kontrollpunkten gehen“.
Vergleicht man „Spline“-Ergebnisse mit Histogramm-Daten, erklärte Zahid, dass sie gut zusammenpassen und dass „das Schöne daran ist, dass wir Ableitungen dieser Funktion machen können“.
Mach nicht den Fehler, dir „non-normal returns“ nicht anzuschauen
Wenn du komplett neu im Thema bist, dann könnte diese Information unter dem Radar durchrutschen, aber Zahid sagt, dass man sich in der Branche „üblicherweise auch non-normal returns anschaut“.
Laut Asymmetry Observations sind „nicht-normale returns“ „eine Verteilung von Marktleistungsdaten, die nicht der Normalverteilung entspricht“.
Zahid sagt etwa: „Wenn ein Vermögenswert um 1 Prozent steigt und dann um 1 Prozent fällt, kehrt er nicht auf denselben Wert zurück.“
Die Sicherstellung der richtigen Datenverteilung kann der Schlüssel zur effektiven Umsetzung deiner Trading-Strategien sein. Wenn du ein Algo-Programmierer der ersten Stunde bist, kann dies auch darauf hinweisen, dass du die Branchenpraktiken kennst.
Anhand dieser Informationen, so Zahid, sollten wir in der Lage sein, „in 5, 10 oder 30 Minuten zu berechnen, wie die Verteilung der Erträge aussehen wird“.
Fang einfach an zu programmieren
Kleine Tipps und Tricks sind schön und gut, aber schwieriger ist es, sich das entsprechende Mindset anzueignen. Bei der Programmierung von Trading-Algorithmen wird man am ehesten besser, je häufiger man es macht.
Zahid sagt, „manchmal lernt man am besten, indem man sich einfach an die Arbeit macht und mit dem Programmieren loslegt“.
Die eigenen Programmierkenntnisse mit Tools wie Jupyter Notebook zu erweitern, könne natürlich hilfreich sein, aber Zahid meint, dass man als angehender Trader viel mehr lernt, wenn man Jupyter hinter sich lässt und anfängt, Code zu schreiben, mit dem tatsächlich getradet wird.
Have a confidential story, tip, or comment you’d like to share? Contact: Zeno.Toulon@efinancialcareers.com in the first instance. Whatsapp/Signal/Telegram also available (Telegram: @SarahButcher)
Bear with us if you leave a comment at the bottom of this article: all our comments are moderated by human beings. Sometimes these humans might be asleep, or away from their desks, so it may take a while for your comment to appear. Eventually it will – unless it’s offensive or libelous (in which case it won’t.)