Cómo usar el indicador de liquidación

Lee el signo y la distribución del indicador, evita dos errores de lectura comunes y llévalo a una estrategia.

Última actualización 2026-10
Puntos clave
  • El indicador de liquidación es un indicador propio de Blave que mide si en un periodo dominan las liquidaciones de cortos o de largos, y qué tan inusual es la diferencia. Positivo significa más liquidaciones de cortos, negativo más de largos, y 0 no es el nivel habitual de la moneda.
  • 0 no es el nivel habitual de la moneda: del 2024-09-15 al 2026-09-14, con velas de 1 hora y timeframe 24h, el valor estuvo por encima de 0 el 48.8% del tiempo en BTC, el 43.1% en ETH, el 37.6% en SOL y el 31.1% en DOGE.
  • La cola inferior es más profunda que la superior (BTC 1h × 24h: p1 −3.76, p99 +3.31), así que no apliques los umbrales de forma simétrica ni uses la escala general de ±2 / ±3.
  • Los datos brutos de liquidaciones son una muestra y se quedan cortos en los movimientos grandes. Hoy ninguna estrategia oficial usa datos de liquidaciones, así que todos los usos de esta guía son esbozos sin backtest.

Tras una caída fuerte, el historial de liquidaciones muestra una barra negativa muy profunda. ¿Liquidaron muchos largos, o el valor de esta moneda suele estar en negativo de todos modos? 0 no es el nivel habitual de la moneda, y este punto decide cómo lees esa barra. Si lo que miras son las liquidaciones por nivel de precio, eso es otra estimación; consulta cómo leer el mapa de liquidaciones.

¿Qué es el indicador de liquidación?

El indicador de liquidación es un indicador propio de Blave que mide si en un periodo se cerraron forzosamente más cortos o más largos, y qué tan inusual es la diferencia. Una liquidación es el cierre forzoso de una posición apalancada por parte del exchange: cuando se liquida un largo, el exchange envía una orden de venta, y cuando se liquida un corto, envía una de compra.

Positivo significa más liquidaciones de cortos, negativo más de largos, y 0 no es el nivel habitual de la moneda. El valor no tiene límites:

ValorSignificado
> 0Más liquidaciones de cortos que de largos dentro del timeframe
< 0Se liquidaron más largos que cortos
≈ 0Ambos lados se compensan, no hubo liquidaciones registradas o los datos se interrumpieron; no es el nivel habitual de la moneda

La distribución es asimétrica: la cola inferior (liquidaciones de largos) es más profunda que la superior. Estos son los cuantiles medidos por Blave con velas de 1 hora, timeframe 24h, del 2024-09-15 al 2026-09-14, un valor por hora (n = 17,520):

Monedap1p50p99Tiempo por encima de 0
BTC−3.76−0.01+3.3148.8%
ETH−4.07−0.08+2.7943.1%
SOL−4.01−0.17+2.8737.6%
DOGE−4.07−0.23+2.9731.1%

Los dos puntos clave

0 no es el nivel habitual de la moneda

Por encima de 0 hay más liquidaciones de cortos que de largos; por debajo de 0, más de largos que de cortos. Pero en una moneda donde durante mucho tiempo se liquidan más largos, el valor queda sistemáticamente en negativo, así que 0 no es su «nivel habitual».

La tabla de arriba da la proporción de tiempo por encima de 0 en ese periodo medido (velas de 1h, timeframe 24h). El mismo 0 está cerca de la mediana en BTC, pero en DOGE ya se inclina hacia liquidaciones de cortos más que la mayor parte del tiempo.

Los datos brutos son una muestra y se quedan cortos en los movimientos grandes

Los datos públicos de liquidaciones de los exchanges tienen un límite de envío, así que no se envían todas las liquidaciones que ocurren en el mismo momento. Por eso es una muestra, y cuanto más violento el movimiento, más se queda corta. Mientras los datos están interrumpidos, el valor parece como si no hubiera habido liquidaciones, sin ninguna marca de datos faltantes.

Así que no tomes la profundidad de una sola barra como el tamaño exacto de las liquidaciones; mira en qué extremo de la distribución propia de la moneda cae.

Antes de leer el valor, hazte dos preguntas. ¿El valor de esta moneda suele estar en positivo o en negativo? ¿El mercado se movía con violencia en ese momento, de modo que los datos podrían quedarse cortos? Ambas respuestas cambian lo que significa el mismo número.

¿Cómo se construyen estrategias con datos de liquidación?

Hoy ninguna estrategia oficial usa datos de liquidaciones, así que los tres usos siguientes son esbozos sin backtest. Los umbrales del código toman como punto de partida los cuantiles medidos arriba; no salen de un escaneo de parámetros. Para escanearlos, consulta Cómo escanear umbrales.

1. Umbrales asimétricos: marca las liquidaciones concentradas

Lo más directo es marcar los periodos en que el valor cae en alguna de las colas. Como la cola inferior es más profunda, no uses el mismo valor absoluto para los dos lados. En BTC, p1 ronda −3.8 y p99 ronda +3.3.

LONG_FLUSH_TH  = -3.8   # esbozo: cerca del p1 de BTC en 1h × 24h
SHORT_FLUSH_TH = 3.3    # esbozo: cerca del p99 de BTC en 1h × 24h

liq = fetch_liquidation(SYMBOL, INTERVAL, START, END, hdrs, timeframe='24h')
df['LIQ'] = liq['alpha']
long_flush  = df['LIQ'] <= LONG_FLUSH_TH    # liquidaciones concentradas de largos
short_flush = df['LIQ'] >= SHORT_FLUSH_TH   # liquidaciones concentradas de cortos

Cómo operar esas marcas es tarea tuya: Blave no ha verificado si el precio revierte o continúa tras liquidaciones concentradas. Los cuantiles también cambian según la moneda; ETH, SOL y DOGE tienen un p1 más profundo que BTC, así que recalcula al cambiar de moneda.

2. Usa los cuantiles de la propia moneda como umbral, no 0

Como 0 no es un punto de equilibrio, una regla del tipo "por encima de 0 se liquidan cortos" falla en monedas como DOGE, que pasan largas temporadas en negativo. Usa en su lugar los cuantiles de la propia moneda en una ventana pasada, menos afectados por ese sesgo de largo plazo:

# esbozo: cuantiles de los últimos 180 días; longitud de ventana no escaneada
lo = df['LIQ'].rolling('180D').quantile(0.01)
hi = df['LIQ'].rolling('180D').quantile(0.99)
extreme = (df['LIQ'] <= lo) | (df['LIQ'] >= hi)

Con una ventana demasiado corta, los umbrales se desplazan con el mercado reciente. Tampoco dejes que la ventana entre en el tramo en que la moneda acababa de empezar a tener datos (BTC y ETH, hacia 2023-01): ahí los valores aún no son estables y generan extremos falsos.

3. Control de riesgo: no abras posiciones durante liquidaciones concentradas

Un uso más prudente es añadirlo a la regla de entrada de una estrategia existente: no abrir posiciones nuevas mientras el valor esté en alguna de las colas. Reutiliza los dos umbrales del uso 1 y sustituye compute_entry por la condición de entrada de tu estrategia:

# esbozo: sin entrada mientras el valor esté en alguna cola
flush = (df['LIQ'] <= LONG_FLUSH_TH) | (df['LIQ'] >= SHORT_FLUSH_TH)
entry = compute_entry(df) & ~flush

Esta combinación no tiene backtest, y Blave no ha verificado que evitar las liquidaciones concentradas mejore el rendimiento. Solo trata "acaba de liquidarse una ola" como motivo para pausar entradas nuevas.

¿Cómo elegir el timeframe y el intervalo de velas?

El indicador de liquidación tiene dos ajustes. El timeframe es el tramo de tiempo de liquidaciones que mira: 15min, 1h, 4h, 8h, 24h o 3d, con 24h por defecto. El intervalo (period) fija cada cuánto se toma un valor: 5min, 15min, 1h, 4h, 8h o 1d. Al cambiar el timeframe cambia la distribución; esta es la medición del mismo periodo con timeframe 1h (velas de 1 hora):

Monedap1p50p99Tiempo por encima de 0
BTC−2.620.00+2.1252.5%
ETH−2.840.00+2.1748.8%
SOL−3.070.00+2.2145.5%
DOGE−3.500.00+2.0940.3%

Frente a 24h, 1h tiene colas más estrechas, una mediana de 0.00 en todas las monedas y una proporción por encima de 0 más cercana a la mitad. Recalcula los umbrales al cambiar de timeframe; un juego de números no sirve para otro. 15min, 4h, 8h y 3d no se midieron aquí.

¿Cómo escanear los umbrales?

Los cuantiles son solo un punto de partida. Pon una fila de umbrales candidatos para el lado largo y otra para el corto (por ejemplo p1, p2, p5 frente a p99, p98, p95), haz backtest de cada combinación y elige una zona donde todos los resultados sean aceptables, no la mejor celda.

results = []
for q_lo in [0.01, 0.02, 0.05]:
    for q_hi in [0.95, 0.98, 0.99]:
        lo = df['LIQ'].rolling('180D').quantile(q_lo)
        hi = df['LIQ'].rolling('180D').quantile(q_hi)
        extreme = (df['LIQ'] <= lo) | (df['LIQ'] >= hi)
        entry = compute_entry(df) & ~extreme
        results.append((q_lo, q_hi, backtest(entry)))   # sustituye backtest por tu propia función de backtest; compara cada combinación después de comisiones

Vuelve a escanear cada vez que cambies el timeframe, la moneda o el intervalo de velas. Para saber por qué elegir una zona plana y no el punto más alto, consulta Cómo evitar el sobreajuste.

¿Dónde se lee en el Estudio de datos?

PáginaQué muestraAcceso
Resumen de liquidacionesUn desplegable alterna los rankings de liquidaciones de cortos y de largos, 30 monedas en cada uno. El tamaño del bloque es el valor absoluto, no el importe liquidado; el color es la variación de precio en el timeframe.Con sesión
Historial de liquidacionesBarras del indicador de liquidación de una moneda sobre el precio, con opciones de timeframe e intervalo de velas y los campos de stat.Sin Pro, los últimos 7 días llegan con retraso

¿Con qué indicadores combinarlo?

Son ideas para combinar señales, no resultados verificados:

CombinaciónUso
Liquidaciones + Cazador de ballenasUsa Cazador de ballenas para detectar movimientos inusuales del interés abierto y mira en qué cola estaba el indicador de liquidación en el mismo periodo, para saber si el movimiento vino con liquidaciones concentradas.
Liquidaciones + Intensidad takerEl indicador de liquidación solo ve el lado que fue cerrado forzosamente; usa Intensidad taker para ver con qué fuerza compraban y vendían los traders de forma agresiva en el mismo tramo y completar la mitad voluntaria.

¿Qué conviene saber al obtenerlo por API o Blave Agent?

El endpoint del indicador de liquidación es GET /liquidation/get_alpha, con symbol, period, timeframe (por defecto 24h) y fechas de inicio y fin (start_date, end_date); en Blave Agent la función es fetch_liquidation. Solo devuelve velas cerradas, con timestamp, alpha y stat, y los rangos de más de 1 año se recortan. Las monedas más antiguas (BTC, ETH) tienen datos desde el 2023-01-01, con valores de 0 antes de esa fecha; otras monedas pueden empezar más tarde. Los valores del tramo en que los datos acaban de empezar aún no son estables, así que no fijes umbrales con ellos.

El objeto stat de get_alpha describe el valor más reciente:

CampoSignificado
up_probLa probabilidad, estimada por el modelo, de que el precio haya subido 24 horas después. Es una estimación, no una tasa de acierto garantizada.
avg_up_return /
avg_down_return
La subida media cuando el precio subió 24 horas después y la caída media cuando bajó, sin distinguir el nivel del indicador de liquidación.
exp_valueup_prob × avg_up_return + (1 − up_prob) × avg_down_return, en decimal, no en porcentaje.
is_data_sufficientSi hay suficiente historial; con false, toma estos números solo como referencia.

Para los endpoints y campos del mapa de liquidaciones, la variación del mapa y la página por exchange, consulta Cómo leer el mapa de liquidaciones.

Recuerda: el indicador de liquidación es un dato de referencia, no una señal de compra o venta. Los datos brutos son una muestra, 0 no es el nivel habitual de la moneda, y stat es una estimación, no una tasa de acierto. Valida cualquier umbral con tu propio backtest.