Les secrets pour écrire des algorithmes de trading en Python
Vouloir se faire une place dans le trading algorithmique ne signifie pas qu’il vous faudra utiliser C++. Jane Street utilise OCAML, l’univers crypto soit Python, soit Java.
Python est assez mal vu des puristes de C++ dans cet environnement, mais il reste utile.
Si vous êtes un inconditionnel de Python et que vous souhaitez toucher au trading haute fréquence (HTF), en solo ou au sein d’une grande entreprise, il existe plusieurs manières de vous valoriser auprès de potentiels employeurs ou de démontrer votre propre efficacité dans cet environnement.
Lors d’un récent webinaire sur le trading algorithmique en Python, organisé par ProfitView, un établissement spécialisé en trading crypto et d’analyse, Jahan Zahid, l’un de ses cofondateurs, par ailleurs ex-quant chez BofA, est revenu sur le process d’écriture d’un algorithme de trading et a proposé plusieurs trucs et astuces au cours de sa démonstration.
Utilisez une spline cubique
Il est fréquent que les données de marché soient assez éparpillées et difficiles à récupérer et à organiser en modèles pertinents. Pour Jahan Zahid, il faut donc prendre « des fragments de données ici et là, et arriver à une surface lisse. »
La spline cubique est l’un des outils qui peut vous y aider.
Elle est disponible dans la bibliothèque Python SciPy (Scientific Python). Wolfram Mathworld la définit comme « composée pièce par pièce de polynômes du troisième degré qui passent par un ensemble de points de contrôle m. »
Lorsqu’on compare les résultats de la spline aux données graphiques, Jahan Zahid indique qu’ils s’accordent et que « ce qui est bien, c’est qu’on peut prendre des dérivées de cette fonction. »
Évitez l’erreur de ne pas prendre en compte les retours log-normaux
Si vous êtes entièrement novice, c’est une information qui pourrait vous échapper, mais Jahan Zahid précise qu’ « en général, les initiés prêtent attention aux retours log-normaux. »
La distribution de retours non-normaux est « une distribution des données relatives à la performance du marché qui sort de la courbe en cloche » d’après Asymmetry Observations.
Jahan Zahid indique par exemple que « si un actif monte de 1%, puis baisse de 1%, il ne revient pas à la même valeur. »
S’assurer d’utiliser une distribution correcte des données peut être essentiel pour la mise en œuvre efficace de vos stratégie de trading. Si vous débutez dans l’écriture des algorithmes de trading, cela peut aussi servir à indiquer une bonne connaissance des pratiques du secteur.
Jahan Zahid ajoute qu’en faisant bon usage de cette information, il devrait être possible d’ « anticiper de 5, 10 ou 30 minutes par rapport à un instant t la tournure que prendra la distribution. »
Mettez-vous à coder, c’est aussi simple que cela
Les trucs et astuces, c’est bien, mais il peut être un peu plus compliqué de trouver le bon esprit. Pour le cas du codage d’algorithmes de trading, la meilleure façon de s’améliorer, c’est tout simplement la pratique.
Pour Jahan Zahid, « parfois, la meilleure façon d’apprendre, c’est juste de se mettre au travail et de commencer à coder. »
Élargir votre connaissance du codage avec des outils comme Jupyter Notebook peut bien sûr s’avérer très utile, mais Jahan Zahid précise que « si vous êtes aspirant trader, vous apprendrez bien plus en laissant tomber Jupyter et en écrivant du code qui trade vraiment. »
Have a confidential story, tip, or comment you’d like to share? Contact: alex.mcmurray@efinancialcareers.com in the first instance.
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.)