Strategi Perdagangan Penembusan Volatilitas MCL-YG


Tanggal Pembuatan: 2023-11-14 13:49:12 Akhirnya memodifikasi: 2023-11-14 13:49:12
menyalin: 0 Jumlah klik: 673
1
fokus pada
1617
Pengikut

Strategi Perdagangan Penembusan Volatilitas MCL-YG

Ringkasan

Strategi ini menggunakan Bollinger Bands Breakthrough untuk mendeteksi sinyal perdagangan, yang memungkinkan pair trading pada dua aset yang terkait secara positif, MCL dan YG. Ketika harga MCL menyentuh Bollinger Bands, melakukan over MCL dan over YG; Ketika harga MCL menyentuh Bollinger Bands, melakukan over MCL dan over YG, untuk mencapai perdagangan berlanjut pada tren harga.

Prinsip Strategi

Pertama, strategi ini menghitung SMA rata-rata dan standar deviasi StdDev berdasarkan harga close out dalam periode tertentu. Kemudian, masing-masing nilai offset ditambahkan ke SMA rata-rata, membentuk lintasan atas dan bawah Brin-band.

Strategi ini mengadopsi strategi perdagangan terobosan burin, yaitu melihat lebih banyak saat harga menerobos ke atas dan tidak melihat apa-apa saat terobos ke bawah. Burin menyesuaikan lebar saluran secara dinamis untuk beradaptasi dengan perubahan pasar, sehingga dapat secara efektif menyaring kebisingan pasar yang bergoyang. Berbeda dengan saluran tetap, lebar saluran burin akan meluas atau menyusut seiring dengan perubahan volatilitas pasar.

Perdagangan pasangan pada dua aset yang terkait positif, MCL dan YG. Ketika MCL terjatuh, menunjukkan bahwa harga MCL berada dalam tren naik, maka melakukan lebih banyak MCL, sementara melakukan YG kosong, yaitu membeli aset yang lebih kuat dan menjual aset yang lebih lemah, untuk mendapatkan keuntungan dari perbedaan harga dua aset.

Keunggulan Strategis

  1. Brin Belt-Based Breakthrough Trading (BBRT) adalah cara yang efektif untuk menyaring kebisingan pasar dan mengidentifikasi tren.
  2. Menggunakan pasangan aset terkait untuk mendapatkan keuntungan alpha dari perbedaan harga aset terkait yang positif
  3. Dimensi posisi yang disesuaikan secara dinamis untuk mengontrol risiko transaksi individu
  4. Menggunakan standar terobosan masuk dan regresi axial outfield logika, strategi logika sederhana dan jelas

Risiko Strategis

  1. Setting parameter Brinband yang tidak tepat dapat menyebabkan frekuensi transaksi yang terlalu tinggi atau sinyal yang tidak jelas
  2. Penurunan korelasi antara aset terkait akan menyebabkan penurunan laba dari pair trading alpha
  3. Penembusan perdagangan mudah tertipu oleh penipuan penembusan palsu di pasar yang bergejolak, yang mengakibatkan kerugian
  4. Kerugian yang tidak terhingga dapat menyebabkan peningkatan kerugian tunggal.

Risiko dapat dikurangi dengan mengoptimalkan parameter, memilih objek perdagangan yang lebih relevansi dan likuiditas yang lebih baik, dan menetapkan posisi stop loss yang wajar.

Optimasi Strategi

  1. Optimalkan parameter Brinet untuk mencari kombinasi parameter optimal
  2. Uji lebih banyak aset relevan sebagai objek perdagangan, pilih portofolio yang lebih relevan
  3. Menambahkan logika stop loss untuk membatasi kerugian tunggal
  4. Menambahkan kondisi penyaringan untuk menghindari penipuan penembusan palsu
  5. Penggantian Timing, dikombinasikan dengan indikator lain seperti konfirmasi volume transaksi

Meringkaskan

Strategi ini secara keseluruhan lebih sederhana dan langsung, menangkap tren melalui Brin band dan mendapatkan keuntungan alfa dari perdagangan pasangan. Namun, ada beberapa ruang yang dapat dioptimalkan seperti optimasi parameter, stop loss, dan pilihan pasangan. Efek strategi yang lebih baik dapat diperoleh dengan menguji berbagai parameter, obyek perdagangan, dan metode seperti penyaringan tren yang diperkenalkan dengan tepat.

Kode Sumber Strategi
/*backtest
start: 2022-11-07 00:00:00
end: 2023-11-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © shark792

//@version=5

// 1. Define strategy settings
strategy(title="MCL-YG Pair Trading Strategy", overlay=true,
     pyramiding=0, initial_capital=10000,
     commission_type=strategy.commission.cash_per_order,
     commission_value=4, slippage=2)

smaLength = input.int(title="SMA Length", defval=20)
stdLength = input.int(title="StdDev Length", defval=20)

ubOffset = input.float(title="Upper Band Offset", defval=1, step=0.5)
lbOffset = input.float(title="Lower Band Offset", defval=1, step=0.5)

usePosSize = input.bool(title="Use Position Sizing?", defval=true)
riskPerc   = input.float(title="Risk %", defval=0.5, step=0.25)


// 2. Calculate strategy values
smaValue = ta.sma(close, smaLength)
stdDev   = ta.stdev(close, stdLength)

upperBand = smaValue + (stdDev * ubOffset)
lowerBand = smaValue - (stdDev * lbOffset)

riskEquity  = (riskPerc / 100) * strategy.equity
atrCurrency = (ta.atr(20) * syminfo.pointvalue)
posSize     = usePosSize ? math.floor(riskEquity / atrCurrency) : 1


// 3. Output strategy data
plot(series=smaValue, title="SMA", color=color.teal)

plot(series=upperBand, title="UB", color=color.green,
     linewidth=2)
plot(series=lowerBand, title="LB", color=color.red,
     linewidth=2)


// 4. Determine long trading conditions
enterLong = ta.crossover(close, upperBand)
exitLong  = ta.crossunder(close, smaValue)


// 5. Code short trading conditions
enterShort = ta.crossunder(close, lowerBand)
exitShort  = ta.crossover(close, smaValue)


// 6. Submit entry orders
if enterLong
    strategy.entry(id="EL", direction=strategy.long, qty=posSize)

if enterShort
    strategy.entry(id="ES", direction=strategy.short, qty=posSize)


// 7. Submit exit orders
strategy.close(id="EL", when=exitLong)
strategy.close(id="ES", when=exitShort)