Strategi momentum kuantitatif berdasarkan momen tekanan LazyBear


Tanggal Pembuatan: 2023-12-21 14:22:49 Akhirnya memodifikasi: 2023-12-21 14:22:49
menyalin: 0 Jumlah klik: 926
1
fokus pada
1621
Pengikut

Strategi momentum kuantitatif berdasarkan momen tekanan LazyBear

Ringkasan

Strategi ini didasarkan pada indikator Squeeze Momentum dari LazyBear, yang menganalisis waktu pembelian dan penjualan. Strategi ini menggunakan analisis momentum untuk membalikkan titik tren, posisi tinggi dan rendah, sebagai sinyal jual dan beli. Karena ini adalah strategi multitasking, indeks bergerak rata-rata 50 siklus juga dipertimbangkan untuk mengidentifikasi tren naik.

Prinsip Strategi

Strategi ini menggabungkan indikator Brin Belt dan indikator Keltner Channel untuk mengidentifikasi zona tren dan tekanan. Secara khusus, ia menghitung zona Brin dengan 20 siklus, serta orbit atas dan bawah saluran Keltner dengan 20 siklus. Ketika zona Brin benar-benar jatuh ke dalam saluran Keltner, itu dianggap sebagai sinyal ekses.

Selain itu, strategi ini juga menggunakan analisis regresi linier untuk menganalisis perubahan tren dan slippage. Strategi ini menghitung nilai regresi linier dari harga selama 20 siklus terakhir yang dikurangi dengan harga khas. Ketika nilai regresi linier memiliki slippage positif, maka dianggap sebagai tren naik; Ketika slippage negatif, maka dianggap sebagai tren menurun.

Untuk memfilter sinyal palsu, strategi ini juga menilai apakah harga close out lebih tinggi dari rata-rata bergerak indeks 50 hari, dan apakah rata-rata bergerak indeks 50 hari sedang naik. Hanya jika kedua kondisi ini terpenuhi bersama, sinyal beli akan dijalankan.

Analisis Keunggulan Strategi

Ini adalah strategi yang sangat cerdas, yang menggunakan dua jenis indikator yang berbeda untuk menilai pasar secara multi-dimensi, yang dapat secara efektif menghindari sinyal palsu. Secara khusus, ini memiliki beberapa keuntungan:

  1. Penggunaan komprehensif dari Brin Belt, Keltner Channel, dan Momentum Indicator untuk melakukan analisis multi-dimensi, meningkatkan akurasi penilaian.

  2. Interval squeeze dapat secara efektif mengidentifikasi titik tinggi dan rendah dari reversal momentum, menangkap pergeseran dengan tepat.

  3. Filter tren berdasarkan harga penutupan dan indeks bergerak rata-rata 50 hari dapat menghindari pembukaan posisi berulang dalam penutupan.

  4. Sinyal yang hanya diekspresikan pada kisaran yang tepat akan mengurangi sinyal palsu dan meningkatkan probabilitas keuntungan.

  5. Ada banyak ruang untuk mengoptimalkan parameter kebijakan ini, yang dapat dioptimalkan secara bertarget dengan parameter seperti penyesuaian siklus.

  6. Hal ini dilakukan dengan mempertimbangkan trend siklus besar, dan juga indikator jangka pendek dan menengah.

Analisis risiko

Meskipun strategi Nonfarming menilai beberapa indikator teknis, ada beberapa risiko:

  1. Pada saat Brin Belt dan Keltner Channel beredar, peluang jual beli akan terlewatkan.

  2. “Kalau terjadi kecelakaan, maka strategi akan mengalami kerugian lebih besar”.

  3. Dalam situasi yang bergejolak, ekses mungkin tidak terlihat dan sinyalnya kurang.

  4. Jika Anda melakukan transfer, Anda akan mengalami kerugian yang sangat besar.

Untuk menghindari risiko ini, kita bisa melakukan hal-hal berikut:

  1. Optimalkan parameter agar jalur Brin dan Keltner sinkron.

  2. Tetapkan Stop Loss Line untuk Mengontrol Kerugian Tunggal

  3. Menggunakan strategi ini sebagai bagian dari strategi kombinasi dan digunakan bersama dengan strategi lainnya.

  4. Dalam situasi volatilitas tinggi, posisi harus dikurangi.

Arah optimasi

Strategi ini masih memiliki ruang untuk pengoptimalan yang lebih besar, dengan fokus pada:

  1. Optimalkan siklus panjang Brin Belt dan Keltner Channel agar mereka selaras mungkin.

  2. Uji faktor perkalian yang berbeda untuk mencari kombinasi parameter yang optimal.

  3. Cobalah untuk menambahkan indikator lain untuk konfirmasi, seperti RSI dan sebagainya.

  4. Strategi ini digunakan secara selektif untuk menilai tahap pasar berdasarkan model-model seperti garis warna.

  5. Parameter pengoptimalan dinamis menggunakan metode seperti pembelajaran mesin.

  6. Mengidentifikasi varian mata uang yang berbeda dan mencari varian yang paling cocok untuk diperdagangkan.

  7. Menjelajahi bagaimana strategi ini bekerja pada periode yang lebih panjang (hari, bulan, dan lain-lain).

Meringkaskan

LazyBear tekanan momentum kuantitatif strategi dinamika menggunakan berbagai indikator teknis, identifikasi dengan tepat dinamika pergeseran dalam zona ekses untuk perdagangan, menghindari sering membuka posisi di non-trend. Ia secara sistematis mendefinisikan kuantitatif membeli dan menjual aturan, kinerja yang sangat baik dalam pengukuran ulang. Dengan mengoptimalkan parameter pengaturan, memperkenalkan indikator penilaian baru dan lain-lain, strategi ini juga memiliki banyak ruang untuk perbaikan, yang layak untuk diperiksa dan diterapkan oleh pedagang kuantitatif.

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

//@version=4

//
// @author LazyBear 
// List of all my indicators: https://www.tradingview.com/v/4IneGo8h/
//
initialBalance = 8000

strategy("Crypto momentum strategy", overlay=false)


length = input(20, title="BB Length")
mult = input(2.0, title="BB MultFactor")
lengthKC = input(20, title="KC Length")
multKC = input(1.5, title="KC MultFactor")

useTrueRange = input(true, title="Use TrueRange (KC)", type=input.bool)

// Calculate BB
source = close
basis = sma(source, length)
ema = ema(source, 50)
dev = multKC * stdev(source, length)
upperBB = basis + dev
lowerBB = basis - dev

// Calculate KC
ma = sma(source, lengthKC)
range = useTrueRange ? tr : high - low
rangema = sma(range, lengthKC)
upperKC = ma + rangema * multKC
lowerKC = ma - rangema * multKC

sqzOn = lowerBB > lowerKC and upperBB < upperKC
sqzOff = lowerBB < lowerKC and upperBB > upperKC
noSqz = sqzOn == false and sqzOff == false

val = linreg(source - avg(avg(highest(high, lengthKC), lowest(low, lengthKC)), sma(close, lengthKC)), lengthKC, 0)

slope = (val - val[2])
emaSlope = (ema - ema[1])


bcolor = iff(slope > 0, color.lime, color.red)
scolor = noSqz ? color.green : sqzOn ? color.black : color.green
squeeze = (noSqz ? 0 : sqzOn ? 1 : 0)

plot(val, color=color.gray, style=plot.style_line, linewidth=1, title="momentum")
plot(slope, color=bcolor, style=plot.style_circles, linewidth=2, title="slope")
plot(0, color=scolor, style=plot.style_line, linewidth=2, title="squeeze-zero")

co = crossover(slope / abs(slope), 0)
cu = crossunder(slope / abs(slope), 0)

if co and source > ema and emaSlope > 0
    strategy.entry("long", strategy.long, comment="long")
if cu
    strategy.close("long")