Ordres RPI Bitget (Retail Price Improvement)
[Temps de lecture estimé : 5 minutes]
L'ordre RPI (Retail Price Improvement) est un type d'ordre spécial disponible sous le modèle de compte de trading unifié. Il a pour but d'accroître la liquidité en s'appariant exclusivement avec des ordres de clients particuliers (c'est-à-dire des ordres non issus d'algorithmes ou placés via OpenAPI). Ce type d'ordre offre aux ordres de particuliers éligibles de meilleurs prix d'exécution, optimisant ainsi le prix et limitant le slippage.
Mécanismes de base des ordres RPI
1. Logique de correspondance : les ordres RPI s'apparient exclusivement avec des ordres non algorithmiques. Ils ne sont pas exécutés face aux ordres soumis via OpenAPI.
2. Type d'ordre : tous les ordres RPI sont des ordres passifs et appartiennent à la catégorie des ordres maker. Ils s'exécutent uniquement face à des ordres taker, ajoutant ainsi de la liquidité au carnet d'ordres.
3. Priorité d'exécution : à un même niveau de prix, les ordres RPI ont une priorité d'exécution inférieure par rapport aux ordres non-RPI, quel que soit le moment où ils ont été placés. Les ordres RPI à un niveau de prix donné ne seront exécutés qu'une fois que tous les ordres non-RPI à ce même prix auront été totalement exécutés.
Comment placer un ordre RPI
1. Les ordres RPI peuvent être soumis via l'API REST ou l'API WebSocket. L'ordre doit être réglé sur limit avec timeInForce = rpi.
2. Seuls les market makers partenaires désignés peuvent placer des ordres RPI. Si un market maker non autorisé tente d'en placer un, il recevra le message d'erreur suivant : "Votre compte n'est pas autorisé à placer des ordres RPI pour cet instrument."
Règles de trading des ordres RPI
1. Les ordres RPI sont pris en charge à la fois en mode marge isolée et en mode marge croisée dans le cadre du compte de trading unifié. Ils sont ouverts au trading sur les marchés Spot, Marge et Futures.
2. Les ordres RPI ne sont pas pris en charge par le trading pré-marché. Ils ne peuvent être placés qu'après la fin de l'enchère d'appel, dans le cas contraire, l'ordre sera rejeté.
3. La logique de validation des ordres RPI est la même que celle des ordres Limit classiques. Les exigences de marge, les limites de taille d'ordre (min/max) et d'intérêt ouvert (OI) sont identiques à celles des ordres Limit standards.
4. Limites de prix des ordres RPI
a. Futures :
• Ordre d'achat : prix de référence × 110% ≥ prix de l'ordre RPI ≥ prix de référence × 50%
• Ordre de vente : prix de référence × 150% ≥ prix de l'ordre RPI ≥ prix de référence × 90%
b. Spot et Marge :
• Ordre d'achat : dernier prix tradé × 110% ≥ prix de l'ordre RPI ≥ dernier prix tradé × 70%
• Ordre de vente : dernier prix tradé × 130% ≥ prix de l'ordre RPI ≥ dernier prix tradé × 90%
Remarque : les seuils (50%, 90%, 110%, 150%) indiqués ci-dessus sont fournis à titre indicatif uniquement. Ces paramètres sont configurables pour chaque paire de trading et la plateforme se réserve le droit de les ajuster en fonction des conditions du marché.
5. Les ordres RPI prennent en charge le placement par lots, la modification des ordres (y compris le prix et la quantité) et l'annulation.
6. Les ordres RPI ne peuvent pas être utilisés conjointement avec des ordres stratégiques (tels que les ordres stop loss, take profit ou stop limit).
7. Les ordres RPI ne peuvent pas s'exécuter face à des ordres non-RPI sur le côté opposé du carnet. Lorsque le côté opposé est exclusivement composé d'ordres RPI, des trades peuvent toujours avoir lieu, mais les ordres RPI ne s'apparieront pas entre eux.
8. Les fluctuations du marché peuvent conduire les ordres d'achat RPI à afficher un prix supérieur à la meilleure offre non-RPI, ou les ordres de vente RPI à un prix inférieur à la meilleure demande non-RPI. Ces ordres RPI sont alors considérés comme invalides et ne seront pas appariés, bien qu'ils restent présents dans le carnet d'ordres. Ils redeviendront valides dès que des ordres non-RPI affichant des prix plus compétitifs apparaîtront.
Affichage des ordres RPI
1. Carnet d'ordres API : les ordres RPI sont affichés dans le carnet d'ordres API.
2. Carnet d'ordres de la page de trading : les ordres RPI sont affichés sur l'interface de trading sans aucun tag spécifique.
Afin de préserver la lisibilité du carnet d'ordres, les ordres RPI présentant un chevauchement de prix (lorsque l'offre est supérieure à la demande) sont masqués. Pour plus de détails sur ces situations de chevauchement, veuillez consulter les exemples ci-dessous :
Exemple 1
Le carnet d'ordres se présente comme suit :
|
|
Prix |
Quantité |
|
Demande 2 |
1002 |
200 |
|
Demande 1 |
1000 (RPI) |
100 |
|
Offre 1 |
999 (RPI) |
90 |
|
Offre 2 |
998 |
120 |
• Un nouvel ordre d'achat RPI à 1000 est accepté.
• Un nouvel ordre d'achat RPI à 1001 est accepté.
• Un nouvel ordre d'achat RPI à 1002 est rejeté, car il existe un ordre non RPI au niveau de l'offre 2.
Carnet d'ordres sur la page de trading :
En cas de chevauchement :
• Les ordres RPI présentant un chevauchement sont masqués dans le carnet d'ordres de la page de trading. Cependant, ils restent actifs au sein du moteur d'appariement et prêts à être exécutés selon les règles établies.
• Les ordres RPI sans chevauchement sont visibles sans aucun tag particulier.
Exemple 2
Le carnet d'ordres se présente comme suit. Les ordres RPI avec chevauchement de prix sont masqués et ne s'exécutent pas les uns contre les autres.
|
|
Prix |
Quantité |
Visible ? |
|
Demande 4 |
1004 |
200 |
Oui |
|
Demande 3 |
1003 (RPI) |
150 |
Oui |
|
Demande 2 |
1001 (RPI) |
100 |
Non |
|
Demande 1 |
999 (RPI) |
50 |
Non |
|
Offre 1 |
1002 (RPI) |
100 |
Non |
|
Offre 2 |
1000 (RPI) |
200 |
Non |
|
Offre 3 |
999 |
200 |
Oui |
|
Offre 4 |
996 (RPI) |
300 |
Oui |
Les ordres RPI sont exclus de tous les flux et données du carnet d'ordres via l'API.
OpenAPI et profondeur des données
1. Profondeur RPI
1.1 REST
• GET /api/v3/market/rpi-orderbook
• Limite de débit : 10 requêtes/s
|
Nom du paramètre |
Type de paramètre |
Requête / réponse |
Requis ? |
Description |
|
category
|
String
|
Paramètre de requête
|
Oui
|
Gamme de produits spot Spot usdt-futures Futures USDT-M coin-futures Futures Coin-M usdc-futures Futures USDC-M |
|
symbol |
String |
Paramètre de requête |
Oui |
Nom de la paire de trading |
|
limit |
String |
Paramètre de requête |
Non
|
Niveau de profondeur spot maximum : 200, par défaut : 5 usdt-futures, coin-futures, usdc-futures maximum : 200, par défaut : 5 |
|
a |
Array
|
Paramètre de réponse |
/ |
Profondeur de vente • Tri par prix croissant |
|
> Index 0 |
String |
Paramètre de réponse |
/ |
Prix de vente |
|
> Index 1 |
String |
Paramètre de réponse |
/ |
Quantité à la vente (non-RPI) |
|
> Index 2 |
String |
Paramètre de réponse |
/ |
Quantité à la vente (RPI) |
|
b |
Array |
Paramètre de réponse |
/ |
Profondeur d'achat • Tri par prix décroissant |
|
> Index 0 |
String |
Paramètre de réponse |
/ |
Prix d'achat |
|
> Index 1 |
String |
Paramètre de réponse |
/ |
Quantité à l'achat (non-RPI) |
|
> Index 2 |
String |
Paramètre de réponse |
/ |
Quantité à l'achat (RPI) |
|
ts |
String |
Paramètre de réponse |
/ |
Horodatage système de la génération des données • Horodatage Unix en millisecondes |
1.2 WebSocket
1.2.1 Paramètres de requête
|
Nom du paramètre |
Type |
Requis ? |
Description |
|
op |
String |
Oui |
Action subscribe S'abonner unsubscribe Se désabonner |
|
args |
List<Object> |
Oui |
Liste des canaux pour lesquels l'abonnement est demandé |
|
> instType |
String
|
Oui |
Type de produit spot Spot usdt-futures Futures USDT-M coin-futures Futures Coin-M usdc-futures Futures USDC-M |
|
> topic |
String
|
Oui
|
Nom du canal rpi-books Canaux de tous les niveaux rpi-books1 Canaux de niveau 1 rpi-books5 Canaux de niveau 5 rpi-books50 Canaux de niveau 50 |
|
> symbol |
String
|
Oui |
Nom de la paire de trading Par exemple : BTCUSDT |
1.2.2 Paramètres de retour
|
Paramètre |
Type |
Description |
|
event |
String |
Événement subscribe S'abonner unsubscribe Se désabonner error Erreur de paramètre |
|
arg |
Object |
Canaux abonnés |
|
> instType |
String |
Type de produit spot Spot usdt-futures Futures USDT-M coin-futures Futures Coin-M usdc-futures Futures USDC-M |
|
> topic |
String |
Nom du canal rpi-books Canaux de tous les niveaux rpi-books1 Canaux de niveau 1 rpi-books5 Canaux de niveau 5 rpi-books50 Canaux de niveau 50 |
|
code |
String |
Code d'erreur |
|
msg |
String |
Message d'erreur |
1.2.3 Paramètres push
|
Paramètre |
Type |
Description |
|
arg |
Object |
Canaux abonnés |
|
> instType |
String
|
Type de produit spot Spot usdt-futures Futures USDT-M coin-futures Futures Coin-M usdc-futures Futures USDC-M |
|
> symbol |
String |
Nom de la paire de trading |
|
> topic |
String |
Nom du canal |
|
action |
String |
Action push de données snapshot Complet update Incrémentiel |
|
data |
List<Object> |
Données d'abonnement |
|
> a |
String |
Profondeur de vente |
|
>> a[0] |
String |
Prix de vente |
|
>> a[1] |
String |
Quantité à la vente (non-RPI) |
|
>> a[2] |
String |
Quantité à la vente (RPI) |
|
> b |
String |
Profondeur d'achat |
|
>> b[0] |
String |
Prix d'achat |
|
>> b[1] |
String |
Quantité à l'achat (non-RPI) |
|
>> b[2] |
String |
Quantité à l'achat (RPI) |
|
> ts |
String |
Horodatage correspondant |
|
> seq |
String |
Numéro de séquence |
|
> previousSeq |
String |
Numéro de séquence du push précédent |
2. Informations de trading
Un identifiant de type RPI a été ajouté aux endpoints et aux canaux de trading de la plateforme.
• Trades récents : /api/v3/market/fills
• Détails du trading : /api/v3/trade/fills
• Canal de trading public : topic=publicTrade
• Canal de trading privé : topic=fill
|
Nom du paramètre |
Type de paramètre |
Requête / réponse |
Requis ? |
Description |
|
isRPI
|
String
|
Paramètre de réponse |
/
|
Trade de type RPI ? yes Oui no Non |
3. Placement d'ordre et placement d'ordres par lots
Le type rpi a été ajouté à la stratégie d'exécution des ordres pour les endpoints de placement d'ordre unique et par lots.
• Placer un ordre : POST /api/v3/trade/place-order
• Placer un ordre par lots : POST /api/v3/trade/place-batch
• Canal de placement d'ordre : topic=place-order
• Canal de placement d'ordre par lots : topic=batch-place
|
Nom du paramètre |
Type de paramètre |
Requête / réponse |
Requis ? |
Description |
|
timeInForce
|
String
|
Paramètre de requête
|
Oui
|
Stratégie d'exécution des ordres ioc (immediate or cancel) fok (fill or kill) gtc (good till canceled) post_only Post only rpi Retail Price Improvement Requis si le type d'ordre est un ordre Limit (limit) ; réglé par défaut sur gtc si laissé vide. |
4. Informations sur les ordres, ordres ouverts et historique des ordres
• Informations sur l'ordre : GET /api/v3/trade/order-info
• Ordres ouverts : GET /api/v3/trade/unfilled-orders
• Historique des ordres : GET /api/v3/trade/history-orders
• Canal d'ordre : topic=order
|
Nom du paramètre |
Type de paramètre |
Requête / réponse |
Requis ? |
Description |
|
timeInForce
|
String
|
Paramètre de réponse
|
Oui
|
Stratégie d'exécution des ordres ioc (immediate or cancel) fok (fill or kill) gtc (good till canceled) post_only Post only rpi Retail Price Improvement |
FAQ
1. Qu'est-ce qu'un ordre RPI (Retail Price Improvement) ?
Un ordre RPI est un type d'ordre spécifique disponible dans le cadre du compte de trading unifié. Il a pour but d'accroître la liquidité en s'appariant exclusivement avec des ordres non algorithmiques (non-OpenAPI par exemple). Il offre aux ordres de particuliers éligibles de meilleurs prix d'exécution, optimisant ainsi le prix et limitant le slippage.
2. Les ordres RPI sont-ils des ordres maker ou taker ?
Type d'ordre : tous les ordres RPI sont des ordres passifs et appartiennent à la catégorie des ordres maker. Ils s'exécutent uniquement face à des ordres taker, ajoutant ainsi de la liquidité au carnet d'ordres.
3. Quelle est la priorité d'exécution des ordres RPI pour un même niveau de prix ?
Priorité d'exécution : à un même niveau de prix, les ordres RPI ont une priorité d'exécution inférieure par rapport aux ordres non-RPI, quel que soit le moment où ils ont été placés. Les ordres RPI à un niveau de prix donné ne seront exécutés qu'une fois que tous les ordres non-RPI à ce même prix auront été totalement exécutés.
4. Quelles gammes de produits et quels modes de marge prennent en charge les ordres RPI ?
Les ordres RPI sont pris en charge à la fois en mode marge isolée et en mode marge croisée dans le cadre du compte de trading unifié. Ils sont ouverts au trading sur les marchés Spot, Marge et Futures. Les ordres RPI ne sont pas pris en charge par le trading pré-marché. Ils ne peuvent être placés qu'après la fin de l'enchère d'appel, dans le cas contraire, l'ordre sera rejeté.
5. La logique de validation des ordres RPI est-elle la même que celle des ordres Limit classiques ?
La logique de validation des ordres RPI est la même que celle des ordres Limit classiques. Les exigences de marge, les limites de taille d'ordre (min/max) et d'intérêt ouvert (OI) sont identiques à celles des ordres Limit standards.