Strategi Pembalikan Pemantauan Momentum Dua Faktor

Penulis:ChaoZhang, Tarikh: 2024-01-18 11:33:40
Tag:

img

Ringkasan

Strategi ini menggabungkan faktor pembalikan harga dan faktor momentum saham untuk membina model faktor dua untuk menangkap peluang yang timbul daripada pembalikan jangka pendek dan kelestarian jangka panjang di pasaran. Ia mula-mula menggunakan corak carta 123 untuk menentukan isyarat pembalikan harga jangka pendek, kemudian menggabungkan penunjuk Laguerre RSI untuk menilai trend jangka menengah hingga panjang, dan akhirnya mencapai integrasi isyarat faktor dua yang berkesan.

Prinsip Strategi

Strategi ini terdiri daripada dua bahagian:

  1. 123 Faktor corak pembalikan

    Bahagian ini mengesan isyarat pembalikan harga jangka pendek dengan memeriksa perubahan harga penutupan dalam dua hari yang lalu. Khususnya, jika harga penutupan semalam lebih rendah daripada dua hari sebelumnya dan harga penutupan hari ini lebih tinggi daripada semalam, ia boleh ditentukan sebagai isyarat pembalikan harga menaik.

  2. Faktor RSI Laguerre yang Disaring

    Indikator RSI yang lebih responsif menggunakan penapis Laguerre. Sensitiviti penunjuk RSI tradisional terhadap perubahan harga agak rendah. Sebaliknya, penapis Laguerre boleh membina penunjuk menggunakan data sejarah yang kurang, dengan itu meningkatkan kepekaan terhadap turun naik harga.

Pada akhirnya, strategi menggabungkan isyarat dari kedua-dua faktor, memastikan pembalikan jangka pendek berlaku selaras dengan trend pasaran keseluruhan, untuk memanfaatkan peluang retracement.

Kelebihan Strategi

Kelebihan terbesar strategi ini terletak pada gabungan faktor pembalikan dan trend yang berjaya. Faktor pembalikan menangkap peluang mundur jangka pendek selepas penyatuan harga, sementara faktor trend memastikan bias panjang / pendek keseluruhan tidak berubah. Berbanding dengan pembalikan atau model momentum yang berdiri sendiri, model faktor dua ini dapat meningkatkan ketepatan isyarat panjang / pendek sambil menurunkan isyarat palsu.

Di samping itu, pengenalan Laguerre RSI meningkatkan kepekaan model terhadap perubahan harga, yang amat penting untuk perdagangan frekuensi tinggi.

Analisis Risiko

Risiko utama yang dihadapi oleh strategi ini adalah kemungkinan isyarat yang bertentangan dari kedua-dua faktor. Khususnya semasa pembetulan pasaran yang tidak menentu, harga jangka pendek mungkin berbalik dengan kerap sementara trend jangka sederhana hingga panjang juga mula bergeser. Dalam kes seperti itu, kedua-dua jenis isyarat boleh dengan mudah tidak sesuai atau mengalami kelewatan. Ini membawa kepada isyarat strategi yang salah dan peluang kemasukan yang hilang atau kerugian yang tidak perlu.

Di samping itu, konfigurasi parameter yang buruk juga boleh menyebabkan prestasi strategi yang buruk. Parameter untuk penunjuk teknikal yang tergolong dalam faktor pembalikan dan trend perlu dioptimumkan dan diuji secara berasingan. Gabungan parameter yang tidak betul dapat mengurangkan keberkesanan strategi dengan ketara.

Arahan pengoptimuman

Fokus utama pengoptimuman masa depan untuk strategi ini melibatkan penapisan isyarat dan pemilihan parameter. Lebih banyak keadaan penapisan boleh diperkenalkan untuk berkuat kuasa apabila isyarat dua faktor bertentangan, memastikan perdagangan hanya diletakkan dalam senario kepastian yang tinggi. Ini dapat mengurangkan isyarat palsu secara drastik.

Untuk pemilihan parameter, pembelajaran mesin dan kaedah eksperimen saintifik boleh dicuba untuk menguji secara sistematik pelbagai kombinasi parameter dan mencapai konfigurasi yang optimum.

Ringkasan

Strategi ini telah berjaya menggabungkan faktor pembalikan dan trend melalui model faktor dua untuk memanfaatkan penurunan jangka pendek dan kelangsungan jangka menengah hingga panjang. Pengenalan Laguerre RSI yang ditapis juga meningkatkan kepekaan model terhadap perubahan harga. Fasa seterusnya akan memberi tumpuan kepada penapisan isyarat dan pengoptimuman parameter untuk meningkatkan lagi strategi.


/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 21/01/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 is RSI indicator which is more sesitive to price changes. 
// It is based upon a modern math tool - Laguerre transform filter.
// With help of Laguerre filter one becomes able to create superior 
// indicators using very short data lengths as well. The use of shorter 
// data lengths means you can make the indicators more responsive to 
// changes in the price.
//
// 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

LB_RSI(gamma,BuyBand,SellBand) =>
    pos = 0.0
    xL0 = 0.0
    xL1 = 0.0
    xL2 = 0.0
    xL3 = 0.0
    xL0 := (1-gamma) * close + gamma * nz(xL0[1], 1)
    xL1 := - gamma * xL0 + nz(xL0[1], 1) + gamma * nz(xL1[1], 1)
    xL2 := - gamma * xL1 + nz(xL1[1], 1) + gamma * nz(xL2[1], 1)
    xL3 := - gamma * xL2 + nz(xL2[1], 1) + gamma * nz(xL3[1], 1)
    CU = (xL0 >= xL1 ? xL0 - xL1 : 0) + (xL1 >= xL2 ? xL1 - xL2 : 0)  + (xL2 >= xL3 ? xL2 - xL3 : 0)
    CD = (xL0 >= xL1 ? 0 : xL1 - xL0) + (xL1 >= xL2 ? 0 : xL2 - xL1)  + (xL2 >= xL3 ? 0 : xL3 - xL2)
    nRes = iff(CU + CD != 0, CU / (CU + CD), 0)
    pos := iff(nRes > BuyBand, 1,
    	     iff(nRes < SellBand, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Laguerre-based RSI", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
gamma = input(0.5, minval=-0.1, maxval = 0.9)
BuyBand = input(0.8, step = 0.01)
SellBand = input(0.2, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posLB_RSI = LB_RSI(gamma,BuyBand,SellBand)
pos = iff(posReversal123 == 1 and posLB_RSI == 1 , 1,
	   iff(posReversal123 == -1 and posLB_RSI == -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 lanjut