Stratégie de rupture des prix Z-Score

Auteur:ChaoZhang est là., Date: 2023-12-07 15:17:43 Je vous en prie.
Les étiquettes:

img

Résumé

La stratégie de rupture de prix Z-Score utilise l'indicateur de prix z-score pour déterminer si le prix actuel est dans un état anormal, afin de générer des signaux de trading.

Principe de stratégie

L'indicateur de base de cette stratégie est le z-score du prix, calculé comme suit:

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

Lorsque C est le prix de clôture, SMA (n) est la moyenne mobile simple de n périodes et StdDev (C,n) est l'écart type du prix de clôture pour n périodes.

Le z-score reflète le degré d'écart du prix actuel par rapport au prix moyen. Lorsque le prix z-score est supérieur à un certain seuil positif (par exemple +2), cela signifie que le prix actuel est supérieur au prix moyen de 2 écarts types, ce qui est un niveau relativement élevé. Lorsqu'il est inférieur à un certain seuil négatif (par exemple -2), cela signifie que le prix actuel est inférieur au prix moyen de 2 écarts types, ce qui est un niveau relativement bas.

Cette stratégie calcule d'abord le z-score du prix, puis définit un seuil positif et négatif (par exemple 0 et 0).

Analyse des avantages

  • L'utilisation du z-score des prix pour juger des anomalies des prix est une méthode quantitative courante et efficace
  • Facile à réaliser à la fois long et court
  • Paramètres flexibles, cycle réglable, seuil, etc.
  • Peut être combiné avec d'autres indicateurs pour former un système de négociation

Analyse des risques

  • La stratégie z-score est crue et sujette à de faux signaux
  • Besoin de définir des paramètres appropriés tels que le cycle et le seuil
  • Besoin d'examiner les stratégies de stop loss pour contrôler le risque

Directions d'optimisation

  • Optimiser les paramètres du cycle pour trouver le meilleur cycle
  • Optimiser les seuils positifs et négatifs pour réduire les faux signaux
  • Ajouter des conditions de filtre, combiner avec d'autres indicateurs
  • Ajouter des stratégies de stop loss

Résumé

La stratégie de rupture de prix z-score juge si le prix actuel est dans un état anormal et négocie en fonction du positif et du négatif du prix z-score. Cette stratégie est simple et facile à mettre en œuvre, permet un commerce bidirectionnel, mais comporte également certains risques. En optimisant les paramètres, en ajoutant un stop loss et en les combinant avec d'autres indicateurs, cette stratégie peut être améliorée pour former un système de trading quantitatif complet.


/*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")

Plus de