Strategi kombinasi momentum dan pembalikan multi-faktor


Tanggal Pembuatan: 2023-10-23 15:11:20 Akhirnya memodifikasi: 2023-10-23 15:11:20
menyalin: 0 Jumlah klik: 700
1
fokus pada
1617
Pengikut

Strategi kombinasi momentum dan pembalikan multi-faktor

Ringkasan

Strategi ini menggunakan kombinasi indikator momentum CMO dan indikator stochastic reversal untuk mewujudkan model multi-faktor untuk mengeksplorasi peluang perdagangan dalam berbagai kondisi pasar.

Analisis Prinsip

Strategi ini terdiri dari dua substrategi:

  1. 123 Strategi Pembalasan

    • Menggunakan Indeks Stochastic 9 Hari untuk Mencari Overbought dan Overbought
    • Jika harga close-out naik 2 hari berturut-turut dan Stochastic di bawah 50, lakukan lebih banyak
    • Jika harga close-out turun 2 hari berturut-turut dan Stochastic di atas 50, melakukan shorting
  2. Strategi nilai mutlak CMO

    • Menghitung nilai mutlak dari CMO
    • Jika nilai mutlak CMO lebih tinggi dari 70, maka CMO dianggap berada dalam kondisi overbought dan melakukan shorting.
    • CMO menganggap diri mereka oversold saat nilai mutlaknya di bawah 20.

Akhirnya, jika kedua sinyal strategi anak sesuai, maka sinyal perdagangan akan dikeluarkan.

Strategi ini memanfaatkan CMO dan Stochastic. CMO lebih baik dalam mengidentifikasi tren dan Stochastic lebih baik dalam menemukan peluang untuk reversal jangka pendek. Keduanya digunakan bersama untuk menemukan peluang perdagangan pada tahap yang berbeda.

Analisis Keunggulan

Strategi ini memiliki keuntungan sebagai berikut:

  1. Model multi-faktor, yang menggabungkan momentum dan reversibilitas, dapat beradaptasi dengan lingkungan pasar yang berbeda

  2. CMO memiliki kemampuan untuk mengidentifikasi tren, Stochastic menilai titik balik dengan akurat

  3. Perdagangan hanya jika dua sinyal cocok, menghindari sinyal salah, meningkatkan probabilitas keuntungan

  4. Optimasi parameter yang luas, dapat disesuaikan untuk varietas dan siklus yang berbeda

  5. Menggunakan indikator jangka panjang dan jangka pendek untuk menemukan lebih banyak peluang perdagangan

  6. Peraturan yang sederhana, jelas, mudah dipahami, dan cocok untuk perdagangan algoritmik

Analisis risiko

Strategi ini juga memiliki risiko sebagai berikut:

  1. Probabilitas bahwa substrategi akan mengirimkan sinyal yang salah, parameter yang perlu dioptimalkan

  2. Kejadian tak terduga menyebabkan pergeseran tren, yang menghasilkan kerugian lebih besar

  3. Frekuensi transaksi mungkin terlalu tinggi, dan biaya transaksi adalah faktor yang perlu dipertimbangkan

  4. Strategi anak adalah indikator keterlambatan, ada masalah keterlambatan waktu

  5. Perlu menyesuaikan parameter untuk varietas yang berbeda, persyaratan optimasi parameter yang lebih tinggi

Tanggapan:

  1. Optimasi parameter substrategi untuk mengurangi kemungkinan sinyal yang salah

  2. Pengaturan Stop Loss, Kontrol Kerugian Tunggal

  3. Adapun kondisi pembukaan posisi, mengurangi frekuensi transaksi.

  4. Menggunakan data tick real-time untuk mengurangi lag

  5. Parameter yang dioptimalkan secara otomatis menggunakan metode pembelajaran mesin

Arah optimasi

Strategi ini dapat dioptimalkan dengan:

  1. Masukkan lebih banyak faktor seperti volatilitas, kuantitas, dan lain-lain untuk membentuk model multi-faktor yang sistematis

  2. Membangun mekanisme optimasi parameter dinamis, menyesuaikan parameter sesuai dengan kondisi pasar

  3. Mengoptimalkan logika pembukaan posisi, memperkenalkan probabilitas, dan metode penyejukan indeks

  4. Menjaga posisi jangka panjang dalam jangka pendek untuk mencapai tujuan ganda

  5. Menggunakan Deep Learning untuk Menggali Lebih Banyak Fitur dan Menciptakan Aturan Transaksi Non-Linear

  6. Menjelajahi model tanpa parameter, menghindari bias yang disebabkan oleh parameter seleksi buatan

  7. Menggabungkan data frekuensi tinggi, berita, dan mengurangi keterlambatan sinyal

Meringkaskan

Strategi ini menggunakan indikator momentum CMO dan indikator stochastic reversal, untuk mewujudkan model multi-faktor, untuk mengeksplorasi lebih banyak peluang perdagangan di pasar traversal. Dibandingkan dengan indikator tunggal, kombinasi multi-faktor dapat beradaptasi dengan lingkungan pasar yang lebih kompleks.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 17/09/2019
// 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 indicator plots the absolute value of CMO. CMO 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.
//
// 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

CMOabs(Length, TopBand, LowBand) =>
    pos = 0
    xMom = abs(close - close[1])
    xSMA_mom = sma(xMom, Length)
    xMomLength = close - close[Length]
    nRes = abs(100 * (xMomLength / (xSMA_mom * Length)))
    pos := iff(nRes > TopBand, -1,
    	     iff(nRes < LowBand, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & CMOabs", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthCMO = input(9, minval=1)
TopBand = input(70, minval=1)
LowBand = input(20, maxval=0)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posCMOabs = CMOabs(LengthCMO, TopBand, LowBand)
pos = iff(posReversal123 == 1 and posCMOabs == 1 , 1,
	   iff(posReversal123 == -1 and posCMOabs == -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 )