Sumber daya yang dimuat... Pemuatan...

Strategi pengembalian rata-rata

Penulis:ChaoZhang, Tanggal: 2024-06-17 14:57:59
Tag:SMADEVMA

img

Gambaran umum

Strategi ini didasarkan pada prinsip reversi rata-rata, menggunakan penyimpangan harga dari rata-rata bergerak untuk membuat keputusan perdagangan. Ia pergi pendek ketika harga menyimpang di atas band atas dan pergi panjang ketika menyimpang di bawah band bawah. Posisi ditutup ketika harga kembali ke rata-rata bergerak. Asumsi inti dari strategi ini adalah bahwa harga akan selalu kembali ke tingkat rata-rata.

Prinsip Strategi

  1. Menghitung rata-rata bergerak sederhana (SMA) dari periode tertentu (default 20) sebagai tingkat harga rata-rata.
  2. Menghitung standar deviasi (DEV) harga dan menggunakannya untuk membangun band atas dan bawah. Band atas adalah SMA ditambah kelipatan (default 1.5) dari standar deviasi, dan band bawah adalah SMA dikurangi kelipatan standar deviasi.
  3. Pergi short saat harga melintas di atas band atas, dan pergi panjang saat melintas di bawah band bawah.
  4. Tutup posisi panjang ketika harga melintasi SMA, dan tutup posisi pendek ketika harga melintasi SMA.
  5. Tandai rata-rata bergerak, band atas, band bawah, dan sinyal beli/jual pada grafik.

Analisis Keuntungan

  1. Strategi reversi rata-rata didasarkan pada prinsip statistik bahwa harga selalu kembali ke rata-rata, yang memiliki probabilitas keuntungannya dalam jangka panjang.
  2. Pengaturan band atas dan bawah memberikan titik masuk dan keluar yang jelas, yang nyaman untuk pelaksanaan dan manajemen.
  3. Logika strategi sederhana dan jelas, mudah dimengerti dan diterapkan.
  4. Ini cocok untuk instrumen dan kerangka waktu yang menunjukkan karakteristik pembalikan rata-rata yang jelas.

Analisis Risiko

  1. Ketika tren pasar berubah, harga dapat menyimpang dari rata-rata untuk waktu yang lama tanpa kembali, menyebabkan strategi gagal.
  2. Pengaturan kelipatan standar deviasi yang tidak benar dapat menyebabkan frekuensi perdagangan yang terlalu tinggi atau terlalu rendah, yang mempengaruhi hasil.
  3. Dalam kondisi pasar yang ekstrim, fluktuasi harga dapat menjadi ganas, dan band atas dan bawah dapat kehilangan efektivitasnya.
  4. Jika instrumen atau kerangka waktu tidak memiliki karakteristik pembalikan rata-rata, strategi mungkin tidak menguntungkan.

Arahan Optimasi

  1. Melakukan tes optimasi pada periode SMA dan kelipatan standar deviasi untuk menemukan parameter terbaik.
  2. Memperkenalkan indikator penilaian tren untuk menghindari perdagangan kontra-tren ketika tren jelas.
  3. Tambahkan indikator volatilitas seperti ATR di samping standar deviasi untuk membangun band dinamis.
  4. Pertimbangkan biaya perdagangan seperti slippage dan komisi untuk mengontrol keaslian backtesting.
  5. Tambahkan modul kontrol risiko, seperti stop-loss, take-profit, dan manajemen posisi.

Ringkasan

Strategi reversi rata-rata adalah strategi perdagangan kuantitatif berdasarkan prinsip statistik, yang membuat keputusan perdagangan dengan membangun band atas dan bawah di sekitar harga rata-rata. Strategi ini memiliki logika sederhana dan eksekusi yang jelas, tetapi perhatian harus diberikan pada pemilihan instrumen dan pengoptimalan parameter. Dalam penerapan praktis, faktor-faktor seperti tren, biaya perdagangan, dan pengendalian risiko juga perlu dipertimbangkan untuk meningkatkan ketahanan dan profitabilitas strategi. Secara umum, strategi reversi rata-rata adalah hal yang umum dan layak dipelajari secara mendalam di bidang perdagangan kuantitatif.


/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Mean Regression Strategy", overlay=true)

// Define the lookback period for the moving average
length = input.int(20, title="Moving Average Length")
mult = input.float(1.5, title="Standard Deviation Multiplier")

// Calculate the moving average and standard deviation
ma = ta.sma(close, length)
dev = mult * ta.stdev(close, length)

// Calculate upper and lower bands
upper_band = ma + dev
lower_band = ma - dev

// Plot the moving average and bands
plot(ma, color=color.blue, linewidth=2, title="Moving Average")
plot(upper_band, color=color.red, linewidth=2, title="Upper Band")
plot(lower_band, color=color.green, linewidth=2, title="Lower Band")

// Entry conditions
long_condition = ta.crossover(close, lower_band)
short_condition = ta.crossunder(close, upper_band)

// Exit conditions
exit_long_condition = ta.crossunder(close, ma)
exit_short_condition = ta.crossover(close, ma)

// Strategy orders
if (long_condition)
    strategy.entry("Long", strategy.long)
if (short_condition)
    strategy.entry("Short", strategy.short)

if (exit_long_condition)
    strategy.close("Long")
if (exit_short_condition)
    strategy.close("Short")

// Plot signals on the chart
plotshape(series=long_condition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal")
plotshape(series=short_condition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal")


Berkaitan

Lebih banyak