Strategi Ekstraksi Tren Penyaringan Bandpass

Penulis:ChaoZhang, Tanggal: 2024-01-03 15:22:49
Tag:

img

Gambaran umum

Strategi Ekstraksi Tren Bandpass Filtering adalah strategi pelacakan tren saham berdasarkan filter bandpass.

Prinsip-prinsip

Strategi ini pertama-tama membangun rata-rata bergerak eksponensial ganda dengan menyesuaikan parameter Panjang dan Delta untuk mengontrol panjang rata-rata bergerak dan kelancaran. Kemudian menggunakan serangkaian transformasi matematis untuk mengekstrak komponen tren dari seri harga dan menyimpannya dalam variabel xBandpassFilter. Akhirnya, menghitung rata-rata bergerak sederhana dari xBandpassFilter, xMean, sebagai indikator untuk entri dan keluar.

Sensitivitas input dan output dapat dikontrol dengan mengatur tingkat Trigger.

Keuntungan

  1. EMA ganda secara efektif menyaring beberapa kebisingan dalam harga untuk strategi yang lebih stabil.
  2. Penyaringan bandpass hanya mengekstrak komponen tren dalam harga, menghindari whipsaws.
  3. Parameter yang lebih sedikit membuat optimasi dan pengendalian risiko lebih mudah.

Risiko

  1. Keterlambatan waktu menyebabkan kesempatan yang hilang dari pembalikan cepat.
  2. EMA ganda dan penyaringan bandpass memiliki efek low pass, mengurangi sensitivitas.
  3. Penyaringan berlebihan dapat menyebabkan hilangnya tren yang kuat jika parameter tidak disetel dengan baik.

Memperpendek panjang dapat memperbaiki masalah lag.

Peningkatan

  1. Tambahkan stop loss untuk mengendalikan kerugian perdagangan tunggal.
  2. Sistem moving average ganda dapat meningkatkan stabilitas.
  3. Gabungkan dengan volume atau sinyal pembalikan lainnya untuk menghindari whipsaws.
  4. Gunakan pembelajaran mesin atau algoritma genetik untuk mengoptimalkan parameter.

Kesimpulan

Strategi ini relatif stabil dengan kinerja yang baik di pasar tren yang kuat. Optimasi lebih lanjut di beberapa lingkungan pasar dapat membuatnya lebih menguntungkan.


/*backtest
start: 2022-12-27 00:00:00
end: 2024-01-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 14/12/2016
// The related article is copyrighted material from Stocks & Commodities Mar 2010
//
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Extracting The Trend Strategy Backtest")
Length = input(20, minval=1)
Delta = input(0.5)
Trigger = input(0)
reverse = input(false, title="Trade reverse")
hline(Trigger, color=blue, linestyle=line)
xPrice = hl2
beta = cos(3.1415 * (360 / Length) / 180)
gamma = 1 / cos(3.1415 * (720 * Delta / Length) / 180)
alpha = gamma - sqrt(gamma * gamma - 1)
xBandpassFilter = 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(xBandpassFilter[1]) - alpha * nz(xBandpassFilter[2])
xMean = sma(xBandpassFilter, 2 * Length)
pos = iff(xMean > Trigger, 1,
	   iff(xMean < Trigger, -1, nz(pos[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)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(xMean, color=red, title="ExTrend")

Lebih banyak