Эта стратегия является количественной торговой системой, основанной на поведении индекса волатильности (VIX) относительно его 10-дневной скользящей средней. Стратегия использует отклонение между VIX и его скользящей средней в качестве торговых сигналов, сочетая технический анализ и статистические концепции арбитража.
Стратегия использует двунаправленный механизм торговли с длинным и коротким измерениями:
Долгие условия требуют, чтобы низкий уровень VIX
Эта стратегия представляет собой стратегию среднего реверсии, основанную на волатильности рынка, использующую количественные методы для улавливания экстремальных изменений настроения на рынке. Стратегия имеет четкие правила торговли и механизмы контроля рисков, но требует внимания к тому, как меняющаяся рыночная среда влияет на эффективность стратегии. Благодаря постоянной оптимизации и улучшению эта стратегия имеет потенциал для поддержания стабильной производительности в различных рыночных условиях.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-09 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © EdgeTools //@version=5 strategy("Connors VIX Reversal III invented by Dave Landry", overlay=true) // Inputs vixSymbol = input("swap", "VIX Symbol") lengthMA = input(10, title="Length of Moving Average") percentThreshold = input(10, title="Percentage Threshold") buyColor = input(color.rgb(0, 255, 0,90), title="Buy Signal Color") sellColor = input(color.rgb(255, 0, 0,90), title="Sell Signal Color") exitColor = input(color.rgb(0, 0, 255,90), title="Exit Signal Color") // Fetch VIX data vixClose = request.security(vixSymbol, "D", close) vixHigh = request.security(vixSymbol, "D", high) vixLow = request.security(vixSymbol, "D", low) // Calculate 10-day Moving Average of VIX vixMA = ta.sma(vixClose, lengthMA) // Calculate yesterday's 10-day Moving Average vixMA_yesterday = ta.sma(vixClose[1], lengthMA) // Buy Rules buyCondition1 = vixLow > vixMA buyCondition2 = vixClose > vixMA * (1 + percentThreshold / 100) buySignal = buyCondition1 and buyCondition2 // Sell Rules sellCondition1 = vixHigh < vixMA sellCondition2 = vixClose < vixMA * (1 - percentThreshold / 100) sellSignal = sellCondition1 and sellCondition2 // Exit Rules buyExit = vixLow < vixMA_yesterday sellExit = vixHigh > vixMA_yesterday // Plot Buy/Sell Signals bgcolor(buySignal ? buyColor : na) bgcolor(sellSignal ? sellColor : na) // Exit Signals bgcolor(buyExit ? exitColor : na) bgcolor(sellExit ? exitColor : na) // Strategy if (buySignal) strategy.entry("Buy", strategy.long) if (sellSignal) strategy.entry("Sell", strategy.short) if (buyExit) strategy.close("Buy") if (sellExit) strategy.close("Sell")