Strategi Ramalan Gelombang Gauss

Penulis:ChaoZhang, Tarikh: 2024-01-22 12:37:07
Tag:

img

Ringkasan

Gauss Wave Forecasting Strategy adalah strategi perdagangan kuantitatif berdasarkan penapisan Gaussian. Ia menggunakan ciri pelupusan penapis Gaussian untuk menapis siri harga beberapa kali dan menghasilkan beberapa siri harga yang dilupuskan. Kemudian digabungkan dengan pemasangan polinomial siri harga ini, ia merealisasikan ramalan harga masa depan. Menurut hasil ramalan, ia memberikan cadangan mengenai kedudukan panjang atau pendek.

Prinsip Strategi

Inti strategi ini adalah algoritma penapis Gaussian. Penapis Gaussian adalah penapis pelinciran linear yang menggunakan fungsi Gaussian sebagai berat. Parameter p dalam strategi ditetapkan sebagai saiz tetingkap penapisan. Kemudian pekali penapisan alfa dikira melalui fungsi trigonometri. Setiap siri harga ret \ [i\] mewakili hasil selepas penapisan Gaussian ke-1 siri harga asal.

Strategi ini menggunakan idea rekursi. Pertama, dengan alfa dan harga siri harga asal, ret penapisan pertama dikira. Kemudian berdasarkan ret, penapisan kedua dilakukan untuk mendapatkan ret2. Ulangi ini beberapa kali. Akhirnya, dengan menggabungkan beberapa siri harga, lengkung dipasang untuk meramalkan harga masa depan ret4. Jika harga yang diramalkan lebih tinggi daripada harga sebenar semasa, pergi panjang. Jika lebih rendah daripada harga semasa, pergi pendek.

Dengan menapis beberapa kali, ia boleh menjadi lebih lancar dan lebih sesuai dengan trend. pada masa yang sama, digabungkan dengan pemasangan polinomial, ia merealisasikan ramalan trend harga dalam jangka pendek.

Analisis Kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Gunakan penapis Gaussian untuk menyelaraskan harga. Ia boleh menapis bunyi frekuensi tinggi dan menjadikan strategi lebih stabil.

  2. Penapisan berganda berulang. Ia boleh lebih sesuai dengan trend harga dan meningkatkan kesan ramalan.

  3. Ramalan harga berdasarkan pemasangan polinomial. Ia boleh memodelkan trend harga jangka pendek dan dengan itu menjana isyarat perdagangan.

  4. Sinyal perdagangan digabungkan secara langsung dengan ramalan trend untuk mengelakkan peluang perdagangan yang hilang.

  5. Mudah dilaksanakan, mudah difahami dan dioptimumkan. Ia boleh berfungsi sebagai modul asas untuk strategi frekuensi tinggi untuk mengembangkan penunjuk analisis lain.

Analisis Risiko

Strategi ini juga mempunyai risiko berikut:

  1. Kesan pelupusan penapis Gaussian terhadap perubahan harga tiba-tiba mungkin kehilangan peluang perdagangan jangka pendek.

  2. Kesesuaian polinomial mempunyai risiko terlalu sesuai. Jika model perubahan harga bermutasi secara tiba-tiba, kesan ramalan akan menurun.

  3. Saiz tetingkap penapis dan urutan polinomial yang sesuai perlu ditetapkan dengan tepat. Jika tidak, ia mungkin gagal.

  4. Ia hanya bergantung kepada harga pembukaan untuk isyarat perdagangan dan tidak boleh berdagang intraday.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan dalam aspek berikut:

  1. Tambah latihan model dan mekanisme latihan semula tingkap gelongsor untuk pelarasan dinamik parameter untuk mengurangkan risiko pemasangan berlebihan.

  2. Masukkan lebih banyak penunjuk harga dan ciri untuk memperkaya input dan membuat ramalan lebih stabil.

  3. Tambah mekanisme stop loss, menetapkan nisbah kerugian maksimum untuk mengelakkan kerugian besar dalam keadaan pasaran yang melampau.

  4. Mengoptimumkan pengurusan kedudukan, menyesuaikan kedudukan secara dinamik berdasarkan ketepatan ramalan dan turun naik.

  5. Cuba ramalan berdasarkan model pembelajaran mesin arus perdana seperti LSTM dan terus meningkatkan keupayaan ramalan.

Kesimpulan

Ringkasnya, ini adalah strategi kuantitatif kekerapan tinggi yang melakukan ramalan harga menggunakan penapis Gaussian dan pemasangan polinomial. Ia mempunyai kelebihan tertentu tetapi juga ruang untuk peningkatan. Dengan menggabungkan lebih banyak ciri, memperkenalkan penyesuaian parameter dinamik, mekanisme hentian kerugian dan lain-lain, kesan strategi boleh menjadi lebih baik. Strategi ini meletakkan asas sebagai modul asas untuk penyelidikan dan pengoptimuman strategi kekerapan tinggi.


/*backtest
start: 2023-01-15 00:00:00
end: 2024-01-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Gaussbot v1.0", overlay=true)

p = input(20, minval=1, title="Length")
price = input(open, title="Source")

pi=3.1415926535


w=2*pi/p
beta = (1 - cos(w))/(pow(1.414,2.0/3) - 1)
alfa = -beta + sqrt(beta*beta + 2*beta)
ret=  pow(alfa,4)*price+4*(1-alfa)*nz(ret[1])-6*pow(1-alfa,2)*nz(ret[2])+4*pow(1-alfa,3)*nz(ret[3])-pow(1-alfa,4)*nz(ret[4])
ret2 = pow(alfa,4)*ret+4*(1-alfa)*nz(ret2[1])-6*pow(1-alfa,2)*nz(ret2[2])+4*pow(1-alfa,3)*nz(ret2[3])-pow(1-alfa,4)*nz(ret2[4])
ret3 = pow(alfa,4)*ret2+4*(1-alfa)*nz(ret3[1])-6*pow(1-alfa,2)*nz(ret3[2])+4*pow(1-alfa,3)*nz(ret3[3])-pow(1-alfa,4)*nz(ret3[4])
ret4 = 3*ret-3*ret2+ret3


diff2 = nz(ret[1]) - nz(ret[2]) - (nz(ret[2]) - nz(ret[3]) )  
diff22 = nz(ret2[1]) - nz(ret2[2]) - (nz(ret2[2]) - nz(ret2[3]) ) 
diff23 = nz(ret3[1]) - nz(ret3[2]) - (nz(ret3[2]) - nz(ret3[3]) )  
diff24 = nz(ret4[1]) - nz(ret4[2]) - (nz(ret4[2]) - nz(ret4[3]) )  


longCondition =    price[0] - ret4[1]  > 0
shortCondition =  price[0] - ret4[1] < 0

if(longCondition and shortCondition)
    longCondition = longCondition[1]
    shortCondition = shortCondition[1]
if(longCondition==false and shortCondition==false)
    longCondition = longCondition[1]
    shortCondition = shortCondition[1]



if (longCondition==true and shortCondition == false) 
    strategy.entry("Gaussbot Long", strategy.long )
if (longCondition==false and shortCondition == true)
    strategy.entry("Gaussbot Short", strategy.short)



Lebih lanjut