O Relative Volatility Index (RVI) é um indicador técnico que é uma versão modificada do Relative Strength Index (RSI).
A lógica central desta estratégia é a seguinte:
Calcular o desvio padrão dos preços de fechamento nos últimos 10 dias, StdDev.
Calcular a parte dos preços de fechamento que são superiores ao do dia anterior nos últimos 10 dias, u.
Calcular a parte dos preços de fechamento que são inferiores ao do dia anterior nos últimos 10 dias, d.
Utilize a suavização exponencial para calcular a média móvel exponencial de 14 dias de u e d, nU e nD.
Calcule a relação de nU e nD, em seguida, multiplique por 100 para obter o índice de volatilidade nRes.
Vá curto quando o nRes é inferior à zona de compra, e vá longo quando o nRes é superior à zona de venda.
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.
A estratégia de backtesting RVI tem as seguintes vantagens:
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.
O método de cálculo é simples e claro, fácil de compreender e de aplicar.
Os sinais de compra e venda gerados são claros, sem necessidade de julgamento secundário.
Os parâmetros das zonas de compra e venda podem ser ajustados de forma flexível para ajustar a sensibilidade da estratégia.
O apoio à negociação reversa pode ser utilizado em diferentes tipos de mercados.
A visualização da linha do indicador e das zonas de negociação forma sinais de negociação intuitivos.
Os testes posteriores verificaram a eficácia desta estratégia.
Esta estratégia tem também alguns riscos:
Os sinais de compra e venda podem ter sinais falsos, devem combinar tendência e análise de suporte/resistência.
O valor da posição em risco deve ser calculado em função da variação da posição em risco.
A configuração inadequada dos parâmetros pode conduzir a um excesso de negociação ou a rendimentos mais baixos.
Os custos de transacção na negociação em tempo real afetarão o rendimento final.
O risco de perda é maior no modo de negociação reversa.
A estratégia pode ser otimizada nos seguintes aspectos:
Combinar com outros indicadores técnicos para filtrar sinais falsos, como MACD, KD, etc.
Adicionar ajuste dinâmico do dimensionamento da posição.
Otimizar os intervalos de zonas de compra e venda para sinais mais precisos.
Adicionar mecanismos de stop loss para controlar a perda de uma única transação.
Reduzir o dimensionamento das posições em condições de alta volatilidade.
Teste diferentes definições de parâmetros do indicador, como períodos de cálculo, parâmetros de suavização, etc.
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")