Strategi perdagangan kuantitatif isyarat linear berdasarkan normalisasi skor Z

RSI SMA Z-SCORE LSB TP SL
Tarikh penciptaan: 2025-01-06 16:14:07 Akhirnya diubah suai: 2025-01-06 16:14:07
Salin: 6 Bilangan klik: 437
1
fokus pada
1617
Pengikut

Strategi perdagangan kuantitatif isyarat linear berdasarkan normalisasi skor Z

Gambaran keseluruhan

Strategi ini ialah sistem perdagangan kuantitatif berdasarkan isyarat linear dan normalisasi skor Z. Ia membina isyarat dagangan piawai dengan menggabungkan pembolehubah eksogen seperti RSI dengan data harga, dan menggunakan ambang untuk mencetuskan urus niaga. Strategi ini sesuai untuk senario perdagangan intrahari dan frekuensi tinggi serta mempunyai kebolehsuaian dan kebolehkonfigurasian yang kukuh.

Prinsip Strategi

Prinsip teras strategi termasuk langkah utama berikut:

  1. Pembinaan isyarat linear: Penunjuk RSI digabungkan secara linear dengan data harga menggunakan berat boleh dikonfigurasikan (signal_alpha) untuk membentuk isyarat awal.
  2. Pelaziman skor Z: Berdasarkan tempoh lihat kembali yang ditetapkan (tempoh_pandangan belakang), min dan sisihan piawai isyarat linear dikira dan isyarat dinormalkan ke dalam bentuk skor Z.
  3. Mekanisme pencetus ambang: apabila skor Z lebih rendah daripada ambang negatif, kedudukan panjang dibuka; apabila ia lebih tinggi daripada ambang positif, ambang dikawal oleh faktor pelarasan risiko (risk_adjustment_factor).
  4. Pengurusan risiko: Tetapkan ambil untung dan henti rugi untuk setiap transaksi, dan laraskan nisbah pulangan risiko secara fleksibel melalui parameter peratusan.

Kelebihan Strategik

  1. Normalisasi isyarat: Transformasi skor Z memberikan isyarat sifat statistik yang baik, menjadikannya lebih mudah untuk menetapkan ambang universal.
  2. Fleksibiliti kuat: Pengaruh pembolehubah eksogen dan harga boleh diseimbangkan dengan melaraskan signal_alpha.
  3. Risiko yang boleh dikawal: Mekanisme henti untung dan henti rugi yang lengkap, yang boleh dikonfigurasikan secara fleksibel mengikut ciri pasaran.
  4. Kebolehsuaian yang baik: Berkenaan dengan beberapa tempoh masa dan boleh dikembangkan kepada produk dagangan lain dengan kecairan yang tinggi.

Risiko Strategik

  1. Kepekaan parameter: Prestasi strategi adalah sensitif kepada pemilihan parameter dan memerlukan ujian belakang dan pengesahan yang mencukupi.
  2. Pergantungan pada persekitaran pasaran: Urus niaga yang kerap mungkin berlaku dalam pasaran yang tidak menentu dengan aliran yang lemah.
  3. Selang isyarat: Selang yang disebabkan oleh pengiraan purata bergerak boleh menjejaskan masa kemasukan.
  4. Risiko kecairan: Perdagangan frekuensi tinggi mungkin menghadapi kerugian gelinciran apabila kecairan tidak mencukupi.

Arah pengoptimuman strategi

  1. Pelarasan parameter dinamik: Memperkenalkan mekanisme penyesuaian untuk melaraskan ambang dan kedudukan henti rugi secara dinamik berdasarkan turun naik pasaran.
  2. Pengesahan isyarat berbilang: Tambahkan penunjuk teknikal lain sebagai keadaan penapisan untuk meningkatkan kebolehpercayaan isyarat.
  3. Pengoptimuman pengurusan kedudukan: Reka sistem pengurusan kedudukan dinamik berdasarkan turun naik dan kekuatan isyarat.
  4. Kawalan kos transaksi: mengoptimumkan logik kedudukan pembukaan dan penutupan untuk mengurangkan kerugian kos yang disebabkan oleh transaksi yang kerap.

ringkaskan

Ini adalah strategi perdagangan kuantitatif dengan struktur yang jelas dan logik yang ketat. Sistem isyarat dagangan yang mantap dibina melalui kombinasi linear dan pemprosesan standardisasi. Strategi ini sangat boleh dikonfigurasikan dan mempunyai pengurusan risiko yang sempurna, tetapi perhatian perlu diberikan kepada pengoptimuman parameter dan kebolehsuaian pasaran. Kestabilan dan keuntungan strategi boleh dipertingkatkan lagi melalui arahan pengoptimuman yang disyorkan.

Kod sumber strategi
/*backtest
start: 2024-12-29 00:00:00
end: 2025-01-05 00:00:00
period: 15m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Linear Signal-Based Strategy", shorttitle = "LSB_V1", overlay=true)

// Inputs
lookback_period = input.int(14, title="Lookback Period for Moving Averages")
signal_alpha = input.float(0.5, title="Signal Weight Alpha (Exogenous Variable)")
take_profit_percent = input.float(0.02, title="Take Profit (%)")
stop_loss_percent = input.float(0.01, title="Stop Loss (%)")
risk_adjustment_factor = input.float(1.5, title="Risk Adjustment Factor")

// Fetch Exogenous Variable (Example: RSI as a Proxy)
rsi_value = ta.rsi(close, lookback_period)

// Linear Signal Calculation
linear_signal = signal_alpha * rsi_value + (1 - signal_alpha) * close

// Z-Score Normalization for Signal
mean_signal = ta.sma(linear_signal, lookback_period)
stddev_signal = ta.stdev(linear_signal, lookback_period)
z_score_signal = (linear_signal - mean_signal) / stddev_signal

// Entry Conditions
long_condition = z_score_signal < -risk_adjustment_factor
short_condition = z_score_signal > risk_adjustment_factor

// Risk Management
long_take_profit = close * (1 + take_profit_percent)
long_stop_loss = close * (1 - stop_loss_percent)
short_take_profit = close * (1 - take_profit_percent)
short_stop_loss = close * (1 + stop_loss_percent)

// Execute Trades
if (long_condition)
    strategy.entry("Long", strategy.long, qty=1)
    strategy.exit("Exit Long", "Long", stop=long_stop_loss, limit=long_take_profit)

if (short_condition)
    strategy.entry("Short", strategy.short, qty=1)
    strategy.exit("Exit Short", "Short", stop=short_stop_loss, limit=short_take_profit)