Estratégia de backtesting do índice de volatilidade relativa

Autora:ChaoZhang, Data: 2023-09-26 16:15:44
Tags:

Resumo

O Relative Volatility Index (RVI) é um indicador técnico que é uma versão modificada do Relative Strength Index (RSI).

Estratégia lógica

A lógica central desta estratégia é a seguinte:

  1. Calcular o desvio padrão dos preços de fechamento nos últimos 10 dias, StdDev.

  2. Calcular a parte dos preços de fechamento que são superiores ao do dia anterior nos últimos 10 dias, u.

  3. Calcular a parte dos preços de fechamento que são inferiores ao do dia anterior nos últimos 10 dias, d.

  4. Utilize a suavização exponencial para calcular a média móvel exponencial de 14 dias de u e d, nU e nD.

  5. Calcule a relação de nU e nD, em seguida, multiplique por 100 para obter o índice de volatilidade nRes.

  6. Vá curto quando o nRes é inferior à zona de compra, e vá longo quando o nRes é superior à zona de venda.

  7. Os parâmetros da zona de compra e venda e a negociação reversa podem ser definidos no código.

Ao comparar a diferença entre a volatilidade ascendente e descendente nos últimos 10 dias, a estratégia julga a direção provável do próximo movimento do mercado.

Análise das vantagens

A estratégia de backtesting RVI tem as seguintes vantagens:

  1. A utilização do desvio-padrão dos preços de fechamento para medir a volatilidade reflete melhor as informações sobre as flutuações do mercado do que apenas os preços.

  2. O método de cálculo é simples e claro, fácil de compreender e de aplicar.

  3. Os sinais de compra e venda gerados são claros, sem necessidade de julgamento secundário.

  4. Os parâmetros das zonas de compra e venda podem ser ajustados de forma flexível para ajustar a sensibilidade da estratégia.

  5. O apoio à negociação reversa pode ser utilizado em diferentes tipos de mercados.

  6. A visualização da linha do indicador e das zonas de negociação forma sinais de negociação intuitivos.

  7. Os testes posteriores verificaram a eficácia desta estratégia.

Análise de riscos

Esta estratégia tem também alguns riscos:

  1. Os sinais de compra e venda podem ter sinais falsos, devem combinar tendência e análise de suporte/resistência.

  2. O valor da posição em risco deve ser calculado em função da variação da posição em risco.

  3. A configuração inadequada dos parâmetros pode conduzir a um excesso de negociação ou a rendimentos mais baixos.

  4. Os custos de transacção na negociação em tempo real afetarão o rendimento final.

  5. O risco de perda é maior no modo de negociação reversa.

Orientações de otimização

A estratégia pode ser otimizada nos seguintes aspectos:

  1. Combinar com outros indicadores técnicos para filtrar sinais falsos, como MACD, KD, etc.

  2. Adicionar ajuste dinâmico do dimensionamento da posição.

  3. Otimizar os intervalos de zonas de compra e venda para sinais mais precisos.

  4. Adicionar mecanismos de stop loss para controlar a perda de uma única transação.

  5. Reduzir o dimensionamento das posições em condições de alta volatilidade.

  6. Teste diferentes definições de parâmetros do indicador, como períodos de cálculo, parâmetros de suavização, etc.

Resumo

A estratégia de backtesting RVI julga a direção do mercado comparando a volatilidade ascendente/descendente, implementando uma tendência simples e intuitiva após a estratégia. As vantagens são lógica clara, implementação fácil, bons resultados de backtesting. Pode ser melhorada através de otimizações adequadas. Ainda precisa de controle de risco na negociação ao vivo e combinar outros indicadores para verificar sinais.


/*backtest
start: 2023-08-26 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 23/10/2017
// The RVI is a modified form of the relative strength index (RSI). 
// The original RSI calculation separates one-day net changes into 
// positive closes and negative closes, then smoothes the data and 
// normalizes the ratio on a scale of zero to 100 as the basis for the 
// formula. The RVI uses the same basic formula but substitutes the 
// 10-day standard deviation of the closing prices for either the up 
// close or the down close. The goal is to create an indicator that 
// measures the general direction of volatility. The volatility is 
// being measured by the 10-days standard deviation of the closing prices. 
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Relative Volatility Index", shorttitle="RVI")
Period = input(10, minval=1)
BuyZone = input(30, minval=1)
SellZone = input(70, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=purple, linestyle=hline.style_dashed)
hline(BuyZone, color=red, linestyle=hline.style_solid)
hline(SellZone, color=green, linestyle=hline.style_solid)
xPrice = close
StdDev = stdev(xPrice, Period)
d = iff(close > close[1], 0, StdDev)
u = iff(close > close[1], StdDev, 0)
nU = (13 * nz(nU[1],0) + u) / 14
nD = (13 * nz(nD[1],0) + d) / 14
nRes = 100 * nU / (nU + nD)
pos = iff(nRes < BuyZone, -1,
	   iff(nRes > SellZone, 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=red, title="RVI")


Mais.