TP : Comparaison des performances des appels en tant qu’utilisateur
TP : Interaction avec l’API Binance pour la récupération de données de marché et l’utilisation de Websockets
Objectif :
- Apprendre à interagir avec l’API Binance pour récupérer les données de marché des cryptomonnaies et à comprendre les différences entre les appels API séquentiels, asynchrones, multithreads et multiprocessus.
- Apprendre à utiliser un WebSocket.
Prérequis : - Python 3.x - Compréhension de base des requêtes HTTP, de l’asynchronisme, des threads, des processus et des WebSockets. - Installation des packages nécessaires (requests, aiohttp, asyncio, websockets, threading, multiprocessing si nécessaire).
Partie 1 : Asynchronie, Multithreading et Multiprocessing appliqués à la récupération de données de marché
Liste des symboles : Commencez par récupérer la liste de tous les symboles spot disponibles sur Binance via l’API.
Récupération des données : Pour chaque symbole, récupérez les données des 60 dernières bougies à la minute.
Méthodes d’exécution :
- Séquentielle : Utilisez des requêtes HTTP séquentielles pour récupérer les données.
- Asynchrone : Modifiez le script pour utiliser asyncio et aiohttp afin de récupérer les données de manière asynchrone.
- Multithreading : Utilisez le module threading pour récupérer les données à l’aide de threads.
- Multiprocessing : Expérimentez avec le module multiprocessing pour récupérer les données à l’aide de processus.
Comparaison des performances : Comparez les performances de chacune des méthodes d’exécution en termes de temps nécessaire pour récupérer toutes les données. Documentez vos observations.
Partie 2 : Utilisation des Websockets
Établissement de la connexion : Connectez-vous aux streams WebSocket pour btcusdt et btceth en utilisant le stream
@depth1@100ms pour recevoir les mises à jour du carnet d’ordres de niveau 1 toutes les 100 ms. Traitement des données : À chaque mise à jour du carnet d’ordres, affichez un bid/ask synthétique et comparez-le avec les données du WebSocket pour ethusdt.
Analyse : Selon les prix de vos bid-ask synthétiques et les prix de la paire ethusdt, des opportunités d’arbitrage triangulaire sont-elles possibles ? Si oui, expliquez les facteurs non pris en compte qui pourraient expliquer pourquoi il semble possible de réaliser un arbitrage.
Ressources : - Documentation de l’API Binance pour les points d’accès des données de marché : Documentation de l’API Binance - Documentation de l’API Binance pour les Websockets : Documentation des Websockets Binance - Toute la documentation de l’API Binance est également disponible directement sur GitHub : Documentation de l’API Binance sur GitHub