Estratégia de rastreamento da volatilidade

Autora:ChaoZhang, Data: 2023-09-20 11:31:12
Tags:

Resumo

Esta estratégia calcula a média móvel do intervalo verdadeiro para refletir a volatilidade do mercado. Determina a direção da tendência com base na relação entre a volatilidade e sua média móvel.

Estratégia lógica

A função ATR é usada para calcular o intervalo real durante um período especificado. A média móvel simples da ATR é então calculada como a linha média móvel de volatilidade. Quando a ATR cruza acima de sua média móvel, a volatilidade do mercado é considerada crescente e uma estratégia curta é adotada. Quando a ATR cruza abaixo de sua média móvel, a volatilidade do mercado é considerada decrescente e uma estratégia longa é adotada.

Quando se encontra numa posição, é definido um percentual fixo de stop loss para ajustar o stop loss dinamicamente com base nas alterações de preço, a fim de proteger os lucros, evitando, ao mesmo tempo, ser interrompido prematuramente.

Análise das vantagens

Esta estratégia julga as tendências do mercado através do indicador de volatilidade, evitando interferências de ruído. Ela fica curta quando a volatilidade aumenta e fica longa quando a volatilidade cai, realizando operações de cobertura.

Análise de riscos

A estratégia baseia-se apenas em um indicador de volatilidade, com algum atraso. O trailing stop loss considera apenas os movimentos adversos dos preços, incapaz de evitar retracements de lucro.

A regulação dos parâmetros do ATR e dos períodos de média móvel poderia ajudar, assim como a incorporação de outros indicadores para julgamentos abrangentes.

Orientações de otimização

  1. Ensaiar diferentes combinações de parâmetros de ATR e médias móveis para encontrar parâmetros ótimos.

  2. Incorporar outros indicadores para julgamento para formar um conjunto de estratégias, melhorando a precisão.

  3. Adotar estratégias dinâmicas de stop loss, ajustando a percentagem de stop loss com base na volatilidade do mercado.

  4. Otimizar os modelos de dimensionamento de posição para diferentes produtos.

  5. Aplicar o aprendizado de máquina para ajudar a identificar pontos de virada de volatilidade.

  6. Combine com médias móveis de prazo mais longo para determinar uma direção de tendência maior.

Resumo

A estratégia julga as tendências do mercado simples e diretamente através da volatilidade, mas um único indicador tem limitações. A introdução de vários indicadores e otimização de parâmetros pode melhorar a robustez.


/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 20/08/2018
// The Volatility function measures the market volatility by plotting a 
// smoothed average of the True Range. It returns an average of the TrueRange 
// over a specific number of bars, giving higher weight to the TrueRange of 
// the most recent bar.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Volatility Backtest", shorttitle="Volatility")
Length = input(10, minval=1)
LengthMA = input(26, minval=1)
reverse = input(false, title="Trade reverse")
xATR = atr(Length)
nRes = ((Length - 1) * nz(nRes[1], 0) + xATR) / Length
xMARes = sma(nRes, LengthMA)
pos = iff(nRes < xMARes, 1,
       iff(nRes > xMARes, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(nRes, color=blue, title="Volatility")
plot(xMARes, color=red, title="MA")

Mais.