Strategi ini adalah sistem perdagangan kuantitatif berdasarkan tingkah laku Indeks Volatiliti (VIX) berbanding dengan purata bergerak 10 hari. Strategi ini menggunakan penyimpangan antara VIX dan purata bergerak sebagai isyarat perdagangan, menggabungkan analisis teknikal dan konsep arbitraj statistik.
Strategi ini menggunakan mekanisme perdagangan dua arah dengan kedua-dua dimensi panjang dan pendek:
Apabila kedua-dua syarat dipenuhi, sistem menghasilkan isyarat beli pada penutupan pasaran.
Syarat pendek memerlukan VIX
Strategi ini adalah strategi pembalikan purata berdasarkan turun naik pasaran, menggunakan kaedah kuantitatif untuk menangkap perubahan ekstrem dalam sentimen pasaran. Strategi ini mempunyai peraturan dagangan yang jelas dan mekanisme kawalan risiko tetapi memerlukan perhatian terhadap bagaimana persekitaran pasaran yang berubah mempengaruhi prestasi strategi. Melalui pengoptimuman dan peningkatan yang berterusan, strategi ini mempunyai potensi untuk mengekalkan prestasi yang stabil dalam keadaan pasaran yang berbeza.
/*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")