Après quelques mois passés sur prt et le trading auto avec ProBuilder, j'ai décidé de créer une plateforme de trading auto en passant directement par l'Api IG. Cette API est découpée en deux parties, une partie RESTful pour l'envoi de commandes (récupération des marchés, historiques, prise et fermeture de positions...) et une partie en Streaming principalement pour récupérer les cotations en temps réel.
Plusieurs langages sont proposés en exemple, je suis donc parti des exemples fournis en Java (mon domaine). L'implémentation en exemple s'appuie sur le framework Spring qui traduit les requêtes RESTful en classes Java. Après une étude détaillée des exemples, j'en suis venu à abandonner l'usage jugé trop brouillonne en terme d'organisation objet et pas assez performante... J'ai donc refait tous les accès RESTful sans passer par leur exemple en effectuant des tests au cas par cas, cela n'a pas posé de problème.
Pour la partie Streaming, une API est imposée, les ticks sont reçus sans problème une fois que l'on a bien choisi le code epic du marché. La plateforme que j'ai développé les traduit automatiquement en Bougie selon différentes tailles déterminées par le demandeur. Point négatif côté ig, l'historique n'est pas disponible en ticks, il faut donc stocker les ticks en permanence.
La plateforme n'est pas encore opérationnelle, elle permet actuellement de :
- Choisir un ou plusieurs marchés (un robot par exemple pourrait parfaitement switcher d'un marché à l'autre)
- Recevoir les ticks avec conversion en chandeliers selon la dimension voulue (plusieurs dimensions simultanées possibles)
- Calculer le rsi selon différentes périodes
- Prendre une position au marché à l'achat/vente et clôturer la position
- Toutes les positions se font avec un stop garanti et une limite.
Cela paraît bien pauvre en comparaison de ProBuilder mais c'est déjà pas mal de chose en plus : tick, multi-dimensions, stop garanti...
A suivre ...