J'essaie de créer un programme de trading algorithmique. Le programme a un flux d'exécution comme celui-ci :
Server sends data via websocket -> Python program receives it and sends it to C++ program -> C++ program processes the data and sends some data to Python code -> Python code sends packets to Server
La raison pour laquelle je ne construis pas l'ensemble en C++ est que l'API de Broker ne prend en charge que Python et que je ne peux pas effectuer les opérations que je souhaite réaliser assez rapidement si je passe à Python.
La fréquence des données sera d'au moins ~50kb (binaire et Json) par seconde. Jusqu'à présent, j'ai trouvé les alternatives suivantes :
-
Intégrer Python dans le code C++. Cela semble très bien, mais je ne suis pas sûr de pouvoir importer toute la bibliothèque et d'utiliser les classes/méthodes (client du courtier) en C++.
-
Communiquer en envoyant des paquets (la latence est le problème ici).
-
Placer les données reçues dans une base de données SQL et demander à C++ de l'interroger toutes les X ms. (encore une fois, latence)
Existe-t-il une meilleure façon de procéder ?