Strategi Quantum Berdasarkan Intercept Regresi Linear

Penulis:ChaoZhang, Tanggal: 2023-12-29 11:45:20
Tag:

img

Gambaran umum

Strategi ini menggunakan teknik regresi linier untuk menghitung intersepsi regresi linier dan menggunakannya sebagai sinyal perdagangan untuk membangun strategi perdagangan kuantitatif. Dengan menganalisis seri waktu harga saham, strategi ini sesuai dengan garis tren regresi linier dan menggunakan intersepsi regresi linier untuk menilai apakah harga terlalu dini atau terlalu dini, sehingga menghasilkan sinyal perdagangan.

Prinsip Strategi

Intercept regresi linier menunjukkan nilai yang diprediksi dari Y (biasanya harga) ketika nilai seri waktu X adalah 0. Strategi ini mengatur parameter Length, mengambil harga penutupan sebagai urutan sumber, dan menghitung intercept regresi linier (xLRI) dari hari-hari Length terbaru.

Rumus perhitungan spesifik adalah sebagai berikut:

xX = Length *(Length - 1)* 0.5
xDivisor = xX *xX - Length* Length *(Length - 1) *(2 * Length - 1) / 6  
xXY = Σ(i *Closing Price[i]), i from 0 to Length-1
xSlope = (Length *xXY - xX* Σ(Closing Price, Length))/ xDivisor 
xLRI = (Σ(Closing Price, Length) - xSlope * xX) / Length

Melalui perhitungan tersebut, garis regresi intercept xLRI untuk hari-hari Panjang terbaru dapat diperoleh.

Keuntungan

Strategi ini memiliki keuntungan berikut:

  1. Menggunakan teknik regresi linier, ia memiliki kemampuan prediksi dan penilaian tren tertentu untuk harga.
  2. Parameter yang lebih sedikit, model yang lebih sederhana, mudah dimengerti dan diterapkan.
  3. Parameter yang dapat disesuaikan Panjang untuk menyesuaikan fleksibilitas strategi.

Risiko dan Solusi

Strategi ini juga memiliki beberapa risiko:

  1. Fitting regresi linier hanyalah fitting statistik berdasarkan data historis, dengan kemampuan terbatas untuk memprediksi tren harga di masa depan.
  2. Jika dasar-dasar perusahaan mengalami perubahan besar, hasil penyesuaian regresi linier dapat menjadi tidak sah.
  3. Pengaturan parameter Length yang tidak benar dapat menyebabkan overfitting.

Pengendalian:

  1. Singkatkan parameter Length dengan tepat untuk mencegah overfitting.
  2. Perhatikan perubahan fundamental perusahaan dan campur tangan secara manual untuk menutup posisi jika perlu.
  3. Mengadopsi parameter adaptif Panjang untuk menyesuaikan secara dinamis sesuai dengan kondisi pasar.

Arahan Optimasi

Strategi ini juga dapat dioptimalkan dalam aspek berikut:

  1. Tambahkan mekanisme stop loss untuk mengendalikan kerugian tunggal.
  2. Gabungkan dengan indikator lain untuk membentuk strategi kombinasi untuk meningkatkan stabilitas.
  3. Tambahkan modul optimasi parameter adaptif untuk membuat perubahan parameter Panjang secara dinamis.
  4. Tambahkan modul kontrol posisi untuk mencegah perdagangan berlebihan.

Ringkasan

Strategi ini membangun strategi perdagangan kuantitatif sederhana berdasarkan intersepsi regresi linier. Secara keseluruhan, strategi ini memiliki beberapa nilai ekonomi, tetapi juga ada beberapa risiko yang perlu dicatat. Melalui optimalisasi terus-menerus, diharapkan dapat meningkatkan stabilitas dan profitabilitas strategi.


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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 21/03/2018
// Linear Regression Intercept is one of the indicators calculated by using the 
// Linear Regression technique. Linear regression indicates the value of the Y 
// (generally the price) when the value of X (the time series) is 0. Linear 
// Regression Intercept is used along with the Linear Regression Slope to create 
// the Linear Regression Line. The Linear Regression Intercept along with the Slope 
// creates the Regression line.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Line Regression Intercept Backtest", overlay = true)
Length = input(14, minval=1)
xSeria = input(title="Source", defval=close)
reverse = input(false, title="Trade reverse")
xX = Length * (Length - 1) * 0.5
xDivisor = xX * xX - Length * Length * (Length - 1) * (2 * Length - 1) / 6
xXY = 0
for i = 0 to Length-1
	xXY := xXY + (i * xSeria[i])
xSlope = (Length * xXY - xX * sum(xSeria, Length)) / xDivisor
xLRI = (sum(xSeria, Length) - xSlope * xX) / Length
pos = iff(close > xLRI, 1,
       iff(close < xLRI, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(xLRI, color=blue, title="LRI")

Lebih banyak