Strategi Perdagangan Inersia Peralihan Faktor Dual Kuantitatif

Penulis:ChaoZhang, Tanggal: 2024-01-12 14:38:02
Tag:

img

Gambaran umum

Strategi Trading Inertia Reversal Dua Faktor Kuantitatif adalah strategi perdagangan kuantitatif yang menggabungkan sinyal pembalikan harga dan sinyal inersia pasar. Strategi ini pertama menggunakan indikator Stochastic untuk menghasilkan sinyal pembalikan harga, kemudian menggabungkan sinyal inersia pasar dari Relative Volatility Index (RVI), dan akhirnya membuat keputusan perdagangan yang didorong oleh faktor ganda.

Prinsip-prinsip

Strategi ini terdiri dari dua bagian utama:

  1. Bagian pembalikan harga mengadopsi ide yang diusulkan oleh Ulf Jensen dalam bukunya, khususnya: ketika harga penutupan terus meningkat selama 2 hari dan Stochastic Slow 9 hari berada di bawah 50, pergi panjang; ketika harga penutupan terus turun selama 2 hari dan Stochastic Fast 9 hari berada di atas 50, pergi pendek.

  2. Bagian inersia pasar menggunakan Indeks Volatilitas Relatif (RVI). Nilai indikator ini berfluktuasi antara 0 dan 100. Di atas 50 menunjukkan tren jangka panjang pasar naik; di bawah 50 menunjukkan tren jangka panjang pasar menurun.

Singkatnya, strategi ini mengintegrasikan sinyal pembalikan harga dan sinyal inersia pasar untuk akhirnya menentukan arah pasar saat ini.

Analisis Keuntungan

Keuntungan terbesar dari strategi ini adalah bahwa ia menggabungkan dua ide perdagangan utama pembalikan dan mengikuti tren. Sinyal pembalikan dapat menangkap koreksi jangka pendek dan memberikan peluang perdagangan. Sinyal inersia memastikan posisi pembukaan hanya ketika tren jangka panjang sejajar untuk secara efektif menyaring kebisingan.

Selain itu, mekanisme yang didorong oleh dua faktor dapat meningkatkan kualitas sinyal.

Analisis Risiko

Risiko utama yang dihadapi oleh strategi ini meliputi:

  1. Risiko bahwa sinyal pembalikan tidak diidentifikasi secara akurat.

  2. Risiko bahwa sinyal inersia menghasilkan sinyal yang salah.

  3. Risiko kehilangan peluang perdagangan karena keselarasan waktu sinyal dua faktor yang buruk.

Selain itu, strategi pembalikan menghadapi peningkatan risiko kerugian di pasar tren.

Arahan Optimasi

Strategi dapat dioptimalkan dalam aspek berikut:

  1. Mengoptimalkan parameter indikator Stochastic untuk meningkatkan kualitas dan ketepatan waktu untuk mengidentifikasi sinyal pembalikan.

  2. Mengoptimalkan parameter perataan indikator RVI untuk meningkatkan akurasi penilaian inersia.

  3. Uji periode penyimpanan yang berbeda untuk menentukan siklus penyimpanan yang optimal.

  4. Mengintegrasikan mekanisme stop loss. Backtest titik stop loss yang berbeda untuk menemukan posisi stop loss yang optimal.

  5. Pertimbangkan untuk memasukkan sinyal faktor lain seperti aberasi volume perdagangan untuk membentuk strategi yang didorong oleh banyak faktor.

Ringkasan

Strategi Trading Inertia Reversal Dual Factor Quantitative secara komprehensif mempertimbangkan faktor pembalikan dan tren, menggunakan indikator Stochastic dan indikator RVI untuk menghasilkan sinyal perdagangan. Strategi ini memiliki keuntungan seperti didorong oleh faktor ganda, menangkap peluang pembalikan, dan penyaringan sinyal. Ini dapat ditingkatkan lebih lanjut melalui optimasi parameter multi-faceted. Pengendalian risiko melalui penegakan stop loss yang ketat juga penting. Strategi ini memberikan ide-ide yang baik untuk perdagangan kuantitatif.


/*backtest
start: 2023-12-12 00:00:00
end: 2024-01-11 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 27/11/2020
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// The inertia indicator measures the market, stock or currency pair momentum and 
// trend by measuring the security smoothed RVI (Relative Volatility Index). 
// The RVI is a technical indicator that estimates the general direction of the 
// volatility of an asset.
// The inertia indicator returns a value that is comprised between 0 and 100. 
// Positive inertia occurs when the indicator value is higher than 50. As long as 
// the inertia value is above 50, the long-term trend of the security is up. The inertia 
// is negative when its value is lower than 50, in this case the long-term trend is 
// down and should stay down if the inertia stays below 50.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

Inertia(Period, Smooth) =>
    pos = 0.0
    nU = 0.0
    nD = 0.0
    xPrice = close
    StdDev = stdev(xPrice, Period)
    d = iff(close > close[1], 0, StdDev)
    u = iff(close > close[1], StdDev, 0)
    nU := (13 * nz(nU[1],0) + u) / 14
    nD := (13 * nz(nD[1],0) + d) / 14
    nRVI = 100 * nU / (nU + nD)
    nRes = ema(nRVI, Smooth)
    pos :=iff(nRes > 50, 1,
    	   iff(nRes < 50, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Inertia Strategy", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Period = input(10, minval=1)
Smooth = input(14, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posInertia = Inertia(Period, Smooth)
pos = iff(posReversal123 == 1 and posInertia == 1 , 1,
	   iff(posReversal123 == -1 and posInertia == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

Lebih banyak