Sumber daya yang dimuat... Pemuatan...

Strategi Kuantitatif Z-Score Binomial Hibrida

Penulis:ChaoZhang, Tanggal: 2024-05-28 17:38:08
Tag:SMABB

img

Gambaran umum

Strategi ini menggunakan pendekatan analisis kuantitatif hibrida, menggabungkan model distribusi binomial dan analisis regresi, untuk mengidentifikasi rezim pasar yang berbeda. Strategi pertama menghitung indikator Simple Moving Average (SMA) dan Bollinger Bands (BB), kemudian menghitung skor Z berdasarkan rata-rata dan standar deviasi pengembalian historis. Ketika skor Z berada di bawah ambang bawah dan harga berada di bawah band bawah, strategi memasuki posisi panjang; ketika skor Z berada di atas ambang atas dan harga berada di atas band atas, strategi menutup posisi.

Prinsip Strategi

Prinsip inti dari strategi ini adalah menggunakan Z-score untuk mengukur posisi pengembalian saat ini relatif terhadap distribusi pengembalian historis. Rumus untuk menghitung Z-score adalah: (Current Return - Historical Return Mean) / Historical Return Standard Deviation. Z-score yang lebih tinggi menunjukkan bahwa pengembalian saat ini lebih ekstrim dan kemungkinan overbought lebih tinggi; Z-score yang lebih rendah menunjukkan bahwa pengembalian saat ini lebih ekstrim dan kemungkinan oversold lebih tinggi. Pada saat yang sama, strategi ini juga menggabungkan indikator Bollinger Bands, menggunakan price breakouts di atas atau di bawah kedua band sebagai konfirmasi sekunder. Strategi ini menghasilkan sinyal perdagangan hanya ketika Z-score dan Bollinger Bands secara bersamaan memenuhi kondisi palsu. Kombinasi ini dapat secara efektif mengurangi kejadian sinyal.

Keuntungan Strategi

  1. Analisis Kuantitatif: Strategi ini sepenuhnya didasarkan pada indikator kuantitatif, dengan aturan yang jelas yang mudah diterapkan dan backtest.
  2. Konfirmasi ganda: Strategi ini menggunakan indikator Z-score dan Bollinger Bands, membentuk mekanisme penyaringan ganda untuk meningkatkan akurasi sinyal.
  3. Statistik Yayasan: Z-Score berasal dari teori distribusi normal dalam statistik, dengan dasar teoritis yang kuat, dan dapat secara obyektif mengukur ekstrim pengembalian saat ini.
  4. Fleksibilitas parameter: Pengguna dapat menyesuaikan parameter seperti periode SMA, pengganda Bollinger Bands, dan ambang Z-score sesuai kebutuhan mereka, menyesuaikan dengan fleksibel dengan pasar yang berbeda.

Risiko Strategi

  1. Sensitivitas Parameter: Pengaturan parameter yang berbeda dapat menyebabkan perbedaan signifikan dalam kinerja strategi, yang membutuhkan optimasi parameter yang luas dan pengujian stabilitas.
  2. Trend Risk: Ketika pasar menunjukkan tren yang kuat, Z-score dapat tetap berada di wilayah ekstrem untuk jangka waktu yang lama, sehingga sinyal strategi jarang atau tidak ada sama sekali.
  3. Risiko overfitting: Jika parameter strategi terlalu dioptimalkan, hal itu dapat menyebabkan overfitting dan kinerja yang buruk di luar sampel.
  4. Risiko Black Swan: Dalam kondisi pasar yang ekstrim, pola statistik historis mungkin gagal, mengekspos strategi terhadap risiko penarikan yang signifikan.

Arah Optimasi Strategi

  1. Parameter Dinamis: Pertimbangkan untuk menyesuaikan ambang batas Z-score dan pengganda Bollinger Bands secara dinamis berdasarkan indikator seperti volatilitas pasar dan kekuatan tren untuk meningkatkan kemampuan beradaptasi.
  2. Trend Filtering: Tumpang tindih indikator penentuan tren, seperti MA crossover atau DMI, di atas mekanisme yang ada untuk menghindari sinyal yang tidak valid yang berlebihan selama tren yang kuat.
  3. Optimasi portofolio: Gabungkan strategi ini dengan strategi kuantitatif lainnya (seperti momentum, reversi rata-rata, dll.) untuk memanfaatkan kekuatan masing-masing dan meningkatkan ketahanan.
  4. Stop-Loss dan Take-Profit: Memperkenalkan mekanisme stop-loss dan take-profit yang wajar untuk mengendalikan paparan risiko per perdagangan dan meningkatkan pengembalian yang disesuaikan dengan risiko.

Ringkasan

Strategi Kuantitatif Z-Score Binomial Hybrid adalah strategi perdagangan kuantitatif berdasarkan prinsip statistik, mengidentifikasi peluang overbought dan oversold potensial dengan membandingkan pengembalian saat ini dengan distribusi pengembalian historis. Selain itu, strategi ini menggunakan indikator Bollinger Bands untuk konfirmasi sekunder, meningkatkan keandalan sinyal. Aturan strategi jelas dan mudah diterapkan dan dioptimalkan, tetapi juga menghadapi tantangan seperti sensitivitas parameter, risiko tren, risiko overfit, dll. Di masa depan, strategi dapat dioptimalkan dalam hal parameter dinamis, penyaringan tren, optimasi portofolio, mekanisme stop-loss dan take-profit, dll., untuk meningkatkan kemampuan beradaptasi dan ketahanan. Secara keseluruhan, strategi ini memberikan pendekatan sederhana namun efektif untuk perdagangan kuantitatif lebih lanjut, layak dieksplorasi dan disempurnakan.


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

//@version=5
strategy("Estratégia Híbrida Quantitativa", overlay=true)

// Definição de parâmetros
sma_length = input.int(20, title="Período da SMA")
threshold_high = input.float(1.5, title="Threshold Alto")
threshold_low = input.float(-1.5, title="Threshold Baixo")
lookback_period = input.int(252, title="Período de Retorno Histórico (dias)")

// Funções auxiliares
f_sma(source, length) =>
    ta.sma(source, length)

f_bollinger_band(source, length, mult) =>
    basis = ta.sma(source, length)
    dev = mult * ta.stdev(source, length)
    [basis + dev, basis - dev]

// Cálculo dos indicadores
sma = f_sma(close, sma_length)
[upper_band, lower_band] = f_bollinger_band(close, sma_length, 2)

// Regime de Mercado: Binomial
retornos = ta.change(close, 1)
media_retornos = ta.sma(retornos, lookback_period)
desvio_padrao_retornos = ta.stdev(retornos, lookback_period)

// Indicador de Regime: Z-Score
z_score = (retornos - media_retornos) / desvio_padrao_retornos

// Sinal de Compra e Venda
sinal_compra = z_score < threshold_low and close < lower_band
sinal_venda = z_score > threshold_high and close > upper_band

// Execução de Ordem
if (sinal_compra)
    strategy.entry("Long", strategy.long)
if (sinal_venda)
    strategy.close("Long")

// Plotagem dos Indicadores
plot(sma, title="SMA", color=color.blue)
plot(upper_band, title="Upper Bollinger Band", color=color.red)
plot(lower_band, title="Lower Bollinger Band", color=color.green)
hline(threshold_high, "Threshold Alto", color=color.red, linestyle=hline.style_dashed)
hline(threshold_low, "Threshold Baixo", color=color.green, linestyle=hline.style_dashed)
plot(z_score, title="Z-Score", color=color.purple)


Berkaitan

Lebih banyak