Strategi Momentum


Tarikh penciptaan: 2023-09-26 15:16:56 Akhirnya diubah suai: 2023-09-26 15:16:56
Salin: 1 Bilangan klik: 777
1
fokus pada
1617
Pengikut

Gambaran keseluruhan

Strategi momentum adalah strategi untuk berdagang berdasarkan trend perubahan harga. Strategi ini menghasilkan isyarat perdagangan dengan mengira perubahan harga dalam jangka masa tertentu, menilai trend pergerakan harga, dan kemudian menghasilkan isyarat perdagangan. Apabila harga muncul dalam trend kenaikan, menghasilkan isyarat beli; apabila harga muncul dalam trend penurunan, menghasilkan isyarat jual.

Prinsip Strategi

Strategi ini menilai pergerakan harga dengan mengira perubahan harga penutupan dalam satu tempoh tertentu. Secara khusus, ia adalah mengira perubahan harga penutupan berbanding dengan harga penutupan sebelum tempoh N.

Mulakan dengan mengira MOM0 yang pertama, dengan formula:

MOM0 = CLOSE - CLOSE[N]

Di antaranya, CLOSE menunjukkan harga penutupan kitaran semasa, CLOSE[N] menunjukkan harga penutupan sebelum N kitaran. Oleh itu, MOM0>0 menunjukkan kenaikan harga penutupan sebelum N kitaran berbanding kitaran semasa, dan MOM0 menunjukkan penurunan harga penutupan sebelum N kitaran berbanding kitaran semasa.

MOM1 dinamika kedua kemudian dikira dengan formula:

MOM1 = MOM0 - MOM0[1]

Iaitu mengira nilai MOM0 untuk kitaran ini dengan mengurangkan nilai kitaran sebelumnya. MOM1>0 menunjukkan kenaikan MOM0, dan MOM1 menunjukkan penurunan MOM0.

Pada masa yang sama, MOM2 yang ketiga dikira dengan formula:

MOM2 = CLOSE - CLOSE[1]

Iaitu mengira harga penutupan kitaran semasa tolak harga penutupan kitaran sebelumnya. MOM2>0 menunjukkan kenaikan harga penutupan, dan MOM2 menunjukkan penurunan harga penutupan.

Apabila MOM0>0 dan MOM1>0, menunjukkan momentum terus meningkat, menghasilkan isyarat beli; apabila MOM0 dan MOM2, menunjukkan momentum terus menurun, menghasilkan isyarat jual.

Kod ini juga menambah syarat masa time_second, yang hanya akan menghasilkan isyarat perdagangan dalam tempoh masa pengembalian yang ditetapkan. Selain itu, sebelum meletakkan pesanan, periksa sekali lagi sama ada syarat masih berlaku, untuk mengelakkan isyarat yang hilang.

Analisis kelebihan

  • Strategi momentum menangkap trend perubahan harga, tidak dipengaruhi oleh harga itu sendiri, mengelakkan risiko mengejar tinggi dan rendah
  • Menggunakan penunjuk dua kali ganda, penapis penembusan palsu, mengelakkan isyarat yang salah
  • Peningkatan masa dan pemeriksaan syarat untuk mengurangkan transaksi yang tidak sah
  • Strategi yang mudah difahami dan mudah dilaksanakan
  • Parameter yang boleh disesuaikan secara fleksibel untuk persekitaran pasaran yang berbeza

Analisis risiko

  • Penunjuk momentum terlewat, mungkin terlepas titik perubahan
  • Dua penunjuk silang meningkatkan kesan penyaringan, tetapi mungkin kehilangan sebahagian peluang
  • Tidak dapat menilai kekuatan dan kelajuan kenaikan atau penurunan harga
  • Parameter perlu dipilih dengan berhati-hati, terlalu sensitif boleh meningkatkan frekuensi transaksi dan kos slippage
  • Kesan bergantung pada parameter yang dioptimumkan, parameter yang berbeza memerlukan penyesuaian

Risiko boleh dikurangkan dengan memendekkan kitaran pergerakan, memperkenalkan penghakiman trend, atau mengkonfigurasi stop loss. Anda juga boleh mempertimbangkan untuk memasukkan indikator jumlah dagangan untuk penyaringan.

Arah pengoptimuman

  • Cuba dengan cara yang berbeza untuk mengira momentum, seperti ROC, RSI dan sebagainya.
  • Meningkatkan penilaian trend untuk mengelakkan kejutan pasaran berbalik
  • Mengatur strategi hentikan kerugian, mengawal kerugian tunggal
  • Menyokong jumlah transaksi dengan penunjuk jumlah transaksi
  • Menambah algoritma pembelajaran mesin untuk mengoptimumkan parameter dinamik
  • Strategi bingkai masa berbilang, membezakan antara trend jangka pendek dan jangka panjang
  • Pertimbangkan Arbitrage Antara Pasaran, Menggunakan Perbezaan Harga Pasaran

ringkaskan

Strategi momentum dapat menentukan arah titik panas pasaran dengan cara mengesan trend perubahan harga dan bukan harga itu sendiri, dan menangkap peluang kenaikan dan penurunan harga. Tetapi momentum mempunyai keterbelakangan, pilihan parameter dan pengoptimuman kombinasi sangat penting untuk kesan strategi.

Kod sumber strategi
/*backtest
start: 2022-09-25 00:00:00
end: 2023-02-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Momentum Strategy", overlay = false, precision = 2, initial_capital = 10000, default_qty_value = 10000, default_qty_type = strategy.cash, commission_type = strategy.commission.percent, commission_value = 0, calc_on_every_tick = true)

// Calculate start/end date and time condition
startDate  = input(timestamp("2021-01-02T00:00:00"), title = "Start Date", type = input.time)
finishDate = input(timestamp("2021-12-31T00:00:00"), title = "End Date",type = input.time)
 
time_cond  = true

i_len           =       input(defval = 12,      title = "Length",       minval = 1)
i_src           =       input(defval = close,   title = "Source")
i_percent       =       input(defval = true,    title = "Percent?")
i_mom           =       input(defval = "MOM2",  title = "MOM Choice",   options = ["MOM1", "MOM2"])

momentum(seria, length, percent) =>
	_mom        =       percent ? ( (seria / seria[length]) - 1) * 100 : seria - seria[length]
	_mom

mom0        =       momentum(i_src, i_len, i_percent)
mom1        =       momentum(mom0, 1, i_percent)
mom2        =       momentum(i_src, 1, i_percent)

momX        =       mom1

if i_mom == "MOM2"
    momX    :=     mom2

if (mom0 > 0 and momX > 0 and time_cond)
    strategy.entry("MomLE", strategy.long, stop = high + syminfo.mintick, comment = "MomLE")
else
	strategy.cancel("MomLE")
if (mom0 < 0 and momX < 0 and time_cond)
	strategy.entry("MomSE", strategy.short, stop = low - syminfo.mintick, comment = "MomSE")
else
	strategy.cancel("MomSE")

plot(mom0, color = #00bcd4, title = "MOM")
plot(mom1, color = #00FF00, title = "MOM1", display = display.none)
plot(mom2, color = #00FF00, title = "MOM2")