Estratégia de negociação quantitativa baseada em média móvel exponencial adaptativa


Data de criação: 2023-12-18 10:34:55 última modificação: 2023-12-18 10:34:55
cópia: 0 Cliques: 713
1
focar em
1621
Seguidores

Estratégia de negociação quantitativa baseada em média móvel exponencial adaptativa

Visão geral

Este artigo analisa em profundidade uma estratégia de negociação quantitativa baseada na Adaptive Exponential Moving Average (AEMA). Esta estratégia usa a forma de fluctuância infinita do Stochastic Momentum Index (SMI), combinando o sinal da média móvel do índice como uma linha, definindo um limiar de sobrevenda e sobrevenda personalizável para aumentar a probabilidade de execução da negociação.

Princípio da estratégia

A estratégia usa dois tipos de SMIs de diferentes comprimentos, um comprimento curto e um comprimento longo, e a diferença entre os dois intervalos pode gerar um sinal de negociação. Além disso, a estratégia também usa uma média móvel indexada como linha de sinal. Quando o SMI de curto período é mais do que o SMA de longo período, e quando o SMI de curto período é mais do que o SMA de longo período.

Vantagens estratégicas

A maior vantagem da estratégia reside na sua adaptabilidade. A estratégia usa padrões de overbought/oversold personalizáveis para ajustar dinamicamente o limiar de overbought/oversold. Esse mecanismo permite que os parâmetros da estratégia sejam ajustados e otimizados para diferentes tipos de cenários de mercado, adaptando-se assim a um tipo mais amplo de situações. Além disso, a forma infinita de volatilidade do SMI aumenta a sensibilidade e a atualidade da estratégia.

Risco estratégico

O maior risco da estratégia reside na sua dependência da configuração dos parâmetros. Se os parâmetros forem configurados incorretamente, é fácil gerar uma grande quantidade de sinais de negociação inválidos. Além disso, o SMI, como um indicador de tipo pulsado, não é ideal para o desempenho de mercados aleatórios.

Direção de otimização da estratégia

A estratégia ainda possui algumas direções de otimização: primeiro, pode-se testar diferentes combinações de comprimentos de SMA para encontrar o melhor par de parâmetros; segundo, pode-se considerar a configuração de um stop loss perto do ponto de entrada para controlar a perda individual; terceiro, pode-se combinar com outros indicadores, como RSI, Bollinger Bands, etc., para definir uma linha de superaquecimento dinâmica; quarto, pode-se otimizar automaticamente os parâmetros por meio de algoritmos de aprendizado de máquina; quinto, a estratégia pode ser integrada em modelos multifatores para melhorar a estabilidade.

Resumir

Este artigo analisa em profundidade os princípios, vantagens, riscos e direções de otimização de uma estratégia de negociação infinita SMI adaptativa. A estratégia usa filtragem de sinal adaptativa e média móvel do índice para efetivamente aproveitar oportunidades de curto prazo no mercado. Apesar de existir uma certa dependência de parâmetros, a estratégia ainda tem um valor prático considerável por meio de rigoroso controle de risco e otimização em vários aspectos. Acredito que na prática de negociação quantitativa, ela pode desempenhar um papel importante, fornecendo suporte eficaz para decisões de negociação.

Código-fonte da estratégia
/*backtest
start: 2023-12-10 00:00:00
end: 2023-12-17 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// © DraftVenture

//@version=5
strategy(title="Adaptive SMI Ergodic Strategy", shorttitle="Adaptive SMI Strategy", overlay = false)
longlen = input.int(12, minval=1, title="Long Length")
shortlen = input.int(5, minval=1, title="Short Length")
siglen = input.int(5, minval=1, title="Signal Line Length")
overS = input.float(-0.4, title = "Oversold", step = 0.01)
overB = input.float(0.4, title = "Overbought", step = 0.01)
erg = ta.tsi(close, shortlen, longlen)
sig = ta.ema(erg, siglen)
plot(erg, color = color.yellow, title = "SMI")
plot(sig, color = color.purple, title="Signal")
hline(0, title = "Zero", color = color.gray, linestyle = hline.style_dotted)
h0 = hline(overB, color = color.gray, title = "Overbought Threshold")
h1 = hline(overS, color = color.gray, title = "Oversold Threshold")
fill(h0, h1, color=color.rgb(25, 117, 192, 90), title = "Background")

longEntry = ta.crossover(erg, sig) and erg > overS and sig < overS
shortEntry = ta.crossunder(erg, sig) and erg < overB and sig > overB

if longEntry
    strategy.entry("Long", strategy.long)

if shortEntry
    strategy.entry("Short", strategy.short)

// ______ _________ 
// ___  //_/__  __ \
// __  ,<  __  /_/ /
// _  /| | _  ____/ 
// /_/ |_| /_/