
이 전략은 10일 이동 평균의 행동에 대한 변동률 지수 ((VIX) 에 기반한 정량 거래 시스템이다. 이 전략은 VIX와 이동 평균 사이의 편차 정도를 거래 신호로 사용하고, 기술 분석과 통계적 중개의 개념을 결합한다. 전략의 핵심 아이디어는 시장 정서의 극단적인 변화를 포착하고, 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")