Introducción
La protección de creadores de mercado (MMP) es un mecanismo para proteger a los proveedores de liquidez frente a ráfagas de ejecuciones de órdenes en un corto periodo. Una vez que el monto total negociado de una cuenta en un breve intervalo supera los límites configurados, se activará la MMP para dicha cuenta. Cuando se activa la MMP, las órdenes MMP existentes (órdenes marcadas como MMP) de la cuenta serán canceladas automáticamente por el motor de negociación, y las nuevas órdenes MMP de la cuenta serán rechazadas durante un periodo posterior (llamado periodo de congelación). El titular de la cuenta puede utilizar este periodo para reevaluar la situación y revisar las cotizaciones.
Activar MMP
El usuario debe contactar al gerente de clientes de BIT para activar o desactivar la MMP de una cuenta. Los parámetros de configuración de la MMP se muestran a continuación:
(Nota: Los parámetros de protección de creadores de mercado para derivados con margen en moneda, derivados con margen en USDT y spot se activan y configuran de forma independiente y no se afectan entre sí).
| Tamaño de la ventana de tiempo para contabilizar las cantidades negociadas y el delta neto de transacciones frente a los límites. |
frozen_period_ms | Duración del período de congelación una vez que se activa la MMP. 0 significa que la cuenta permanecerá congelada hasta un restablecimiento manual. |
qty_limit | Límite de la cantidad total de operaciones en la ventana de tiempo. |
delta_limit | Límite del delta neto de transacciones en la ventana de tiempo. |
Los parámetros predeterminados para la protección de creadores de mercado son los siguientes:
Operaciones spot:
par comercial | window_ms | frozen_period_ms | qty_limit | delta_limit |
BTC/USDT | 5000 | 100 | 100 | 100 |
BTC/USD | 5000 | 100 | 100 | 100 |
ETH/USDT | 5000 | 100 | 3000 | 3000 |
BCH/USDT | 5000 | 100 | 5000 | 5000 |
Derivados con margen en moneda
cryptocurrency | window_ms | frozen_period_ms | qty_limit | delta_limit |
BTC | 5000 | 100 | 100 | 100 |
ETH | 5000 | 100 | 3000 | 3000 |
BCH | 5000 | 100 | 5000 | 5000 |
Derivados con margen en USDT
cryptocurrency | window_ms | frozen_period_ms | qty_limit | delta_limit |
BTC | 5000 | 100 | 100 | 100 |
Especificaciones
Órdenes MMP
MMP solo afecta a las órdenes MMP, es decir, a las órdenes colocadas con el campo mmp
establecido en true
. Solo se contabilizarán las operaciones de órdenes MMP, y únicamente las órdenes MMP serán canceladas o rechazadas cuando se active MMP.
Monitoreo MMP
Para cada cuenta con MMP activada, el motor de negociación supervisa en tiempo real la cantidad total y el delta neto de transacciones de las operaciones en la ventana temporal anterior de duración window_ms
.
Figura 1 - Ejemplo de monitoreo de MMP.
Consulta la figura 1 como ejemplo: una cuenta configurada con window_ms = 300
. Hay 4 operaciones de sus órdenes MMP en los instantes 140, 200, 340 y 500, respectivamente. El tiempo actual es 560, y se contarán las operaciones que caen dentro de la ventana de tiempo (260, 560], es decir, T3 y T4. Si la cantidad total o el delta neto de transacción de T3 y T4 supera los límites configurados, se activará la MMP.
Límites de MMP
MMP impone límites en dos tipos de métricas de negociación: cantidad total y delta neto de transacción.
Definiciones de la cantidad y del delta neto de transacción de una orden individual en una operación:
Tipo de instrumento | Cantidad | Delta neto de transacción |
Coin-M Option | |qty| | qty * (delta - mark price) |
Coin-M Futures | |qty| / mark price | qty / mark price |
USDT-M Option | |qty| | qty * delta |
USDT-M Futures | |qty| | qty * 1 |
Spot | |qty| | qty * 1 |
qty
es la cantidad negociada direccional de la orden: positiva para compras y negativa para ventas.
Para un conjunto de operaciones, la cantidad total y el delta neto de transacción son simplemente las sumas de cada operación individual. La cantidad total se verifica contra qty_limit
, y el valor absoluto del delta neto de transacción se verifica contra delta_limit
. Si cualquiera alcanza o supera el límite, se activará la MMP para la cuenta.
Activación de MMP
La activación de MMP cancelará todas las órdenes MMP existentes de la cuenta y congelará la cuenta para que no pueda colocar nuevas órdenes MMP durante un período de duración frozen_period_ms
. Si frozen_period_ms
está configurado en 0, la cuenta permanecerá congelada indefinidamente hasta un restablecimiento manual mediante API. Si una cuenta congelada intenta colocar una nueva orden MMP, la orden será rechazada o cancelada de inmediato antes de la casación. Una vez activada la MMP, las operaciones previas de la cuenta no se volverán a contabilizar en futuros monitoreos de MMP.
La MMP no interrumpirá un proceso de casación en curso. Es decir, la activación de MMP siempre ocurre después de que se haya completado la casación de la última orden y antes de que comience la casación de la siguiente. Por ejemplo, una cuenta de creador de mercado tiene un qty_limit
de 30 y 5 órdenes, cada una vendiendo 20 contratos sobre un instrumento. Un tomador necesita comprar 100 contratos:
Si el tomador compra los 100 contratos con una única orden, las 5 órdenes del creador se ejecutarán antes de la activación de MMP.
Si el tomador, en cambio, coloca 2 órdenes comprando 50 contratos cada una, la MMP se activará justo después de casar la primera orden del tomador. Las 3 órdenes del creador restantes (una parcialmente ejecutada por 10 contratos) se cancelarán al activarse la MMP.
APIs de MMP
Las API para colocar órdenes MMP son las mismas que para colocar órdenes normales. Solo establece el campo mmp
en true
en las solicitudes.
APIs de MMP:
Estado de MMP
Derivados con margen en USDT: [https://www.bit.com/docs/en-us/linear_futures.html#get-mmp-state]
Derivados con margen en moneda: [https://www.bit.com/docs/en-us/futures.html#get-mmp-state]
Obtiene el estado MMP actual de la cuenta, incluida la configuración de MMP, el estado de congelación, la hora de fin de la congelación, etc.
Actualizar configuraciones de MMP
Derivados con margen en USDT: [https://www.bit.com/docs/en-us/linear_futures.html#update-mmp-config]
Derivados con margen en moneda: [https://www.bit.com/docs/en-us/futures.html#update-mmp-config]
Actualiza la configuración MMP de la cuenta.
Una vez habilitada la función MMP, podrás aplicar una actualización de MMP mediante una solicitud de API
Restablecer MMP
Derivados con margen en USDT: [https://www.bit.com/docs/en-us/linear_futures.html#reset-mmp-state]
Derivados con margen en moneda: [https://www.bit.com/docs/en-us/futures.html#reset-mmp-state]
Si la cuenta está congelada, un restablecimiento de MMP borrará el estado de congelación para que la cuenta pueda empezar a colocar órdenes MMP de inmediato.
Si la cuenta no está congelada, un restablecimiento de MMP borrará las operaciones previas del monitoreo futuro de MMP; es decir, dejarán de contarse en la cantidad total y en el delta neto de transacción.
Canal WebSocket mmp_frozen
Derivados con margen en USDT: [https://www.bit.com/docs/en-us/linear_futures.html#mmp-frozen-event-channel]
Derivados con margen en moneda: [https://www.bit.com/docs/en-us/futures.html#mmp-frozen-event-channel]
Para suscribirse a eventos de activación de MMP.
Ejemplos
Ejemplos 1
Una cuenta tiene windows_ms = 1000, delta_limit = 10.
[Tiempo 10000] Se ejecuta una orden MMP en BTC-31JAN20-8000-C con un delta neto de transacción de +8. (total = 8)
[Tiempo 10500] Se ejecuta una orden MMP en BTC-31JAN20-8000-P con un delta neto de transacción de -5. (total = +8 - 5 = 3)
[Tiempo 10900] Se ejecuta una orden MMP en BTC-PERPETUAL con un delta neto de transacción de +6. (total = +8 - 5 + 6 = 9)
[Tiempo 11200] Se ejecuta una orden MMP en BTC-31JAN20-8000-C con un delta neto de transacción de +7. (total = -5 + 6 + 7 = 8)
La MMP no se activa porque el delta neto de transacción de la cuenta nunca ha acumulado más de 10 en ninguna ventana temporal de 1000 ms.
Ejemplos 2
La cuenta A tiene qty_limit = 10
, la cuenta B tiene delta_limit = 10
y la cuenta C tiene delta_limit = 20
. Supongamos que el precio de marca actual de BTC-PERPETUAL es de 10,000 $/BTC.
La cuenta A coloca una orden MMP en BTC-PERPETUAL con
qty = +150,000 $
.La cuenta B coloca una orden no MMP en BTC-PERPETUAL con
qty = +150,000 $
.La cuenta C coloca una orden MMP en BTC-PERPETUAL con
qty = -500,000 $
y casa las dos órdenes anteriores.
Resultado del monitoreo de MMP:
Se activa la MMP para la cuenta A, que tiene una cantidad total de |150000| / 10000 = 15, lo cual supera el
qty_limit
de 10.No se activa la MMP para la cuenta B, ya que no hay operaciones de órdenes MMP de la cuenta B.
Se activa la MMP para la cuenta C, que tiene un delta neto de transacción de -300000 / 10000 = -30. |-30| supera el
delta_limit
de 20.
Ejemplos 3
Una cuenta tiene windows_ms = 1000, qty = 200, delta_limit = 100 para BTC/USDT
y windows_ms = 1000, qty = 200, delta_limit = 100 para BTC/USD.
[Tiempo 10000] Se ejecuta una orden MMP de compra de 80 BTC en BTC/USDT
[Tiempo 10000] Se ejecuta una orden MMP de compra de 80 BTC en BTC/USD.
Para BTC/USDT, qty = |80|, delta neto de transacción = +80, no se activa la MMP.
Para BTC/USD, qty = |80|, delta neto de transacción = +80, no se activa la MMP.
[Tiempo 10200] Se ejecuta una orden MMP de compra de 80 BTC en BTC/USD.
Para BTC/USDT, qty = |80|, delta neto de transacción = +80, no se activa la MMP.
Para BTC/USD, qty = |80|+|90|=170, delta neto de transacción = |+80+90|=170>100, se activa la MMP.
[Tiempo 10400] Se ejecuta una orden MMP de venta de 80 BTC en BTC/USDT.
Para BTC/USDT, qty = |80|+|-150|=230>200, delta neto de transacción = |+80-150|=70, se activa la MMP.