Strategi price breakout Z-Score

Penulis:ChaoZhang, Tanggal: 2023-12-07 15:17:43
Tag:

img

Gambaran umum

Strategi price breakout Z-Score menggunakan indikator harga z-score untuk menentukan apakah harga saat ini berada dalam keadaan abnormal, sehingga menghasilkan sinyal perdagangan.

Prinsip Strategi

Indikator inti dari strategi ini adalah z-score harga, yang dihitung sebagai berikut:

Z_score = (C - SMA(n)) / StdDev(C,n)

Di mana C adalah harga penutupan, SMA (n) adalah rata-rata bergerak sederhana dari n periode, dan StdDev (C,n) adalah standar deviasi harga penutupan untuk n periode.

Z-score mencerminkan tingkat penyimpangan harga saat ini dari harga rata-rata. Ketika harga z-score lebih besar dari ambang positif tertentu (misalnya +2), itu berarti harga saat ini di atas harga rata-rata dengan 2 standar deviasi, yang merupakan tingkat yang relatif tinggi. Ketika kurang dari ambang negatif tertentu (misalnya -2), itu berarti harga saat ini di bawah harga rata-rata dengan 2 standar deviasi, yang merupakan tingkat yang relatif rendah.

Strategi ini pertama-tama menghitung z-score harga, kemudian menetapkan ambang positif dan negatif (misalnya 0 dan 0). Ketika z-score lebih tinggi dari ambang positif, itu menghasilkan sinyal beli. Ketika lebih rendah dari ambang negatif, itu menghasilkan sinyal jual.

Analisis Keuntungan

  • Menggunakan harga z-score untuk menilai anomali harga adalah metode kuantitatif yang umum dan efektif
  • Mudah mencapai perdagangan panjang dan pendek
  • Pengaturan parameter yang fleksibel, siklus yang dapat disesuaikan, ambang, dll.
  • Dapat dikombinasikan dengan indikator lain untuk membentuk sistem perdagangan

Analisis Risiko

  • Strategi z-score adalah mentah dan rentan terhadap sinyal palsu
  • Perlu menetapkan parameter yang tepat seperti siklus dan ambang
  • Perlu mempertimbangkan strategi stop loss untuk mengendalikan risiko

Arahan Optimasi

  • Mengoptimalkan parameter siklus untuk menemukan siklus terbaik
  • Mengoptimalkan ambang positif dan negatif untuk mengurangi sinyal palsu
  • Tambahkan kondisi filter, menggabungkan dengan indikator lain
  • Tambahkan strategi stop loss

Ringkasan

Strategi price breakout z-score menilai apakah harga saat ini berada dalam keadaan abnormal, dan diperdagangkan sesuai dengan positif dan negatif dari z-score harga. Strategi ini sederhana dan mudah diterapkan, memungkinkan perdagangan dua arah, tetapi juga memiliki beberapa risiko. Dengan mengoptimalkan parameter, menambahkan stop loss dan menggabungkan dengan indikator lain, strategi ini dapat ditingkatkan untuk membentuk sistem perdagangan kuantitatif yang lengkap.


/*backtest
start: 2023-11-29 00:00:00
end: 2023-12-04 19:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 18/01/2017
// The author of this indicator is Veronique Valcu. The z-score (z) for a data 
// item x measures the distance (in standard deviations StdDev) and direction 
// of the item from its mean (U):
//     z = (x-StdDev) / U
// A value of zero indicates that the data item x is equal to the mean U, while 
// positive or negative values show that the data item is above (x>U) or below 
// (x Values of +2 and -2 show that the data item is two standard deviations 
// above or below the chosen mean, respectively, and over 95.5% of all data 
// items are contained within these two horizontal references (see Figure 1).
// We substitute x with the closing price C, the mean U with simple moving 
// average (SMA) of n periods (n), and StdDev with the standard deviation of 
// closing prices for n periods, the above formula becomes:
//     Z_score = (C - SMA(n)) / StdDev(C,n)
// The z-score indicator is not new, but its use can be seen as a supplement to 
// Bollinger bands. It offers a simple way to assess the position of the price 
// vis-a-vis its resistance and support levels expressed by the Bollinger Bands. 
// In addition, crossings of z-score averages may signal the start or the end of 
// a tradable trend. Traders may take a step further and look for stronger signals 
// by identifying common crossing points of z-score, its average, and average of average. 
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Z-Score Strategy", shorttitle="Z-Score Strategy")
Period = input(20, minval=1)
Trigger = input(0)
reverse = input(false, title="Trade reverse")
hline(Trigger, color=purple, linestyle=line)
xStdDev = stdev(close, Period)
xMA = sma(close, Period)
nRes = (close - xMA) / xStdDev
pos = iff(nRes > Trigger, 1,
	   iff(nRes < Trigger, -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(nRes, color=blue, title="Z-Score")

Lebih banyak