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:
| Estado | Descripción | Trading |
|---|---|---|
| Active | Trading normal | Habilitado |
| Expired Pending Price | Esperando el precio de settlement del oráculo | Deshabilitado |
| Settled | Settlement completado, posiciones cerradas | N/A |
Transiciones de Estado
- Active → Expired Pending Price: Se alcanzó la hora de vencimiento del contrato
- 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ámetro | Valor |
|---|---|
| Fuente del precio | Oráculo de Hyperliquid (precio índice) |
| Ventana del TWAP | 30 minutos |
| Fin de la ventana | Hora 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:
Opciones Put:
Donde:
- = Precio de settlement (TWAP de 30 min)
- = Precio de ejercicio (strike)
- = 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: 10,000** (acreditado)
Call corta (ITM):
- Posición: Short 2 BTC-100000-C
- Precio de settlement: $105,000
- Valor de settlement: 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:
- Se obtiene el precio: El oráculo devuelve el TWAP de 30 minutos
- Se calcula el valor: Se calcula el valor intrínseco de cada posición
- Se actualiza el efectivo: El valor de settlement se suma (long ITM) o se resta (short ITM) del saldo de la cuenta
- Se elimina la posición: La posición se cierra y se elimina del portafolio
- Se emite el evento: Se envía el mensaje
PositionExpiredví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
}
| Campo | Descripción |
|---|---|
position_size | Tamaño de la posición con signo (positivo = long, negativo = short) |
settlement_price | Valor intrínseco por contrato |
settlement_value | Monto 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ámetro | Valor | Descripción |
|---|---|---|
| Intervalo de verificación de vencimientos | 60 segundos | Frecuencia con la que el sistema verifica los vencimientos |
| Ventana del TWAP | 30 minutos | Ventana de promediado del precio de settlement |
| Intervalo de reintento del settlement | 30 segundos | Frecuencia de reintento cuando el precio no está disponible |
| Umbral de alerta de precio finalizado | 30 minutos | Advertencia si un instrumento vencido sigue esperando el precio finalizado |
| Umbral de alerta de pago pendiente | 1 hora | Alerta crítica si quedan registros de pago de settlement sin aplicar |
Buenas Prácticas
- Monitoree los vencimientos: Siga las fechas de vencimiento de sus posiciones mediante el endpoint de portafolio
- Planifique con anticipación: Cierre las posiciones antes del vencimiento si desea evitar el settlement
- Verifique los precios de settlement: Confirme que el precio del oráculo coincida con sus expectativas
- Suscríbase al WebSocket: Reciba eventos
PositionExpireden tiempo real para una notificación inmediata - 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:
- Liquidación: Qué sucede si el margen es insuficiente
- Margen de Portafolio: Cómo las posiciones afectan el margen
- Margen Estándar: Cálculo del margen por posición