Estratégia quantitativa de mudança percentual da barra de inversão dupla

Autora:ChaoZhang, Data: 2023-12-06 17:44:35
Tags:

img

Resumo

O nome desta estratégia é Double Reversal Percentage Change Bar Quantitative Strategy. Esta estratégia combina dois tipos diferentes de estratégias para a negociação de carteiras para dar pleno jogo às suas respectivas vantagens e alcançar um melhor desempenho comercial.

A primeira estratégia utiliza o princípio da estratégia de reversão para julgar se há um sinal de reversão, comparando o preço de fechamento com o dia anterior ou vários dias.

Princípios de estratégia

A estratégia quantitativa da barra de variação percentual de reversão dupla utiliza dois componentes principais:

A primeira parte é a estratégia de reversão 123, cuja lógica de julgamento é:

  1. Se o preço de fechamento for inferior ao preço de fechamento anterior e a linha rápida do Stoch for superior à linha lenta e acima do nível 50, é considerado sobrecomprado e é gerado um sinal de venda.

  2. Se o preço de fechamento for superior ao preço de fechamento anterior e a linha rápida do Stoch for inferior à linha lenta e inferior a 50, é considerado sobrevendido e é gerado um sinal de compra.

  3. Estabelecer posições longas ou curtas de acordo com os sinais de compra e venda gerados.

A segunda parte é o indicador do gráfico de barras de variação percentual.

  1. Calcular a variação percentual da barra atual em relação à barra N períodos atrás (definida pelo parâmetro input_barsback).

  2. Se a variação percentual for superior à área de valor positivo definida pelo parâmetro BuyZone, é gerado um sinal de compra; se for inferior à área de valor negativo definida pela SellZone, é gerado um sinal de venda.

  3. Estabelecer posições longas ou curtas de acordo com os sinais de compra e venda gerados.

Por último, as posições só serão estabelecidas quando os sinais gerados pelas duas estratégias forem coerentes, caso contrário, não haverá alteração das posições.

Análise das vantagens

A estratégia quantitativa da barra de variação percentual de dupla inversão tem as seguintes vantagens:

  1. A estratégia de reversão 123 funciona bem na identificação de pontos de reversão do mercado; o indicador de gráfico de barra de mudança percentual reconhece rapidamente tendências de ruptura.

  2. A combinação de sinais das duas estratégias pode efetivamente filtrar alguns sinais falsos e reduzir perdas de parada desnecessárias para reduzir os riscos comerciais.

  3. A estratégia de reversão 123 tem um grande espaço de otimização.

  4. A estratégia de barra de variação percentual é intuitiva.

Análise de riscos

A estratégia quantitativa da barreira de variação percentual de dupla reversão também apresenta alguns riscos:

  1. Quando os sinais das duas estratégias não coincidem, as posições não podem ser estabelecidas, perdendo algumas oportunidades de negociação.

  2. A estratégia de reversão 123 é sensível aos parâmetros. Combinações de parâmetros inadequadas podem levar a muitos sinais falsos. Os parâmetros devem ser testados separadamente para diferentes produtos para garantir a estabilidade.

  3. Se a direcção dos sinais de compra e venda gerados pelo gráfico de barras de variação percentual for errada e corresponder aos sinais de reversão 123, isso levará a perdas consideráveis.

  4. Após a estratégia ter sido executada por algum tempo, a adaptabilidade dos parâmetros diminuirá.

Orientações de otimização

A estratégia quantitativa da barra de variação percentual de inversão dupla também pode ser otimizada nos seguintes aspectos:

  1. Otimizar parâmetros como comprimento, KSmoothing, DLength para a estratégia de reversão 123 para encontrar portfólios de parâmetros mais adequados para diferentes produtos e ciclos.

  2. Ajustar o parâmetro input_barsback do gráfico de barras de variação percentual para avaliar o impacto de períodos de revisão mais longos ou mais curtos na estratégia.

  3. A introdução de estratégias de stop loss pode efetivamente evitar grandes perdas causadas por sinais incorretos de barras de variação percentual.

  4. Tentar treinar um modelo de mudança percentual mais preciso para determinar o tempo de entrada e saída através de métodos de aprendizagem de máquina para obter uma maior taxa de vitória.

  5. Aumentar outros indicadores técnicos auxiliares para julgamento para enriquecer os sinais de negociação da estratégia e aumentar a frequência de negociação.

Conclusão

A estratégia quantitativa da barra de mudança de porcentagem de reversão dupla faz pleno uso dos pontos fortes de dois tipos diferentes de estratégias e as combina para expandir o espaço de lucro enquanto controla os riscos. Esta estratégia fácil de entender e ajustável é adequada para pesquisa e prática.


/*backtest
start: 2023-11-05 00:00:00
end: 2023-12-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 31/03/2021
// 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
//  This histogram displays price or % change from previous bar. 
//
// 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


PCB(input_percentorprice,input_barsback,SellZone,BuyZone) =>
    pos = 0.0
    xPrice = close
    xPrice1 = iff(input_percentorprice, xPrice - xPrice[input_barsback], ((xPrice - xPrice[input_barsback]) * 100)/ xPrice[input_barsback])
    pos := iff(xPrice1 > BuyZone, 1,
             iff(xPrice1 < SellZone, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Percent change bar", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Percent change bar ----")
input_percentorprice = input(false, title="Price Change")
input_barsback = input(1, title="Look Back")
SellZone = input(-0.33, minval=0.01, step = 0.01)
BuyZone = input(0.33, minval=0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posPCB = PCB(input_percentorprice,input_barsback,SellZone,BuyZone)
pos = iff(posReversal123 == 1 and posPCB == 1 , 1,
	   iff(posReversal123 == -1 and posPCB == -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 )

Mais.