Cómo usar Cazador de ballenas

Lee los saltos de interés abierto, evita el error más común y mira cómo la estrategia oficial lo usa a la inversa.

Última actualización 2026-09
Puntos clave
  • Cazador de ballenas (WH) es el z-score del cambio neto de interés abierto (OI) o del volumen en los perpetuos USDT-M de Binance, medido frente a los últimos 30 días de cada moneda. Los datos son el total del mercado, así que no distinguen ballenas de minoristas.
  • Un WH alto no significa que las ballenas estén en largo: el valor solo indica qué tan inusual es el movimiento de OI o volumen. No tiene dirección.
  • La estrategia oficial BTC Cazador de ballenas inverso lo usa al revés: compra cuando el score_oi de 24h cae por debajo de −0.7 y sale por encima de 0.2. Backtest de la Biblioteca de estrategias de Blave, del 2023-01-01 al 2026-07-13: rentabilidad total 268.17%, Sharpe 1.46, drawdown máximo −22.5%.
  • Los umbrales no se trasladan: con la ventana predeterminada de 24h, los extremos de los dos últimos años rondan ±10, y cuanto más corta la ventana, más gruesas las colas; vuelve a escanear cada vez que cambies de timeframe o de moneda.

Un bloque grande se enciende en el mapa de calor del resumen. ¿Están las ballenas entrando en largo? Cazador de ballenas te dice qué tan inusual es el movimiento del interés abierto y del volumen. La dirección es otra pregunta, y ahí es donde más gente lo malinterpreta.

¿Qué es Cazador de ballenas?

Cazador de ballenas (Whale Hunter, WH) es el indicador de cambios de posición de Blave. Suma el cambio de interés abierto (Open Interest, OI) y el volumen de 5 minutos de los perpetuos USDT-M de Binance dentro de la ventana que elijas (el timeframe) y convierte esa suma en un z-score frente a los últimos 30 días de la moneda. Tiene dos puntuaciones:

PuntuaciónQué sumaCómo leerla
score_oiCambio neto del OI dentro de la ventana (en monedas)Positivo = el cambio de OI superó el promedio de 30 días, normalmente un aumento neto. Negativo = por debajo del promedio, normalmente una disminución neta.
score_volumeVolumen total dentro de la ventana (en monedas): un nivel de volumen, no un cambio de volumenPositivo = más activo que los últimos 30 días. Negativo = más tranquilo que los últimos 30 días, no que el volumen esté cayendo.

Al ser un z-score, el valor no tiene límites fijos y todas las monedas quedan en la misma escala. Pero "alto" siempre es relativo a los últimos 30 días de la propia moneda: si su OI crece de forma sostenida durante meses, su propio promedio lo absorbe. Las insignias de estado de Studio usan estos umbrales (ejemplo con score_oi):

ValorInsignia en StudioSignificado
≥ +3Aumento excesivoAumento neto del OI muy por encima de lo normal en 30 días, un valor extremo
+2 ~ +3Aumento considerableAumento neto del OI claramente por encima de lo normal
+0.5 ~ +2AumentoAumento neto del OI por encima de lo normal
−0.5 ~ +0.5Sin etiquetaEn línea con lo normal de 30 días
≤ −0.5Disminución / considerable / excesivaSimétrico al lado positivo, con umbrales en −0.5, −2 y −3: el OI se cierra más rápido de lo normal

El matiz clave: WH alto ≠ ballenas en largo

El signo de Cazador de ballenas solo dice qué tan inusual es el movimiento de OI o volumen; no tiene dirección. Un OI en aumento significa que se abrieron posiciones nuevas, pero pueden ser largos o cortos. Para juzgar la dirección, vuelve al precio o combina WH con un indicador direccional como la concentración de tenedores.

La "ballena" del nombre es una metáfora. Los datos son el total del mercado de perpetuos de Binance: no hay cuentas individuales, no se distingue a unos pocos grandes operadores de una multitud de pequeños, y no incluye otros exchanges.

El uso respaldado por backtest es el inverso. La estrategia oficial BTC Cazador de ballenas inverso compra cuando el score_oi de 24h de BTC cae por debajo de −0.7 (el OI se cierra de forma inusualmente fuerte) y sale cuando se recupera por encima de 0.2. Solo largos. Backtest mostrado en la Biblioteca de estrategias de Blave (2023-01-01 a 2026-07-13, comisión de 0.05% por lado): rentabilidad total 268.17%, Sharpe 1.46, drawdown máximo −22.5%, prueba de significancia MCPT p = 0.005. En cambio, perseguir los bloques grandes no tiene hoy ninguna estrategia verificada detrás.

¿Cómo se construyen estrategias con Cazador de ballenas?

De los tres usos siguientes, solo el primero corresponde a una estrategia oficial publicada que pasó los controles de la biblioteca. Los otros dos son esbozos de cómo combinar señales, sin backtest: verifica tú mismo cada umbral.

1. Umbral inverso: entrar cuando el OI se liquida en masa

La lógica es sencilla. Cuando la disminución neta del OI en la ventana de 24h se vuelve inusual (score_oi < −0.7), una gran parte de las posiciones se cerró en ese periodo. La estrategia compra y queda fuera del mercado cuando la puntuación se recupera por encima de 0.2. Esta es la función de señales de la estrategia oficial btc_whale_1h:

ENTRY_TH = -0.7
EXIT_TH  = 0.2

def compute_signals(df, entry_th=ENTRY_TH, exit_th=EXIT_TH):
    # df['WH'] = score_oi de 24h de BTCUSDT, leído en cada vela de 1h
    signal = pd.Series(np.nan, index=df.index)
    signal[df['WH'] < entry_th] = 1.0   # OI cerrado de forma inusual -> largo
    signal[df['WH'] > exit_th]  = 0.0   # la puntuación se normaliza -> sin posición
    return signal

ENTRY_TH = -0.7 y EXIT_TH = 0.2 salen de una meseta del escaneo de parámetros, no de una corazonada: los umbrales de entrada entre −1.3 y −0.6 y los de salida entre 0.0 y 0.3 quedan en la zona robusta, y el Sharpe de la meseta es 0.884 veces el del punto elegido.

2. Doble condición: OI y volumen se disparan a la vez

Las alertas del sitio de Blave usan esta condición: cuando el score_oi y el score_volume de 1h superan ambos 2, la alerta dice que el interés abierto y el volumen subieron con fuerza. Sirve como filtro para encontrar monedas donde está pasando algo:

oi  = fetch_whale_hunter(SYMBOL, INTERVAL, START, END, hdrs,
                         timeframe='1h', score_type='score_oi')
vol = fetch_whale_hunter(SYMBOL, INTERVAL, START, END, hdrs,
                         timeframe='1h', score_type='score_volume')
# ambas puntuaciones > 2: misma condición que la alerta del sitio
active = (oi['alpha'] > 2) & (vol['alpha'] > 2)

Esto es un filtro, no una señal de entrada: no da dirección y no tiene backtest. Para operarlo, añade al menos una comprobación direccional y haz tu propio backtest.

3. Filtro: WH detecta el movimiento, un indicador direccional decide

Como WH no tiene dirección, una combinación natural es dejar que responda "¿está pasando algo inusual?" y delegar la decisión de entrada en un indicador direccional, como la concentración de tenedores. La estructura de abajo es un esbozo; sustituye compute_direction_filter por tu propia condición:

wh_active = df['WH'] > 2
direction_ok = compute_direction_filter(df)   # p. ej., una condición de concentración de tenedores
signal = pd.Series(np.nan, index=df.index)
signal[wh_active & direction_ok] = 1.0
signal[~wh_active] = 0.0

Esta combinación no tiene backtest y el umbral de 2 se toma prestado de la alerta del sitio. Escanea los parámetros y revisa el rendimiento después de comisiones antes de usarla.

¿Cómo elegir el timeframe y la puntuación?

WH tiene dos ajustes fáciles de confundir. El timeframe es la ventana en la que se suma el cambio de OI o el volumen: 15min, 1h, 4h, 8h, 24h o 3d, con 24h y score_oi por defecto. El intervalo de velas (de 5min a 1d en los gráficos de Studio, el interval de una estrategia) solo fija cada cuánto se lee el valor. La estrategia oficial lee la puntuación de ventana de 24h en velas de 1h.

TimeframeQué cubre un valorNotas
15min / 1hCambio de OI o volumen en los últimos 15 minutos o 1 horaVentana corta: no reutilices los umbrales de 24h, escanéalos aparte
4h / 8hCambio en las últimas 4 u 8 horasEntre las ventanas cortas y la diaria; escanea tus propios umbrales
24hCambio en las últimas 24 horasPor defecto; la ventana que usa la estrategia BTC Cazador de ballenas inverso
3dCambio en los últimos 3 díasLa ventana más larga: una gran apertura de posiciones permanece en el valor durante 3 días

Blave midió BTC, ETH y 1000PEPE de 2024-09 a 2026-09: con la ventana predeterminada de 24h, los percentiles 1 y 99 de la puntuación de OI rondan −2.6 y +3, con extremos de unos ±10. Cuanto más corta la ventana, más gruesas las colas: en 1h los extremos ya superan ±20. La puntuación de volumen está sesgada a la derecha (los valores negativos rara vez bajan de −2), así que no le apliques los umbrales simétricos de la puntuación de OI. Los umbrales no sirven entre configuraciones: vuelve a escanear cuando cambies el timeframe o la moneda. No lleves −0.7 a otra configuración.

¿Dónde se ve en Studio?

PáginaQué muestra
ResumenMapa de calor de bloques: cambia el timeframe y el cambio de OI o de volumen. Muestra las 30 monedas principales con valor mayor que 0, con el área del bloque proporcional al valor y de mayor a menor; el color es la variación de precio en la misma ventana.
HistorialBarras de WH de una moneda sobre el precio, con selectores de timeframe, tipo de puntuación e intervalo del gráfico, más el campo stat.
Dispersión (Pro)Instantánea actual de todas las monedas: el eje x es la puntuación de OI y el eje y la de volumen, solo con líneas de cero y sin nombres de cuadrantes. La mitad inferior significa volumen más tranquilo que en los últimos 30 días, no que esté cayendo.

¿Con qué indicadores combinarlo?

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

CombinaciónPara qué
WH + concentración de tenedoresWH encuentra monedas con cambios de posición inusuales; la concentración de tenedores ayuda a juzgar si esas posiciones se inclinan al largo o al corto.
WH + Intensidad takerCuando el OI cae con fuerza, revisa la Intensidad taker en la misma ventana para ver compras o ventas agresivas y ayudar a distinguir si hubo liquidaciones.

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

El endpoint de la API es GET /whale_hunter/get_alpha, con symbol, period, timeframe (24h por defecto), score_type (score_oi o score_volume) y fechas de inicio y fin; en Blave Agent la función es fetch_whale_hunter. Solo devuelve velas cerradas. Sin fecha de inicio obtienes los últimos 365 días, y los rangos de más de 365 días se recortan. El historial empieza el 2021-12-01 (o en el listado de la moneda). La respuesta trae además un objeto stat que describe la lectura más reciente, y sus nombres no coinciden del todo con lo que calculan:

CampoQué calcula en realidad
up_probUna regresión logística entrenada con los últimos 365 días usa WH para predecir si el precio subirá o bajará 24h después y devuelve la probabilidad de subida. Los datos de entrenamiento incluyen el periodo actual, así que es una estimación dentro de la muestra, no una tasa de acierto fuera de la muestra.
avg_up_return /
avg_down_return
Rentabilidad media a 24h de todos los resultados al alza o a la baja de los últimos 365 días, sin distinguir el nivel de WH.
exp_valueup_prob × avg_up_return + (1 − up_prob) × avg_down_return, en decimal, no en porcentaje.
is_data_sufficientSi los datos de la moneda empiezan hace más de 365 días, no si este nivel de lectura tiene suficientes muestras.
Recuerda: Cazador de ballenas es un dato de referencia, no una señal de compra o venta. Solo cubre Binance, "alto" y "bajo" son relativos a los últimos 30 días, no indica dirección y stat es una estimación dentro de la muestra. Verifica cualquier umbral con tu propio backtest.