Conteúdo do artigo

Evidências e escopo

As definições abaixo foram conferidas com a documentação da Fidelity, Sierra Chart e Chaikin Analytics. Acumulação e distribuição são interpretações de um cálculo de preço e volume, não observações diretas da identidade dos participantes nem retornos validados para o setup proposto. [1] [2] [3]

Dados e mercadosBarras OHLCV consistentes com campos válidos de máxima, mínima, fechamento e volume. Uma versão que utiliza o volume de ticks mede a atividade de atualização de preço e deve ser identificada separadamente.
Períodos gráficos da pesquisaAs versões diárias e intradia requerem testes separados. Os intervalos de tempo mencionados neste artigo referem-se a configurações de pesquisa e não a recomendações otimizadas.
Uma série sintética CMF na escala de −1 a 1 cruza o limite experimental 0.05 e posteriormente enfraquece. Esta é uma série indicadora, não preços nem fluxo monetário líquido.Abrir ilustração em tamanho completo
Ilustração sintética original. Uma série sintética CMF na escala de −1 a 1 cruza o limiar experimental 0.05 e posteriormente enfraquece. Esta é uma série indicadora, não um preço ou fluxo monetário líquido.

Fluxo de trabalho prático

Fluxo de trabalho de Fluxo de Dinheiro de Chaikin: Localização de Fechamento Ponderada por Volume
As etapas completas aparecem abaixo. Em cada etapa, dados ausentes ou condições não atendidas exigem o registro de um motivo de rejeição.
  1. Validar OHLCVVerificar consistência do intervalo, volume não negativo e barras ausentes.
  2. Calcular localização de fechamentoDefina a regra para máxima igual à mínima e a escala do indicador.
  3. Aplicar uma janela fixaUtilize observações concluídas e um denominador positivo.
  4. Confirme a estrutura de preços.Um filtro não pode tornar válido um rompimento já invalidado.
  5. Comparar controles de ponderaçãoMeça CMF em relação à localização de fechamento não ponderada após os custos.

CMF mede a posição do fechamento, não a variação entre fechamentos

OBV atribui um sinal positivo ou negativo ao volume de acordo com a variação em relação ao fechamento anterior. CMF verifica se o fechamento atual está na parte superior ou inferior de sua própria faixa de preço. Quando H excede L, o multiplicador é (2C−H−L)/(H−L): +1 na máxima, −1 na mínima e zero no ponto médio. [1]. Um dia que cai em relação ao dia anterior pode, portanto, contribuir positivamente se fechar próximo à sua própria máxima.

CMF divide a soma do multiplicador vezes o volume pelo volume total em uma janela móvel. Este artigo usa a escala de −1 a 1. Alguns produtos multiplicam o resultado por 100; a Chaikin Analytics descreve uma escala de ±100. [3] Um limite de 0.05 na primeira escala corresponde a 5 na segunda. Importar um limite sem sua unidade pode fazer com que um filtro admita quase tudo ou quase nada.

O multiplicador descreve a posição final dentro de um intervalo. Ele não reconstrói o caminho percorrido dentro desse intervalo nem o lado que iniciou cada negociação. Duas barras com máxima, mínima, fechamento e volume idênticos produzem contribuições CMF idênticas, mesmo que suas sequências de transações e históricos de fluxo de ordens sejam muito diferentes.

Defina barras planas e dados faltantes antes do teste.

Quando o valor máximo é igual ao valor mínimo, a fração original fica indefinida. A convenção proposta aqui define o multiplicador como zero, mantendo o volume da barra no denominador. Isso não representa nenhuma evidência direcional da localização do fechamento. Outra plataforma pode omitir a barra ou usar uma regra diferente; registre a convenção e examine a sensibilidade onde barras planas ocorrem com frequência.

Rejeite máxima abaixo da mínima, fechamento fora da faixa registrada e volume negativo. Um denominador com volume total zero produz um valor indisponível, não um zero neutro. A Fidelity apresenta 21 períodos como configuração comum. [1] [2] Janelas alternativas de 10, 20 ou 50 são escolhas de pesquisa separadas e devem constar do registro do experimento.

Para uma implementação de barras completas, a disponibilidade começa após o recebimento de toda a janela e da observação de fechamento atual. Mantenha as somas cumulativas do numerador e do denominador para maior eficiência, mas teste-as comparando-as com um cálculo simples de janela completa. Pequenos erros de subtração podem se acumular em fluxos longos, especialmente quando os dados contêm quantidades muito grandes e muito pequenas.

for i in full_window(t, n=21):
    assert L[i] <= C[i] <= H[i] and V[i] >= 0
    multiplier[i] = 0 if H[i] == L[i] else (2*C[i]-H[i]-L[i])/(H[i]-L[i])
denominator = sum(V[i] for i in full_window(t,21))
cmf[t] = NA if denominator == 0 else sum(multiplier[i]*V[i] for i in full_window(t,21))/denominator
filter_ok = cmf[t] > 0.05  # proposed threshold, scale -1..1

Cálculo com três barras e um contraexemplo de gap

Use uma janela curta apenas para ilustrar a aritmética. A barra A contém H=110, L=100, C=108 e V=100, resultando em um multiplicador de 0.6. A barra B contém H=112, L=102, C=104 e V=200, resultando em −0.6. A barra C contém H=L=C=105 e V=100, resultando em zero de acordo com a regra da barra plana. CMF é (60−120+0)/400=−0.15.

Se a barra sem amplitude fosse removida tanto do numerador quanto do denominador, o resultado seria −0.20. Nenhum dos valores pode ser comparado com a saída da plataforma até que sua convenção seja conhecida. Este pequeno teste pertence às verificações de implementação, pois a diferença pode alterar as ultrapassagens de limiar.

Agora, suponha que ontem o preço fechou em 110 e hoje haja um gap de baixa antes de negociar com H=101, L=99 e C=100.8. O multiplicador é positivo 0.8, mesmo que o preço de fechamento tenha caído 9.2. CMF não mede diretamente a perda através do gap. Um sistema que interpreta toda leitura positiva como sinal de alta pode comprar durante uma queda substancial.

O gráfico exibe uma trajetória sintética separada do CMF cruzando um limite proposto e, posteriormente, enfraquecendo. Seus valores verticais são unidades do indicador. Eles não representam preços nem percentuais de operações lucrativas, e a ilustração não constitui uma amostra de desempenho histórico.

Teste um filtro de breakout e uma variante de persistência separadamente.

Congele a resistência usando uma janela anterior ou pontos de pivô confirmados. Quando o preço fechar acima dela, compare dois filtros propostos: o valor atual de CMF acima de zero, ou pelo menos quatro das cinco observações mais recentes de CMF acima de zero. O segundo filtro mede a persistência em vez de um único ponto. Quatro e cinco são configurações experimentais, não uma regra original atribuída.

A entrada ocorre no próximo evento executável após o fechamento. Posicione o stop em um nível de invalidação estrutural já conhecido naquele instante. Se a regra de referência usa alvo de 2R e saída por tempo após 20 barras, preserve ambos na versão sem CMF. Caso contrário, mudanças na seleção se misturam às mudanças na saída, dificultando interpretar a comparação.

Uma leitura positiva não recupera uma estrutura de preços já invalidada. Cancele a operação candidata quando a condição de invalidação original ocorrer. Se a confirmação chegar após o prazo limite, registre uma oportunidade expirada em vez de estender o prazo retroativamente. Testes de venda a descoberto exigem suas próprias premissas de execução e empréstimo.

Janelas de persistência sobrepostas são altamente dependentes. Quatro observações positivas em cinco barras não representam quatro votos independentes de fontes diferentes. Evite converter uma contagem de observações correlacionadas em uma probabilidade ou pontuação de confiança sem suporte.

Associe a divergência a pivôs de preço confirmados

Uma divergência de alta proposta utiliza duas mínimas de preço confirmadas: a segunda mínima é mais baixa, enquanto o CMF amostrado no mesmo instante é mais alto. Não selecione independentemente uma mínima atrativa em CMF sem antes definir a tolerância correspondente. O candidato só aparece quando o pivô de preço posterior é confirmado e ainda requer um gatilho de preço subsequente.

CMF é uma razão calculada em janela móvel. A saída de uma observação com grande volume pode mudar o sinal do indicador, mesmo que a barra atual seja comum. Registre as contribuições ao numerador que entram e saem para explicar um cruzamento. Esse efeito mecânico não prova necessariamente a chegada de um novo fluxo de dinheiro.

Ao testar uma alternativa de divergência, utilize o mesmo detector de pivô, atraso de confirmação e política de pareamento que o controle baseado apenas em preço. Caso contrário, um benefício aparente pode advir de uma diferença no momento do evento, e não do indicador em si. Mantenha os candidatos que falharem antes da confirmação para que os vencedores visíveis não se tornem a amostra completa.

Utilize controles que isolem o valor da ponderação por volume.

Compare CMF com uma média não ponderada dos multiplicadores de localização de fechamento em candidatos de preço idênticos. Isso questiona diretamente se a ponderação por volume adiciona informações úteis além da localização dos fechamentos. Somente então adicione RVOL como outro experimento; duas quantidades derivadas do volume não devem ser consideradas automaticamente confirmações independentes.

Apresente os resultados separadamente para dias com gaps de preço, incidência de barras planas e janelas dominadas por algumas observações de grande volume. Congele o comprimento da janela e os limiares antes do teste cronológico final. Inclua o spread, o slippage e a execução realista do próximo evento e, em seguida, mostre a expectativa líquida, a frequência e o drawdown.

Um cálculo bem-sucedido não garante o sucesso de uma estratégia. A verificação deve primeiro confirmar se os cálculos e os registros de data e hora de disponibilidade estão corretos, para depois avaliar a utilidade preditiva em observações não vistas. Regiões verdes no indicador de uma ação vencedora não fornecem uma amostra representativa nem demonstram uma vantagem que justifique o investimento.

Erros comuns

CMF positivo depois de um grande gap de baixa

Fechar perto da máxima da própria barra pode coexistir com uma grande perda em relação ao fechamento anterior.

Ignorando a observação que saía pela janela.

Uma mudança de sinal pode resultar do vencimento de uma contribuição antiga, e não de uma atividade atual incomum.

Tratar a acumulação como uma identidade observada

A fórmula não permite estabelecer se as instituições compraram ou se houve entrada líquida de dinheiro no ativo.

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.

0/7 itens

Perguntas frequentes

CMF é o mesmo que OBV?

Não. O CMF usa a localização de fechamento dentro do intervalo atual; o OBV usa a direção entre fechamentos consecutivos.

O sinal CMF acima de zero confirma uma ruptura?

Isso fornece um recurso testável. Se ele melhora os resultados líquidos depende da definição do evento, do mercado e dos custos de execução.

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.

  1. Chaikin Money FlowFidelity. Definição, fórmula, configuração comum de 21 períodos e interpretação convencional. Verificado em: .
  2. Chaikin Money Flow — Studies ReferenceSierra Chart. Implementação na plataforma do cálculo CMF. Verificado em: .
  3. Chaikin Money FlowChaikin Analytics. Documentação do fornecedor explicando sua escala ±100 e interpretação de preço-volume. 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