Strategi Mengikuti Tren Indeks Momentum


Tanggal Pembuatan: 2023-12-05 15:13:25 Akhirnya memodifikasi: 2023-12-05 15:13:25
menyalin: 0 Jumlah klik: 681
1
fokus pada
1619
Pengikut

Strategi Mengikuti Tren Indeks Momentum

Ringkasan

Ini adalah strategi trend-following indeks ETF yang bergerak berdasarkan rata-rata bergerak. Ini menggunakan persilangan arah dan kecenderungan rata-rata bergerak cepat dan rata-rata bergerak lambat untuk menentukan arah tren, untuk mencapai trend-following indeks ETF yang bergerak dengan risiko rendah.

Prinsip Strategi

Strategi ini menggunakan moving average 50 periode dan 150 periode. Ketika bergerak cepat di atas rata-rata bergerak cepat, dan rata-rata bergerak cepat memiliki kemiringan yang lebih besar dari titik terendah, maka trend akan bergeser, dan jika bergerak lambat di bawah rata-rata bergerak cepat, atau rata-rata bergerak cepat memiliki kemiringan yang lebih kecil dari titik terendah, maka trend akan berbalik dan posisi akan merata.

Strategi ini sederhana dan langsung menggunakan arah dan kemiringan rata-rata bergerak untuk menilai tren pasar, menghindari kurva fit, dan mengendalikan risiko secara efektif. Sementara itu, rata-rata bergerak secara alami memiliki sifat yang tidak berisik dan dapat secara efektif menyaring kebisingan pasar.

Analisis Keunggulan

Ini adalah indeks ETF berisiko rendah dengan strategi trend-following dinamis dengan keuntungan sebagai berikut:

  1. Kekuatan pengendalian risiko yang kuat. Pengendalian risiko yang efektif dengan memfilter kebisingan pasar dengan moving average.
  2. Biaya implementasi rendah. Hanya menggunakan rata-rata bergerak sederhana, implementasi biaya rendah dan mudah diterapkan.
  3. Hasil stabil. Indeks ETF sendiri berfluktuasi kecil, dan mengikuti tren, dapat memperoleh keuntungan ekstra yang stabil.
  4. Adaptif. Ada banyak parameter yang dapat disesuaikan dan dapat dioptimalkan untuk berbagai indeks ETF.

Analisis risiko

Strategi ini juga memiliki beberapa risiko:

  1. Mungkin terlewatkan fast reversal. Menggunakan moving average untuk menilai trend, mungkin terlewatkan fast reversal.
  2. Sensitif terhadap parameter. Jika parameter tidak disetel dengan benar, mungkin akan menyebabkan terlalu banyak transaksi atau kehilangan peluang.
  3. Efeknya tergantung pada perubahan kondisi pasar.

Solusi yang sesuai:

  1. Dalam kombinasi dengan indikator lain, penilaian cepat berbalik.
  2. Optimalisasi parameter untuk pengujian
  3. Parameter yang disesuaikan dengan dinamika lingkungan pasar.

Arah optimasi

Strategi ini juga dapat dioptimalkan dalam beberapa hal:

  1. Menggunakan MACD, KD, dan lain-lain untuk meningkatkan efektivitas strategi.
  2. Menambahkan logika stop loss untuk mengontrol risiko lebih lanjut.
  3. Optimalkan parameter periodik moving average untuk lebih banyak indeks ETF.
  4. Parameter penyesuaian dinamis, beradaptasi dengan perubahan lingkungan pasar.

Meringkaskan

Strategi ini adalah strategi yang rendah risiko, mudah untuk menerapkan indeks ETF kuantitatif yang bergerak mengikuti tren. Ini menggunakan arah tren cross-determinasi rata-rata bergerak, memiliki kekuatan kontrol risiko yang kuat, untuk mencapai biaya rendah, stabilitas pendapatan dan lain-lain. Strategi ini juga memiliki beberapa kekurangan, tetapi dapat lebih dioptimalkan dengan berbagai cara, sehingga menjadi alat yang efektif untuk penempatan aset indeks ETF.

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

//@version=4
//please use on daily SPY, or other indexes only
strategy("50-150 INDEX TREND FOLLOWING", overlay=true)

//user input
fastSMA = input(title="Fast Moving Average (Int)",type=input.integer,minval=1,maxval=1000,step=1,defval=50,confirm=false)
slowSMA = input(title="Slow Moving Average (Int)",type=input.integer,minval=1,maxval=1000,step=1,defval=150,confirm=false)
longSlopeThreshold = input(title="Bullish Slope Angle (Deg)",type=input.integer,minval=-90,maxval=90,step=1,defval=5,confirm=false)
shortSlopeThreshold = input(title="Bearish Slope Angle (Deg)",type=input.integer,minval=-90,maxval=90,step=1,defval=-5,confirm=false)
atrValue = input(title="Average True Range (Int)",type=input.integer,minval=1,maxval=100,step=1,defval=14,confirm=false)
risk = input(title="Risk (%)",type=input.integer,minval=1,maxval=100,step=1,defval=100,confirm=false)

//create indicator
shortSMA = sma(close, fastSMA)
longSMA = sma(close, slowSMA)

//calculate ma slope
angle(_source) =>
    rad2degree=180/3.14159265359
    ang=rad2degree*atan((_source[0] - _source[1])/atr(atrValue)) 

shortSlope=angle(shortSMA)
longSlope=angle(longSMA)

//specify crossover conditions
longCondition = (crossover(shortSMA, longSMA) and (shortSlope > longSlopeThreshold)) or ((close > shortSMA) and (shortSMA > longSMA) and (shortSlope > longSlopeThreshold))
exitCondition = crossunder(shortSMA, longSMA) or (shortSlope < shortSlopeThreshold)
strategy.initial_capital = 50000
//units to buy
amount = (risk / 100) * (strategy.initial_capital + strategy.netprofit)
units = floor(amount / close)

//long trade
if (longCondition and strategy.position_size == 0)
    strategy.order("Long", strategy.long, units)

//close long trade
if (exitCondition and strategy.position_size > 0)
    strategy.order("Exit", strategy.short, strategy.position_size)

// Plot Moving Average's to chart
plot(shortSMA, color=color.blue)
plot(longSMA, color=color.green)