Strategi Kombinasi Pembalikan dan Intersep Regresi Linier


Tanggal Pembuatan: 2023-09-26 15:56:48 Akhirnya memodifikasi: 2023-09-26 15:56:48
menyalin: 1 Jumlah klik: 703
1
fokus pada
1617
Pengikut

Ringkasan

Strategi ini menggunakan kombinasi strategi 123 reversal dan strategi linear regression intersection, untuk mencapai strategi perdagangan kombinasi yang didorong oleh banyak faktor. Strategi 123 reversal menilai hubungan harga dua hari perdagangan terakhir, digabungkan dengan indikator Stoch untuk menilai sinyal reversal. Strategi linear regression intersection menggunakan analisis regresi linier untuk menilai hubungan harga dengan garis tren, menghasilkan perdagangan.

Prinsip Strategi

123 Strategi Pembalikan

Strategi ini didasarkan pada prinsip-prinsip berikut:

  1. Jika hubungan harga penutupan dua hari terakhir adalah harga penutupan hari ini lebih tinggi dari kemarin, dan garis cepat Stoch lebih rendah dari garis lambat, maka ada sinyal reversal bullish

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

Aturan penilaian adalah sebagai berikut:

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

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

Strategi ini memerlukan pengaturan parameter indikator Stoch, termasuk: menghitung siklus K-line Length Stoch, siklus kelancaran garis cepat Stoch K-Smoothing, siklus kelancaran garis lambat Stoch D-Length, dan tingkat penilaian garis cepat Stoch.

Strategi regresi linear

Strategi ini didasarkan pada analisis regresi linier untuk menentukan hubungan harga dengan garis tren regresi linier, dengan aturan sebagai berikut:

  • Jika harga penutupan lebih besar dari batas batas regresi linier, maka akan ada sinyal beli

  • Jika harga close out lebih kecil dari batas linear regression, menghasilkan sinyal sell

Strategi ini membutuhkan pengaturan siklus regresi linier LengthLRI, dan regresi linier input sumber data xSeria.

Kombinasi strategi

Strategi kombinasi ini membutuhkan sinyal beli/jual dari strategi 123 reversal dan strategi linear regression intercept untuk menghasilkan instruksi perdagangan yang sebenarnya, sehingga secara efektif menghilangkan sinyal palsu dan meningkatkan efektivitas perdagangan.

Analisis Keunggulan

Strategi ini memiliki keuntungan sebagai berikut:

  1. Multi-faktor drive, yang efektif mengikis sinyal palsu, meningkatkan kualitas sinyal

Kombinasi dua jenis strategi yang berbeda, dua strategi harus menghasilkan sinyal pada saat yang sama, untuk benar-benar memesan. Mekanisme multi-faktor verifikasi ini dapat menyaring sinyal salah yang dihasilkan oleh strategi tertentu, mengurangi transaksi yang tidak perlu, dan secara efektif meningkatkan kualitas sinyal.

  1. Monitoring harga dan tren secara real-time untuk menghindari terkurung

Linear regression intercept dapat mencerminkan hubungan antara harga dan garis tren secara real time, dan jika harga telah sangat menyimpang dari tren, memberi tahu strategi dalam waktu yang tepat untuk menyesuaikan arah posisi. Dengan demikian, Anda dapat menghentikan kerugian tepat waktu dan menghindari terjebak dalam tren sejarah.

  1. Mengambil Pertimbangan Tren dan Pembalasan

Strategi regresi linier lebih baik dalam mengidentifikasi titik jual dan harga tren, sedangkan strategi 123 reversal berfokus pada pengidentifikasi titik balik. Kedua strategi dapat dengan baik menggabungkan keuntungan dari perdagangan tren dan perdagangan reversal.

  1. Kombinasi optimasi yang dapat disesuaikan dengan parameter kebijakan

Kedua strategi ini menawarkan beberapa parameter yang dapat disesuaikan, dan dapat dioptimalkan untuk varietas dan tren yang berbeda.

Analisis risiko

Strategi ini juga memiliki risiko sebagai berikut:

  1. Multifactor Drive Mungkin Melewatkan Beberapa Kesempatan

Sinyal perdagangan yang harus memenuhi dua strategi akan kehilangan sebagian peluang untuk mendapatkan keuntungan hanya dengan mengandalkan satu strategi. Jika salah satu strategi melemah, itu akan menurunkan efektivitas perdagangan secara keseluruhan.

  1. Regresi linier memiliki keterlambatan

Regressi linier membutuhkan data historis tertentu untuk dihitung, tidak dapat bereaksi secara real-time terhadap peristiwa mendadak, ada keterlambatan tertentu. Jika harga melompat tinggi, garis tren regressi linier membutuhkan waktu untuk disesuaikan, dan waktu ini dapat menghasilkan sinyal yang salah.

  1. Parameter yang perlu dioptimalkan

Kedua strategi ini memerlukan pilihan parameter yang sesuai, dan mungkin perlu menyesuaikan parameter secara independen untuk beberapa varietas. Jika parameter dipilih dengan tidak tepat, akan sangat mengurangi efek strategi.

Risiko dapat dikurangi dengan:

  1. Kondisi pemicu sinyal kombinasi yang dilepaskan secara tepat untuk mencegah terjadinya peluang yang terlewatkan

  2. Regressi linier alternatif, seperti indikator tren, untuk mendapatkan penilaian tren yang lebih real-time

  3. Optimasi parameter dengan metode pembelajaran mesin dan lain-lain untuk meningkatkan hasil pemilihan parameter

Arah optimasi

Strategi ini dapat dioptimalkan lebih lanjut dengan:

  1. Optimalisasi parameter menggunakan metode pembelajaran mesin

Dapat mengumpulkan data historis, merancang tujuan optimasi parameter, dan mencari kombinasi parameter optimal menggunakan algoritma pembelajaran mesin seperti algoritma genetik, optimasi Bayesian, dan lain-lain.

  1. Meningkatkan mekanisme penghentian kerugian

Anda dapat mengatur aturan stop loss untuk mengontrol kerugian maksimum dalam satu transaksi.

  1. Optimalkan masuk ke pasar dan keluar dari pasar

Dengan menambahkan kondisi tambahan untuk masuk ke pasar, seperti filter rata-rata, penilaian Brinks, dan lain-lain, dapat mengurangi frekuensi penyesuaian posisi, dan menghindari kecurangan.

  1. Dengan analisis sentimen

Menggunakan teknologi pemrosesan bahasa alami untuk menilai sentimen peserta pasar, membantu keputusan perdagangan.

  1. Menambahkan modul prediksi pembelajaran mesin

Menggunakan model pembelajaran mendalam seperti LSTM, GRU untuk memprediksi harga, sebagai dasar referensi penting untuk keputusan strategis.

Meringkaskan

Strategi ini menggunakan kombinasi strategi 123 reversal dan strategi linear regression intercept, untuk mencapai perdagangan kuantitatif yang didorong oleh banyak faktor, mekanisme verifikasi dapat secara efektif memfilter sinyal palsu, sekaligus menangkap peluang reversal dan perdagangan tren. Namun, strategi ini juga memiliki risiko keterlambatan tertentu, perlu memperhatikan optimasi parameter dan melakukan perluasan mekanisme kontrol angin, untuk meningkatkan stabilitas strategi.

Kode Sumber Strategi
/*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 )