
Эта стратегия является количественной торговой системой, основанной на волатильном индексе (VIX) относительно его 10-дневного движущегося среднего значения. Эта стратегия использует степень отклонения между VIX и его движущейся средней в качестве торгового сигнала, в сочетании с техническим анализом и идеей статистического арбитража.
Стратегия использует механизм двусторонней торговли, который включает в себя два измерения: прибыль и убыток: Для выполнения множественных условий требуется, чтобы минимальная цена VIX была выше, чем ее 10-дневная скользящая средняя, и чтобы цена закрытия была как минимум на 10% выше, чем ее скользящая средняя. Когда эти два условия выполняются одновременно, система генерирует множественный сигнал при закрытии. Условия для отмены требуют, чтобы максимальная цена VIX была ниже ее 10-дневной скользящей средней, а цена закрытия была как минимум на 10% ниже скользящей средней. Когда эти два условия одновременно выполняются, система генерирует сигнал отмены при закрытии. Правило равного положения также основывается на связи VIX с движущейся средней: для многоочередных позиций, когда VIX торгуется в течение дня ниже 10-дневной движущейся средней за предыдущий день; для пустых позиций, когда VIX торгуется в течение дня выше 10-дневной движущейся средней за предыдущий день.
Стратегия является средневзвешенной регрессивной стратегией, основанной на рыночной волатильности, которая использует количественный метод для захвата крайних изменений в рыночных настроениях. Стратегия имеет четкие правила торговли и механизм контроля риска, но необходимо обратить внимание на влияние изменений рыночной среды на эффективность стратегии.
/*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")