
Strategi kuantitatif perdagangan terobosan berdasarkan teori Blake-Schulz dan sistem pengoptimuman hentian pengesanan adalah model perdagangan inovatif yang menggabungkan teori harga opsyen dan analisis teknikal. Idea teras strategi ini adalah menggunakan anggaran harga harga aset Black-Schulz, membina kenaikan dan penurunan yang dinamik, dan menghasilkan isyarat perdagangan apabila harga menembusi nilai-nilai ini.
Dasar teori strategi ini berasal dari kaedah pengukuran kadar turun naik pasaran dalam model harga pilihan Blake-Schulz. Proses pelaksanaan khusus adalah sebagai berikut:
Mula-mula, strategi ini digunakan dengan mengira pulangan logaritma harga sejarah (logReturn = math.log) (close / close)[1])), kemudian menggunakan fungsi perbezaan piawai ((ta.stdev) untuk mengira kadar turun naik, dan memprosesnya secara tahunan ((berkali dengan sqrt ((periodsPerYear))). Pemprosesan tahunan memerlukan pertimbangan jumlah hari perdagangan ((252 hari) dan jumlah minit perdagangan setiap hari ((390 minit), dibahagikan dengan tempoh masa carta yang ditetapkan oleh pengguna.
Kemudian, strategi mengira jangkaan pergerakan harga (expectedMove), yang berdasarkan pada nilai harga penutupan sebelumnya, kadar turun naik semasa, dan faktor masa (sqrt (per 1/periodsPerYear)). Langkah ini pada dasarnya mengukur “rentang perubahan harga yang dijangkakan dalam satu unit masa akan datang, di bawah keadaan kadar turun naik semasa”.
Strategi kemudiannya membina ambang perdagangan dinamik: ambang ke atas (upperThreshold) untuk harga penutupan sebelumnya ditambah dengan perubahan yang dijangkakan; ambang ke bawah (lowerThreshold) untuk harga penutupan sebelumnya tolak perubahan yang dijangkakan.
Apabila harga menembusi paras naik, ia akan mencetuskan isyarat berganda; apabila harga menembusi paras turun, ia akan mencetuskan isyarat berkurang.
Dalam pengurusan risiko, strategi ini menggunakan dua lapisan perlindungan:
Reka bentuk ini membolehkan strategi untuk mengawal risiko dengan berkesan dan meningkatkan kecekapan penggunaan dana, sambil menangkap peluang untuk menembusi harga.
Setelah analisis yang mendalam terhadap kod, strategi ini mempunyai kelebihan yang ketara:
Asas teori yang kukuhStrategi ini berdasarkan teori kewangan yang matang, menggunakan model Blake-Schulz untuk kuantiti saintifik kadar turun naik, dengan sokongan teori yang kuat.
Sesuaikan diri dengan keadaan pasaranStrategi ini dapat menyesuaikan diri secara automatik dengan keadaan pasaran yang berbeza dengan mengira turun naik dan perubahan harga yang dijangkakan secara dinamik. Pada masa turun naik rendah, ambang masuk lebih rendah; pada masa turun naik tinggi, ambang masuk meningkat dengan sewajarnya, mengelakkan batasan yang dibawa oleh parameter tetap.
Pengurusan risiko yang lebih baik: Mekanisme double stop (penghentian awal dan penghentian pengesanan) mengawal risiko perdagangan tunggal dengan berkesan, dan dapat memaksimumkan keuntungan yang terkunci dalam keadaan trend.
Kecekapan pengiraanAlgoritma strategi ringkas dan cekap, kuat dalam masa nyata, dapat dikira semula pada setiap perubahan harga dan pesanan yang berlaku ((calc_on_order_fills=true, calc_on_every_tick=true), sesuai untuk dagangan dalam talian pendek dalam sehari.
Keputusan Pembantu VisualStrategi ini mempamerkan nilai terhad yang dinamik dalam bentuk grafik, yang membolehkan peniaga memahami keadaan pasaran semasa dan peluang perdagangan yang berpotensi.
Parameter yang fleksibel: Pengguna boleh menyesuaikan parameter utama seperti tempoh pengembalian kadar turun naik dan kadar hentian dengan fleksibel mengikut pilihan risiko peribadi dan ciri-ciri pasaran, meningkatkan kebolehpasaran strategi.
Walaupun strategi ini direka dengan baik, terdapat risiko yang berpotensi:
Risiko penembusan palsu: Pasaran mungkin mengalami kemunduran yang cepat selepas penembusan terhad yang singkat, menyebabkan isyarat yang salah. Penyelesaian boleh menjadi dengan menambah mekanisme pengesahan, seperti meminta harga untuk tinggal di luar terhad untuk masa tertentu atau memfilter isyarat dalam kombinasi dengan petunjuk lain.
Perkiraan kadar turun naikSebelum dan selepas titik perubahan pasaran atau peristiwa besar, kadar turun naik sejarah mungkin tidak dapat meramalkan turun naik masa depan dengan tepat, yang menyebabkan tetapan nilai rendah tidak munasabah. Peningkatan dalam kaedah anggaran kadar turun naik tersirat atau adaptasi boleh dipertimbangkan.
Titik tergelincir dan risiko pelaksanaanDalam persekitaran perdagangan frekuensi tinggi, harga pelaksanaan pesanan mungkin berbeza dengan harga isyarat. Adalah disyorkan untuk menetapkan model titik slippage yang munasabah pada peringkat pengukuran semula dan menggunakan senarai harga terhad dan bukan senarai harga pasaran di bursa saham.
Kepekaan ParameterPrestasi strategi lebih sensitif terhadap tempoh pengembalian kadar turun naik (volLookback) dan parameter stop loss. Rentang parameter yang stabil harus dijumpai melalui pengembalian sejarah, untuk mengelakkan kecocokan kurva yang disebabkan oleh pengoptimuman berlebihan.
Risiko untuk terbang: Kerugian yang berpotensi dalam perdagangan shorting secara teori mungkin melebihi modal awal. Ia disyorkan untuk menetapkan had maksimum pegangan dalam aplikasi praktikal atau menyesuaikan saiz kedudukan berdasarkan kemampuan menanggung risiko akaun.
Ancaman untuk berbalik: Tracking stop loss mungkin sering tercetus dalam pasaran yang bergolak, menyebabkan peningkatan kos dagangan. Anda boleh mempertimbangkan untuk menambah indikator pengesahan trend, dan hanya mengaktifkan tracking stop loss apabila trend jelas.
Berdasarkan analisis kod, strategi ini boleh dioptimumkan dalam beberapa arah:
Peningkatan dalam pengiraan kadar pergerakan dinamikStrategi semasa menggunakan tempoh pengembalian tetap untuk mengira kadar turun naik sejarah, dan pertimbangkan untuk menggunakan model jenis GARCH atau model kadar turun naik bertimbangan indeks untuk menangkap lebih baik sifat perubahan dinamik kadar turun naik. Ini kerana kadar turun naik di pasaran kewangan biasanya mempunyai ciri “kumpulan kadar turun naik”, dan turun naik harga baru-baru ini lebih bernilai rujukan untuk ramalan masa depan.
Pendahuluan masaPengiraan pergerakan jangkaan boleh dimasukkan dalam pengurangan masa, yang menjadikan data terkini lebih berpengaruh terhadap ramalan dan meningkatkan kepekaan strategi terhadap titik-titik perubahan pasaran.
Integrasi analisis pelbagai kerangka masaAnalisis kadar turun naik dengan tempoh yang lebih lama, mengelakkan perdagangan berlawanan arah dengan arah trend utama. Sebagai contoh, anda boleh membuka kedudukan hanya dengan arah trend garis matahari, meningkatkan kadar kemenangan.
Mekanisme pengesahan jumlah transaksiMengintegrasikan analisis kuantiti transaksi ke dalam pengesahan isyarat penembusan, untuk mengesahkan bahawa penembusan adalah berkesan hanya jika jumlah transaksi meningkat dengan ketara, mengurangkan kerugian yang disebabkan oleh penembusan palsu.
Mekanisme penangguhan kerugian: Rasio tracking stop loss boleh dikaitkan dengan pergerakan kadar turun naik pasaran, menetapkan tracking stop loss yang lebih longgar dalam persekitaran turun naik yang tinggi, dan mengelakkan bunyi pasaran biasa.
Pengurusan wang yang lebih baik: Memperkenalkan modul pengurusan kedudukan dinamik, yang secara automatik menyesuaikan saiz kedudukan berdasarkan nilai bersih akaun, turun naik pasaran dan kekuatan isyarat perdagangan, mengimbangi risiko dan keuntungan.
Pembelajaran MesinPertimbangkan untuk menggunakan algoritma pembelajaran mesin untuk mengoptimumkan pemilihan parameter atau meningkatkan penilaian kualiti isyarat, menjadikan strategi lebih pintar untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.
Strategi kuantifikasi perdagangan terobosan berdasarkan teori Blake-Schulz dengan sistem pengoptimuman hentian kerugian adalah program perdagangan kuantifikasi yang menggabungkan teori kewangan dengan teknik perdagangan praktikal. Strategi ini menggunakan ketidaktentuan pasaran kuantifikasi saintifik, membina nilai transaksi secara dinamik, dan dilengkapi dengan mekanisme pengurusan risiko yang fleksibel, yang dapat menangkap peluang perdagangan yang dihasilkan oleh turun naik harga yang tidak normal dalam jangka pendek.
Kelebihan utama strategi ini adalah asas teori yang kukuh, adaptasi yang kuat dan pengurusan risiko yang sempurna, sangat sesuai untuk digunakan dalam persekitaran pasaran yang bergelombang. Walau bagaimanapun, pengguna perlu berjaga-jaga terhadap risiko yang berpotensi seperti penembusan palsu, sensitiviti parameter, dan dapat dioptimumkan melalui peningkatan pengiraan kadar turun naik, analisis jangka masa berbilang, pengesahan jumlah perdagangan.
Secara keseluruhannya, ini adalah strategi perdagangan kuantitatif yang direka dengan baik dan logik yang jelas, yang menunjukkan pemahaman yang mendalam tentang mekanisme operasi pasaran kewangan, dan mempunyai kepraktisan dan kemampuan yang kuat. Ini adalah kerangka strategi yang bernilai kajian dan aplikasi yang mendalam bagi pedagang kuantitatif yang akrab dengan teori pilihan dan mencari gaya perdagangan yang mantap.
/*backtest
start: 2024-11-06 00:00:00
end: 2024-11-13 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("black-scholes breakout with trailing stop", overlay=true, initial_capital=100000, currency=currency.USD, calc_on_order_fills=true, calc_on_every_tick=true)
// User Inputs
chartRes = input.int(title="Chart Timeframe in Minutes", defval=1, minval=1)
volLookback = input.int(title="Volatility Lookback (bars)", defval=20, minval=1)
stopLossPerc = input.float(title="Initial Stop Loss (%)", defval=1.0, minval=0.1, step=0.1)
trailingStopPerc = input.float(title="Trailing Stop (%)", defval=0.5, minval=0.1, step=0.1)
// Calculate periods per year based on chart timeframe
periodsPerYear = (252 * 390) / chartRes
// Calculate annualized volatility from log returns
logReturn = math.log(close / close[1])
volatility = ta.stdev(logReturn, volLookback) * math.sqrt(periodsPerYear)
expectedMove = close[1] * volatility * math.sqrt(1 / periodsPerYear)
// Define dynamic thresholds around previous close
upperThreshold = close[1] + expectedMove
lowerThreshold = close[1] - expectedMove
// Plot thresholds for visual reference
plot(upperThreshold, color=color.green, title="Upper Threshold")
plot(lowerThreshold, color=color.red, title="Lower Threshold")
// Trading Signals: breakout conditions
longCondition = close > upperThreshold
shortCondition = close < lowerThreshold
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
// Trailing Stop Risk Management using expected move for initial stop loss and a trailing stop
if (strategy.position_size > 0)
strategy.exit("Exit Long", from_entry="Long",
stop=close * (1 - stopLossPerc / 100),
trail_points=close * trailingStopPerc / 100)
if (strategy.position_size < 0)
strategy.exit("Exit Short", from_entry="Short",
stop=close * (1 + stopLossPerc / 100),
trail_points=close * trailingStopPerc / 100)