Reversal dan Linear Regression Intercept Combo Strategy

Penulis:ChaoZhang, Tanggal: 2023-09-26 15:56:48
Tag:

Gambaran umum

Strategi ini menggabungkan strategi pembalikan 123 dan strategi intersepsi regresi linier untuk menerapkan strategi perdagangan kombo yang didorong oleh banyak faktor. Strategi pembalikan 123 menilai hubungan harga antara dua hari perdagangan terakhir dan menggabungkan indikator Stoch untuk menentukan sinyal pembalikan. Strategi intersepsi regresi linier menggunakan analisis regresi linier untuk menilai hubungan antara harga dan garis tren dan menghasilkan sinyal perdagangan. Kedua strategi saling memverifikasi dan dapat secara efektif menyaring sinyal palsu.

Prinsip Strategi

123 Strategi Pembalikan

Strategi ini didasarkan pada prinsip-prinsip berikut:

  1. Jika hubungan harga penutupan antara dua hari perdagangan terakhir adalah harga penutupan hari ini lebih tinggi dari kemarin, dan garis cepat Stoch lebih rendah dari garis lambat, dianggap bahwa ada sinyal pembalikan bullish

  2. Jika hubungan harga penutupan antara dua hari perdagangan terakhir adalah harga penutupan hari ini lebih rendah dari kemarin, dan garis cepat Stoch lebih tinggi dari garis lambat, dianggap bahwa ada sinyal pembalikan menurun

Peraturan pengadilan adalah sebagai berikut:

  • Jika harga penutupan hari ini > harga penutupan kemarin dan garis cepat Stoch < garis lambat Stoch dan garis cepat Stoch > parameter yang ditetapkan, menghasilkan sinyal beli

  • Jika harga penutupan hari ini < harga penutupan kemarin dan garis cepat Stoch > garis lambat Stoch dan garis cepat Stoch < parameter set, menghasilkan sinyal jual

Strategi ini perlu menetapkan parameter indikator Stoch, termasuk: K panjang siklus garis untuk perhitungan Stoch, siklus smoothing KS smoothing untuk Stoch garis cepat, siklus smoothing DLength untuk Stoch garis lambat, ambang Tingkat untuk Stoch fast line judgment.

Strategi Intercept Regresi Linear

Strategi ini didasarkan pada analisis regresi linier untuk menilai hubungan antara harga dan garis tren regresi linier.

  • Jika harga penutupan lebih besar dari retresi linier intercept, sinyal beli dihasilkan

  • Jika harga penutupan kurang dari retresi linier intercept, sinyal jual dihasilkan

Strategi perlu mengatur siklus regresi linier LengthLRI dan sumber data input regresi linier xSeria.

Strategi Kombo

Strategi combo membutuhkan sinyal beli/jual secara bersamaan dari kedua strategi pembalikan 123 dan strategi intersepsi regresi linier untuk menghasilkan pesanan perdagangan yang sebenarnya, yang secara efektif menyaring sinyal palsu dan meningkatkan kinerja perdagangan.

Analisis Keuntungan

Strategi ini memiliki keuntungan berikut:

  1. Diarahkan oleh beberapa faktor, secara efektif menyaring sinyal palsu dan meningkatkan kualitas sinyal

Kombinasi dari dua jenis strategi yang berbeda membutuhkan sinyal dari kedua strategi untuk benar-benar menempatkan pesanan. mekanisme verifikasi multi-faktor ini dapat menyaring sinyal yang salah sesekali dari strategi, mengurangi perdagangan yang tidak perlu, dan secara efektif meningkatkan kualitas sinyal.

  1. Pemantauan real-time hubungan harga dan tren menghindari terjebak

Intercept regresi linier dapat mencerminkan hubungan antara harga dan garis tren secara real time. Jika harga menyimpang secara signifikan dari tren, ini akan segera mendorong strategi untuk menyesuaikan arah posisi. Hal ini memungkinkan stop loss yang tepat waktu dan menghindari terjebak dalam tren historis.

  1. Mempertimbangkan peluang perdagangan untuk tren dan pembalikan

Strategi regresi linier lebih baik dalam mengidentifikasi titik beli dan jual tren. sedangkan strategi pembalikan 123 berfokus pada mengidentifikasi titik pembalikan. kedua strategi dapat menggabungkan keuntungan dari perdagangan tren dan perdagangan pembalikan.

  1. Optimasi parameter yang dapat disesuaikan dari strategi

Kedua strategi menyediakan parameter tertentu untuk kustomisasi, yang dapat dioptimalkan untuk berbagai varietas dan tren yang berbeda untuk mengoptimalkan efek dari strategi gabungan.

Analisis Risiko

Strategi ini juga memiliki risiko berikut:

  1. Pengemudi multi-faktor mungkin kehilangan beberapa kesempatan

Kebutuhan untuk memenuhi sinyal perdagangan dari kedua strategi akan kehilangan beberapa peluang yang dapat menguntungkan hanya mengandalkan satu strategi. Jika satu strategi melemah, itu akan menyeret kinerja perdagangan secara keseluruhan.

  1. Regresi linier memiliki lag

Regresi linier membutuhkan beberapa data historis untuk perhitungan dan tidak dapat merespons secara real time terhadap peristiwa tiba-tiba, yang mengakibatkan beberapa keterlambatan.

  1. Optimasi parameter yang wajar diperlukan

Kedua strategi memerlukan pemilihan parameter yang tepat, yang mungkin perlu disesuaikan secara independen untuk beberapa varietas.

Risiko dapat dikurangi dengan metode berikut:

  1. Sesuai relaksasi sinyal combo memicu kondisi untuk mencegah kehilangan terlalu banyak kesempatan

  2. Menggabungkan indikator tren untuk menggantikan regresi linier untuk mendapatkan lebih banyak penilaian tren real-time

  3. Menggunakan metode pembelajaran mesin untuk membantu optimasi parameter dan meningkatkan pemilihan parameter

Arahan Optimasi

Strategi dapat dioptimalkan lebih lanjut dengan cara berikut:

  1. Menggunakan metode pembelajaran mesin untuk optimasi parameter

Mengumpulkan data historis, tujuan optimasi parameter desain, dan menggunakan algoritma pembelajaran mesin seperti algoritma genetik dan optimasi Bayesian untuk mencari kombinasi parameter terbaik.

  1. Tambahkan mekanisme stop loss

Aturan stop-loss dapat ditetapkan berdasarkan ATR, indikator tren, dll untuk mengontrol kerugian maksimum per perdagangan.

  1. Mengoptimalkan masuk dan keluar logika

Kondisi tambahan seperti filter rata-rata bergerak dan Bollinger Bands dapat ditambahkan berdasarkan sinyal perdagangan untuk mengurangi frekuensi penyesuaian posisi dan menghindari terjebak.

  1. Menggabungkan analisis sentimen

Menggunakan teknik pemrosesan bahasa alami untuk menentukan sentimen peserta pasar dan membantu dalam keputusan perdagangan.

  1. Tambahkan modul prediksi pembelajaran mesin

Gunakan model pembelajaran mendalam seperti LSTM dan GRU untuk memprediksi harga sebagai referensi penting untuk keputusan strategi.

Ringkasan

Strategi ini menggabungkan strategi pembalikan 123 dan strategi intersepsi regresi linier untuk menerapkan perdagangan kuantitatif yang didorong oleh multi-faktor. Mekanisme verifikasi dapat secara efektif menyaring sinyal palsu dan menangkap peluang perdagangan pembalikan dan tren. Tetapi ada juga risiko lag tertentu dalam strategi yang membutuhkan perhatian pada optimasi parameter dan perluasan mekanisme pengendalian risiko untuk meningkatkan stabilitas strategi. Menggabungkan pembelajaran mesin dan teknologi lain untuk optimasi parameter dan perluasan fitur adalah arah optimasi lebih lanjut yang bermanfaat untuk strategi untuk dijelajahi.


/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-19 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 25/01/2021
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// 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.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

LRI(Length,xSeria) =>
    pos = 0.0
    xX = Length * (Length - 1) * 0.5
    xDivisor = xX * xX - Length * Length * (Length - 1) * (2 * Length - 1) / 6
    xXY = 0.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))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Line Regression Intercept", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Line Regression Intercept ----")
LengthLRI = input(14, minval=1)
xSeria = input(title="Source", type=input.source, defval=close)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posLRI = LRI(LengthLRI,xSeria)
pos = iff(posReversal123 == 1 and posLRI == 1 , 1,
	   iff(posReversal123 == -1 and posLRI == -1, -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)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

Lebih banyak