Il y a dix ans, obtenir un accès API à un grand exchange nécessitait un compte institutionnel, un examen de conformité et souvent des frais de connexion dédiés. Aujourd’hui, tous les grands exchanges crypto proposent un accès API gratuit à toute personne disposant d’un compte. La barrière au trading algorithmique est passée de plusieurs millions de dollars à pratiquement zéro, du moins sur le plan technologique.
Les API des exchanges se déclinent généralement en deux variantes. Les API REST gèrent les opérations de type requête-réponse comme passer des ordres, vérifier les soldes et récupérer les données historiques. Les API WebSocket fournissent des données en streaming temps réel, notamment les mises à jour du carnet d’ordres en direct, les flux de trades et les notifications de compte. Un système de trading algo typique utilise les deux : WebSocket pour les données de marché temps réel et REST pour la gestion des ordres.
L’architecture de base d’un système algo grand public est simple. Vous disposez d’un gestionnaire de données qui traite les données de marché entrantes, d’un module de stratégie qui génère des signaux de trading, d’un gestionnaire de risque qui valide les transactions proposées, et d’un module d’exécution qui envoie les ordres à l’exchange. La plupart des gens commencent avec Python, car les bibliothèques sont excellentes. ccxt fournit à lui seul une interface unifiée pour plus de 100 exchanges.
La latence compte, mais probablement moins que vous ne le pensez pour la plupart des stratégies particulières. Le temps d’aller-retour d’un appel API REST vers Binance est généralement de 50 à 200 millisecondes selon votre localisation. Pour les stratégies qui opèrent sur des périodes d’une minute ou d’une heure, c’est largement assez rapide. Si vous essayez de faire de l’arbitrage sous la seconde, il vous faut des serveurs colocalisés près du centre de données de l’exchange, et vous êtes en concurrence avec des sociétés bien financées.
Les limites de taux sont l’un des premiers défis pratiques auxquels les nouveaux traders API sont confrontés. Les exchanges limitent le nombre de requêtes que vous pouvez effectuer par minute pour prévenir les abus. Binance autorise 1 200 requêtes par minute pour les endpoints liés aux ordres. Cela signifie que votre système doit être intelligent dans la façon dont il interroge les données et gère les ordres. Regrouper les requêtes et utiliser des flux WebSocket au lieu du polling peut réduire considérablement votre utilisation de l’API.
Les types d’ordres disponibles via les API sont généralement plus riches que ce que propose l’interface web de l’exchange. Vous pouvez implémenter des ordres conditionnels, des ordres iceberg qui masquent la taille totale de votre position, et une exécution en prix moyen pondéré dans le temps qui étale un gros ordre dans le temps. Ces stratégies d’exécution aident à réduire l’impact de marché, c’est-à-dire le mouvement de prix causé par votre propre trading.
La gestion des erreurs sépare les systèmes qui fonctionnent de ceux qui explosent. Les timeouts réseau, les erreurs d’API, les exécutions partielles et les fenêtres de maintenance de l’exchange doivent tous être traités avec soin. L’un des bugs les plus courants dans les systèmes algo grand public consiste à ne pas gérer un scénario où un ordre est placé mais où la confirmation est perdue en raison d’un problème réseau. Vous vous retrouvez avec des ordres en double ou des positions orphelines.
Le backtesting est là où la plupart des traders algo grand public passent un temps disproportionné par rapport à sa valeur réelle. Un backtest peut vous dire si une stratégie avait un avantage historiquement, mais l’écart entre les résultats du backtest et la performance en direct est souvent énorme. Le slippage, l’évolution des conditions de marché et les délais d’exécution érodent tous les rendements. Le paper trading sur données en direct est une meilleure étape intermédiaire avant d’engager du capital réel.
Le véritable avantage pour les traders algo particuliers n’est pas la vitesse. C’est la cohérence et la discipline. Un algorithme exécute sa stratégie exactement de la même manière à chaque fois, sans peur, cupidité ni fatigue. Il peut surveiller des dizaines de marchés simultanément et réagir à des opportunités qu’un humain manquerait. Les traders algo particuliers les plus performants ne sont pas ceux qui ont les systèmes les plus sophistiqués. Ce sont ceux qui disposent d’avantages bien définis et modestes qu’ils exécutent de manière fiable sur des milliers de trades.