Esta página fue traducida automáticamente. El original en inglés es la versión canónica. Leer en inglés
Saltar al contenido principal

Liquidación al Vencimiento (Settlement) y Vencimiento

Las opciones en Hypercall son de estilo europeo y se liquidan en efectivo. Al vencimiento, las posiciones se liquidan automáticamente en función del precio de referencia del activo subyacente, y el valor de settlement se acredita o debita en su cuenta.

Hora de Vencimiento

En mainnet, los contratos de SpaceX (SPCX) vencen a las 4:00 PM ET en su fecha de vencimiento.

Actualmente, la testnet vence a las 08:00 UTC en la fecha de vencimiento.

Al vencimiento:

  • Las órdenes nuevas se rechazan
  • Las órdenes abiertas se cancelan
  • Las posiciones entran en el proceso de settlement

Ciclo de Vida del Instrumento

Los instrumentos pasan por tres estados:

EstadoDescripciónTrading
ActiveTrading normalHabilitado
Expired Pending PriceEsperando el precio de settlement del oráculoDeshabilitado
SettledSettlement completado, posiciones cerradasN/A

Transiciones de Estado

  1. Active → Expired Pending Price: Se alcanzó la hora de vencimiento del contrato
  2. Expired Pending Price → Settled: Precio de settlement disponible y todas las posiciones liquidadas

Una vez que un instrumento entra en Expired Pending Price, todas las órdenes abiertas se cancelan y las órdenes nuevas se rechazan con "Instrument has expired".

Precio de Settlement

El precio de settlement es un TWAP de 30 minutos (Time-Weighted Average Price, precio promedio ponderado por tiempo) del precio índice del Oráculo de Hyperliquid para el activo subyacente.

ParámetroValor
Fuente del precioOráculo de Hyperliquid (precio índice)
Ventana del TWAP30 minutos
Fin de la ventanaHora de vencimiento del contrato

El oráculo comienza a muestrear 30 minutos antes del vencimiento y calcula el TWAP a la hora de vencimiento.

El settlement requiere el TWAP finalizado. Si ese precio finalizado no está disponible en el momento del vencimiento, el instrumento permanece en Expired Pending Price y se reintenta automáticamente. El trading ya está deshabilitado en ese estado, pero los créditos y débitos de efectivo se registran solo después de que exista el precio finalizado del oráculo.

Cálculo del Valor de Settlement

El settlement se calcula como el valor intrínseco de la opción al vencimiento:

Opciones Call:

Valor de Settlement=max(0,SK)×Q\text{Valor de Settlement} = \max(0, S - K) \times Q

Opciones Put:

Valor de Settlement=max(0,KS)×Q\text{Valor de Settlement} = \max(0, K - S) \times Q

Donde:

  • SS = Precio de settlement (TWAP de 30 min)
  • KK = Precio de ejercicio (strike)
  • QQ = Tamaño de la posición (con signo: positivo para long, negativo para short)

Ejemplos

Call larga (ITM):

  • Posición: Long 2 BTC-100000-C
  • Precio de settlement: $105,000
  • Valor intrínseco: max(0, 105000 - 100000) = $5,000
  • Valor de settlement: 5,000×2=+5,000 × 2 = **+10,000** (acreditado)

Call corta (ITM):

  • Posición: Short 2 BTC-100000-C
  • Precio de settlement: $105,000
  • Valor de settlement: 5,000×2=5,000 × -2 = **-10,000** (debitado)

Put larga (OTM):

  • Posición: Long 1 BTC-100000-P
  • Precio de settlement: $105,000
  • Valor intrínseco: max(0, 100000 - 105000) = $0
  • Valor de settlement: $0 (vence sin valor)

Proceso de Settlement

Cuando ocurre el settlement:

  1. Se obtiene el precio: El oráculo devuelve el TWAP de 30 minutos
  2. Se calcula el valor: Se calcula el valor intrínseco de cada posición
  3. Se actualiza el efectivo: El valor de settlement se suma (long ITM) o se resta (short ITM) del saldo de la cuenta
  4. Se elimina la posición: La posición se cierra y se elimina del portafolio
  5. Se emite el evento: Se envía el mensaje PositionExpired vía WebSocket

El settlement se procesa de forma atómica por posición con garantías de idempotencia. Las repeticiones o reinicios no pueden causar un doble settlement.

Eventos de WebSocket

PositionExpired

Se envía cuando una posición se liquida:

{
"type": "PositionExpired",
"wallet_address": "0x...",
"symbol": "BTC-20250131-100000-C",
"position_size": 2.0,
"settlement_price": 5000.0,
"settlement_value": 10000.0,
"timestamp": 1738310400000
}
CampoDescripción
position_sizeTamaño de la posición con signo (positivo = long, negativo = short)
settlement_priceValor intrínseco por contrato
settlement_valueMonto total del settlement en efectivo

MarketExpired

Se envía cuando un instrumento pasa a Expired Pending Price:

{
"type": "MarketUpdate",
"symbol": "BTC-20250131-100000-C",
"status": "MARKET_EXPIRED",
"timestamp": 1738310400000
}

Endpoints de la API

Obtener el Estado del Instrumento

GET /instruments/{symbol}

Devuelve el estado actual del instrumento (ACTIVE, EXPIRED_PENDING_PRICE o SETTLED).

Obtener el Historial de Settlement

GET /settlement/history?wallet=0x...

Devuelve los registros de settlement de su cuenta.

Respuesta:

{
"success": true,
"data": [
{
"symbol": "BTC-20250131-100000-C",
"position_size": 2.0,
"settlement_price": 5000.0,
"settlement_value": 10000.0,
"settled_at": 1738310400000
}
]
}

Manejo de Fallos

Oráculo No Disponible

Si el oráculo no puede proporcionar un precio de settlement al vencimiento:

  • El instrumento permanece en el estado Expired Pending Price
  • El sistema reintenta cada 30 segundos
  • Las alertas de producción se activan si la espera del precio finalizado se prolonga

El trading se bloquea inmediatamente al vencimiento, independientemente de la disponibilidad del oráculo.

Precio Finalizado Retrasado

Si el TWAP finalizado se retrasa:

  • El settlement se retrasa
  • El sistema espera el precio de settlement finalizado del oráculo
  • Los usuarios pueden ver que el instrumento permanece en Expired Pending Price
  • El settlement en efectivo aparece después de que el mecanismo de reintento aplica el precio finalizado

Reinicio del Sistema

El estado del settlement se persiste en la base de datos. Si el sistema se reinicia:

  • Los instrumentos vencidos se identifican desde la BD al iniciar
  • El settlement continúa automáticamente
  • Las garantías de idempotencia previenen el doble settlement

Parámetros

ParámetroValorDescripción
Intervalo de verificación de vencimientos60 segundosFrecuencia con la que el sistema verifica los vencimientos
Ventana del TWAP30 minutosVentana de promediado del precio de settlement
Intervalo de reintento del settlement30 segundosFrecuencia de reintento cuando el precio no está disponible
Umbral de alerta de precio finalizado30 minutosAdvertencia si un instrumento vencido sigue esperando el precio finalizado
Umbral de alerta de pago pendiente1 horaAlerta crítica si quedan registros de pago de settlement sin aplicar

Buenas Prácticas

  1. Monitoree los vencimientos: Siga las fechas de vencimiento de sus posiciones mediante el endpoint de portafolio
  2. Planifique con anticipación: Cierre las posiciones antes del vencimiento si desea evitar el settlement
  3. Verifique los precios de settlement: Confirme que el precio del oráculo coincida con sus expectativas
  4. Suscríbase al WebSocket: Reciba eventos PositionExpired en tiempo real para una notificación inmediata
  5. Mantenga un colchón de margen: Asegure margen suficiente para posibles settlements de posiciones cortas ITM

Settlement On-Chain

En mainnet, los precios de settlement se publican on-chain después de su cálculo:

  • El oráculo calcula el TWAP de settlement y publica el precio final de vencimiento.
  • El contrato del Exchange puede verificar on-chain el precio de settlement publicado.
  • Los feeds del oráculo en vivo no se transmiten on-chain. Los precios finales de settlement son la referencia on-chain para el vencimiento.

Vea también: