Strategi kuantitatif berdasarkan pembalikan dan kekuatan relatif komparatif

Penulis:ChaoZhang, Tanggal: 2023-12-13 17:17:10
Tag:

img

Gambaran umum

Strategi ini pertama-tama menggabungkan strategi pembalikan yang diusulkan oleh Ulf Jensen di halaman 183 bukunya How I Tripped My Money in the Futures Market dengan indikator kekuatan relatif komparatif untuk mendapatkan sinyal yang lebih kuat.

Dengan menggabungkan faktor pembalikan dan sinyal kekuatan relatif komparatif, itu hanya akan menempatkan pesanan beli atau jual ketika keduanya memberikan sinyal yang sama, untuk meningkatkan stabilitas strategi.

Prinsip Strategi

Bagian pertama adalah strategi pembalikan. Strategi ini berjalan lama ketika: harga penutupan telah meningkat terus menerus selama dua hari terakhir, dan garis lambat Stochastic 9 hari berada di bawah 50.

Bagian kedua adalah indikator kekuatan relatif komparatif. Indikator ini menghitung rata-rata bergerak dari tingkat perubahan harga penutupan N hari antara saham target dan indeks acuan, dan membandingkannya dengan zona beli, zona jual dan zona penutupan yang telah ditetapkan sebelumnya.

Strategi gabungan ini menilai sinyal dari kedua belah pihak pada saat yang sama. Ini hanya akan menempatkan pesanan beli atau jual ketika keduanya memberikan sinyal yang sama (keduanya membeli atau keduanya menjual).

Analisis Keuntungan

Strategi ini menggabungkan keuntungan dari faktor pembalikan dan faktor kekuatan relatif. Strategi pembalikan dapat menangkap ekstrem dalam jangka pendek; strategi kekuatan relatif dapat memahami tren utama pasar yang lebih luas. Sinyal dari kedua strategi dapat meningkatkan keandalan dan menyaring beberapa sinyal palsu yang disebabkan oleh kebisingan.

Selain itu, indikator Stochastic, sebagai indikator untuk membedakan zona overbought dan oversold, dapat lebih baik menentukan titik pembalikan.

Analisis Risiko

Risiko terbesar dari strategi pembalikan adalah bahwa mereka tidak dapat menentukan waktu pembalikan pasar, yang dapat menyebabkan kerugian berkelanjutan setelah pembalikan pasar.

Risiko strategi kekuatan relatif terletak pada pengaturan parameter yang tidak tepat, yang dapat menghasilkan terlalu banyak sinyal palsu.

Arahan Optimasi

Strategi ini dapat dioptimalkan dalam aspek berikut:

  1. Uji lebih banyak faktor pembalikan untuk menemukan strategi pembalikan yang lebih baik.

  2. Uji dan optimalkan parameter untuk indikator kekuatan relatif untuk menemukan kombinasi parameter optimal, karena pengaturan saat ini bersifat subjektif dan kemungkinan tidak dioptimalkan.

  3. Saat ini tidak ada stop loss, menambahkan stop loss yang wajar dapat mengendalikan risiko penurunan.

  4. Uji indeks acuan yang berbeda untuk menghitung kekuatan relatif terhadap saham target dan temukan indeks yang paling cocok.

Kesimpulan

Strategi ini menggabungkan faktor pembalikan dan faktor kekuatan relatif untuk perdagangan. Ini memanfaatkan keuntungan dari keduanya untuk meningkatkan kualitas sinyal dan merupakan strategi gabungan yang relatif matang. Masih banyak ruang untuk optimasi dengan penyesuaian parameter, menambahkan strategi stop loss, dan menyesuaikan metode kombinasi strategi untuk mencapai hasil yang lebih baik.


/*backtest
start: 2022-12-06 00:00:00
end: 2023-12-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 30/10/2019
// 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
// Comparative Relative Strength Strategy for ES
//
// 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

CRS(a, b, len, BuyBand, SellBand, CloseBand) =>
    pos = 0.0
    as = security(a, timeframe.period, close) 
    bs = security(b, timeframe.period, close) 
    nRes = sma(as/bs, len)
    pos := iff(nRes > BuyBand, 1,
	         iff(nRes < SellBand, -1,
	          iff(pos[1] == 1 and nRes < CloseBand, 0,
    	       iff(pos[1] == -1 and nRes > CloseBand, 0, nz(pos[1], 0)))))
    pos

strategy(title="Combo Backtest 123 Reversal & Comparative Relative Strength", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
a = syminfo.tickerid 
b = input("BTC_USDT:swap", type=input.symbol) 
LengthCRS = input(10) 
BuyBand = input(0.9988, step = 0.0001)
SellBand = input(0.9960, step = 0.0001)
CloseBand = input(0.9975, step = 0.0001)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posCRS = CRS(a, b, LengthCRS, BuyBand, SellBand, CloseBand)
pos = iff(posReversal123 == 1 and posCRS == 1 , 1,
	   iff(posReversal123 == -1 and posCRS == -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