Estratégia de negociação quantitativa baseada no índice de dinâmica estocástica

Autora:ChaoZhang, Data: 2024-03-11 10:46:10
Tags:

img

Estratégia geral

Este artigo apresenta uma estratégia quantitativa de negociação baseada no índice de momento estocástico (SMI). A estratégia utiliza os sinais de cruzamento entre o indicador SMI e sua média móvel exponencial (EMA) para identificar oportunidades potenciais de compra e venda.

Princípio da estratégia

O núcleo desta estratégia é o Índice de Momento Estocástico (SMI). O SMI é um oscilador de momento que mede o preço de fechamento em relação à faixa alta-baixa em um período especificado. Especificamente, a estratégia primeiro calcula a maior alta e a menor baixa no período especificado, em seguida, calcula a diferença entre o preço de fechamento e o ponto médio da faixa alta-baixa, bem como a diferença entre a maior alta e a menor baixa. Em seguida, a estratégia calcula o valor do SMI, que é a proporção da diferença relativa média para a diferença absoluta média multiplicada por 100. Finalmente, a estratégia calcula a média móvel exponencial do SMI como a linha de sinal.

Quando a linha de sinal SMI cruza acima de sua EMA, ela indica aumento do ímpeto ascendente e desencadeia um sinal de compra; quando a linha de sinal SMI cruza abaixo de sua EMA, ela indica aumento do ímpeto descendente e desencadeia um sinal de venda.

Vantagens da estratégia

  1. A estratégia baseia-se no poderoso indicador de dinâmica SMI, que pode capturar eficazmente as alterações das tendências e do dinâmica do mercado.

  2. A lógica estratégica é clara e fácil de compreender e implementar.

  3. Usando a média móvel exponencial como linha de sinal, a estratégia pode suavizar o ruído dos preços e melhorar a confiabilidade do sinal.

  4. A marcação dos níveis de sobrecompra e sobrevenda fornece ferramentas adicionais de gestão de risco para a estratégia.

Riscos estratégicos

  1. A estratégia baseia-se num único indicador, o SMI, e pode enfrentar o risco de falha do indicador.

  2. A estratégia pode gerar sinais de negociação frequentes em mercados agitados, levando a altos custos de transação.

  3. A estratégia carece de um mecanismo de stop-loss explícito e pode enfrentar o problema do risco excessivo de transação única, o que pode ser resolvido estabelecendo níveis de stop-loss adequados para controlar o risco.

Orientações para a otimização da estratégia

  1. Optimização de parâmetros: o desempenho da estratégia depende em grande parte dos parâmetros utilizados no cálculo do SMI, tais como % K de comprimento, % D de comprimento, etc. Ao otimizar esses parâmetros, o desempenho da estratégia pode ser melhorado.

  2. Filtragem de sinais: Para reduzir a frequência de negociação e melhorar a qualidade do sinal, podem ser considerados mecanismos de filtragem adicionais, como a confirmação da tendência e a confirmação do volume.

  3. Gestão de riscos: a incorporação de regras explícitas de stop loss e gestão de posições na estratégia pode controlar melhor o risco e aumentar a robustez da estratégia.

  4. Combinação de vários fatores: Combinação de sinais SMI com outros indicadores técnicos ou fatores fundamentais para formar um mecanismo de decisão de negociação mais abrangente e confiável.

Resumo

Este artigo introduz uma estratégia quantitativa de negociação baseada no índice de momento estocástico (SMI). A estratégia utiliza os sinais de cruzamento entre o indicador SMI e sua média móvel exponencial para identificar oportunidades potenciais de compra e venda. As vantagens da estratégia estão em sua base em um poderoso indicador de momento, lógica clara, facilidade de implementação e uso de médias móveis e níveis de sobrecompra / sobrevenda para melhorar a confiabilidade do sinal e gerenciamento de riscos. No entanto, a estratégia também enfrenta riscos como falha de indicador único, negociação de alta frequência e controle de risco insuficiente. Para melhorar ainda mais o desempenho da estratégia, a otimização pode ser feita em termos de otimização de parâmetros, filtragem de sinal, gerenciamento de risco e combinação de vários fatores.


/*backtest
start: 2023-03-05 00:00:00
end: 2024-03-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Stochastics Momentum Index Strategy", shorttitle="SMI_BackTest", overlay=false)

// Input parameters
a = input.int(10, "Percent K Length")
b = input.int(3, "Percent D Length")
ob = input.int(40, "Overbought")
os = input.int(-40, "Oversold")

// Range Calculation
ll = ta.lowest(low, a)
hh = ta.highest(high, a)
diff = hh - ll
rdiff = close - (hh+ll)/2

avgrel = ta.ema(ta.ema(rdiff,b),b)
avgdiff = ta.ema(ta.ema(diff,b),b)

// SMI calculations
SMI = avgdiff != 0 ? (avgrel/(avgdiff/2)*100) : 0
SMIsignal = ta.ema(SMI,b)
emasignal = ta.ema(SMI, 10)

// Color Definition for Stochastic Line
col = SMI >= ob ? color.green : SMI <= os ? color.red : color.white

plot(SMIsignal, title="Stochastic", color=color.white)

plot(emasignal, title="EMA", color=color.yellow)

level_40 = ob
level_40smi = SMIsignal > level_40 ? SMIsignal : level_40

level_m40 = os
level_m40smi = SMIsignal < level_m40 ? SMIsignal : level_m40

plot(level_40, "Level ob", color=color.red)
plot(level_40smi, "Level ob SMI", color=color.red, style=plot.style_line)

plot(level_m40, "Level os", color=color.green)
plot(level_m40smi, "Level os SMI", color=color.green, style=plot.style_line)

//fill(level_40, level_40smi, color=color.red, transp=ob, title="OverSold")
//fill(level_m40, level_m40smi, color=color.green, transp=ob, title="OverBought")

// Strategy Tester
longCondition = ta.crossover(SMIsignal, emasignal)
if (longCondition)
    strategy.entry("Buy", strategy.long)

shortCondition = ta.crossunder(SMIsignal, emasignal)
if (shortCondition)
    strategy.entry("Sell", strategy.short)


Mais.