Estratégia de ruptura do preço da pontuação Z

Autora:ChaoZhang, Data: 2023-12-07 15:17:43
Tags:

img

Resumo

A estratégia de quebra de preço Z-Score usa o indicador de preço z-score para determinar se o preço atual está em um estado anormal, a fim de gerar sinais de negociação.

Princípio da estratégia

O principal indicador desta estratégia é a pontuação z do preço, calculada da seguinte forma:

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

Onde C é o preço de fechamento, SMA (n) é a média móvel simples de n períodos e StdDev (C,n) é o desvio padrão do preço de fechamento para n períodos.

A pontuação z reflete o grau de desvio do preço atual do preço médio. Quando a pontuação z do preço é maior do que um certo limiar positivo (por exemplo, +2), significa que o preço atual está acima do preço médio por 2 desvios padrão, o que é um nível relativamente alto. Quando é menor do que um certo limiar negativo (por exemplo, -2), significa que o preço atual está abaixo do preço médio por 2 desvios padrão, o que é um nível relativamente baixo.

Esta estratégia primeiro calcula a pontuação z do preço, em seguida, define um limiar positivo e negativo (por exemplo, 0 e 0). Quando a pontuação z é superior ao limiar positivo, gera um sinal de compra. Quando inferior ao limiar negativo, gera um sinal de venda.

Análise das vantagens

  • Usar o preço z-score para julgar anomalias de preços é um método quantitativo comum e eficaz
  • Facilmente alcançar tanto a negociação longa e curta
  • Configuração flexível dos parâmetros, ciclo ajustável, limiar, etc.
  • Pode ser combinado com outros indicadores para formar um sistema de negociação

Análise de riscos

  • A estratégia de pontuação z é crua e propensa a sinais falsos
  • Precisa de definir parâmetros apropriados como ciclo e limiar
  • Necessidade de considerar estratégias de stop loss para controlar o risco

Orientações de otimização

  • Otimizar os parâmetros do ciclo para encontrar o melhor ciclo
  • Otimizar os limiares positivos e negativos para reduzir os falsos sinais
  • Adicionar condições do filtro, combinar com outros indicadores
  • Adicionar estratégias de stop loss

Resumo

A estratégia de quebra de preço do z-score julga se o preço atual está em um estado anormal e negocia de acordo com o positivo e negativo do preço z-score. Esta estratégia é simples e fácil de implementar, permite negociação bidirecional, mas também tem alguns riscos. Ao otimizar parâmetros, adicionar stop loss e combinar com outros indicadores, essa estratégia pode ser aprimorada para formar um sistema de negociação quantitativo completo.


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

Mais.