Strategi perdagangan kuantitatif berdasarkan Bollinger Bands

Penulis:ChaoZhang, Tanggal: 2023-12-28
Tag:

img

Gambaran umum

Strategi ini membangun strategi perdagangan berdasarkan indikator Bollinger Bands untuk mencapai perdagangan otomatis pada jangka waktu berjangka bitcoin 1 menit.

Prinsip Strategi

Strategi ini menggunakan indikator Bollinger Bands dengan 55 periode dan koefisien bandwidth yang ditetapkan menjadi 4. Garis tengah Bollinger Bands adalah rata-rata bergerak sederhana 55 hari, dan garis atas dan bawah adalah garis tengah +4 kali deviasi standar dan garis tengah -4 kali deviasi standar masing-masing. Ketika harga turun di bawah garis bawah, pergi panjang; ketika harga naik di atas garis atas, pergi pendek.

Setelah sinyal panjang dipicu, strategi akan mengatur stop loss order pada harga garis bawah. Setelah sinyal pendek dipicu, strategi akan mengatur stop loss order pada harga garis atas. Tidak ada take profit order yang ditetapkan.

Analisis Keuntungan

Strategi ini memanfaatkan kemampuan indikator Bollinger Bands untuk menentukan kondisi overbought dan oversold untuk menentukan waktu masuk secara wajar. Koefisien bandwidth diatur menjadi 4 untuk menghindari perdagangan yang terlalu sering. Hasil backtest menunjukkan bahwa pada kerangka waktu bitcoin 1 menit, strategi mencapai probabilitas menguntungkan lebih dari 80%, dengan efek yang signifikan.

Dibandingkan dengan indikator lain, indikator Bollinger Bands beradaptasi dengan sangat baik dengan fluktuasi pasar dan dapat secara otomatis menyesuaikan bandwidth untuk menangkap volatilitas di periode yang berbeda.

Selain itu, strategi ini hanya bergantung pada indikator Bollinger Bands, yang sangat sederhana dan memenuhi persyaratan untuk perdagangan kuantitatif.

Analisis Risiko

Risiko utama dari strategi ini terletak pada fakta bahwa efek indikator Bollinger Bands untuk menilai kondisi pasar yang terlalu banyak dibeli dan terlalu banyak dijual dapat dipengaruhi oleh pergerakan pasar yang besar. Dalam pasar bull, harga saham dapat naik untuk jangka waktu yang lama, sehingga sulit bagi rel atas untuk membentuk resistensi yang efektif. Demikian pula, di pasar bear, harga saham dapat tetap rendah untuk jangka waktu yang lama, sehingga sulit bagi rel bawah untuk memberikan dukungan yang efektif. Semua ini dapat menyebabkan sinyal perdagangan yang tidak valid yang dihasilkan oleh strategi.

Selain itu, pengaturan stop loss langsung di rel atas dan bawah Bollinger Bands mungkin terlalu dekat, gagal memberikan strategi ruang yang cukup dan dengan demikian tersingkir oleh fluktuasi harga.

Arahan Optimasi

Strategi dapat dioptimalkan dalam aspek berikut:

  1. Indikator seperti KDJ dan MACD dapat membantu menilai kondisi overbought / oversold yang ekstrim untuk memodifikasi sinyal perdagangan.

  2. Setel stop loss trailing untuk mengunci keuntungan. Dibandingkan dengan stop loss statis, stop loss trailing dapat menyesuaikan posisi stop loss dengan tepat berdasarkan fluktuasi harga.

  3. Optimalkan parameter. Periode yang berbeda dan parameter bandwidth Bollinger Bands dapat diuji untuk menemukan kombinasi parameter optimal. Algoritma optimalisasi juga dapat digunakan untuk menemukan parameter optimal.

  4. Perbaiki parameter sesuai dengan kondisi pasar. pasar memiliki tiga keadaan: bull, bear dan range bound. jadi parameter dapat ditetapkan secara terpisah berdasarkan kondisi pasar.

  5. Tambahkan strategi manajemen leverage yang canggih.

Kesimpulan

Keunggulan terbesar dari strategi ini adalah logika trading yang sederhana dan jelas untuk mendapatkan sinyal overbought/oversold dari indikator Bollinger Bands. Secara keseluruhan, ini adalah strategi kuantitatif jangka pendek yang sangat praktis.


/*backtest
start: 2023-11-27 00:00:00
end: 2023-12-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Kozlod - BB Strategy - 1 minute", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

// 
// author: Kozlod
// date: 2019-05-29
// BB - XBTUDS - Bitmex - 1m
// https://www.tradingview.com/u/Kozlod/
// https://t.me/quantnomad
//

source = close
length = input(55, minval=1)
mult = input(4, minval=0.001, maxval=50)

basis = sma(source, length)
dev = mult * stdev(source, length)

upper = basis + dev
lower = basis - dev

plot(upper)
plot(lower)

buyEntry  = crossover(source, lower)
sellEntry = crossunder(source, upper)

if (crossover(source, lower))
    strategy.entry("BBandLE", strategy.long, stop=lower, oca_name="BollingerBands",  comment="BBandLE")
else
    strategy.cancel(id="BBandLE")

if (crossunder(source, upper))
    strategy.entry("BBandSE", strategy.short, stop=upper, oca_name="BollingerBands", comment="BBandSE")
else
    strategy.cancel(id="BBandSE")

Lebih banyak