Количественная стратегия разворота динамического диапазона RSI и модель оптимизации волатильности

RSI
Дата создания: 2024-11-12 15:55:34 Последнее изменение: 2024-11-12 15:55:34
Копировать: 2 Количество просмотров: 452
1
Подписаться
1617
Подписчики

Количественная стратегия разворота динамического диапазона RSI и модель оптимизации волатильности

Обзор

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

Стратегический принцип

Стратегия использует 14-циклический RSI в качестве основного индикатора, устанавливая 80 и 30 в качестве базовых уровней для перекупа и перепродажи. Добавляется динамическая регулирующая способность на основе традиционной стратегии RSI путем введения параметров сближения/распространения чувствительности (настраивается на 3.0).

Стратегические преимущества

  1. Динамическое регулирование диапазона: динамическое регулирование диапазона перекупа и перепродажи с помощью параметров конверсии/распространения, повышение адаптивности стратегии
  2. Четкий контроль риска: использование фиксированного количества контрактов для упрощения управления капиталом
  3. Ограничение временных интервалов: избегайте торговли в нецелевые периоды времени, устанавливая конкретные периоды отсчета
  4. Ясность сигнала: использование RSI-крестного сигнала в качестве условия для сделок, чтобы уменьшить ложные сигналы
  5. Визуализация: с помощью диаграмм, показывающих тенденции и ключевые уровни RSI, для удобства мониторинга и анализа

Стратегический риск

  1. Риски рыночных потрясений: возможна интенсивность торговли на рынках с горизонтальными колебаниями, увеличение стоимости торговли
  2. Риск продолжения тренда: обратные сигналы могут привести к преждевременному погашению позиций на рынке с сильным трендом
  3. Риск по фиксированным контрактам: не учитывает изменения волатильности рынка и может быть чрезмерно рискован в периоды высокой волатильности
  4. Чувствительность параметров: настройки на циклы RSI и на уровне O/S имеют большое влияние на эффективность стратегии
  5. Временная зависимость: эффективность стратегии может быть ограничена определенным периодом времени

Направление оптимизации стратегии

  1. Внедрение самостоятельной адаптации к волатильности: рекомендуется адаптировать количество контрактов к динамике волатильности рынка
  2. Добавление фильтра тренда: в сочетании с другими техническими показателями, чтобы оценить рыночные тенденции и избежать обратного пути в сильных тенденциях
  3. Оптимизированный сигнал подтверждения: может быть добавлен дополнительный сигнал подтверждения показателей, таких как объем перевода
  4. Динамические временные циклы: автоматическая корректировка циклов подсчета RSI в зависимости от различных рыночных этапов
  5. Стойкость: увеличение динамического стоп-риска для контроля риска в одной сделке

Подвести итог

Это динамическая диапазонная обратная стратегия, основанная на показателях RSI, обеспечивающая относительно полную торговую систему с помощью гибкой настройки параметров и четких правил торговли. Основные преимущества стратегии заключаются в ее способности к динамической регулировке и четкому контролю риска, но при этом необходимо обращать внимание на потенциальные риски в волатильных и трендовых рынках.

Исходный код стратегии
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-11 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("RSI Options Strategy", overlay=true)

// RSI settings
rsiLength = input(14, title="RSI Length")
rsiOverbought = input(80, title="Overbought Level")
rsiOversold = input(30, title="Oversold Level")
rsiSource = input(close, title="RSI Source")
rsi = ta.rsi(rsiSource, rsiLength)

// Convergence/Divergence Input
convergenceLevel = input(3.0, title="Convergence/Divergence Sensitivity")

// Order size (5 contracts)
contracts = 10

// Date Range for Backtesting
startDate = timestamp("2024-09-10 00:00")
endDate = timestamp("2024-11-09 23:59")

// Limit trades to the backtesting period
inDateRange = true

// RSI buy/sell conditions with convergence/divergence sensitivity
buySignalOverbought = ta.crossover(rsi, rsiOverbought - convergenceLevel)
sellSignalOversold = ta.crossunder(rsi, rsiOversold + convergenceLevel)
buySignalOversold = ta.crossunder(rsi, rsiOversold - convergenceLevel)
sellSignalOverbought = ta.crossover(rsi, rsiOverbought + convergenceLevel)

// Execute trades only within the specified date range
if (inDateRange)
    // Buy when RSI crosses above 80 (overbought)
    if (buySignalOverbought)
        strategy.entry("Buy Overbought", strategy.long, qty=contracts)
    
    // Sell when RSI crosses below 30 (oversold)
    if (sellSignalOversold)
        strategy.close("Buy Overbought")

    // Buy when RSI crosses below 30 (oversold)
    if (buySignalOversold)
        strategy.entry("Buy Oversold", strategy.long, qty=contracts)
    
    // Sell when RSI crosses above 80 (overbought)
    if (sellSignalOverbought)
        strategy.close("Buy Oversold")

// Plot the RSI for visualization
plot(rsi, color=color.blue, title="RSI")
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiOversold, "Oversold", color=color.green)