Estratégia de acompanhamento do ímpeto

Autora:ChaoZhang, Data: 2023-11-10 12:12:44
Tags:

img

Resumo

Esta estratégia baseia-se em indicadores de impulso combinados com médias móveis para acompanhar as tendências do mercado.

Estratégia lógica

  1. Calcular a dinâmica do preço como: (Preço atual - Preço N períodos atrás) / Preço N períodos atrás

  2. Calcular a média móvel da metade do preço durante N períodos

  3. Normalize o valor do momento para a faixa de 0-1

  4. Quando o momento normalizado é maior que 0,5 e o preço está acima da média móvel, vá longo

  5. Quando o momento normalizado é inferior a 0,5 e o preço está abaixo da média móvel, vá curto

  6. Usar um mecanismo de stop loss móvel com níveis de stop loss adequados

A estratégia é baseada em um sistema de negociação baseado em valores de câmbio, onde o preço se move persistentemente em uma direção, gerando grandes valores de impulso.

Análise das vantagens

Esta estratégia tem as seguintes vantagens:

  1. Segue as tendências do mercado, com grandes ganhos potenciais

  2. O Momentum é sensível às alterações de preços e responde rapidamente às tendências

  3. As médias móveis filtram o ruído aleatório e combinam bem com o momento

  4. O mecanismo de stop loss limita as perdas em operações individuais

  5. Lógica simples e clara, fácil de implementar e backtest

  6. Os parâmetros flexíveis podem adaptar-se a diferentes períodos e regimes de mercado

No geral, esta é uma ótima estratégia para mercados de tendências.

Análise de riscos

Apesar das vantagens, é necessário ter em conta alguns riscos:

  1. Risco de ruptura em tendências de alta quando o preço reverte após a ruptura

  2. Risco de reversão de tendências de baixa quando o preço rebota após uma queda

  3. Whipsaw sinaliza quando o preço oscila em torno da média móvel

  4. Sinais errados se os parâmetros não estiverem corretamente definidos

  5. Desempenho inferior nos mercados turbulentos

  6. Precisa-se de uma parada e de um movimento rigorosos para evitar uma saída prematura

Para enfrentar esses riscos, a estratégia de stop loss precisa de otimização, filtrar sinais desnecessários com parâmetros soltos, ajustar parâmetros para diferentes períodos e controlar o dimensionamento da posição.

Orientações de otimização

Aqui estão algumas maneiras de otimizar ainda mais a estratégia:

  1. Teste diferentes combinações de parâmetros para melhores resultados do backtest

  2. Incorporar as regras do Turtle Trading de saída a 2N perdas e 1N lucros

  3. Otimizar o stop loss com indicadores de volatilidade para o stop loss adaptativo

  4. Adicionar regras de dimensionamento de posições baseadas em drawdown, tempo, etc.

  5. Teste diferentes métodos de cálculo de momento como o momento médio móvel exponencial

  6. Adicionar filtros de padrão de velas para sinais mais robustos

  7. Utilize o aprendizado de máquina para otimização de parâmetros, seleção de recursos, etc.

  8. Incorporar algumas contribuições humanas discricionárias em pontos-chave

Com essas melhorias, a estratégia pode alcançar melhor estabilidade, adaptabilidade e lucratividade.

Conclusão

A estratégia de rastreamento de momento é uma abordagem simples e prática de tendência. Ela pode capturar de forma ágil as tendências do mercado e lucrar com bolhas e crashes. Mas os riscos de ajustamento da curva precisam ser gerenciados com controles de risco disciplinados para manter a robustez. Com ajuste de parâmetros e extensões de funcionalidade, a estratégia pode gerar lucros constantes em mais regimes de mercado.


/*backtest
start: 2023-11-02 00:00:00
end: 2023-11-09 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Momentum Strategy, rev.2", overlay=true)

//
// Data
//
src = input(close)
lookback = input(20)
cscheme=input(1, title="Bar color scheme", options=[1,2])

//
// Functions
//
momentum(ts, p) => (ts - ts[p]) / ts[p]

normalize(src, len) =>
    hi  = highest(src, len)
    lo  = lowest(src, len)
    res = (src - lo)/(hi - lo)

//
// Main
//
price = close
mid = sma(src, lookback)
mom = normalize(momentum(price, lookback),100)

//
// Bar Colors
//
clr1 = cscheme==1?black: red
clr2 = cscheme==1?white: green
barcolor(close < open ? clr1 : clr2)

//
// Strategy
//
if (mom > .5 and price > mid )
    strategy.entry("MomLE", strategy.long, stop=high+syminfo.mintick, comment="MomLE")
else
    strategy.cancel("MomLE")

if (mom < .5 and price < mid )
    strategy.entry("MomSE", strategy.short, stop=low-syminfo.mintick, comment="MomSE")
else
    strategy.cancel("MomSE")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Mais.