Especificaciones de Mass Quotes

  • Actualización

Deribit ofrece un funcionalidad de cotización masiva que permite a los usuarios realizar varios pedidos (denominados cotizaciones) en una sola solicitud. A diferencia de la entrada de pedidos tradicional, las cotizaciones masivas no requieren números de pedido para modificaciones o cancelaciones posteriores. Esto reduce significativamente la latencia al eludir la mayoría de las comprobaciones de riesgo estándar de la plataforma

Para mantener la seguridad de la plataforma sin pasar por alto las comprobaciones de riesgo, Grupos de Market Maker Protection (MMP) se presentan. Cada cotización masiva debe estar vinculada a un grupo de MMP, que se reserva el margen inicial (IM) en función de un margen definido por el usuario límite de cantidad. Para asegurarse de que la mensajería instantánea reservada es suficiente:

  • Solo una cotización por lado por instrumento está permitido dentro de un grupo.

  • Cada cotización debe tener un tamaño inferior al límite definido por el grupo.

Los usuarios pueden configurar hasta 16 grupos de MMP por (sub) cuenta. Estos grupos funcionan de manera similar a El sistema MMP existente de Deribit pero ofrecen más flexibilidad:

  • Permiten múltiples comillas en la misma cara del mismo instrumento (siempre que cada una pertenezca a un grupo diferente).

  • Admiten diferentes configuraciones de márgenes en instrumentos con diferentes perfiles de riesgo.

Las cotizaciones tienen una tarifa limitada por separado de los pedidos regulares y están completamente integradas en el sistema de eventos existente de Deribit.

Aviso

Mercado habilitador Maker Protection (MMP) no habilita automáticamente el Cita masiva función. Se trata de sistemas independientes y deben solicitarse y activarse de forma independiente. Si necesita la funcionalidad de cotización masiva, póngase en contacto con el soporte de Deribit para solicitar el acceso

Comportamiento y requisitos de cotización masiva

Comportamiento de citas
  • Las citas se comportan como limita las órdenes con un TIF listo para cancelar y no se pueden ocultar ni fijar precios personalizados.

  • Los lados de oferta y demanda se procesan de forma determinista para evitar que los diferenciales del lado del cliente se crucen:

    • Si ambos se mueven hacia arriba → la pregunta se modifica primero.

    • Si ambos se mueven hacia abajo → la oferta se modifica primero.

  • Las cotizaciones cruzadas se rechazan o cancelan automáticamente.

  • Cada lado se valida de forma independiente — un lado puede tener éxito mientras que el otro fracasa.

  • Modificaciones sin importe se procesan de forma segura; si no existe ninguna cotización, se devuelve un error.

  • Las modificaciones erróneas cancelan las cotizaciones de prueba afectadas en ese lado.

  • Se preserva la prioridad al reducir el tamaño o cambiar solo el quote_set_id.

  • Las citas interactúan con pedidos solo a precio reducido de la misma manera que los pedidos regulares.

  • Lógica exclusiva para correos se aplica de manera similar: las cotizaciones se pueden rechazar o modificar según las reglas de solo publicación.

Disponibilidad de instrumentos

Las cotizaciones masivas son compatibles con los siguientes tipos de instrumentos:

  • Contratos perpetuos

  • Futuros fechados

  • Opciones

  • Combos de opciones

  • Diferenciales futuros

Ellos son no están disponibles para:

  • Opciones en Margen estándar (SM) cuentas: ya que las opciones a largo plazo en SM no tienen márgenes

  • Instrumentos de spot — ya que los productos al contado no tienen márgenes en Deribit

Subcuentas

Toda la funcionalidad de cotización masiva funciona en el nivel de subcuenta:

  • El margen para los grupos de MMP se extrae de la subcuenta específica.

  • Las cotizaciones y los límites de los grupos MMP se administran por separado por subcuenta.

  • Este diseño permite aislar el riesgo y el comportamiento de las cotizaciones en las subcuentas del mismo usuario.

Límites de tarifas

La cotización masiva tiene un límite de tasa sistema:

  • A límite de tasa base garantizado siempre está disponible, independientemente del tamaño de cada cotización masiva.

  • A límite de tasa máxima más alto es accesible solo si el número de comillas por mensaje permanece por debajo de un umbral establecido.

Este enfoque fomenta el procesamiento por lotes eficiente de los instrumentos líquidos y, al mismo tiempo, admite lotes más pequeños y específicos para cada instrumento para:

  • Futuros fechados

  • Diferenciales futuros

  • Opciones de Deep ITM

mass_quotes_diagram.png

Cotización masiva cancelaciones también tienen límites de tarifas separados.

UI

  • Las comillas se muestran en la interfaz de usuario con una etiqueta adicional, «Citar».

  • Todas las cotizaciones se pueden cancelar con el botón «Cancelar todo».

Requisitos de sesión

Para usar métodos de cotización masiva:

  • Tu sesión debe tener Cancelación en caso de desconexión habilitada.

    Sin él, métodos como mass_quote o cancel_quote devolverán un error.

  • Sin embargo, se desaconseja el uso rutinario de Cancel-on-Disconnect para eliminar las comillas. Pretende ser una medida de seguridad, no una estrategia de gestión de cotizaciones.

Sugerencia

Gestione siempre el estado de las cotizaciones de forma proactiva utilizando cancel_quotes o reset_mmp.

Prioridad en la cartera de pedidos

Las cotizaciones masivas siguen el estándar de Deribit reglas de prioridad de la cartera de pedidos limitada (LOB), con los siguientes matices:

  • Si una cotización es modificado sin cambiar el precio, el importe o quote_set_id, es pierde su prioridad. Esto evita el abuso al volver a enviar repetidamente citas idénticas

  • Puedes cambiar solo el quote_set_id sin afectar a la prioridad.

  • Cada cara de una cotización (compra/venta) tiene una prioridad independiente. Modificar un lado sí no afecta la prioridad del otro.

Aviso

El acceso a Mass Quotes se restringirá en caso de abuso, incluyendo:

  • Enviar citas idénticas como spam.

  • Cancelaciones por spam.

  • Intentar colocar comillas por encima del MMP quantity_limit.

  • Superar el límite de tarifa.

  • Activar MMP con frecuencia.

Comportamiento de los grupos MMP

Los grupos de MMP permiten a los creadores de mercado definir reglas de protección personalizadas, como los límites de cantidad, delta y vega, para las cotizaciones masivas. Los clientes crean o actualizan estos grupos a través del /private/set_mmp_config Llamada a la API. El nombre del grupo es definido por el usuario (sin formato fijo), pero debe ser único dentro del cuenta. Los grupos se identifican con este nombre y están vinculados a un índice específico (par de negociación) en la configuración.

Sugerencia

mmp_group.png

También se puede acceder a los grupos MMP mediante Página de configuración de la cuenta

Límites de grupo y uso

  • Denominación: Puedes elegir cualquier cadena para el nombre del grupo, siempre que sea única en tu (sub) cuenta. Los nombres de los grupos los define el usuario y no existe una convención de nomenclatura específica. La longitud máxima es de 64 caracteres. Los nombres distinguen entre mayúsculas y minúsculas y no pueden ser cadenas vacías.

  • Parámetros: Los umbrales de cada grupo (quantity_limit, delta_limit, vega_limit, etc.) se deben establecer en valores no negativos (cero o más).

  • Reserva de mensajería instantánea: Cada grupo de MMP reserva de forma continua el margen inicial (IM), independientemente de las órdenes o posiciones abiertas.

  • Asignación grupal: Cada solicitud de cotización masiva debe incluir un mmp_group nombre. Todas las cotizaciones de la solicitud se vincularán a ese grupo.

  • Recuento de grupos: Puede configurar hasta 16 grupos de MMP por (sub) cuenta. Si intenta crear un decimoséptimo grupo, se producirá un error.

  • Composición de los instrumentos: El mismo instrumento (índice) se puede asignar a varios grupos simultáneamente. En otras palabras, un producto puede participar en varios grupos de MMP con diferentes límites (útil para las estrategias de cotización por capas)

  • Prioridad: Todos los grupos de MMP funcionan al mismo nivel; no hay jerarquía ni prioridad entre los grupos.

  • Vida útil: Un grupo MMP permanece en vigor hasta que se elimine de forma explícita. Para eliminar un grupo, defina su parámetro de intervalo en 0 con set_mmp_configesto libera cualquier margen reservado y elimina el grupo. De lo contrario, el grupo (y su margen inicial reservado en el contexto de Mass Quotes) persistirá indefinidamente

  • Restricción Delta: Se aplica una regla del sistema delta_limit < quantity_limit para mantener una cobertura de margen adecuada.

  • Límites de cantidad: 500 BTC o 5000 ETH

Administración y cambio de nombre de grupos

  • Modificación de grupos: Utilice el set_mmp_config método para editar la configuración de un grupo existente (o crear uno nuevo). Si algunos parámetros no están incluidos, esos parámetros NO se mantienen como valores antiguos. Están configurados como indefinidos, por lo que, de hecho, están deshabilitados

  • Cambiar el nombre de los grupos: No hay ninguna operación de «cambio de nombre» independiente. Si llamas set_mmp_config con una diferente mmp_group nombre, en su lugar se crea un nuevo grupo. El grupo anterior seguirá existiendo hasta que se elimine (configuración interval=0 elimina el grupo).

Citas en grupos de MMP

  • Solo una cotización por lado por instrumento por grupo MMP está permitido.

  • El envío de una nueva cotización reemplaza cualquier cotización existente en el mismo grupo.

  • Para apoyar n capas en la cartera de pedidos, n se requieren grupos de MMP independientes.

  • El importe de cada cotización debe ser estrictamente inferior a del grupo quantity_limit.

  • Todas las citas masivas se tratan implícitamente como mmp=true.

  • Citas que superan las del grupo quantity_limit será cancelado si el límite se reduce una vez colocados.

Flujo masivo de cotizaciones

Paso 1: Enviar una cotización masiva

Puedes enviar hasta 100 cotizaciones en total (máximo 100 ofertas + 100 solicitudes) por privado/mass_quote solicitud.

Requerimientos:
  • Todas las cotizaciones debe usar el mismo índice (par de divisas).

  • Las cotizaciones deben pertenecer a un grupo MMP existente.

  • Cada cotización puede incluir una opción quote_id (cadena definida por el cliente para el seguimiento).

  • Las citas son procesadas en orden, así que priorice del más al menos importante.

  • Se desaconsejan las representaciones idénticas para evitar una carga innecesaria y la pérdida de prioridad.

Atención

Si no se cumple alguna de estas condiciones, el se rechazará toda la solicitud.

Sugerencia

Las cotizaciones se pueden agrupar de forma compartida quote_set_id para gestionar el comportamiento prioritario.

Ejemplo de solicitud:

{
  "jsonrpc": "2.0",
  "id": 7859,
  "method": "private/mass_quote",
  "params": {
    "detailed": true,
    "quote_id": "1",
    "mmp_group": "default",
    "quotes": [
      {
        "instrument_name": "BTC-PERPETUAL",
        "quote_set_id": "futures",
        "ask": {
          "price": 43800,
          "amount": 10
        },
        "bid": {
          "price": 43700,
          "amount": 10
        }
      },
      {
        "instrument_name": "BTC-22DEC23-41600-C",
        "quote_set_id": "options",
        "ask": {
          "price": 0.05,
          "amount": 1
        },
        "bid": {
          "price": 0.04,
          "amount": 1
        }
      }
    ]
  }
}

Ejemplo de respuesta:

{
  "jsonrpc": "2.0",
  "id": 7859,
  "result": {
    "errors": [
      {
        "instrument_name": "BTC-PERPETUAL",
        "side": "bid",
        "error": {
          "message": "price_too_high 43666.4288",
          "code": 10007
        }
      }
    ],
    "orders": [
      {
        "is_liquidation": false,
        "reduce_only": false,
        "risk_reducing": false,
        "last_update_timestamp": 1703162550180,
        "creation_timestamp": 1703162478689,
        "filled_amount": 0,
        "average_price": 0,
        "order_type": "limit",
        "order_state": "open",
        "quote": true,
        "quote_set_id": "options",
        "quote_id": "1",
        "post_only": false,
        "replaced": false,
        "mmp_group": "default",
        "web": false,
        "mmp": true,
        "api": false,
        "instrument_name": "BTC-22DEC23-41600-C",
        "order_id": "6653852",
        "max_show": 1,
        "time_in_force": "good_til_cancelled",
        "price": 0.04,
        "direction": "buy",
        "amount": 1,
        "label": ""
      },
      {
        "is_liquidation": false,
        "reduce_only": false,
        "risk_reducing": false,
        "last_update_timestamp": 1703162550180,
        "creation_timestamp": 1703162478689,
        "filled_amount": 0,
        "average_price": 0,
        "order_type": "limit",
        "order_state": "open",
        "quote": true,
        "quote_set_id": "options",
        "quote_id": "1",
        "post_only": false,
        "replaced": false,
        "mmp_group": "default",
        "web": false,
        "mmp": true,
        "api": false,
        "instrument_name": "BTC-22DEC23-41600-C",
        "order_id": "6653853",
        "max_show": 1,
        "time_in_force": "good_til_cancelled",
        "price": 0.05,
        "direction": "sell",
        "amount": 1,
        "label": ""
      },
      {
        "is_liquidation": false,
        "reduce_only": false,
        "risk_reducing": false,
        "last_update_timestamp": 1703162550180,
        "creation_timestamp": 1703162478689,
        "filled_amount": 0,
        "average_price": 0,
        "order_type": "limit",
        "order_state": "open",
        "quote": true,
        "quote_set_id": "futures",
        "quote_id": "1",
        "post_only": false,
        "replaced": false,
        "mmp_group": "default",
        "web": false,
        "mmp": true,
        "api": false,
        "instrument_name": "BTC-PERPETUAL",
        "order_id": "6653855",
        "max_show": 10,
        "time_in_force": "good_til_cancelled",
        "price": 43800,
        "direction": "sell",
        "amount": 10,
        "label": ""
      }
    ],
    "trades": []
  }
}

Nota

Según el indicador detallado de la solicitud de cotización masiva, el sistema hará lo siguiente:

  • Devuelve un recuento simple de aciertos o errores

  • O lista cada error asignado a instrument_name y side

▶ Paso 2: Supervisar el estado de la cotización

Para recuperar las cotizaciones actualmente activas, utilice private/get_open_orders

  • Todas las citas están etiquetadas con "quote«: true

  • Está disponible el filtrado estándar por instrumento, tipo o indicador de cotización

▶ Paso 3: Cancelar cotizaciones

Método private/cancel_quotes permite cancelar cotizaciones a granel, filtrado por:

  • Par de divisas

  • Tipo de instrumento

  • Instrumento específico

  • quote_set_id

  • Gama Delta (solo para opciones y combinaciones, no para futuros ni diferenciales)

Importante

Configuración amount = 0 en una nueva cotización masiva también se considera una cancelación para esa cotización.

Atención

Después de emitir una cancelación masiva, las cotizaciones recién enviadas pueden ser rechazadas durante 1 segundo para evitar que las cotizaciones se vuelvan a enviar de forma inmediata como spam.

Ejemplo de solicitud de cancelación:

{
  "jsonrpc": "2.0",
  "id": 5663,
  "method": "private/cancel_quotes",
  "params": {
    "cancel_type": "delta",
    "min_delta": 0.4,
    "max_delta": 0.6
  }
}

Nota

Ruta segregada

Puntos finales de pedido estándar, como privado/comprar, privar/vender, o privado/editar no se aplican a las cotizaciones. Esta separación garantiza el rendimiento y el control de riesgos para los creadores de mercado.

Lógica FIX

La cotización masiva es totalmente compatible a través de FIX, mediante tipos de mensajes dedicados que separan el flujo de cotizaciones de los pedidos regulares.

▶ Envío y cancelación de cotizaciones
  • Cita masiva (i) — Se utiliza para enviar nuevas cotizaciones o modificar las existentes.

    Nota

    Configuración OrderQty = 0 actúa como una cancelación de esa cotización.

  • Cancelación de cotización (Z) — Cancela las cotizaciones de forma masiva.

    Se puede filtrar por instrumento, tipo de producto, QuoteSetID, o rango delta (solo para opciones).

    Atención

    Después de emitir una cancelación masiva, las cotizaciones recién enviadas pueden ser rechazadas durante 1 segundo para evitar que las cotizaciones se vuelvan a enviar de forma inmediata como spam.

▶ Recuperación y monitoreo de cotizaciones

Nota

Mensajes de pedido FIX estándar (p. ej. New Order Single (D)) no se aplican a las cotizaciones.