Prévention de l'auto-négociation

Dernière mise à jour : 1 avr. 2025

Kraken empêche les clients d'exécuter leurs propres ordres (en étant simultanément le teneur et le preneur pour la même transaction). Cela permet d'éviter le wash trading, qui est une forme de manipulation de marché dans laquelle un trader achète et vend simultanément le même instrument financier pour créer une activité trompeuse et artificielle sur le marché.

Il est possible de placer des ordres auto-appariés avec succès (des ID d'ordre valides seraient renvoyés), mais l'ordre preneur serait immédiatement annulé. Le flux d'ordres spécifique qui se produit lorsque deux ordres du même compte correspondent est le suivant :

  • Si deux ordres de même quantité devaient entraîner une auto-exécution, l'ordre teneur (à cours limité) resterait dans le carnet d'ordres et l'ordre preneur (au marché) serait annulé (quelle que soit la taille de l'ordre).

  • Dans le cas où un ordre peut être partiellement exécuté à partir du carnet d'ordres, le volume restant qui entraînerait une auto-correspondance serait annulé.

  • S'il y a deux ordres en attente, le premier aurait la priorité temporelle et le second pourrait être annulé avec tout volume restant du troisième ordre agresseur.

Dans la gestion de compte, un ordre qui a été annulé en raison de la prévention de l'auto-négociation afficherait un statut de "Annulé" avec la raison "Impossible de négocier avec soi-même" :

Trading_CanceledCannotTradeWithSelf_09102021.png

Voici un exemple du flux d'ordres et du statut d'ordre résultant via l'API REST de Kraken. Les appels API placent un ordre d'achat à cours limité en haut du carnet d'ordres XDGUSD, immédiatement suivi d'un ordre de vente au marché pour XDGUSD, ce qui entraîne l'annulation automatique de l'ordre au marché en raison de la restriction d'auto-négociation :

  • $ ./krakenapi AddOrder pair=xdgusd type=buy ordertype=limit price=0.002449 volume=5000 {"error":[],"result":{"descr":{"order":"buy 5000.00000000 XDGUSD @ limit 0.0024490"},"txid":["OQMVWA-LSE57-4LPF45"]}}

  • $ ./krakenapi AddOrder pair=xdgusd type=sell ordertype=market volume=5000 {"error":[],"result":{"descr":{"order":"sell 5000.00000000 XDGUSD @ market"},"txid":["OSLIEB-IQBNV-K7P5ET"]}}

  • $ ./krakenapi QueryOrders txid=OSLIEB-IQBNV-K7P5ET {"error":[],"result":{"OSLIEB-IQBNV-K7P5ET":{"refid":null,"userref":0,"status":"canceled","reason":"Impossible de négocier avec soi-même","opentm":1588683502.71,"closetm":1588683502.7117,"starttm":0,"expiretm":0,"descr":{"pair":"XDGUSD","type":"sell","ordertype":"market","price":"0","price2":"0","leverage":"none","order":"sell 5000.00000000 XDGUSD @ market","close":""},"vol":"5000.00000000","vol_exec":"0.00000000","cost":"0.000000000","fee":"0.000000000","price":"0.000000000","stopprice":"0.000000000","limitprice":"0.000000000","misc":"","oflags":"fciq"}}}

Tous les détails des champs/valeurs d'informations sur les ordres sont disponibles via la documentation QueryOrders et ClosedOrders.

Les séparateurs décimaux et de milliers affichés dans cet article peuvent différer des formats affichés sur nos plateformes de trading. Consultez notre article sur la façon dont nous utilisons les points et les virgules pour plus d'informations.

Besoin d’aide supplémentaire ?