Strategi Dagangan Kuantitatif Berdasarkan Pendaftaran Penembusan Purata Bergerak Dinamis

Penulis:ChaoZhang, Tarikh: 2024-02-18 09:53:48
Tag:

img

Ringkasan

Nama strategi ini ialah The Quantitative Trading Strategy Based on Dynamic Moving Average Breakthrough Entry and Fixed Profit-taking/Stop-loss Exit. Idea utama strategi ini adalah untuk membuka kedudukan panjang apabila harga penutupan berada di bawah Hull Dynamic Moving Average 115 tempoh setiap hari Isnin, dan tanpa syarat menutup kedudukan setiap hari Rabu selepas itu, dengan nisbah sasaran keuntungan dan stop-loss tetap ditetapkan secara serentak.

Prinsip-prinsip

Strategi ini terutamanya direka berdasarkan isyarat penunjuk Hull Moving Average dan peraturan perdagangan berkala.

Pertama, semasa sesi dagangan setiap hari Isnin, kedudukan panjang akan dibuka jika harga penutupan di bawah Purata Bergerak Hull 115 tempoh. Berbanding dengan purata bergerak biasa, Purata Bergerak Hull bertindak balas lebih cepat terhadap perubahan harga dan mengenal pasti trend dengan lebih sensitif. Oleh itu, isyarat penunjuk dapat meningkatkan ketepatan kemasukan pasaran.

Kedua, kedudukan akan ditutup tanpa syarat semasa sesi dagangan setiap hari Rabu. Pendekatan operasi berkala ini dapat mengelakkan daripada dipengaruhi oleh peristiwa yang mungkin berlaku dan mengurangkan kebarangkalian penarikan. Sementara itu, nisbah stop-loss dan sasaran keuntungan tetap ditetapkan untuk mengawal risiko dan ganjaran setiap perdagangan.

Akhirnya, kerana setiap tempoh memegang perdagangan adalah agak pendek dengan kekerapan perdagangan yang lebih tinggi, ia boleh menyesuaikan kedudukan ke tahap tertentu dan mengurangkan risiko perdagangan tunggal.

Analisis Kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Menggunakan Hull Moving Average sebagai penunjuk isyarat kemasukan meningkatkan ketepatan kemasukan pasaran masa dan menangkap peluang trend.

  2. Kaedah keluar berkala dapat mengelakkan risiko dari tingkah laku yang tidak rasional dan mengurangkan kebarangkalian pengeluaran.

  3. Sasaran keuntungan tetap dan titik stop-loss boleh mengawal nisbah risiko-balasan setiap perdagangan dengan berkesan.

  4. Frekuensi perdagangan yang tinggi adalah bermanfaat untuk menyesuaikan kedudukan dan mengurangkan risiko perdagangan tunggal.

  5. Peraturan dagangan adalah mudah dan mudah difahami dan dilaksanakan, yang sesuai untuk dagangan kuantitatif algoritma.

Analisis Risiko

Strategi ini juga mempunyai beberapa risiko:

  1. Pengukuhan yang berpanjangan di pasaran boleh membawa kepada kebarangkalian yang lebih tinggi untuk terperangkap selepas masuk.

  2. Sasaran keuntungan tetap dan titik stop-loss tidak mempunyai fleksibiliti dan mungkin keluar dari kedudukan terlalu awal atau terlalu lewat.

  3. Penarikan berkala boleh membawa kepada kerugian besar jika peristiwa yang tidak dijangka berlaku.

  4. Perdagangan yang kerap meningkatkan kos dan pengaruh slippage.

  5. Tetapan parameter yang tidak betul (seperti nombor tempoh) boleh menjejaskan prestasi strategi.

Beberapa langkah pengoptimuman boleh dipertimbangkan untuk mengurangkan risiko di atas:

  1. Menilai keadaan pasaran sebelum memasuki untuk mengelakkan memasuki fasa penyatuan.

  2. Tetapkan nisbah dinamik atau berganda tetap untuk mengambil keuntungan dan hentian kerugian.

  3. Hentikan perdagangan berhampiran peristiwa penting untuk mengelakkan turun naik yang melampau.

  4. Mengurangkan kekerapan dagangan yang sesuai untuk mengurangkan kos dan slippage.

  5. Mengoptimumkan tetapan parameter dan melakukan ujian kestabilan untuk membuat strategi lebih stabil.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan lagi dalam aspek berikut:

  1. Gunakan model pembelajaran mesin untuk mengoptimumkan parameter purata bergerak secara dinamik untuk isyarat yang lebih tepat.

  2. Cuba menggabungkan beberapa penunjuk untuk merancang peraturan kemasukan dan keluar yang lebih kompleks.

  3. Merancang mekanisme mengambil keuntungan dan menghentikan kerugian yang disesuaikan mengikut tempoh dan persekitaran pasaran yang berbeza.

  4. Memasukkan model pengurusan risiko untuk pengurusan modal yang lebih baik.

  5. Modul penyesuaian hak reka bentuk untuk mengendalikan peristiwa seperti pembahagian stok dengan lancar.

  6. Tambah modul pengesahan dagangan sebenar untuk menguji prestasi strategi di pasaran langsung.

Dengan menggabungkan pembelajaran mesin, portfolio penunjuk, pengambilan keuntungan / hentian kerugian adaptif, pengurusan risiko dan kaedah lain secara organik, strategi ini dapat mencapai kestabilan dan keuntungan yang lebih kuat. Sementara itu, menambahkan mekanisme pengesahan perdagangan sebenar juga penting untuk menyempurnakan lagi strategi. Ini adalah arah pengoptimuman utama untuk strategi ini.

Kesimpulan

Strategi ini direka berdasarkan idea masuk isyarat isyarat Hull Dynamic Moving Average dan keluar kitaran tetap. Ia mempunyai kelebihan seperti isyarat yang tepat dan kebarangkalian penarikan yang rendah, sambil mengawal pengambilan keuntungan dan stop-loss perdagangan tunggal. Tetapi masalah seperti terperangkap dan tetapan pengambilan keuntungan / stop-loss yang tidak tepat juga wujud. Arahan pengoptimuman masa depan termasuk memperkenalkan pembelajaran mesin dan kombinasi multi-indikator yang lebih kompleks untuk masuk, merancang mekanisme pengambilan keuntungan / stop-loss adaptif, menambah pelarasan hak dan modul pengesahan perdagangan sebenar, dll. Dengan mengamalkan langkah-langkah ini secara komprehensif, kestabilan dan keuntungan strategi ini akan ditingkatkan.


/*backtest
start: 2024-01-18 00:00:00
end: 2024-02-17 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Scriptâ„¢ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © gnatskiller

//@version=5
strategy("Strategia HMA + LUN/MER", overlay=true)

// Inputs: stoploss %, takeProfit %
stopLossPercentage = input.float(defval=0.8, title='StopLoss %', minval=0.1, step=0.2) / 100
takeProfit = input.float(defval=1.5, title='Take Profit %', minval=0.3, step=0.2) / 100

// Calculate HMA 115
hma115 = ta.hma(close, 115)

// Exit and Entry Conditions - Check current day, session time, and price below HMA 115
isLong = dayofweek == dayofweek.monday  and not na(time(timeframe.period, "1000-1101")) and close < hma115
isExit = dayofweek == dayofweek.wednesday and not na(time(timeframe.period, "1000-1101"))

// Calculate Stoploss and Take Profit values
SL = strategy.position_avg_price * (1 - stopLossPercentage)
TP = strategy.position_avg_price * (1 + takeProfit)

// Strategy Enter, and exit when conditions are met
if isLong
    strategy.entry("Enter Long", strategy.long)
if strategy.position_size > 0 
    if isExit
        strategy.close("Enter Long", comment="Exit")
        strategy.exit("Exit", "Exit", stop=SL, limit=TP)

// Plot Stoploss and TakeProfit lines
plot(strategy.position_size > 0 ? SL : na, style=plot.style_linebr, color=color.red, linewidth=2, title="StopLoss")
plot(strategy.position_size > 0 ? TP : na, style=plot.style_linebr, color=color.green, linewidth=2, title="TakeProfit")

// Plot HMA 115
plot(hma115, color=color.blue, title="HMA 115")


Lebih lanjut