Strategi perdagangan kuantitatif berdasarkan rasio signal-to-noise dan moving average


Tanggal Pembuatan: 2024-01-02 12:24:35 Akhirnya memodifikasi: 2024-01-02 12:24:35
menyalin: 1 Jumlah klik: 868
1
fokus pada
1621
Pengikut

Strategi perdagangan kuantitatif berdasarkan rasio signal-to-noise dan moving average

Nama Strategi

Strategi perdagangan rata-rata bergerak sinyal-ke-kebisingan

Kedua, gambaran strategi

Strategi ini memungkinkan perdagangan kuantitatif dengan menghitung rasio bising sinyal dalam periode tertentu, kemudian menggabungkan sinyal perdagangan linier. Ide dasarnya adalah:

  1. Hitung rasio bising sinyal untuk periode tertentu (bisa disetel)
  2. Rasio kebisingan yang digunakan rata-rata rata
  3. Bandingkan rasio bising saat ini dengan nilai rata-rata, menghasilkan sinyal perdagangan
  4. Berdasarkan sinyal trading, lakukan multiply atau blank.

Ketiga, prinsip strategi.

  1. Rasio sinyal ke kebisingan (Signal to Noise Ratio) dihitung dengan rumus: StN = -10*log(Σ(1/close)/n) Di mana n adalah panjang siklus
  2. Rasio bising surat menggunakan SMA (Simple Moving Average) untuk mendapatkan rasio bising surat yang halus
  3. Bandingkan rasio bising StN saat ini dengan rasio bising SMStN: (1) Jika SMAStN > StN, kosongkan (2) Jika SMAStN < StN, lakukan lebih banyak (3) Jika tidak

Keempat, Analisis Keunggulan Strategi

Strategi ini memiliki beberapa keuntungan utama:

  1. Rasio kepercayaan bising dapat menilai volatilitas dan risiko pasar, SMA memiliki fungsi untuk menghilangkan bising
  2. Kombinasi sinyal kebisingan untuk menilai risiko pasar dan SMA untuk menghasilkan sinyal perdagangan, menggunakan keuntungan dari berbagai indikator
  3. Strategi penyesuaian parameter dapat diatur untuk menyesuaikan dengan situasi pasar yang berbeda
  4. Sinyal Stdout dapat mengindikasikan lebih banyak shorting, intuitif menilai karakteristik pasar

Kelima, analisis risiko strategis

Strategi ini juga memiliki beberapa risiko:

  1. Rasio kebisingan dan perhitungan silang rata-rata memiliki risiko salah posisi
  2. Siklus yang tidak tepat dapat menyebabkan sinyal palsu
  3. Kesempatan untuk melakukan pengosongan relatif sedikit, dapat disesuaikan dengan parameter untuk optimalisasi
  4. Kejadian yang tidak terduga menyebabkan fluktuasi yang kuat yang dapat memicu stop loss.

Solusi Risiko:

  1. Menyesuaikan parameter garis rata-rata untuk menghindari terlalu halus
  2. Optimalkan parameter siklus, uji adaptasi pasar yang berbeda
  3. Adaptasi Kondisi Kaos untuk Memungkinkan Lebih Banyak Kaos
  4. Tetapkan Stop Loss untuk Mengontrol Kerugian Maksimal

Keenam, optimalisasi strategi

Strategi ini dapat dioptimalkan dengan:

  1. Uji coba lebih banyak jenis garis rata
  2. Meningkatkan risiko pengendalian mekanisme penghentian kerugian
  3. Menambahkan manajemen posisi, menyesuaikan posisi sesuai dengan fluktuasi
  4. Dengan lebih banyak faktor penilaian, stabilitas strategi meningkat
  5. Parameter yang dioptimalkan secara otomatis menggunakan metode pembelajaran mesin

VII. Kesimpulan

Strategi ini menilai risiko volatilitas pasar melalui rasio sinyal-kebisingan, dan menggunakan garis rata untuk menghasilkan sinyal perdagangan, untuk mencapai perdagangan kuantitatif. Strategi ini mengintegrasikan rasio sinyal-kebisingan dan SMA masing-masing keunggulan dibandingkan dengan indikator teknis tunggal, meningkatkan stabilitas sambil mengendalikan risiko. Dengan cara pengoptimalan parameter dan pembelajaran mesin, strategi ini memiliki banyak ruang untuk perbaikan, merupakan strategi perdagangan kuantitatif yang andal dan efektif.

Kode Sumber Strategi
/*backtest
start: 2023-12-25 00:00:00
end: 2023-12-29 10:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © HPotter 05/01/2021
// The signal-to-noise (S/N) ratio. 
// And Simple Moving Average.
// Thank you for idea BlockchainYahoo
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors. 
////////////////////////////////////////////////////////////
SignalToNoise(length) =>
    StN = 0.0
    for i = 1 to length-1
        StN := StN + (1/close[i])/length
    StN := -10*log(StN)

strategy(title="Backtest Signal To Noise ", shorttitle="StoN", overlay=false)
length = input(title="Days", type=input.integer, defval=21, minval=2)
Smooth =  input(title="Smooth", type=input.integer, defval=7, minval=2)
reverse = input(false, title="Trade reverse")
StN = SignalToNoise(length)
SMAStN = sma(StN, Smooth)
pos = iff(SMAStN[1] > StN[1] , -1,
	   iff(SMAStN[1] < StN[1], 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)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )
plot(StN, title='StN' )
plot(SMAStN, title='Smooth', color=#00ff00)