Estratégia de negociação da lacuna de impulso

Autora:ChaoZhang, Data: 2023-12-28 14:38:33
Tags:

img

Resumo

A Estratégia de Negociação de Gap de Momento é uma estratégia de negociação quantitativa que rastreia as flutuações de preços. Utiliza a diferença entre o preço de abertura e o preço de fechamento do dia anterior (chamado de gap) para construir um indicador de momento e gerar sinais de negociação com ele. A estratégia é adequada para ações de alta volatilidade e pode capturar as continuações de preços após as aberturas de gap.

Esta estratégia é baseada em um artigo intitulado Gap Momentum Indicator publicado por Perry J. Kaufman, ex-analista quantitativo da Boeing, na edição de janeiro de 2024 da revista Technical Analysis.

Estratégia lógica

A chave para a estratégia Momentum Gap reside na construção da série de tempo de momentum da lacuna. A lógica de construção é semelhante ao termo quantitativo On-Balance Volume (OBV) , exceto que a entrada de preço é alterada do dia próximo ao gap diário.

O processo específico de cálculo é o seguinte:

  1. Calcular a relação entre a soma das lacunas positivas nos últimos N dias e a soma das lacunas negativas (valores absolutos) no mesmo período.

  2. Adicione a relação resultante à série de tempo acumulada chamada Gap Momentum.

  3. Aplicar uma média móvel à sequência Gap Momentum para gerar sinais.

A diferença entre o preço de abertura e o preço de fechamento do dia anterior é definida como uma diferença entre o preço de abertura e o preço de fechamento do dia anterior e, vice-versa, uma diferença negativa.

A média móvel suaviza a seqüência volátil original e pode ser usada para emitir sinais de negociação. Esta estratégia emprega uma média móvel mais lenta, estabelecendo posições longas quando o indicador Gap Momentum rápido cruza acima dela e achatando posições quando cruza abaixo dela.

Análise da força

Em comparação com os indicadores técnicos tradicionais, a estratégia de negociação de diferença de momento tem os seguintes pontos fortes:

  1. Capta os desequilíbrios do mercado com diferenças de preços

    O seguimento das lacunas compara a força do mercado e capta eficazmente esses desequilíbrios.

  2. Perseverança

    O rastreamento do momentum do gap capta as oscilações de preços. O design do indicador aumenta essa persistência.

  3. Simples de implementar

    Todo o indicador contém apenas dois parâmetros, uma janela para rastrear o momento e um período para sinais de suavização.

  4. Regras quantificáveis adequadas à automação

    Adotando regras de negociação quantificáveis com alta padronização, pode ser diretamente conectado a sistemas de negociação automática para negociação algorítmica.

Análise de riscos

Apesar de muitos pontos fortes, a Momentum Gap Trading Strategy também traz alguns riscos:

  1. Propensos a sinais falsos

    As lacunas podem preencher-se logo após a abertura, fazendo com que o indicador gere sinais incorretos.

  2. Ineficaz em mercados agitados

    As mudanças frequentes dos preços podem levar a sinais de compensação excessivos.

  3. Potencial de sobreajuste

    Muito fácil de se adaptar com apenas dois parâmetros.

É aconselhável gerir os riscos:

  1. Adopção de paradas para limitar perdas

  2. Aumentar os parâmetros para adaptar mais estados de mercado

  3. Combinar otimização para evitar sobreajuste

Oportunidades de melhoria

Esta estratégia pode ser alargada e reforçada nas seguintes dimensões:

  1. Combinação de vários prazos

    A adoção de indicadores de Gap Momentum que rastreiam diferentes janelas de momento pode alcançar efeitos complementares em diferentes prazos.

  2. Incorporação de métricas de lacunas

    Por exemplo, combinar o tamanho real da lacuna com o ATR como gestão de riscos.

  3. Considerando mais características da lacuna

    Tal como a distância entre os intervalos, a frequência, os dias de abertura, etc.

  4. Modelos de aprendizagem de máquina

    O treinamento de modelos de ML mais complexos em dados de lacunas pode alcançar um melhor desempenho.

Conclusão

A estratégia de negociação de diferença de momento é uma estratégia de ruptura simples, mas prática. Ao rastrear as diferenças de preço, uma importante mudança na microestrutura do mercado, ela revela as mudanças drásticas de oferta e demanda escondidas por trás. Em comparação com outros indicadores técnicos, ela reflete os desequilíbrios do mercado com mais clareza e rapidamente capta os pontos de virada da tendência de preços. Dito isso, os controles de risco ainda são necessários para abordar possíveis problemas. Esta estratégia exemplifica como a identificação de oportunidades baseadas na estrutura do mercado pode levar a técnicas eficazes que podem ser ainda mais otimizadas e inovadas na prática.


/*backtest
start: 2022-12-21 00:00:00
end: 2023-12-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//  TASC Issue: January 2024 - Vol. 42, Issue 1
//     Article: Gap Momentum Indicator
//              Taking A Page From The On-Balance Volume
//  Article By: Perry J. Kaufman
//    Language: TradingView's Pine Script™ v5
// Provided By: PineCoders, for tradingview.com


//@version=5
string title  = 'TASC 2024.01 Gap Momentum System'
string stitle = 'GMS'
strategy(title, stitle, false)


int period       = input.int( 40,   'Period:')
int signalPeriod = input.int( 20,   'Signal Period:')
bool longOnly    = input.bool(true, 'Long Only:')


float gap   = open - close[1]
float gapUp = 0.0
float gapDn = 0.0
switch
    gap > 0 => gapUp += gap
    gap < 0 => gapDn -= gap


float gapsUp   = math.sum(gapUp, period)
float gapsDn   = math.sum(gapDn, period)
float gapRatio = gapsDn == 0?1.0:100.0*gapsUp/gapsDn
float signal   = ta.sma(gapRatio, signalPeriod)


if strategy.opentrades <= 0 and signal > signal[1]
    // buy at next open:
    strategy.entry('long', strategy.long)
else if strategy.opentrades > 0 and signal < signal[1]
    if longOnly
        // close all at next open:
        strategy.close_all()
    else
        // sell at next open:
        strategy.entry('short', strategy.short)


plot(gapRatio, 'Gap Momentum', color.red,    2)
plot(signal,   'Signal',       color.silver, 1)


Mais.