Trading algorithmique: quel langage/plateforme choisir?

Le choix de l’environnement que vous souhaitez utiliser pour le développement de vos robots de trading est le premier choix particulièrement déterminant pour la suite et ne doit pas être pris à la légère.

La prise en main de cet environnement va demander par la suite beaucoup d’efforts et de temps, voici donc quelques conseils pour vous aider à y voir plus clair.

TradingView et ProRealTime sont des plateformes particulièrement appréciées, agréables à prendre en main, et très adaptées aux non-développeurs. Attention, ce sont des plateformes payantes. TradingView propose une version gratuite, mais les fonctionnalités sont alors limitées, comme par exemple le nombre d’indicateurs que l’on peut associer simultanément sur un même graphe. Les prix vont de 12.95$/mois à 49.95$/mois, ce qui n’est pas négligeable.
Chacune de ces plateformes propose son propre langage de programmation, relativement accessible pour un non-développeur (c’est l’objectif affiché).
Vous allez pouvoir coder vos stratégies ou indicateurs assez rapidement.

Cela fait de TradingView et ProRealTime les choix à privilégier si vous n’avez pas de compétence en programmation.

Mais si vous avez des compétences en programmation, vous allez très rapidement vous sentir très à l’étroit, et c’est normal. Ces plateformes sont avant tout dédiées au grand public.

Les points bloquants sont les suivants:

  • historique de données restreint, fonction de l’abonnement choisi et du timeframe. Au mieux, vous aurez 20.000 barres d’historiques sur TradingView par exemple.
  • environnement de travail délocalisé. vous avez la possibilité de ne pas partager votre script, mais il sera forcément accessible par toute l’équipe technique. si vous avez eu le bonheur de trouver la perle rare et que vous générer de gros profits, dîtes-vous que cela se saura et que votre code n’aura jamais la garantie d’être parfaitement protégé.
  • environnement inadapté aux gros scripts (un robot particulièrement travaillé peut rapidement prendre plusieurs milliers de lignes)
  • à ma connaissance, impossibilité de générer des fichiers de statistiques relatifs aux trades émis et aux conditions de marché qui sont indispensables pour aller plus loin dans l’optimisation d’un robot
  • vous n’êtes pas libre de travailler avec le broker de votre choix

Vous l’aurez compris, en tant que développeur, habituée aux environnements libres, et gratuits, je préfère de loin Metatrader et/ou Python, qui nous allons le voir sont particulièrement adaptés à de situations différentes, et qui en font des outils assez complémentaires.

Metatrader

Metatrader 4 ou 5 est une plateforme totalement libre et gratuite.
Vous pouvez la connecter au broker de votre choix, et avoir accès à une gamme particulièrement riche d’indicateurs et de robots qu’ils soient gratuits ou payants. La communauté Metatrader est particulièrement active. Le design est certes moins attractif que TradingView, mais on s’y habitue très vite.

Le MetaEditor qui vous permet de créer vos indicateurs et trading bots est une interface de développement classique, en local bien en sécurité sur votre pc, rien ne viendra limiter votre ardeur à la tâche. Vous pourrez entre autre générer des fichiers de statistiques, utiliser de la programmation orientée objet, bref, faire un vrai travail de développement.

Le langage se prend en main assez rapidement, même si cela est plus compliqué que pour les plateformes payantes vues précédemment.

Les historiques par défaut sont assez limités, mais nous verrons dans un prochain article que ce n’est pas un frein, car il est possible d’ajouter des historiques gratuitement sur bon nombre d’actifs.

Pour ces raisons, Metatrader est un candidat très sérieux pour débuter dans le développement de robot de trading.

Les limites que l’on pourrait poser à son utilisation sont les suivantes:

  • non adapté pour la mise en œuvre d’un robot qui devrait scruter des centaines ou milliers d’actions à la recherche des meilleures opportunités
  • on ne peut réaliser que des systèmes “experts” par opposition aux systèmes plus avancés que l’on connaît aujourd’hui sous les termes de machine learning ou deep learning

Python

Python est un langage open source, parmi les plus appréciés actuellement. Il offre de nombreuses bibliothèques spécialement adaptées au Machine Mearning et au Deep Learning, ainsi que des bibliothèques dédiées à la finance, comme la bibliothèque talib qui permet de calculer des indicateurs techniques.

Le choix de python doit être mûrement réfléchi, relativement à notre niveau en programmation, et surtout à l’objectif que l’on souhaite atteindre. Foncer tête baissée sur Python, sans avoir au préalable d’expérience en développement de robot de trading, nécessaire pour en comprendre les spécificités, serait à mon sens une erreur.

“Think big, start small, move fast”.

Si vous avez déjà une bonne expérience en développement de robot de trading, Python sera par contre particulièrement adapté dans les situations suivantes:

  • réalisation d’un robot sur actions, devant scanner des centaines, voire des milliers d’actifs pour lister les meilleures opportunités
  • mise en application d’algorithmes de machine learning/deep learning

En espérant que cela vous aura été utile!