리소스 로딩... 로딩...

고급 변동성 평균 회전 거래 전략: VIX와 이동 평균에 기반한 다차원적 양적 거래 시스템

저자:차오장, 날짜: 2024-12-11 17:54:30
태그:VIXMASMARSI

 Advanced Volatility Mean Reversion Trading Strategy: Multi-Dimensional Quantitative Trading System Based on VIX and Moving Average

전반적인 설명

이 전략은 변동성 지수 (VIX) 의 10 일 이동 평균에 대한 행동에 기반한 양적 거래 시스템이다. 전략은 기술 분석과 통계적 중재 개념을 결합하여 VIX와 이동 평균 사이의 편차를 거래 신호로 사용합니다. 핵심 아이디어는 VIX가 상당한 편차를 보이고 평균 회귀를 기다리고있을 때 거래함으로써 시장 정서에서 극단적인 변화를 포착하는 것입니다.

전략 원칙

이 전략은 길고 짧은 차원을 가진 양방향 거래 메커니즘을 사용합니다. 긴 조건은 VIX의 낮은 10일 이동 평균보다 높아야 하며, 폐쇄 가격은 이동 평균보다 적어도 10% 높아야 합니다. 두 조건이 충족되면 시스템이 시장 종료 시 구매 신호를 생성합니다. 단기 조건은 VIX의 고도가 10일 이동 평균보다 낮아야 하며, 폐쇄 가격은 이동 평균보다 최소 10% 낮아야 합니다. 두 조건이 충족되면 시스템이 시장 종료 시 판매 신호를 생성합니다. 출구 규칙은 또한 VIX의 이동 평균과의 관계에 기반합니다. VIX가 전날의 10일 이동 평균보다 낮게 거래할 때 긴 포지션은 닫히고, VIX가 전날의 10일 이동 평균보다 높게 거래할 때 짧은 포지션은 닫히습니다.

전략적 장점

  1. 명확한 수치 지표: 전략은 주관적인 판단을 피하는 특정 수치 지표와 명확한 거래 규칙을 사용합니다.
  2. 양방향 거래 메커니즘: 시장 변동성의 다른 단계에서 이익을 얻을 수 있으며 수익 기회를 증가시킵니다.
  3. 포괄적 인 위험 관리: 명확한 입국 및 출입 조건은 위험을 제어하는 데 도움이됩니다.
  4. 신뢰할 수 있는 기술 지표: 시장에서 인정받는 변동성 지표인 VIX를 기반으로 시장의 적응력이 좋습니다.

전략 위험

  1. 시장 변동성 위험: VIX 자체는 시장 변동성을 측정하고 전략은 급격한 시장 변동에 직면 할 수 있습니다.
  2. 과도한 적합성 위험: 특정 조건에 기반한 전략은 과도한 적합성 문제로 고통받을 수 있습니다.
  3. 평균 회귀 가정 위험: 트렌드 시장에서 평균 회귀 가정이 실패할 수 있습니다.
  4. 유동성 위험: 극심한 시장 변동성 동안 유동성 부족 및 미끄러짐에 직면 할 수 있습니다.

전략 최적화 방향

  1. 매개 변수 최적화: 이동 평균 기간과 오차 문턱을 최적화합니다.
  2. 추가 필터: 신호 신뢰성을 향상시키기 위해 다른 기술적 지표를 포함합니다.
  3. 동적 임계: 시장 조건에 따라 오차 임계치를 조정합니다.
  4. 리스크 관리 최적화: 스톱 로스 및 돈 관리 메커니즘을 추가합니다.

결론

이 전략은 시장의 변동성에 기반한 평균 회귀 전략이며, 시장 정서에서의 극단적인 변화를 포착하기 위해 양적 방법을 사용합니다. 전략에는 명확한 거래 규칙과 위험 통제 메커니즘이 있지만 변화하는 시장 환경이 전략 성능에 어떤 영향을 미치는지에 대한 관심이 필요합니다. 지속적인 최적화와 개선을 통해이 전략은 다른 시장 조건에서 안정적인 성능을 유지할 수 있습니다.


/*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")


관련

더 많은