Estratégia quantitativa de reversão de dupla oportunidade


Data de criação: 2023-11-14 13:42:47 última modificação: 2023-11-14 13:42:47
cópia: 0 Cliques: 676
1
focar em
1617
Seguidores

Estratégia quantitativa de reversão de dupla oportunidade

Visão geral

A estratégia de quantificação de inversão de dupla oportunidade é uma estratégia de combinação que usa a combinação de estratégias de inversão de 123 e RSI estocástico. A estratégia primeiro avalia se o preço está em uma forma de inversão de 123, em seguida, em combinação com o indicador RSI estocástico, confirma novamente o sinal de inversão e só abre uma posição a mais ou a menos quando ambos emitem sinais ao mesmo tempo.

Princípio da estratégia

A estratégia consiste em duas partes:

  1. 123 Reversão

Esta parte usa a forma 123 para julgar a inversão de preços. A lógica específica é:

  • Se o preço de fechamento estiver abaixo do preço de fechamento de ontem, e o preço de fechamento atual estiver acima do preço de fechamento de ontem, e o Slow Stochastic do dia 9 estiver abaixo de 50, faça mais

  • Se o preço de fechamento for superior ao preço de fechamento de ontem e o preço de fechamento atual for inferior ao preço de fechamento de ontem, e o Fast Stochastic do dia 9 for superior a 50, o fechamento será feito

Isso permite detectar sinais precoces de uma reversão.

  1. Stochastic RSI

Esta seção analisa novamente o RSI usando o indicador estocástico para determinar a confirmação do reverso:

  • Calcule o valor do RSI com a duração de 14

  • Análise estocástica aplicada ao RSI, comprimento 14, obtenção de valores K

  • Calcular o valor de 3 dias SMA D de K

  • Se o valor de K for superior a 80, veja mais, se o valor de K for inferior a 20, veja zero.

A posição só é aberta quando as duas estratégias emitem sinais ao mesmo tempo.

Análise de vantagens

A principal vantagem desta estratégia é a utilização de uma metodologia de dupla confirmação, que permite a filtragem eficaz de sinais de alarme falso e a melhoria da estabilidade. As vantagens específicas são as seguintes:

  1. 123 Reversão pode ser um bom indicador de reversão de preços

  2. Stochastic RSI fornece confirmação de reversão para evitar erros de reversão

  3. A combinação dos dois pode aumentar a probabilidade de vitória e reduzir a probabilidade de falsidade.

  4. Optimização com combinação de parâmetros, que permite ajustar os parâmetros para diferentes mercados

  5. A implementação programada é simples, clara e fácil de aplicar no disco

Análise de Riscos

A estratégia também apresenta alguns riscos que devem ser lembrados:

  1. Risco de falha de reversão. O mercado pode ter uma falsa reversão, resultando em perdas.

  2. Riscos de otimização de parâmetros. Combinações inadequadas de parâmetros podem levar a uma estratégia pouco eficaz.

  3. Risco de otimização excessiva. Parâmetros de otimização excessiva para dados históricos, sem que os efeitos futuros possam ser replicados.

  4. Risco de alta frequência de negociação. Os sinais duplos podem aumentar a frequência de negociação, resultando em custos de deslizamento mais elevados.

  5. Risco de implementação de código. Há falhas no código que podem causar efeitos anormais no disco rígido.

Resolução:

  1. Ajustar adequadamente o tamanho da posição e controlar os prejuízos.

  2. Otimizar os parâmetros usando o método walk-forward.

  3. Em vez de se preocuparem com a estabilidade dos parâmetros, busquem um lucro mais alto.

  4. Ajustar adequadamente as condições de abertura de posições e reduzir a frequência de negociação.

  5. Teste o código cuidadosamente para garantir que a lógica é correta.

Direção de otimização

A estratégia pode ser otimizada em:

  1. Parâmetros de otimização. Parâmetros como Stochastic podem ser ajustados para otimização de mercados específicos.

  2. Optimizar as condições de abertura de posições. Pode adicionar outros fatores de julgamento para evitar a reversão do impulso.

  3. Optimizar o mecanismo de parada de perda. Pode ser definido como parada móvel, parada de tempo, etc.

  4. Reduzir a frequência de negociação. Pode aumentar os filtros de negociação e reduzir a frequência de negociação.

  5. Aumentar a gestão de posições. Ajustar o tamanho das posições de acordo com as condições do mercado.

  6. Considere os fatores de taxa. Adapte os parâmetros da estratégia de acordo com a taxa real.

Resumir

A estratégia de quantificação de inversão de dupla oportunidade é, em geral, uma estratégia de inversão de linha curta estável e prática. Ela possui simultaneamente a sensibilidade de captura de inversão e a estabilidade de dupla filtragem. Com otimização de parâmetros e modificações apropriadas, a estratégia pode se tornar um componente eficaz do sistema de estratégia de quantificação.

Código-fonte da estratégia
/*backtest
start: 2023-10-14 00:00:00
end: 2023-11-13 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 03/08/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 strategy used to calculate the Stochastic RSI
//
// 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


SRSI(lengthRSI,lengthStoch,smoothK,smoothD, TopBand,LowBand) =>
    pos = 0.0
    Source = close
    rsi1 = rsi(Source, lengthRSI)
    k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
    d = sma(k, smoothD)
    d_cross_80 = cross(d,TopBand) 
    pos := iff(k > TopBand, 1,
              iff(k < LowBand, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Stochastic RSI", 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, "---- Stochastic RSI ----")
TopBand = input(80, step=0.01)
LowBand = input(20, step=0.01)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posSRSI = SRSI(lengthRSI,lengthStoch,smoothK,smoothD, TopBand,LowBand)
pos = iff(posReversal123 == 1 and posSRSI == 1 , 1,
	   iff(posReversal123 == -1 and posSRSI == -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 )