Strategi Ramalan Gelombang Gaussian


Tarikh penciptaan: 2024-01-22 12:37:07 Akhirnya diubah suai: 2024-01-22 12:37:40
Salin: 0 Bilangan klik: 655
1
fokus pada
1617
Pengikut

Strategi Ramalan Gelombang Gaussian

Gambaran keseluruhan

Strategi ramalan gelombang Gauss adalah strategi perdagangan kuantitatif berdasarkan gelombang Gauss. Ia menggunakan ciri-ciri kelancaran gelombang Gauss untuk melakukan beberapa gelombang pada urutan harga, menghasilkan beberapa urutan harga selepas kelancaran.

Prinsip Strategi

Strategi ini berpusat pada algoritma Gaussian Wave. Filter Gaussian adalah penapis halus linear yang menggunakan fungsi Gaussian sebagai berat. Dalam strategi ini, parameter p ditetapkan sebagai saiz tetingkap penapis.[i] menunjukkan hasil selepas i kali Gaussian gelombang ke atas siri harga asal.

Strategi ini menggunakan idea pengulangan. Pertama, menggunakan alpha dan harga asal siri price, untuk mengira gelombang penyaringan pertama ret. Kemudian, berdasarkan ret, untuk gelombang kedua, mendapatkan ret2 berulang berkali-kali.

Dengan cara ini, trend dapat dirata dan digabungkan melalui beberapa gelombang. Di samping itu, digabungkan dengan pelbagai formula, ramalan mengenai pergerakan harga dalam jangka pendek dapat dicapai.

Analisis kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Menggunakan GOSSIP Wave Smooth Price. Ia boleh menyaring bunyi frekuensi tinggi dengan berkesan, menjadikan strategi lebih stabil.

  2. Recursive Filtering: Recursive Filtering: Recursive Filtering: Recursive Filtering: Recursive Filtering: Recursive Filtering.

  3. Harga ramalan berdasarkan pelbagai formula. Ia boleh memodelkan pergerakan harga jangka pendek dan menghasilkan isyarat perdagangan.

  4. Pertimbangan gabungan harga semasa dengan harga ramalan. Isyarat perdagangan digabungkan secara langsung dengan ramalan trend, untuk mengelakkan peluang perdagangan yang terlewatkan.

  5. Untuk mencapai kesederhanaan, mudah difahami dan dioptimumkan. Ia boleh digunakan sebagai modul asas untuk strategi frekuensi tinggi, untuk memperluaskan indikator analisis lain.

Analisis risiko

Strategi ini juga mempunyai risiko:

  1. Penapis Gaussian berfungsi untuk meluruskan perubahan harga yang tiba-tiba, dan mungkin kehilangan peluang perdagangan jangka pendek.

  2. Terdapat risiko terlalu banyak penyesuaian dalam penyesuaian pelbagai formula. Jika pola perubahan harga berubah, ia akan menyebabkan kesan ramalan menurun.

  3. Ukuran tetingkap gelombang filter dan bilangan pangkat yang sesuai dengan polinomial perlu disesuaikan dengan tepat. Jika tidak, ia mungkin gagal.

  4. Hanya bergantung pada harga bukaan sebagai isyarat perdagangan. Tidak boleh melakukan operasi perdagangan di dalam piring.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dengan:

  1. Menambah latihan model dan mekanisme latihan semula tetingkap geser. Membolehkan parameter strategi disesuaikan secara dinamik, mengurangkan risiko overfitting.

  2. Gabungan dengan lebih banyak petunjuk harga dan ciri-ciri. Masukan strategi yang kaya, membuat ramalan lebih stabil.

  3. Meningkatkan mekanisme penangguhan kerugian. Menetapkan peratusan kerugian maksimum untuk mengelakkan kerosakan besar dalam keadaan yang melampau.

  4. Mengoptimumkan pengurusan kedudukan. Mengubah kedudukan secara dinamik mengikut ketepatan ramalan dan kadar turun naik.

  5. Cuba membuat ramalan berdasarkan model pembelajaran mesin utama. Model pembelajaran mendalam seperti LSTM. Meningkatkan lagi kemampuan ramalan strategi.

ringkaskan

Strategi ini secara keseluruhan adalah strategi kuantitatif frekuensi tinggi yang menggunakan Gaussian dan kecocokan pelbagai formula untuk membuat ramalan harga. Ia mempunyai kelebihan tertentu, tetapi juga terdapat ruang untuk penambahbaikan. Dengan menggabungkan lebih banyak ciri, memperkenalkan modul dinamika, parameter, dan mekanisme hentian kerugian, anda dapat mengoptimumkan kesan strategi.

Kod sumber strategi
/*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)