Стратегия обратного тестирования индекса относительной волатильности

Автор:Чао Чжан, Дата: 2023-09-26 16:15:44
Тэги:

Обзор

Индекс относительной волатильности (RVI) - это технический индикатор, который является модифицированной версией индекса относительной силы (RSI). Он измеряет направление волатильности путем расчета стандартного отклонения цен закрытия за последние 10 дней для определения тенденций и силы рынка.

Логика стратегии

Основная логика этой стратегии заключается в следующем:

  1. Вычислить стандартное отклонение цен закрытия за последние 10 дней, StdDev.

  2. Вычислить часть цен закрытия, которые выше предыдущего дня за последние 10 дней, u.

  3. Вычислить часть цен закрытия, которые ниже, чем в предыдущий день за последние 10 дней, d.

  4. Используйте экспоненциальное сглаживание для расчета 14-дневной экспоненциальной скользящей средней u и d, nU и nD.

  5. Вычислить соотношение nU и nD, затем умножить на 100, чтобы получить индекс волатильности nRes.

  6. Сократить, когда nRes ниже зоны покупки, и сделать длинный, когда nRes выше зоны продажи.

  7. Параметры зоны покупки и продажи и обратная торговля могут быть установлены в коде.

Сравнивая разницу между волатильностью вверх и вниз за последние 10 дней, стратегия оценивает вероятное направление следующего движения рынка. Когда волатильность вверх больше, это бычий сигнал, а когда волатильность вниз больше, это медвежий сигнал.

Анализ преимуществ

Стратегия обратного тестирования RVI имеет следующие преимущества:

  1. Использование стандартного отклонения цены закрытия для измерения волатильности лучше отражает информацию о колебаниях рынка, чем просто цены.

  2. Метод расчета прост и понятен, его легко понять и применить.

  3. Сгенерированные сигналы покупки и продажи ясны, нет необходимости в вторичном суждении.

  4. Параметры зоны покупки и продажи могут быть гибко настроены для корректировки чувствительности стратегии.

  5. Поддержка обратной торговли может использоваться на разных типах рынков.

  6. Визуализированное отображение линии индикатора и торговых зон формирует интуитивные торговые сигналы.

  7. Обратные испытания подтвердили эффективность этой стратегии.

Анализ рисков

Эта стратегия также сопряжена с некоторыми рисками:

  1. Сигналы покупки и продажи могут содержать ложные сигналы, они должны сочетать в себе анализ тренда и анализ поддержки/сопротивления.

  2. Рассматривается только волатильность цены закрытия, не может отражать внутридневную ценовую динамику.

  3. Неправильное настройка параметров может привести к чрезмерной торговле или снижению доходности.

  4. Транзакционные издержки в режиме реального времени будут влиять на конечную прибыль.

  5. Риск потери больше в режиме обратной торговли.

Руководство по оптимизации

Стратегия может быть оптимизирована в следующих аспектах:

  1. Комбинировать с другими техническими индикаторами для фильтрации ложных сигналов, таких как MACD, KD и т. д.

  2. Добавьте динамическую настройку размеров позиций.

  3. Оптимизируйте диапазон зоны покупки и продажи для более точных сигналов.

  4. Добавить механизмы остановки потери для контроля потери на одной сделке.

  5. Сокращение размеров позиций при высокой волатильности.

  6. Испытывать различные параметры показателей, такие как периоды расчета, параметры сглаживания и т.д.

Резюме

Стратегия обратного тестирования RVI оценивает направление рынка путем сравнения волатильности вверх/вниз, реализуя простую и интуитивно понятную тенденцию после стратегии. Преимущества заключаются в четкой логике, простой реализации, хороших результатах обратного тестирования. Она может быть улучшена с помощью надлежащей оптимизации.


/*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")


Больше