Strategi Kuantitatif Pembalikan Peluang Berganda


Tarikh penciptaan: 2023-11-14 13:42:47 Akhirnya diubah suai: 2023-11-14 13:42:47
Salin: 0 Bilangan klik: 676
1
fokus pada
1617
Pengikut

Strategi Kuantitatif Pembalikan Peluang Berganda

Gambaran keseluruhan

Strategi penarikan balik peluang ganda adalah strategi gabungan yang menggunakan strategi 123 reversal dan Stochastic RSI. Strategi ini pertama kali menilai sama ada harga mengalami 123 reversal, kemudian digabungkan dengan indikator Stochastic RSI untuk mengesahkan semula isyarat reversal, dan hanya apabila kedua-dua isyarat itu dikeluarkan pada masa yang sama, ia akan membuka kedudukan untuk melakukan lebih banyak atau kosong.

Prinsip Strategi

Strategi ini terdiri daripada dua bahagian:

  1. 123 berbalik

Bahagian ini menggunakan 123 bentuk untuk menilai harga berbalik. Logiknya ialah:

  • Jika harga penutupan lebih rendah daripada harga penutupan semalam, dan harga penutupan semasa lebih tinggi daripada harga penutupan semalam, dan Stochastic Perlahan pada 9 adalah lebih rendah daripada 50, anda boleh melakukan lebih banyak.

  • Jika harga penutupan lebih tinggi daripada harga penutupan semalam, dan harga penutupan semasa lebih rendah daripada harga penutupan semalam, dan pada hari ke-9 Fast Stochastic lebih tinggi daripada 50, maka melakukan shorting

Ini akan membantu untuk mengesan tanda-tanda awal perubahan harga.

  1. Stochastic RSI

Bahagian ini menganalisis semula RSI menggunakan indikator Stochastic untuk menilai pengesahan pembalikan:

  • Untuk mengira nilai RSI, panjangnya adalah 14.

  • Analisis stokastik untuk RSI, panjang 14, nilai K

  • Hitung nilai SMA D 3 hari dengan nilai K

  • Jika nilai K melebihi 80 anda akan melihat lebih banyak, jika nilai K kurang daripada 20 anda akan melihat kosong.

Hanya apabila kedua-dua bahagian strategi memberi isyarat pada masa yang sama, ia akan dibuka.

Analisis kelebihan

Kelebihan utama strategi ini adalah penggunaan pendekatan pengesahan berganda, yang dapat menyaring isyarat palsu dengan berkesan, meningkatkan kestabilan. Kelebihan spesifiknya adalah sebagai berikut:

  1. 123 Reversal boleh menentukan harga reversal lebih awal

  2. Stochastic RSI memberikan pengesahan pembalikan, mengelakkan kehilangan titik pembalikan

  3. Gabungan kedua-duanya boleh meningkatkan peluang untuk menang dan mengurangkan kebarangkalian untuk mendapatkan laporan palsu.

  4. Pengoptimuman dengan kombinasi parameter yang dapat menyesuaikan parameter untuk pasaran yang berbeza

  5. Program yang mudah diimplementasikan dan mudah digunakan

Analisis risiko

Strategi ini juga mempunyai risiko yang perlu diperhatikan:

  1. Risiko kegagalan pembalikan. Pasaran mungkin mengalami pembalikan palsu yang menyebabkan kerugian.

  2. Risiko pengoptimuman parameter. Kombinasi parameter yang tidak sesuai boleh menyebabkan kesan strategi yang tidak baik.

  3. Risiko terlalu optimum. Parameter terlalu optimum untuk data sejarah, dan kesan masa depan tidak dapat disalin.

  4. Risiko frekuensi dagangan yang terlalu tinggi. Isyarat berganda boleh meningkatkan frekuensi dagangan, menyebabkan peningkatan kos slip.

  5. Risiko pelaksanaan kod. Kesilapan dalam kod boleh menyebabkan kecacatan pada kesan cakera keras.

Penyelesaian:

  1. Menyesuaikan saiz kedudukan dengan betul, mengawal kerugian tunggal.

  2. Pengoptimuman parameter menggunakan kaedah walk-forward

  3. “Saya tidak tahu apa-apa tentang apa yang berlaku di Malaysia, tetapi saya tidak tahu apa yang berlaku di Malaysia”, katanya.

  4. Menyesuaikan syarat-syarat pembukaan kedudukan dengan sewajarnya, mengurangkan kekerapan dagangan.

  5. Uji kod dengan teliti untuk memastikan logiknya betul.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dengan:

  1. Parameter pengoptimuman: anda boleh menyesuaikan parameter seperti Stochastic untuk mengoptimumkan untuk pasaran tertentu.

  2. Mengoptimumkan keadaan pembukaan kedudukan. Anda boleh menambah faktor pertimbangan lain untuk mengelakkan pulangan.

  3. Mekanisme penghentian kerugian yang dioptimumkan. Penghentian bergerak, penghentian masa dan sebagainya boleh ditetapkan.

  4. Mengurangkan frekuensi transaksi. Anda boleh menambah syarat penapisan transaksi dan mengurangkan frekuensi transaksi.

  5. Menambah pengurusan kedudukan. Mengubah saiz kedudukan mengikut keadaan pasaran.

  6. Pertimbangkan faktor yuran. Sesuaikan parameter strategi dengan yuran sebenar.

ringkaskan

Strategi kuantiti pembalikan peluang ganda secara keseluruhan adalah strategi pembalikan garis pendek yang stabil dan praktikal. Ia mempunyai sensitiviti menangkap pembalikan dan kestabilan penapisan berganda. Dengan pengoptimuman parameter dan pengubahsuaian yang sesuai, strategi ini boleh menjadi komponen yang berkesan dalam sistem strategi kuantiti.

Kod sumber strategi
/*backtest
start: 2023-10-14 00:00:00
end: 2023-11-13 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 03/08/2021
// 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
// This strategy used to calculate the Stochastic RSI
//
// 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


SRSI(lengthRSI,lengthStoch,smoothK,smoothD, TopBand,LowBand) =>
    pos = 0.0
    Source = close
    rsi1 = rsi(Source, lengthRSI)
    k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
    d = sma(k, smoothD)
    d_cross_80 = cross(d,TopBand) 
    pos := iff(k > TopBand, 1,
              iff(k < LowBand, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Stochastic RSI", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Stochastic RSI ----")
TopBand = input(80, step=0.01)
LowBand = input(20, step=0.01)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posSRSI = SRSI(lengthRSI,lengthStoch,smoothK,smoothD, TopBand,LowBand)
pos = iff(posReversal123 == 1 and posSRSI == 1 , 1,
	   iff(posReversal123 == -1 and posSRSI == -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 )