Analisis Backtesting Strategi Arbitrase Momentum


Tanggal Pembuatan: 2023-10-25 11:10:59 Akhirnya memodifikasi: 2023-10-25 11:10:59
menyalin: 0 Jumlah klik: 728
1
fokus pada
1617
Pengikut

Analisis Backtesting Strategi Arbitrase Momentum

Nama Strategi

Menurut karakteristik utama dari strategi ini, saya akan menamakannya sebagai Strategi Arbitrage Momentum.

Kedua, gambaran strategi

Strategi ini menghasilkan keuntungan dengan menghitung indikator gesekan momentum Chande dan menetapkan batas atas dan bawah untuk membangun sinyal kosong, membentuk peluang arbitrage.

Ketiga, prinsip strategi.

Kode pertama kali mengatur parameter Length, TopBand, LowBand, Length mewakili periode harian dari perhitungan momentum, dan TopBand dan LowBand mewakili setelan ambang batas atas dan bawah.

Kemudian menghitung pergerakan absolut xMom dari hari-hari terakhir Length, dan kemudian menghitung rata-rata bergerak sederhana xSMA_mom dari hari-hari terakhir Length.

Kemudian menghitung jumlah gerakan dalam sehari xMomLength.

Selanjutnya, perhitungkan indikator resonansi kinetik nRes, yang sama dengan xMomLength dibagi xSMA_mom dikali dengan Length, dan dimaksimalkan 100x.

Berdasarkan nRes dan hubungan ukuran dari upper and lower thresholds, diukurlah arah polygon dan dimasukkan ke dalam pos.

Akhirnya berdasarkan pada apakah diaktifkan reverse trade correction pos, menghasilkan sinyal trading possig, menghasilkan multi empty entries.

Keunggulan Strategis

  1. Menggunakan indikator momentum untuk mengidentifikasi titik balik potensial dan menangkap tren
  2. Kombinasi dengan penyaringan ambang batas untuk membentuk sinyal polygon yang jelas dan menghindari perdagangan yang salah
  3. Menggunakan Strategi Reverse Trading Untuk Mendapatkan Peluang Reverse
  4. Parameter dapat disesuaikan dengan ruang yang luas, dapat dioptimalkan untuk berbagai varietas, siklus
  5. Parameter visualisasi intuitif untuk memahami logika perdagangan

Kelima, risiko strategis.

  1. Hanya mempertimbangkan faktor momentum, mungkin kehilangan peluang perdagangan yang dibentuk oleh indikator teknis lainnya
  2. Penembusan momentum tidak selalu berarti perubahan tren, ada risiko kesalahan penilaian
  3. Perdagangan reverse memiliki ruang untuk keuntungan, tetapi juga dapat meningkatkan kerugian.
  4. Optimisasi parameter yang tidak tepat dapat menyebabkan perdagangan yang terlalu sering atau kehilangan titik terbaik
  5. Kondisi-kondisi yang memerlukan penyaringan yang tepat dari distorsi momentum jangka pendek yang diakibatkan oleh kejadian-kejadian mendadak

Risiko dapat dikontrol dengan cara menggabungkan indikator teknis lainnya seperti tren dan volatilitas untuk menentukan keandalan sinyal momentum, menyesuaikan parameter untuk mengurangi frekuensi perdagangan, dan relaksasi yang tepat untuk titik stop loss.

Keenam, optimalisasi strategi

  1. Menambahkan filter indikator teknis lainnya untuk meningkatkan akurasi sinyal perdagangan

Anda dapat menentukan apakah harga close out berada di atas sistem garis rata atau apakah fluktuasi berada dalam kisaran normal sebelum sinyal momentum dipicu, untuk menghindari kesalahan.

  1. Parameter optimasi berdasarkan karakteristik varietas

Untuk varietas dengan fluktuasi yang lebih tinggi, dapat ditarik dengan tepat untuk memperluas batas normal fluktuasi dinamika, mengurangi frekuensi perdagangan.

  1. Optimalkan beberapa kerangka waktu berdasarkan siklus waktu yang berbeda

Dalam sehari dapat menggunakan periode yang lebih kecil Length, untuk melakukan perdagangan garis super pendek; Sesuai dengan garis minggu atau garis bulan untuk menyesuaikan parameter, berfokus pada tren garis panjang tengah.

  1. Mengatur dasar dari kondisi

Pada saat sinyal bullish dipicu, perlu ditambahkan kondisi harga yang lebih tinggi dari lembah sebelumnya, untuk menghindari sinyal palsu yang membalikkan tren.

VII. Kesimpulan

Strategi ini terutama menggunakan indikator dinamis untuk mengidentifikasi peluang pembalikan tren jangka pendek, digabungkan dengan filter parameter untuk menghasilkan sinyal perdagangan, dan menggabungkan pelacakan tren dan pembalikan menangkap, risiko dapat dikontrol. Dengan mengoptimalkan beberapa timeframe dan menggabungkan indikator teknis lainnya, dapat meningkatkan efektivitas strategi perdagangan, layak untuk penelitian dan aplikasi lebih lanjut.

Kode Sumber Strategi
/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 07/02/2017
//    This indicator plots Chande Momentum Oscillator. This indicator was 
//    developed by Tushar Chande. A scientist, an inventor, and a respected 
//    trading system developer, Mr. Chande developed the CMO to capture what 
//    he calls "pure momentum". For more definitive information on the CMO and 
//    other indicators we recommend the book The New Technical Trader by Tushar 
//    Chande and Stanley Kroll.
//    The CMO is closely related to, yet unique from, other momentum oriented 
//    indicators such as Relative Strength Index, Stochastic, Rate-of-Change, 
//    etc. It is most closely related to Welles Wilder`s RSI, yet it differs 
//    in several ways:
//        - It uses data for both up days and down days in the numerator, thereby 
//          directly measuring momentum;
//        - The calculations are applied on unsmoothed data. Therefore, short-term 
//          extreme movements in price are not hidden. Once calculated, smoothing 
//          can be applied to the CMO, if desired;
//        - The scale is bounded between +100 and -100, thereby allowing you to 
//          clearly see changes in net momentum using the 0 level. The bounded scale 
//          also allows you to conveniently compare values across different securities.
////////////////////////////////////////////////////////////
strategy(title="CMO (Chande Momentum Oscillator)", shorttitle="CMO")
Length = input(9, minval=1)
TopBand = input(70, minval=1)
LowBand = input(-70, maxval=-1)
reverse = input(false, title="Trade reverse")
// hline(0, color=gray, linestyle=dashed)
// hline(TopBand, color=red, linestyle=line)
// hline(LowBand, color=green, linestyle=line)
xMom = abs(close - close[1])
xSMA_mom = sma(xMom, Length)
xMomLength = close - close[Length]
nRes = 100 * (xMomLength / (xSMA_mom * Length))
pos = iff(nRes > TopBand, 1,
	   iff(nRes <= LowBand, -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(nRes, color=blue, title="CMO")