Sumber daya yang dimuat... Pemuatan...

Z-Score Normalized Linear Signal Strategi Perdagangan Kuantitatif

Penulis:ChaoZhang, Tanggal: 2025-01-06 16:14:07
Tag:RSISMAZ-ScoreLSBTPSL

img

Gambaran umum

Strategi ini adalah sistem perdagangan kuantitatif berdasarkan sinyal linier dan normalisasi Z-score. Strategi ini membangun sinyal perdagangan standar dengan menggabungkan variabel eksogen seperti RSI dengan data harga dan memicu perdagangan menggunakan ambang batas. Strategi ini cocok untuk skenario perdagangan intraday dan frekuensi tinggi, menawarkan kemampuan beradaptasi dan konfigurasi yang kuat.

Prinsip Strategi

Prinsip-prinsip inti mencakup beberapa langkah utama:

  1. Konstruksi Sinyal Linear: Menggunakan bobot yang dapat dikonfigurasi (signal_alpha) untuk secara linier menggabungkan indikator RSI dengan data harga untuk membentuk sinyal awal.
  2. Normalisasi Z-Score: Menghitung rata-rata dan standar deviasi sinyal linier berdasarkan periode lookback, normalisasi sinyal menjadi Z-scores.
  3. Mekanisme pemicu ambang batas: Membuka posisi panjang ketika Z-score jatuh di bawah ambang negatif dan posisi pendek ketika di atas ambang positif, dikendalikan oleh risk_adjustment_factor.
  4. Manajemen Risiko: Menetapkan tingkat stop-loss dan take-profit untuk setiap perdagangan, dengan penyesuaian rasio risiko-manfaat yang fleksibel melalui parameter persentase.

Keuntungan Strategi

  1. Standardisasi sinyal: Transformasi Z-score memberikan sifat statistik yang baik, memfasilitasi pengaturan ambang universal.
  2. Fleksibilitas tinggi: Dapat menyeimbangkan pengaruh variabel eksogen dan harga melalui penyesuaian signal_alpha.
  3. Risiko terkontrol: Mekanisme stop-loss dan take-profit lengkap, dapat dikonfigurasi berdasarkan karakteristik pasar.
  4. Adaptifitas yang baik: Dapat diterapkan pada beberapa kerangka waktu, dapat diperluas ke instrumen perdagangan lainnya yang sangat likuid.

Risiko Strategi

  1. Sensitivitas Parameter: Kinerja strategi sensitif terhadap pemilihan parameter, yang membutuhkan backtesting menyeluruh.
  2. Dependensi Lingkungan Pasar: Dapat menghasilkan perdagangan yang sering di pasar yang terikat dengan rentang dengan tren yang lemah.
  3. Lag sinyal: Perhitungan rata-rata bergerak dapat memperkenalkan lag yang mempengaruhi waktu masuk.
  4. Risiko likuiditas: Perdagangan frekuensi tinggi dapat menghadapi kerugian slippage selama periode likuiditas rendah.

Arah Optimasi Strategi

  1. Penyesuaian Parameter Dinamis: Memperkenalkan mekanisme adaptif untuk menyesuaikan ambang batas dan posisi stop-loss secara dinamis berdasarkan volatilitas pasar.
  2. Konfirmasi sinyal ganda: Tambahkan indikator teknis lain sebagai kondisi penyaringan untuk meningkatkan keandalan sinyal.
  3. Optimasi Manajemen Posisi: Merancang sistem manajemen posisi dinamis berdasarkan volatilitas dan kekuatan sinyal.
  4. Kontrol Biaya Transaksi: Optimalkan masuk dan keluar logika untuk mengurangi biaya dari perdagangan sering.

Ringkasan

Ini adalah strategi perdagangan kuantitatif yang terstruktur dengan baik dan secara logis ketat. Ini membangun sistem sinyal perdagangan yang kuat melalui kombinasi linier dan pemrosesan standardisasi. Strategi ini menawarkan konfigurasi yang kuat dan manajemen risiko yang komprehensif tetapi membutuhkan perhatian pada optimasi parameter dan kemampuan beradaptasi pasar. Melalui arah optimasi yang disarankan, stabilitas dan profitabilitas strategi dapat ditingkatkan lebih lanjut.


/*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)




Berkaitan

Lebih banyak