Analisis Backtesting Strategi Arbitraj Momentum


Tarikh penciptaan: 2023-10-25 11:10:59 Akhirnya diubah suai: 2023-10-25 11:10:59
Salin: 0 Bilangan klik: 728
1
fokus pada
1617
Pengikut

Analisis Backtesting Strategi Arbitraj Momentum

1. Nama strategi

Saya menamakan strategi ini sebagai “strategy of leverage arbitrage” kerana ia mempunyai ciri-ciri utama.

Kedua, gambaran strategi

Strategi ini membina isyarat polygon dengan mengira Chande Dynamic Oscillation Indicator dan menetapkan nilai terhad ke atas dan ke bawah untuk mewujudkan peluang penarikan dan keuntungan.

Ketiga, asas strategi

Kod pertama menetapkan parameter Length, TopBand, dan LowBand, Length mewakili kitaran harian pengiraan dinamik, dan TopBand dan LowBand mewakili tetapan atas dan bawah.

Kemudian mengira pergerakan mutlak xMom pada hari-hari terakhir Length, dan kemudian mengira purata bergerak mudah xSMA_mom pada hari-hari terakhir Length.

Length kemudian dikira jumlah pergerakan xMomLength dalam sehari.

Kemudian, kita mengira nilai geseran dinamik nRes, iaitu xMomLength dibahagikan dengan xSMA_mom dikalikan dengan Length, dan dimaksimalkan 100 kali.

Berdasarkan hubungan nRes dengan saiz nilai had atas dan bawah, arah polygonal, disimpan ke pos ≠

Akhirnya, berdasarkan kepada sama ada pos pengubahsuaian perdagangan terbalik diaktifkan atau tidak, menghasilkan isyarat perdagangan possig, menghasilkan banyak entri kosong.

Keunggulan Strategi

  1. Menggunakan indikator momentum untuk mengenal pasti titik-titik perubahan trend yang berpotensi untuk menangkap trend
  2. Membuat isyarat polygon yang jelas dengan penapisan nilai had untuk mengelakkan perdagangan yang salah
  3. Menerapkan pemikiran reverse trading untuk peluang reverse
  4. Parameter boleh disesuaikan dengan ruang dan boleh dioptimumkan untuk pelbagai jenis dan tempoh
  5. Intuisi parameter visual untuk memahami logik perdagangan

Lima, Risiko Strategik

  1. Mempertimbangkan faktor momentum sahaja, mungkin terlepas peluang perdagangan yang dihasilkan oleh petunjuk teknikal lain
  2. Penembusan momentum tidak semestinya bermakna perubahan trend, ada risiko salah faham
  3. Perdagangan reverse boleh menghasilkan keuntungan tetapi boleh meningkatkan kerugian
  4. Optimasi parameter yang tidak betul boleh menyebabkan perdagangan terlalu kerap atau kehilangan titik terbaik
  5. Kemerosotan momentum jangka pendek yang disebabkan oleh kejadian yang tidak dijangka yang memerlukan penapisan yang sesuai

Risiko boleh dikawal dengan cara menggabungkan trend, kadar turun naik dan lain-lain petunjuk teknikal untuk menentukan kebolehpercayaan isyarat momentum, menyesuaikan parameter untuk mengurangkan frekuensi perdagangan, meringankan titik hentian kerugian dengan sewajarnya.

Keenam, Strategi Optimasi

  1. Menambah penapisan kepada petunjuk teknikal lain untuk meningkatkan ketepatan isyarat perdagangan

Anda boleh menentukan sama ada harga penutupan berada di atas sistem garis rata atau jika kadar turun naik berada dalam julat normal sebelum isyarat momentum dicetuskan, untuk mengelakkan salah kaprah.

  1. Parameter pengoptimuman mengikut ciri-ciri varieti

Untuk varieti yang mempunyai kadar turun naik yang tinggi, anda boleh menarik ke dalam julat nilai terhad normal turun naik kadar turun naik yang sesuai, mengurangkan kekerapan perdagangan.

  1. Mengoptimumkan pelbagai kerangka masa mengikut kitaran masa yang berbeza

Dalam hari boleh menggunakan lebih kecil tempoh Panjang, untuk melakukan perdagangan garis ultra pendek; mengikut garis minggu atau garis bulan untuk menyesuaikan parameter, memberi tumpuan kepada trend garis panjang tengah.

  1. Tetapkan syarat yang tidak sesuai

Apabila isyarat bullish dicetuskan, ia perlu ditambah dengan harga yang lebih tinggi daripada keadaan di lembah gelombang sebelumnya, untuk mengelakkan isyarat palsu pembalikan trend.

VII

Strategi ini terutamanya menggunakan indikator dinamik untuk mengenal pasti peluang pembalikan trend jangka pendek, digabungkan dengan penapisan parameter untuk menghasilkan isyarat perdagangan, dan menggabungkan trend tracking dan pembalikan tangkapan, risiko boleh dikawal. Dengan pengoptimuman pelbagai jangka masa dan gabungan indikator teknikal lain, anda boleh meningkatkan kesan perdagangan strategi, yang patut diteliti dan digunakan.

Kod 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")