Strategi perdagangan inersia pembalikan faktor ganda kuantitatif


Tanggal Pembuatan: 2024-01-12 14:38:02 Akhirnya memodifikasi: 2024-01-12 14:38:02
menyalin: 0 Jumlah klik: 634
1
fokus pada
1617
Pengikut

Strategi perdagangan inersia pembalikan faktor ganda kuantitatif

Ringkasan

Quantitative Dual Factor Reversal Inertia Trading Strategy adalah strategi trading kuantitatif yang menggabungkan sinyal reversal harga dan sinyal inertia pasar. Strategi ini pertama-tama menggunakan indikator acak untuk mewujudkan sinyal reversal harga, kemudian menggabungkan sinyal inertia pasar dengan indikator volatilitas relatif, dan akhirnya mencapai keputusan perdagangan yang didorong oleh dua faktor.

Prinsip Strategi

Strategi ini didasarkan pada dua bagian utama:

  1. Reversal harga sebagian menggunakan ide-ide yang dikemukakan oleh Ulf Jensen dalam karyanya, yaitu: ketika harga close-out naik 2 hari berturut-turut, dan pada hari ke-9 indikator Stochastic Slow di bawah 50, lakukan over; ketika harga close-out turun 2 hari berturut-turut, dan pada hari ke-9 indikator Stochastic Fast di atas 50, lakukan over.

  2. Indikator ini berfluktuasi antara 0 dan 100, di atas 50 menunjukkan tren pasar jangka panjang yang naik; di bawah 50 menunjukkan tren pasar jangka panjang yang turun.

Secara keseluruhan, strategi ini mengintegrasikan sinyal reversal harga dan sinyal inersia pasar, yang pada akhirnya menentukan arah pasar saat ini. Ketika kedua sinyal tersebut sesuai, sinyal perdagangan dihasilkan.

Analisis Keunggulan

Keuntungan terbesar dari strategi ini adalah menggabungkan dua pemikiran perdagangan, yaitu reversal dan trend. Sinyal reversal dapat menangkap penyesuaian jangka pendek yang memberikan peluang perdagangan; Sinyal inersia memastikan bahwa posisi hanya dibuka ketika tren jangka panjang konsisten, sehingga dapat menyaring kebisingan secara efektif.

Selain itu, dual-factor drive meningkatkan kualitas sinyal, sementara optimasi parameter indikator Stokastik dan optimasi kelancaran RVI juga memberikan ruang untuk optimasi strategi.

Analisis risiko

Risiko utama dari strategi ini adalah:

  1. Risiko bahwa sinyal balik tidak diidentifikasi secara akurat. Parameter yang perlu diverifikasi adalah apakah parameter tersebut masuk akal.

  2. Risiko sinyal inersia yang salah. Indikator RVI sendiri akan mengalami keterlambatan dan perlu disesuaikan dengan parameter kelancaran.

  3. Pasangan waktu sinyal dua faktor yang tidak tepat, risiko kehilangan peluang perdagangan. Pertandingan harus diuji dengan parameter yang berbeda.

Selain itu, strategi reversal berhadapan dengan risiko peningkatan kerugian di pasar tren.

Arah optimasi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Mengoptimalkan parameter indikator Stochastic, mengidentifikasi kualitas dan ketepatan waktu sinyal reversal.

  2. Mengoptimalkan parameter kelancaran indikator RVI, meningkatkan akurasi penilaian inersia.

  3. Uji waktu yang berbeda untuk menentukan periode yang optimal.

  4. Bergabunglah dengan mekanisme stop loss. Uji ulang berbagai titik stop loss untuk menemukan posisi stop loss yang optimal.

  5. Anda dapat mempertimbangkan untuk menambahkan sinyal faktor lain, seperti pergerakan volume transaksi, untuk membentuk multi-faktor drive.

Meringkaskan

Strategi perdagangan inertial reversal biner kuantitatif mempertimbangkan reversal dan faktor tren secara komprehensif, menggunakan indikator stochastic dan indikator RVI untuk menghasilkan sinyal perdagangan. Strategi ini memiliki keuntungan seperti drive biner, menangkap peluang reversal, dan pemfilteran sinyal, yang dapat ditingkatkan lebih lanjut melalui pengoptimalan parameter multi-pihak. Kontrol risiko juga sangat penting, perlu dilakukan secara ketat.

Kode Sumber Strategi
/*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 )