Strategi kuantitatif jangka panjang berdasarkan RSI


Tanggal Pembuatan: 2024-02-05 13:51:01 Akhirnya memodifikasi: 2024-02-05 13:51:01
menyalin: 0 Jumlah klik: 674
1
fokus pada
1617
Pengikut

Strategi kuantitatif jangka panjang berdasarkan RSI

Ringkasan

Strategi ini disebut strategi kuantitatif RSI. Strategi ini dibangun dengan menghitung rata-rata bergerak kenaikan dan penurunan harga dalam periode tertentu, membangun indikator teknis RSI, dan menetapkan batas overbought dan oversold untuk menilai kapan situasi berjalan.

Prinsip Strategi

Indikator RSI membandingkan kenaikan rata-rata dan penurunan rata-rata dalam jangka waktu tertentu untuk menentukan apakah harga sekuritas saat ini terlalu tinggi atau terlalu rendah. Rumusnya adalah:

RSI = 100 - 100 / (1 + UP / DOWN)

Di antaranya, UP adalah rata-rata kenaikan harga penutupan dalam n hari terakhir; DOWN adalah rata-rata penurunan harga penutupan dalam n hari terakhir. Indikator bergoyang dalam kisaran 0-100; lebih dari 70 adalah zona overbought, dan di bawah 30 adalah zona oversold.

Strategi ini menetapkan parameter RSI Length = 14, RSI dihitung berdasarkan harga penutupan 14 hari. Dan menetapkan rasio oversold Rsvalue = 40, RSI di bawah 40 dinilai sebagai oversold. Ketika RSI di bawah 40 pada hari itu, buka jendela beli, ambil langkah demi langkah strategi untuk membangun posisi, beli secara bertahap di zona oversold, dan atur waktu posisi terakhir, setelah melewati waktu posisi kosong, semuanya terjual.

Analisis Keunggulan

Keuntungan terbesar dari strategi ini adalah bahwa, dengan indikator RSI menilai pasar saat, untuk menangkap harga rendah. RSI di bawah 40 adalah keadaan oversold, mewakili penurunan di awal terlalu besar, ada kesempatan untuk rebound, maka Anda dapat secara bertahap membangun posisi, untuk mendapatkan biaya yang lebih baik.

Selain itu, strategi untuk mengambil langkah demi langkah membangun posisi, dapat mengurangi risiko yang dibawa oleh satu entri. Membangun jendela penyimpanan sebagai titik tinggi penyimpanan, dan akhirnya waktu posisi kosong sebagai titik rendah penyimpanan, mencapai investasi panjang.

Analisis risiko

Strategi ini terutama bergantung pada indikator teknis RSI, ada beberapa keterlambatan. Terutama ketika pasar berubah tiba-tiba, RSI mungkin tidak bereaksi dengan cepat.

Selain itu, strategi yang diberikan adalah sinyal perdagangan probabilistic. Bahkan jika RSI di bawah 40, tidak berarti bahwa ada kesempatan 100% untuk rebound.

Arah optimasi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Menggabungkan beberapa saham, melakukan perdagangan dalam portofolio. Saham tunggal mudah terpengaruh oleh peristiwa tertentu, dan portofolio dapat menyebarkan risiko saham individu.

  2. Termasuk strategi stop loss untuk mengontrol risiko lebih lanjut. Misalnya, dengan menambahkan tracking stop loss, stop loss exit jika harga terus turun.

  3. Strategi optimasi untuk membangun gudang, seperti membangun gudang secara bertahap pada periode oversold dengan menggunakan harga rata-rata tertimbang waktu, bukan membangun gudang secara keseluruhan.

  4. Ini juga dapat digunakan untuk memfilter sinyal dari indikator lain, seperti indikator energi, moving average, dan lain-lain, untuk menghindari RSI yang mengikuti secara membabi buta.

Meringkaskan

Strategi ini lebih cocok sebagai instrumen investasi kuantitatif untuk jangka panjang dibandingkan dengan perdagangan garis pendek. Keuntungannya adalah menangkap harga rendah dan pengendalian biaya, sedangkan risikonya adalah keterlambatan indikator dan kesalahan sinyal. Di masa depan, ini dapat ditingkatkan dengan berbagai cara, seperti pengoptimalan kombinasi, strategi stop loss, dan pengoptimalan posisi.

Kode Sumber Strategi
/*backtest
start: 2024-01-28 00:00:00
end: 2024-02-04 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Relative Strength Index", shorttitle="RSI")
len = input(14, minval=1, title="Length")
src = input(close, "Source", type = input.source)
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi, "RSI", color=#8E1599)
band1 = hline(70, "Upper Band", color=#C0C0C0)
band0 = hline(30, "Lower Band", color=#C0C0C0)
fill(band1, band0, color=#9915FF, title="Background")
Rsvalue = input(defval = 40, title = "RSvalue", minval = 20, maxval = 75)


FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2015, title = "From Year", minval = 999)
ToMonth   = input(defval = 3, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 2022, title = "To Year", minval = 999)
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)
booking   = timestamp(ToYear, ToMonth, ToDay, 23, 59)

window()  => time >= start and time <= finish ? true : false
endtrade() => time >= booking ? true : false


longCondition = rsi< Rsvalue

if (longCondition)
    strategy.entry("BUY", strategy.long)
    strategy.close("BUY")