Binance Spot a lancé l’algorithme de trading Time-Weighted Average Price (TWAP ou Prix moyen pondéré par le temps) pour les utilisateurs et utilisatrices de l’API. Grâce aux capacités de l’algorithme de trading lancé par Binance, les utilisateurs et utilisatrices peuvent diviser les ordres importants en de plus petits et les exécuter automatiquement à intervalles réguliers, afin de minimiser les répercussions sur les prix.
Qu’est-ce que l’algorithme TWAP ?
Le prix moyen pondéré par le temps (TWAP) est une stratégie algorithmique d’exécution de trades. Il vise à obtenir un prix d’exécution moyen proche du prix moyen pondéré par le temps d’une période donnée.
Quand utiliser un algorithme TWAP ?
Les traders utilisent généralement le TWAP pour atténuer les répercussions d’ordres importants sur le marché. Les algorithmes de trading TWAP visent à optimiser le prix moyen d’un trade en découpant l’exécution des ordres sur une durée déterminée.
Le TWAP est privilégié pour garantir un meilleur prix d’exécution dans les scénarios suivants :
- Lorsque la taille de l’ordre est supérieure à la liquidité disponible dans le carnet d’ordres.
- En prévision d’une période de forte volatilité des prix, sans une tendance claire de hausse ou de baisse.
Voici un exemple de schémas d’exécution de l’algorithme TWAP :

Quels sont les éléments à prendre en compte lors de la mise en place d’une stratégie TWAP ?
- Déterminez la taille du trade (le montant total de cryptos que vous souhaitez acheter ou vendre). La taille minimale autorisée des trades de la stratégie TWAP est équivalente à 1 000 USDT sur Binance. Lorsqu’une stratégie TWAP a exécuté tous ses ordres, l’ordre TWAP s’arrête.
- Choisissez la période d’exécution du TWAP. Vous pouvez choisir entre 5 minutes et 24 heures sur Binance Spot.
Détails de l’API de l’algorithme TWAP
Nouveau point de terminaison de l’ordre TWAP :
Paramètres d’exécution personnalisables
Paramètres | Description |
Symbole | Symbole de trading (ex : BTCUSDT) |
Côté | Type de trading (ex : ACHAT OU VENTE) |
Quantité | Quantité du trade (doit être comprise entre l’équivalent de 1 000 USDT et 100 000 USDT ) |
Durée | Durée de l’ordre TWAP en secondes (300 ou 86 400)
|
Prix Limit | Prix de l’ordre Limit (l’ordre sera placé au prix du marché par défaut) |
Autres points de terminaisons supplémentaires
Point de terminaison | Description | Lien |
DELETE /sapi/v1/algo/spot/order | Annuler un ordre actif | https://binance-docs.github.io/apidocs/spot/en/#cancel-algo-order-trade-2 |
GET /sapi/v1/algo/spot/openOrders | Obtenir tous les ordres en cours | https://binance-docs.github.io/apidocs/spot/en/#query-current-algo-open-orders-user_data-2 |
GET /sapi/v1/algo/spot/historicalOrders | Obtenir l’historique des ordres | https://binance-docs.github.io/apidocs/spot/en/#query-historical-algo-orders-user_data-2 |
GET /sapi/v1/algo/spot/subOrders | Obtenir les ordres secondaires correspondants pour un identifiant d’algorithme spécifié | https://binance-docs.github.io/apidocs/spot/en/#query-sub-orders-user_data-2 |
Questions fréquentes
1. Que sont les limites pour les ordres ?
- Limite des ordres ouverts : TWAP prend en charge jusqu’à dix ordres simultanés par compte. Vous pouvez passer plusieurs ordres TWAP pour le même symbole.
- Limite notionnelle : le notionnel (quantité de l’ordre * dernier prix (actif de base)) doit être supérieur ou égal (≥) à l’équivalent de 1 000 USDT, et inférieur ou égal (≤) à l’équivalent de 100 000 USDT.
- Durée : la durée ne peut être inférieure à 5 minutes (300 secondes) ou supérieure à 24 heures (86 400 secondes).
Les détails de la transaction ne seront pas disponibles tant que tous les ordres TWAP n’auront pas été exécutés. Seules les ordres partiellement finalisés seront affichés. Vous pouvez consulter la quantité de transactions, le prix moyen de transaction et les frais de trading.
2. Que signifient les réponses d’erreur ?
Vous pouvez recevoir les réponses d’erreur suivantes à la suite d’une requête inadéquate.
Code externe | Message externe |
0 | OK |
-1000 | Une erreur inconnue s’est produite lors du traitement de la requête |
-1102 | Un paramètre obligatoire n’a pas été envoyé, il est vide/nul ou malformé |
-20121 | Symoble invalide |
-20130 | Données invalides envoyées pour un paramètre |
-2013 | L’ordre n’existe pas |
-5007 | La quantité doit être supérieure à zéro |
-20124 | ID de l’algo non valide, ou l’ID de l’algo a été complété |
-20132 | L’ID de l’algo du client est dupliqué |
-20194 | La durée est trop courte pour exécuter toute la quantité requise |
-20195 | La taille totale est trop petite |
-20196 | La taille totale est trop grande |
-20198 | Vous avez atteint le nombre maximum d’ordres ouverts autorisé |
3. Les ordres TWAP garantissent-ils l’exécution ?
Les ordres TWAP ne garantissent pas l’exécution. Les ordres seront exécutés dans la mesure du possible, sous réserve de la liquidité et de la volatilité du marché.
Si le prix du marché évolue considérablement ou si la liquidité est insuffisante pendant l’exécution de l’ordre, l’algorithme peut ne pas être en mesure d’exécuter intégralement tous les ordres.
Ainsi, l’exécution dépend et dépendra toujours de la liquidité, sans aucune garantie du meilleur prix. L’algorithme peut par exemple ne pas terminer l’ordre avant l’heure de fin spécifiée si le marché connaît des difficultés.
Binance utilise plusieurs stratégies d’atténuation des risques, notamment des coupe-circuits manuels et automatisés et des contrôles de type « kill-switch ». Ces fonctions peuvent s’activer en cas de perturbation du marché et/ou de défaillance des systèmes, annulant tout ordre TWAP avant qu’il ne soit entièrement exécuté.
4. Comment consulter le statut de mes ordres TWAP ?
Pour consulter le statut d’un ordre TWAP, vous pouvez utiliser les points de terminaison de requête d’ordre (GET /sapi/v1/algo/spot/openOrders ou GET /sapi/v1/algo/spot/historicalOrders).
Veuillez remarquer les éléments suivants :
- Vous ne recevrez pas de notification WebSocket pour les mises à jour de l’ordre.
- Le fait de recevoir [« success » : true] ne signifie pas que votre ordre sera exécuté. Par exemple, si le solde de votre portefeuille Spot est insuffisant, vous recevrez [« success » : true], mais l’exécution de l’ordre échouera quand même.