이 전략은 변동성 지수 (VIX) 의 10 일 이동 평균에 대한 행동에 기반한 양적 거래 시스템이다. 전략은 기술 분석과 통계적 중재 개념을 결합하여 VIX와 이동 평균 사이의 편차를 거래 신호로 사용합니다. 핵심 아이디어는 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")