Estratégia dinâmica de negociação de média móvel exponencial dupla

Autora:ChaoZhang, Data: 2024-02-06 09:38:32
Tags:

img

Resumo

Esta estratégia é chamada de Dynamic Dual Exponential Moving Average Trading Strategy. É uma estratégia quantitativa de negociação baseada na média móvel exponencial dupla (DEMA). A estratégia calcula a taxa de mudança de preço das ações e, em seguida, executa uma suavização exponencial dupla em seu valor absoluto e valor não absoluto, a fim de obter o True Strength Index (TSI). A estratégia gera sinais de compra e venda com base na cruz dourada / morta do valor TSI e sua linha de sinal.

Princípio da estratégia

O indicador central desta estratégia é o Índice de Força Verdadeira (ITS).

ETI = 100 * (PC1/PC2)

onde PC1 e PC2 são as médias móveis exponenciais duplas da taxa de variação de preços e o valor absoluto da taxa de variação de preços, respectivamente. A média móvel exponencial dupla é calculada aplicando primeiro uma média móvel exponencial com um comprimento à taxa de variação de preços e, em seguida, aplicando outra média móvel exponencial mais curta à média móvel obtida. Esta suavização dupla pode eliminar melhor a aleatoriedade na taxa de variação de preços e melhorar a estabilidade do indicador TSI.

Após o cálculo do valor da ETI, a estratégia também calcula uma linha de sinal para o valor da ETI. A linha de sinal é definida como uma média móvel exponencial do valor da ETI durante um determinado período. Na negociação real, a estratégia julga as tendências do mercado e gera sinais de negociação observando a relação entre o valor da ETI e sua linha de sinal. Quando o valor da ETI cruza acima da linha de sinal, é um sinal de compra. Quando o valor da ETI cruza abaixo da linha de sinal, é um sinal de venda.

Outra característica desta estratégia é que o tamanho do comércio é ajustado dinamicamente. O código de estratégia define um capital inicial e uma taxa de exposição ao risco como parâmetros de entrada. Estes dois parâmetros se combinam com o preço atual do estoque para calcular dinamicamente o número de contratos negociados ou exposição ao risco. Isso pode controlar melhor o risco geral de toda a estratégia.

Análise das vantagens

A estratégia de negociação dinâmica de média móvel exponencial dupla tem várias vantagens:

  1. Utiliza o indicador da ETI que aplica uma suavização exponencial dupla, tornando-o menos sensível ao ruído do mercado e capaz de gerar sinais mais precisos.

  2. Baseia-se no princípio comprovado de cruzamento de um indicador e sua linha de sinal para gerar sinais de negociação.

  3. A estratégia ajusta dinamicamente o tamanho da posição com base no orçamento de risco.

  4. Funciona em prazos diários e semanais, adequado tanto para negociação swing quanto para negociação posicional.

  5. É fácil de implementar em bots e outros sistemas de negociação devido à lógica de entrada/saída simples.

  6. Não há muitos parâmetros para ajustar, tornando o sistema fácil de otimizar.

Estas vantagens combinadas tornam-na uma estratégia de negociação robusta e versátil para os comerciantes de ações.

Análise de riscos

Embora a estratégia de negociação de média móvel exponencial dupla dinâmica tenha muitas vantagens, também tem alguns riscos inerentes como a maioria das estratégias de ações:

  1. Uma vez que a ETI e a linha de sinalização são baseadas em dados históricos de preços, existe sempre o risco de sinais incorretos, especialmente em condições de mercado voláteis.

  2. Podem ocorrer perturbações se o mercado oscilar em torno da linha zero do indicador da ETI, o que pode resultar em perdas.

  3. Grandes movimentos de gap podem resultar no fechamento da estratégia com prejuízo, uma vez que não foi capaz de sair a tempo.

  4. Se o mercado prosseguir numa tendência forte, a ETI pode inverter prematuramente a tendência, resultando em perdas de lucros.

  5. Devido ao efeito de alavancagem, são possíveis perdas superiores ao limite fixado pelos parâmetros de risco.

Estes riscos podem, no entanto, ser mitigados por aspectos como dimensionamento de posição, stop loss e outras técnicas de gestão de risco.

Orientações de otimização

Algumas ideias para otimizar esta estratégia incluem:

  1. Testar diferentes combinações de parâmetros de suavização dupla para encontrar a combinação que gera os sinais de negociação mais precisos.

  2. Adicionar filtros com base na volatilidade, no volume de negociação ou em outros indicadores para reduzir os sinais de negociação desnecessários.

  3. Incorporar uma lógica de stop loss, por exemplo, parar quando o valor da TSI cruza a linha zero, reduzindo as perdas desnecessárias.

  4. Avaliação do desempenho de diferentes instrumentos de negociação, como índices, commodities, etc., no âmbito desta estratégia.

  5. Filtragem seletiva dos instrumentos de negociação, por exemplo, avaliar as métricas de liquidez e volatilidade dos instrumentos e selecionar os que apresentem parâmetros mais elevados.

  6. Usando métodos de aprendizagem de máquina, como a análise walk-forward, para selecionar combinações ideais de parâmetros.

  7. Empregar vários conjuntos de parâmetros baseados em diferentes regimes de mercado e alternar dinamicamente entre eles.

Ao testar e otimizar os vários aspectos acima referidos, existe o potencial de melhorar ainda mais a estabilidade e a rentabilidade desta estratégia.

Resumo

Em resumo, esta estratégia aproveita as propriedades de suavização exponencial dupla do indicador TSI para projetar uma estratégia de negociação de ações relativamente estável e confiável. Ao ajustar dinamicamente os tamanhos das posições, o nível geral de risco pode ser efetivamente controlado.

Naturalmente, como a maioria das estratégias quantitativas de negociação, esta estratégia também tem algumas limitações, refletidas principalmente em ser propensa aos efeitos de flutuações drásticas do mercado.


/*backtest
start: 2024-01-06 00:00:00
end: 2024-02-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © shankardey7310

//@version=5
strategy("TSI STOCKS", shorttitle="TSI", overlay=true)

initialCapital = input(10000, title="Initial Capital")
riskPercent = input(1, title="Risk Percentage") / 100

longLength = input(12, title="Long Length")
shortLength = input(9, title="Short Length")
signalLength = input(12, title="Signal Length")

price = close
pc = ta.change(price)

double_smooth(src, long, short) =>
    first_smooth = ta.ema(src, long)
    ta.ema(first_smooth, short)

double_smoothed_pc = double_smooth(pc, longLength, shortLength)
double_smoothed_abs_pc = double_smooth(math.abs(pc), longLength, shortLength)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)
tsi_signal = ta.ema(tsi_value, signalLength)

riskAmount = (initialCapital * riskPercent) / close

if (tsi_value > tsi_signal and tsi_value[1] <= tsi_signal[1])
    strategy.entry("Long", strategy.long)

if (tsi_value < tsi_signal and tsi_value[1] >= tsi_signal[1])
    strategy.close("Long")

plot(tsi_value, title="True Strength Index", color=#2962FF)
plot(tsi_signal, title="Signal", color=#E91E63)
hline(0, title="Zero", color=#787B86)

Mais.