Strategi Kuantitatif Berdasarkan Purata Bergerak Eksponensial dan Berat Volume

Penulis:ChaoZhang, Tarikh: 2024-01-25 15:31:21
Tag:

img

Ringkasan

Strategi ini dinamakan Strategi Kuantitatif Berdasarkan Purata Bergerak Eksponensial dan Berat Volume. Ia terutamanya melaksanakan perdagangan kuantitatif dengan menggabungkan dua faktor purata bergerak eksponensial dan berat volum. Strategi ini secara komprehensif mempertimbangkan trend harga, maklumat jumlah dan maklumat harga terkini, yang dapat menangkap peluang pasaran dengan berkesan dan mempunyai kelebihan tertentu.

Prinsip

xMAVolPrice = ema(volume * close, length)
xMAVol = ema(volume, length) 
nRes = xMAVolPrice / xMAVol

if (nRes < close[1])  
    long
if (nRes > close[1]) 
    short

Ringkasnya, strategi membandingkan penunjuk harga nRes yang disesuaikan dengan jumlah dengan harga penutupan terkini untuk menentukan arah kedudukan panjang dan pendek, yang merupakan strategi perdagangan kuantitatif yang biasa.

Analisis Kelebihan

Kelebihan utama strategi ini ialah:

  1. Menggabungkan maklumat pelbagai faktor: Strategi ini tidak hanya mempertimbangkan maklumat harga, tetapi juga menggabungkan maklumat jumlah untuk memanfaatkan sepenuhnya ciri-ciri pelbagai faktor stok untuk menilai trend pasaran dengan lebih tepat.

  2. Mengurangkan isyarat palsu. Berat volum boleh menapis beberapa pecah palsu yang disebabkan oleh jumlah yang tidak mencukupi. Ini dapat mengurangkan perdagangan yang tidak perlu dan mengelakkan terperangkap.

  3. Perbandingan dengan purata bergerak mudah, purata bergerak eksponensial dalam strategi ini lebih sensitif kepada data terkini dan dapat menangkap perubahan pasaran baru-baru ini dengan cepat.

Analisis Risiko

  1. Maklumat jumlah tidak boleh dipercayai. Penunjuk jumlah cenderung untuk dimanipulasi dan kekurangan kestabilan, yang mungkin mengelirukan.

  2. Kesukaran dalam pemilihan parameter. Pilihan parameter seperti panjang hari purata bergerak akan mempunyai kesan yang besar terhadap prestasi strategi. Pilihan yang tidak betul boleh mengurangkan pulangan.

  3. Risiko perubahan pasaran yang ganas: Dalam pasaran yang bergerak cepat, pengiraan penunjuk mungkin tidak dapat bertindak balas terhadap harga terkini tepat pada masanya, mengakibatkan kehilangan titik dagangan terbaik.

Penyelesaian yang sesuai: mengoptimumkan tetapan parameter, mengawal saiz kedudukan dengan ketat, menetapkan stop loss dan mengambil keuntungan; menggabungkan penunjuk faktor lain untuk pengesahan; menyesuaikan frekuensi memegang kedudukan dengan sewajarnya.

Arahan pengoptimuman

Arah utama untuk mengoptimumkan strategi ini adalah:

  1. Meningkatkan mekanisme pengurusan kedudukan. Mengikut turun naik pasaran, menyesuaikan saiz setiap perdagangan secara dinamik untuk mengawal risiko dengan berkesan.

  2. Gabungkan faktor lain. Lebih banyak faktor boleh ditambahkan, seperti penunjuk sentimen, faktor asas, dan lain-lain, untuk membuat penilaian strategi yang lebih komprehensif.

  3. Algoritma pengoptimuman parameter adaptif. Algoritma boleh ditubuhkan untuk mengoptimumkan parameter seperti panjang secara automatik, supaya mereka dapat menyesuaikan diri dengan sesuai dengan ciri-ciri pasaran kitaran yang berbeza.

  4. Gunakan model pembelajaran mesin. RNN dan model pembelajaran mendalam lain boleh digunakan untuk pemodelan ciri multivariat untuk mencapai strategi bukan linear hujung ke hujung.

Ringkasan


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 06/03/2017
// The related article is copyrighted material from Stocks & Commodities 2009 Oct 
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Combining Exponential And Volume Weighting", overlay=true)
length = input(22, minval=1)
reverse = input(false, title="Trade reverse")
xMAVolPrice = ema(volume * close, length)
xMAVol = ema(volume, length)
nRes = xMAVolPrice / xMAVol
pos = iff(nRes < close[1], 1,
	     iff(nRes > close[1], -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)

Lebih lanjut