Strategi Penembusan Harga Z-Score

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

img

Ringkasan

Strategi penembusan harga Z-Score menggunakan penunjuk harga z-score untuk menentukan sama ada harga semasa berada dalam keadaan yang tidak normal, untuk menghasilkan isyarat perdagangan. Apabila z-score harga lebih tinggi atau lebih rendah daripada ambang, ia bermakna harga telah memasuki keadaan yang tidak normal, pada ketika itu kedudukan panjang atau pendek boleh diambil.

Prinsip Strategi

Penunjuk teras strategi ini adalah z-score harga, dikira seperti berikut:

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

Di mana C adalah harga penutupan, SMA ((n) adalah purata bergerak mudah untuk n tempoh, dan StdDev ((C,n) adalah penyimpangan standard harga penutupan untuk n tempoh.

Z-score mencerminkan tahap penyimpangan harga semasa dari harga purata. Apabila z-score harga lebih besar daripada ambang positif tertentu (contohnya +2), ia bermakna harga semasa di atas harga purata dengan 2 penyimpangan standard, yang merupakan tahap yang agak tinggi. Apabila ia kurang daripada ambang negatif tertentu (contohnya -2), ia bermakna harga semasa di bawah harga purata dengan 2 penyimpangan standard, yang merupakan tahap yang agak rendah.

Strategi ini mula-mula mengira z-score harga, kemudian menetapkan ambang positif dan negatif (misalnya 0 dan 0). Apabila z-score lebih tinggi daripada ambang positif, ia menghasilkan isyarat beli. Apabila lebih rendah daripada ambang negatif, ia menghasilkan isyarat jual.

Analisis Kelebihan

  • Menggunakan z-score harga untuk menilai anomali harga adalah kaedah kuantitatif yang biasa dan berkesan
  • Mudah mencapai kedua-dua perdagangan panjang dan pendek
  • Tetapan parameter yang fleksibel, kitaran yang boleh diselaraskan, ambang, dll.
  • Boleh digabungkan dengan penunjuk lain untuk membentuk sistem dagangan

Analisis Risiko

  • Strategi z-score adalah kasar dan terdedah kepada isyarat palsu
  • Perlu menetapkan parameter yang sesuai seperti kitaran dan ambang
  • Perlu mempertimbangkan strategi stop loss untuk mengawal risiko

Arahan pengoptimuman

  • Mengoptimumkan parameter kitaran untuk mencari kitaran terbaik
  • Mengoptimumkan ambang positif dan negatif untuk mengurangkan isyarat palsu
  • Tambah keadaan penapis, menggabungkan dengan penunjuk lain
  • Tambah strategi stop loss

Ringkasan

Strategi penembusan harga z-score menilai sama ada harga semasa berada dalam keadaan yang tidak normal, dan berdagang mengikut positif dan negatif z-score harga. Strategi ini mudah dan mudah dilaksanakan, membolehkan perdagangan dua hala, tetapi juga mempunyai beberapa risiko. Dengan mengoptimumkan parameter, menambah stop loss dan menggabungkan dengan penunjuk lain, strategi ini boleh 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 lanjut