Conteúdo do artigo
- Evidências e escopo
- Ilustração
- Processo
- Duas observações diferentes
- Detectores separados para absorção e divergência.
- Relógios, classificação e unidades de volume
- Exemplos sintéticos: ganho por absorção e perda por divergência
- A confirmação e a execução do preço ainda são importantes.
- Meça o valor incremental de delta.
- Erros comuns
- Lista prática de verificação
- Perguntas frequentes
- Fontes de pesquisa
Evidências e escopo
A documentação da bolsa define o significado dos campos; a pesquisa de fluxo de ordens fornece contexto. Nenhuma dessas fontes verifica a rentabilidade dos detectores de absorção ou divergência propostos.
Fluxo de trabalho prático
- Confira o feedVerificar o lado do agressor, as unidades e os relógios.
- Meça hipóteses separadasCalcule a absorção ou a divergência CVD sem mesclá-las.
- Aguarde a confirmação do preço.A retomada do nível deve ocorrer após os dados necessários estarem disponíveis.
- Modele a execução e a proteçãoUse cotações executáveis, spread e o extremo do evento.
- Validar fora da amostraCompare com o comportamento baseado apenas no preço e o estresse de latência.
Duas observações diferentes
Toda transação tem comprador e vendedor. O delta atribui o sinal pelo lado agressor que retira liquidez: volume de compras agressoras menos volume de vendas agressoras. CVD acumula o delta desde um ponto de reinício definido. O campo S do feed público de negócios da Bybit indica o lado tomador [1]; um campo com o mesmo nome em um feed de liquidações pode ter outro significado.
Uma hipótese de absorção altista descreve uma venda agressiva substancial seguida de um progresso limitado para baixo. Nesse cenário, o CVD pode atingir uma mínima muito mais baixa. Já a divergência altista do CVD requer uma mínima de preço mais baixa, acompanhada por um valor mais alto do CVD nessa mínima. As condições não são intercambiáveis e podem se contradizer.
Ofertas de compra repostas repetidamente acrescentam uma observação sobre a liquidez exibida, não revelam uma identidade. Uma cotação que desaparece pode representar cancelamento ou execução [2]. Use o termo indicador indireto de absorção e liste as medições, sem afirmar que uma instituição está defendendo o preço.
Detectores separados para absorção e divergência.
Um indicador indireto proposto de absorção compradora atua perto de um suporte S já conhecido. Em uma janela de W=30 segundos, o volume de venda deve superar o percentil 95 do histórico no mesmo horário, sell/(buy+sell) deve ser pelo menos 0.70, e a queda do preço médio entre compra e venda desde o início da janela não deve superar 0.15 do ATR de um minuto anterior. Exija volume total suficiente e um fluxo de dados ininterrupto. Esses limites são propostas de pesquisa.
Após detectar o indicador, espere por no máximo K=3 barras completas de um minuto até haver fechamento acima de S+buffer. Entre apenas em uma cotação disponível após esse fechamento; coloque a proteção abaixo da mínima de todo o evento, descontando o buffer. Na versão de baixa, inverta os sentidos do fluxo e do preço.
Para a divergência, use duas mínimas de pivôs de preço com left=right=2. Depois da confirmação da segunda, exija P2<P1−buffer e CVD(time_P2)>CVD(time_P1)+delta_min. Compare CVD nos horários dessas mínimas de preço, não em duas mínimas atraentes de CVD escolhidas de forma independente. Os pontos devem pertencer à mesma janela de reinício. O segundo pivô só pode ser usado depois das duas barras à sua direita.
A janela de absorção e a janela de recuperação também precisam de uma regra de junção. Armazene o suporte original, o início do evento e o mínimo ao ativar o candidato. Não mova repetidamente o ponto de partida para a última janela de alta venda até que uma recuperação favorável finalmente ocorra.
Um negócio sem classificação ou uma lacuna no feed deixa o CVD posterior incompleto, mesmo que os dois extremos mostrem números. Marque o segmento acumulado como indisponível até um novo reinício ou a reconstrução bem-sucedida com dados recuperados. Compare pivôs somente quando o fluxo classificado estiver completo em todo o intervalo entre eles. Um deslocamento desconhecido anterior a ambos pode se cancelar matematicamente, mas exige o mesmo deslocamento e incrementos completos; esta versão conservadora ainda exige um segmento válido.
on_trade(tr):
if tr.id in seen_ids: return
if tr.taker_side not in {BUY,SELL} or not valid_size_and_feed(tr):
mark_window_and_cumulative_segment_unavailable_until_reset_or_rebuild(); return
seen_ids.add(tr.id)
signed_size = (+1 if tr.taker_side == BUY else -1)*normalized_size(tr)
delta_bucket += signed_size
CVD += signed_size
on_window_close(t):
if not full_window_and_prior_baseline_available(t): return
absorption = near_frozen_support and total_size>=configured_minimum
absorption &= sell_share>=0.7 and sell_size>past_p95
absorption &= downward_excursion<=0.15*ATR_before_window
if absorption and no_active_event:
arm_reclaim_candidate(known_at=window_data_ready_at,expiry=fixed_deadline)
on_price_pivot_confirmation(p2,t):
p1 = previous_confirmed_price_low(p2)
if p1 is None or not same_cvd_reset(p1,p2): return
if missing_cvd_at_either_pivot(p1,p2): return
if not complete_classified_flow_between(p1.occurred_at,p2.occurred_at): return
if not cumulative_segment_valid(p1,p2): return
divergence = p2.price<p1.price-buffer and cvd_at(p2)>cvd_at(p1)+dmin
if divergence and no_active_event:
arm_candidate(known_at=received_confirmation_time(t))
# Unclassified trades never default to SELL; overlapping windows do not reset TTL.
Relógios, classificação e unidades de volume
Mantenha registros do horário do evento, horário de recebimento, IDs de negociação e estado da conexão. Uma aproximação por cor de vela ou alta é um estimador diferente; nomeie-o adequadamente. Em particular, não consegue distinguir com precisão uma forte venda de uma série de preços que permanece praticamente inalterada. Não conte as negociações brutas e sua representação agregada duas vezes.
Normalize a quantidade para uma unidade fixa. CVD medido em moedas e CVD em valor nocional podem se comportar de forma diferente quando o preço varia muito. Contratos inversos exigem especificação própria de quantidade, em vez de uma conversão universal de quantidade vezes preço. As bases históricas de percentis devem excluir a janela de medição atual.
CVD descreve o fluxo agressor já executado. A pesquisa sobre OFI motiva considerar também eventos de cotação [3], mas acrescentar L2 não identifica o dono de uma ordem iceberg. Uma estatística de reposição de ofertas de compra pode ser útil perto de S, embora o envio em lotes e a liquidez oculta a tornem incompleta. Preserve essa distinção no nome da variável e na descrição da evidência.
Exemplos sintéticos: ganho por absorção e perda por divergência
Considere S=100, ATR=2 calculado anteriormente e buffer=0.10. Em 30 segundos, o volume comprador agressor é 20 e o vendedor agressor é 100, produzindo delta−80 e participação vendedora de 83.3%. O limiar do percentil histórico de volume vendedor é 70. O preço médio entre compra e venda cai de 100.10 até a mínima de 99.85, uma queda de 0.25, abaixo do limite de 0.30. Isso satisfaz o indicador indireto de absorção, embora CVD caia fortemente.
A próxima barra fecha em 100.20. Uma compra em 100.25, com stop loss em 99.75 e alvo em 101.25, tem risco de 0.50 e recompensa de 1.00 ou 2R antes dos custos. Se a cotação disponível já for 100.60, a recompensa para esse alvo fixo cai para 0.65, enquanto o risco sobe para 0.85. Uma regra predefinida de recompensa/risco mínimo pode rejeitar a entrada; o backtest não pode reter a execução indisponível em 100.25.
Em uma falha de divergência separada, as mínimas de preço são 100 e 99.50, com CVD−500 e −420 em uma mesma sessão. Após confirmação e recuperação, uma ordem de compra é executada em 100.15 com stop em 99.40. O preço continua caindo e uma ordem de proteção é executada em 99.35, resultando na perda de 0.80. A divergência não impediu o desaparecimento de ofertas passivas de compra nem a chegada de uma nova onda de vendas.
A confirmação e a execução do preço ainda são importantes.
O mesmo proxy pode persistir por várias janelas enquanto o preço continua a cair. Agrupe janelas sobrepostas em um evento e especifique uma única entrada ou uma política de reentrada finita. Cancele em caso de expiração, dados desatualizados, spread excessivo ou uma quebra adicional predeterminada antes da confirmação.
Uma ordem limitada passiva para melhorar a entrada difere de comprar após a retomada do nível. Baixa probabilidade de execução e seleção adversa podem consumir a aparente vantagem do preço melhor. O replay deve verificar a liquidez disponível quando a ordem chega ao mercado, não somente se o último preço negociado no histórico tocou o nível.
Fixed-R, um alvo conhecido VWAP e um alvo estrutural são saídas separadas. Uma negociação matinal não pode usar o VWAP final da sessão. Inclua taxas, slippage e financiamento se um contrato for mantido durante o seu período de cobrança.
Meça a magnitude da recuperação enquanto se aguarda a confirmação do pivô. Uma divergência visualmente convincente pode ser economicamente tardia. Registre os candidatos cujo alvo já foi atingido antes do sinal como oportunidades perdidas, em vez de considerar a recuperação anterior como lucro disponível para a estratégia confirmada.
Meça o valor incremental de delta.
Use o método de recuperação baseado apenas no preço, com as mesmas referências, horários e volatilidade, como controle. Compare o método baseado apenas na absorção, o método baseado apenas na divergência e a combinação de ambos. Adicionar condições não necessariamente melhora os retornos. Relate os candidatos que confirmarem e executarem as ordens, não apenas a taxa de acerto das operações selecionadas.
Faça testes de estresse com latência adicional, por exemplo 100–500ms quando pertinente ao sistema pretendido, e analise separadamente os períodos desconectados. Esses atrasos são testes propostos, não premissas universais. Se o custo de um spread eliminar o resultado, descreva essa fragilidade.
Avalie os locais independentemente para distinguir o fluxo local de um sinal transferível. A reinicialização CVD, o atraso do pivô, a sobreposição de eventos e a estimativa de percentil podem alterar os resultados mais do que a aparência do gráfico. Controle as versões do pré-processamento e mantenha os indicadores de dados insuficientes visíveis.
Os cenários de teste devem incluir janelas de volume zero, ausência do lado agressor, IDs de negociação duplicados, reinicialização entre pontos de pivô e negociações atrasadas que chegam após o fechamento de uma janela. Esses casos testam a interpretação econômica da funcionalidade, e não apenas se uma soma aritmética é executada sem erros.
Erros comuns
Fusão dos mecanismos
A absorção pode coincidir com uma nova mínima em CVD; exigir divergência pode excluir o fenômeno pretendido.
Tratar um único local de negociação como todo o mercado
Outro local pode ter um fluxo agressivo diferente ou oposto.
Chamar toda redução de quantidade cotada de venda
O tamanho exibido pode desaparecer em caso de cancelamento; os dados de negociação são necessários para um delta agressivo.
Lista de verificação antes de usar este método
Marque cada item após verificá-lo nos seus dados. O progresso fica salvo neste navegador; isso não certifica que a estratégia seja lucrativa.
Perguntas frequentes
Volume alto e pavio longo bastam para provar absorção?
Trata-se apenas de um proxy mais fraco de OHLCV. Essa definição exige fluxo agressivo classificado e uma medição da evolução do preço.
A divergência entre CVD pode desencadear uma negociação imediata?
Trata-se de uma funcionalidade, e não de um sistema de negociação completo. Este artigo aguarda um gatilho de preço causal e especifica a entrada separadamente.
Fontes de pesquisa
Cada fonte sustenta a definição ou evidência descrita ao lado. O pseudocódigo, os exemplos sintéticos e os parâmetros propostos exigem validação separada.
- Public TradeBybit. Leia o lado do tomador, o horário da negociação e os campos de ID; documentação de dados em vez de estratégia. Verificado em: .
- OrderbookBybit. Leia as limitações de tamanho exibido, instantâneo/delta e livro público. Verificado em: .
- The price impact of order book eventsCont, Kukanov and Stoikov. Leia a pesquisa sobre fluxo e cotações; ela não testa estes detectores de absorção/CVD. Verificado em: .
Métodos relacionados
Nota de risco
Este conteúdo apoia a educação e o planejamento de pesquisas, não constitui aconselhamento financeiro. O Backtest é uma simulação histórica, não garante desempenho futuro e não executa operações reais. Os métodos desta biblioteca não são necessariamente recursos disponíveis no aplicativo. Consulte a metodologia e a central de aprendizado.
Valide as regras antes de arriscar capital real
Verifique o suporte do aplicativo, os dados e cada operação simulada; detectores avançados podem exigir uma implementação própria.
Baixe o Backtest na App Store