Leia os saltos de contratos em aberto, evite o erro mais comum e veja como a estratégia oficial o usa ao contrário.
Um bloco grande acende no mapa de calor da visão geral. As baleias estão entrando comprados? O Caçador de baleias diz quão incomum é o movimento dos contratos em aberto e do volume. A direção é outra pergunta, e é aí que a maioria das pessoas se engana.
O Caçador de baleias (Whale Hunter, WH) é o indicador de mudanças de posição da Blave. Ele soma a variação dos contratos em aberto (Open Interest, OI) e o volume de 5 minutos dos perpétuos USDT-M da Binance dentro da janela escolhida (o timeframe) e converte essa soma em um z-score em relação aos últimos 30 dias da moeda. Há duas pontuações:
| Pontuação | O que soma | Como ler |
|---|---|---|
score_oi | Variação líquida do OI dentro da janela (em moedas) | Positivo = a variação do OI superou a média de 30 dias, normalmente um aumento líquido. Negativo = abaixo da média, normalmente uma redução líquida. |
score_volume | Volume total dentro da janela (em moedas): um nível de volume, não uma variação de volume | Positivo = mais movimentado que nos últimos 30 dias. Negativo = mais calmo que nos últimos 30 dias, não volume em queda. |
Por ser um z-score, o valor não tem limites fixos e todas as moedas ficam na mesma escala. Mas "alto" é sempre relativo aos últimos 30 dias da própria moeda: se o OI cresce de forma contínua por meses, a própria média o absorve. Os selos de status do Studio usam estes limiares (exemplo com score_oi):
| Valor | Selo no Studio | Significado |
|---|---|---|
| ≥ +3 | Aumento excessivo | Aumento líquido do OI muito acima do normal de 30 dias, um valor extremo |
| +2 ~ +3 | Aumento expressivo | Aumento líquido do OI claramente acima do normal |
| +0.5 ~ +2 | Aumento | Aumento líquido do OI acima do normal |
| −0.5 ~ +0.5 | Sem rótulo | Em linha com o normal de 30 dias |
| ≤ −0.5 | Redução / expressiva / excessiva | Simétrico ao lado positivo, com limiares em −0.5, −2 e −3: o OI está sendo fechado mais rápido que o normal |
O sinal do Caçador de baleias só mostra quão incomum é o movimento de OI ou volume; ele não tem direção. OI em alta significa que novas posições foram abertas, mas podem ser compradas ou vendidas. Para julgar a direção, volte ao preço ou combine o WH com um indicador direcional, como a concentração de holders.
A "baleia" do nome é uma metáfora. Os dados são o total do mercado de perpétuos da Binance: não há contas individuais, não dá para separar alguns grandes traders de uma multidão de pequenos, e outras exchanges não entram.
score_oi de 24h do BTC cai abaixo de −0.7 (OI fechado de forma incomumente forte) e zera a posição quando ele volta acima de 0.2. Só compra. Backtest exibido na Biblioteca de estratégias da Blave (2023-01-01 a 2026-07-13, taxa de 0.05% por lado): retorno total de 268.17%, Sharpe 1.46, drawdown máximo de −22.5%, teste de significância MCPT p = 0.005. Já perseguir os blocos grandes não tem hoje nenhuma estratégia verificada por trás.Dos três usos abaixo, só o primeiro corresponde a uma estratégia oficial publicada que passou pelas verificações da biblioteca. Os outros dois são esboços de como combinar sinais, sem backtest: verifique você mesmo cada limiar.
A lógica é simples. Quando a redução líquida do OI na janela de 24h fica incomum (score_oi < −0.7), uma grande parte das posições foi fechada nesse período. A estratégia compra e zera a posição quando a pontuação volta acima de 0.2. Esta é a função de sinais da estratégia 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 do BTCUSDT, lido em cada candle de 1h
signal = pd.Series(np.nan, index=df.index)
signal[df['WH'] < entry_th] = 1.0 # OI fechado de forma incomum -> comprar
signal[df['WH'] > exit_th] = 0.0 # pontuação normaliza -> sem posição
return signal
ENTRY_TH = -0.7 e EXIT_TH = 0.2 vêm de um platô da varredura de parâmetros, não de palpite: limiares de entrada entre −1.3 e −0.6 e de saída entre 0.0 e 0.3 ficam na zona robusta, e o Sharpe do platô é 0.884 vez o do ponto escolhido.
Os alertas do site da Blave usam esta condição: quando o score_oi e o score_volume de 1h passam ambos de 2, o alerta avisa que contratos em aberto e volume subiram com força. Serve como filtro para achar moedas em que algo está acontecendo:
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')
# as duas pontuações > 2: mesma condição do alerta do site
active = (oi['alpha'] > 2) & (vol['alpha'] > 2)
Isto é um filtro, não um sinal de entrada: não dá direção e não tem backtest. Para operar, acrescente pelo menos uma verificação direcional e rode seu próprio backtest.
Como o WH não tem direção, uma combinação natural é deixá-lo responder "há algo incomum acontecendo?" e passar a decisão de entrada para um indicador direcional, como a concentração de holders. A estrutura abaixo é um esboço; troque compute_direction_filter pela sua própria condição:
wh_active = df['WH'] > 2 direction_ok = compute_direction_filter(df) # ex.: uma condição de concentração de holders signal = pd.Series(np.nan, index=df.index) signal[wh_active & direction_ok] = 1.0 signal[~wh_active] = 0.0
Esta combinação não tem backtest, e o limiar de 2 foi apenas emprestado do alerta do site. Faça a varredura de parâmetros e confira o desempenho depois das taxas antes de usar.
O WH tem duas configurações fáceis de confundir. O timeframe é a janela em que a variação de OI ou o volume é somado: 15min, 1h, 4h, 8h, 24h ou 3d, com 24h e score_oi como padrão. O intervalo dos candles (de 5min a 1d nos gráficos do Studio, o interval de uma estratégia) só define a frequência de leitura do valor. A estratégia oficial lê a pontuação da janela de 24h em candles de 1h.
| Timeframe | O que um valor cobre | Observações |
|---|---|---|
15min / 1h | Variação de OI ou volume nos últimos 15 minutos ou 1 hora | Janela curta: não reaproveite os limiares de 24h, faça a varredura à parte |
4h / 8h | Variação nas últimas 4 ou 8 horas | Entre as janelas curtas e a diária; faça a varredura dos seus limiares |
24h | Variação nas últimas 24 horas | Padrão; a janela usada pela estratégia BTC Caçador de baleias inverso |
3d | Variação nos últimos 3 dias | A janela mais longa: uma grande abertura de posições fica no valor por 3 dias |
A Blave mediu BTC, ETH e 1000PEPE de 2024-09 a 2026-09: na janela padrão de 24h, os percentis 1 e 99 da pontuação de OI ficam perto de −2.6 e +3, com extremos de cerca de ±10. Quanto mais curta a janela, mais grossas as caudas: em 1h os extremos já passam de ±20. A pontuação de volume é assimétrica à direita (valores negativos raramente ficam abaixo de −2), então não use os limiares simétricos da pontuação de OI. Limiares não valem entre configurações: refaça a varredura quando mudar o timeframe ou a moeda. Não leve −0.7 para outra configuração.
| Página | O que mostra |
|---|---|
| Visão geral | Mapa de calor em blocos: alterne o timeframe e a variação de OI ou de volume. Mostra as 30 principais moedas com valor acima de 0, com área do bloco proporcional ao valor, da maior para a menor; a cor é a variação de preço na mesma janela. |
| Histórico | Barras de WH de uma moeda sobre o preço, com seletores de timeframe, tipo de pontuação e intervalo do gráfico, além do campo stat. |
| Dispersão (Pro) | Retrato atual de todas as moedas: o eixo x é a pontuação de OI e o eixo y a de volume, só com linhas de zero e sem nomes de quadrantes. A metade inferior significa volume mais calmo que nos últimos 30 dias, não volume em queda. |
São ideias de combinação, não resultados verificados:
| Combinação | Para quê |
|---|---|
| WH + concentração de holders | O WH encontra moedas com mudanças de posição incomuns; a concentração de holders ajuda a julgar se essas posições pendem para compra ou venda. |
| WH + Intensidade taker | Quando o OI cai com força, confira a Intensidade taker na mesma janela para ver compras ou vendas agressivas e ajudar a identificar se houve liquidações. |
O endpoint da API é GET /whale_hunter/get_alpha, com symbol, period, timeframe (padrão 24h), score_type (score_oi ou score_volume) e datas de início e fim; no Blave Agent a função é fetch_whale_hunter. Só retorna candles fechados. Sem data de início, você recebe os últimos 365 dias, e intervalos maiores que 365 dias são cortados. O histórico começa em 2021-12-01 (ou na listagem da moeda). A resposta traz também um objeto stat que descreve a leitura mais recente, e seus nomes não correspondem exatamente ao que calculam:
| Campo | O que calcula de fato |
|---|---|
up_prob | Uma regressão logística treinada com os últimos 365 dias usa o WH para prever se o preço vai subir ou cair 24h depois e retorna a probabilidade de alta. Os dados de treino incluem o período atual, então é uma estimativa dentro da amostra, não uma taxa de acerto fora da amostra. |
avg_up_return /avg_down_return | Retorno médio em 24h de todos os resultados de alta ou de baixa nos últimos 365 dias, sem distinguir o nível do WH. |
exp_value | up_prob × avg_up_return + (1 − up_prob) × avg_down_return, em decimal, não em porcentagem. |
is_data_sufficient | Se os dados da moeda começam há mais de 365 dias, não se este nível de leitura tem amostras suficientes. |
stat é uma estimativa dentro da amostra. Verifique qualquer limiar com seu próprio backtest.