Welche Python-Kenntnisse Trader benötigen
Derzeit spielt die Programmiersprache Python in Finance eine große Rolle. Wer Trader ist und niemals zuvor programmiert hat, steht vor der Frage, wie viel Python er beherrschen muss. Müssen Sie wirklich Ihre Feierabende und Wochenende opfern, um ein versierter Programmierer zu werden?
Gleich, was Sie auch immer programmieren wollen, müssen Sie doch die Grundlagen beherrschen. Diese ähneln sich in den einschlägigen Programmiersprachen. Sie müssen beantworten können, was eine Variable ist, welche Formen von Daten es gibt, was ein „if“ bedeutet und was eine Funktion ist.
Für Trading im Besonderen müssen Sie darüber hinaus auch noch wissen, wie Sie Marktdaten von Quellen wie Bloomberg und Quandl in Python herunterladen. Dabei gibt es sogenannte Libraries wie findatapy, die die Sache erleichtern. (OK, das habe ich selbst geschrieben, aber es handelt sich um Open Source-Software).
Anschließend wollen Sie Zahlen verarbeiten. Dazu stellen Pandas ein sehr gutes Tool dar. Wer sich in den Bereich des Maschinenlernens vorwagen will, kann sich auch mit scikit-learn beschäftigen. Wie dem auch sei empfehle ich allen Leuten, die Grundbegriffe zu verstehen, die hinter den unterschiedlichen Maschinenlern-Techniken bestehen und nicht nur die Funktionen in scikit-learn aufzurufen.
Sobald Sie erst einmal gelernt haben, wie Sie ein Skript schreiben und wie Sie die Marktdaten analysieren, benötigen Sie weiterreichende Kenntnisse. Schließlich wollen Sie Ihre Ergebnisse angemessen präsentieren. Meine bevorzugten Tools zur Visualisierung von Python sind matplotlib und plotly. Zumindest eines davon müssen Sie anwenden können.
Genügen diese Python-Kenntnisse, um als Trader zurechtzukommen? Das hängt ganz davon ab, was Sie erledigen wollen! Wenn Sie die einzige Person sind, die den Python-Code verwendet und es sich um keine kritische Funktion handelt, dann stellt das schon einen guten Anfang dar. Doch wenn Sie Ihren Code an Kollegen am Trading-Desk weitergeben wollen, dann müssen Sie auch mit dem „Engineering“ in Python zurechtkommen. Dabei handelt es sich um Software-Design und die Kunst den Code wiederverwendbar zu gestalten. Und dabei spreche ich nicht etwa von Copy and Paste. Auch dürfen Sie nicht das Testen vergessen, damit der Code nicht zu brüchig wird. Dazu gehört weiter, wie man Daten abruft und sie in Datenbanken ablegt.
Wenn Sie erst einmal dieses Niveau erreicht haben, müssen Sie lernen, wie Sie die Berechnungen effizienter gestalten und wie sie sie verteilen können. Auf diese Weise laufen die Berechnungen parallel und damit deutlich schneller. Dies ist besonders wichtig, wenn Sie im Hochfrequenzhandel tätig sind.
Falls Sie Nutzern die Verwendung Ihres Codes erleichtern wollen, ohne dass diese dazu Python können müssen, dann müssen Sie in der Lage sein, eine Excel-Schnittstelle herzustellen. Schließlich schwört jeder Trader auf Excel. Dazu können Sie Tools wie xlwings, web GUI und dashPython Libraries verwenden.
Nach meiner Erfahrung erfordert der „Engineering“-Teil oft mehr Zeit als die eigentlichen Berechnungen. Ich habe beinahe zwei Jahre damit verbracht, eine Python-Library für die Analyse von Transaktionskosten zu entwickeln. Dabei hat die Zahl der Programmzeilen für die Berechnungen im Vergleich zu denen für das Laden von Daten, die Visualisierung usf. nur einen kleinen Teil des Codes beansprucht.
Wer vorher noch nie programmiert hat, dem kann das Lernen von Python schon Angst einjagen. Dennoch ist es machbar, wenn Sie genügend Zeit investieren. Für den Anfang bietet sich ein Python-Crashkurs an, der die verschiedenen genannten Aspekte abdeckt. Doch sie müssen dies selbst praktisch anwenden, indem Sie sich hinsetzen und etwas programmieren.
Saeed Amen ist ein systematischer Devisenhändler, der seit 2013 sein eigenes Handelsbuch in den zehn größten Devisen hat. Amen hat schon Handelssysteme für verschiedene Großbanken wie Lehman Brothers und Nomura entwickelt.
Have a confidential story, tip, or comment you’d like to share? Contact: sbutcher@efinancialcareers.com in the first instance. Whatsapp/Signal/Telegram also available. 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.)