Indeks Kekuatan Relatif Strategi Quant jangka panjang

Penulis:ChaoZhang, Tarikh: 2024-02-05 13:51:01
Tag:

img

Ringkasan

Strategi ini dipanggil Relative Strength Index Long-term Quant Strategy, disingkat sebagai RSI Long-term Strategy. Dengan mengira purata bergerak julat kenaikan dan kejatuhan dalam tempoh tertentu, penunjuk teknikal RSI dibina dan garis overbought dan oversold ditetapkan untuk menilai masa pasaran. Apabila RSI lebih rendah daripada garis oversold yang ditetapkan, kedudukan panjang secara beransur-ansur dibina dalam tahan jangka panjang.

Prinsip Strategi

Indikator inti strategi ini adalah Indeks Kekuatan Relatif (RSI). Indikator RSI membandingkan peningkatan dan penurunan purata dalam tempoh masa untuk menentukan sama ada harga sekuriti semasa dinilai berlebihan atau dinilai rendah. Rumus penghitungannya adalah:

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

Di mana UP adalah amplitudo purata kenaikan harga penutupan dalam n hari terakhir; DOWN adalah amplitudo purata penurunan harga penutupan dalam n hari terakhir. Indeks berayun antara selang 0-100. Di atas 70 adalah zon overbought dan di bawah 30 adalah zon oversold.

Strategi ini menetapkan parameter RSI Length=14 untuk mengira RSI berdasarkan harga penutupan 14 hari. Dan menetapkan garis oversold Rsvalue=40, iaitu, RSI di bawah 40 ditentukan sebagai oversold. Apabila RSI hari di bawah 40, tetingkap beli dibuka, dan kedudukan secara beransur-ansur dibina di kawasan oversold, dan masa penutupan akhir ditetapkan untuk menjual selepas melebihi masa penutupan.

Analisis Kelebihan

Kelebihan terbesar strategi ini adalah bahawa dengan menggunakan penunjuk RSI untuk menentukan masa pasaran, penangkapan harga rendah diwujudkan. Apabila RSI di bawah 40, ia adalah keadaan oversold, yang bermaksud bahawa penurunan sebelumnya terlalu besar dan terdapat peluang untuk bangkit semula. Pada masa ini, secara beransur-ansur membina kedudukan untuk mendapatkan kos yang lebih baik. Apabila RSI di atas 70, ia berada dalam keadaan overbought, yang bermaksud bahawa pasaran mungkin telah memuncak dan kedudukan boleh dikurangkan.

Di samping itu, strategi ini menggunakan pendekatan pembinaan kedudukan secara beransur-ansur untuk mengurangkan risiko kemasukan tunggal. Jendela pembinaan berfungsi sebagai titik tinggi kedudukan, dan masa penutupan akhir berfungsi sebagai titik rendah kedudukan untuk mencapai pelaburan jangka panjang.

Analisis Risiko

Strategi ini terutamanya bergantung pada penunjuk teknikal RSI, yang mempunyai beberapa kelewatan. Terutama apabila pasaran berubah secara tiba-tiba, RSI mungkin tidak dapat bertindak balas tepat pada masanya. Pada masa ini, dengan buta mengikuti penunjuk RSI untuk membina kedudukan boleh mengakibatkan keuntungan yang terhad atau peningkatan kerugian.

Di samping itu, strategi ini menyediakan isyarat perdagangan probabilistik. Walaupun RSI di bawah 40, ia tidak bermakna bahawa terdapat peluang 100% untuk rebound. Kemungkinan bahawa harga akan mencapai tahap terendah baru selepas membina kedudukan juga wujud. Pada ketika ini, strategi stop loss yang baik diperlukan untuk mengawal kerugian maksimum.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan dalam bidang berikut:

  1. Menggabungkan beberapa saham untuk perdagangan portfolio. Saham tunggal lebih mudah terjejas oleh peristiwa tertentu, manakala portfolio boleh mempelbagaikan risiko saham individu.

  2. Tambah strategi stop loss untuk mengawal risiko lebih lanjut. Sebagai contoh, tambah stop loss trailing untuk keluar stop loss apabila harga terus turun.

  3. Mengoptimumkan strategi pembinaan kedudukan. Sebagai contoh, gunakan harga purata berwajaran masa untuk pembinaan kedudukan secara beransur-ansur dalam selang lebih, dan bukannya penubuhan kedudukan penuh.

  4. Gabungkan dengan penunjuk lain untuk menapis isyarat, seperti penunjuk momentum, purata bergerak, dan lain-lain, untuk mengelakkan mengikuti RSI secara buta.

Ringkasan

Strategi ini menentukan kawasan overbought dan oversold dengan membina penunjuk RSI, secara beransur-ansur menubuhkan kedudukan panjang di kawasan oversold, dan menetapkan masa penutupan akhir untuk mencapai pegangan jangka panjang. Berbanding dengan perdagangan jangka pendek, strategi ini lebih sesuai sebagai alat pelaburan kuantitatif jangka panjang. Kelebihannya terletak pada menangkap harga yang rendah dan mengawal kos, sementara risiko terletak pada kelewatan penunjuk dan salah arah isyarat. Pada masa akan datang, ia boleh ditingkatkan dalam banyak cara seperti pengoptimuman portfolio, strategi hentian kerugian, pengoptimuman bangunan kedudukan.


/*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")




Lebih lanjut