Estratégia quantitativa de alta e baixa ruptura


Data de criação: 2023-11-10 11:09:28 última modificação: 2023-11-10 11:09:28
cópia: 0 Cliques: 589
1
focar em
1617
Seguidores

Estratégia quantitativa de alta e baixa ruptura

Visão geral

A estratégia de fusão é uma estratégia de negociação quantitativa que combina a estratégia de inversão de forma 123 com a estratégia de ruptura de alto e baixo nível. A estratégia realiza uma combinação de vantagens de fundos de vários períodos de tempo, com o objetivo de obter lucros excedentários na linha média e longa, através de um julgamento integrado dos sinais de indicadores em diferentes períodos de tempo.

Princípio da estratégia

A estratégia de fusão é composta por duas partes:

  1. 123 estratégia de reversão
    A estratégia vem da idéia de P183 de Ulf Jensen em How to get three times the profit in the futures market (Como obter o triplo do lucro no mercado de futuros). Ela gerou um sinal de compra e venda ao julgar a relação entre o preço de fechamento de 2 dias consecutivos e o preço de fechamento do dia anterior, em combinação com o indicador estocástico para julgar a sobrevenda e a sobrevenda do mercado.

  2. Estratégias de ruptura de alto e baixo nível
    A estratégia determina os sinais de negociação julgando se os preços quebraram os altos e baixos dos diferentes ciclos. Ela calcula os preços mais altos e mais baixos do ciclo atual e do ciclo anterior, gerando um sinal de compra quando o preço quebra o preço mais alto e um sinal de venda quando o preço mais baixo. A vantagem da estratégia é ser capaz de identificar as características de diferentes linhas de linha de ciclo e entrar no mercado mais cedo quando a tendência se forma.

A estratégia de fusão combinará as duas estratégias acima mencionadas e produzirá um sinal de negociação real quando a direção do sinal das duas estratégias coincidir. Isso pode filtrar alguns sinais inválidos produzidos por erros de julgamento de uma única estratégia e aumentar a confiabilidade do sinal.

Vantagens estratégicas

  1. Compreensão integrada de múltiplos períodos de tempo para melhorar a precisão do sinal
    A estratégia combina as características morfológicas da linha do sol e do período de tempo mais alto, permitindo uma maior precisão no julgamento de sinais de negociação e evitando a distorção de fluctuações de curto prazo no mercado.

  2. Aproveite o critério de sobrecompra e sobrevenda do Stochastic
    A aplicação do indicador StochasticSlow evita a compra apressada na zona de sobrecompra e a aplicação do indicador StochasticFast evita a venda apressada na zona de sobrevenda, reduzindo os prejuízos desnecessários.

  3. Captação de tendências em tempo real para reduzir a probabilidade de oportunidades perdidas
    A estratégia de alta e baixa ruptura permite identificar áreas críticas de ruptura de preços em períodos de linha mais longos, entrando mais cedo na tendência e reduzindo a probabilidade de oportunidades perdidas.

  4. Uma combinação de várias estratégias, com flexibilidade e otimização
    A estratégia é composta por várias sub-estratégias, com grande espaço para otimização, que pode ser otimizada por meio do ajuste dos parâmetros da sub-estratégia ou da introdução de novas sub-estratégias, tornando a estratégia mais estável e confiável.

  5. A lógica da estratégia é clara e fácil de entender.
    A estrutura da política é simples e clara, fácil de entender e modificar, e fácil de manter no futuro.

Risco estratégico

  1. Aumento de sinal de atraso em múltiplos períodos de tempo
    Embora o julgamento integrado de múltiplos períodos de tempo possa melhorar a precisão do sinal, ele também pode aumentar o atraso do sinal, podendo perder oportunidades de negociação de linha curta.

  2. 123 Formas não conseguem reconhecer uma reversão de tendência mais longa
    A estratégia de reversão não consegue identificar os principais pontos de reversão de tendências em períodos de tempo mais longos, julgando apenas o que aconteceu nos últimos dias.

  3. A configuração incorreta dos parâmetros de ciclo pode causar um falso sinal
    A configuração inadequada dos parâmetros do indicador estocástico e do ciclo de ruptura de níveis altos e baixos pode causar a produção de muitos sinais de negociação falsos.

  4. A falta de adaptação a situações específicas, baseada apenas em indicadores técnicos
    A estratégia baseia-se apenas em indicadores técnicos, sem levar em conta informações básicas, e é pouco adaptável em caso de um grande evento de Cisne Negro.

A solução para o risco:

  1. Reduzir adequadamente o ciclo de computação e reduzir o atraso do sinal.

  2. Tente introduzir indicadores ou formas de ciclo mais longo como filtros.

  3. Optimizar a configuração dos parâmetros para testar a estabilidade dos parâmetros na retomada.

  4. Considere a combinação de fatores fundamentais para filtrar o sinal.

Direção de otimização da estratégia

  1. Testar e otimizar os parâmetros de cada estratégia para torná-la mais robusta.

  2. Aumentar o conjunto de indicadores que auxiliam a tomada de decisões, como o fundamento, a direção dos recursos financeiros, etc.

  3. Introduzir estratégias de stop loss para controlar o máximo de perdas em uma única transação.

  4. Parâmetros refinados para uma variedade específica, para melhorar a adequação da estratégia para essa variedade.

  5. Aumentar o modelo de aprendizado de máquina para auxiliar na tomada de decisões.

Resumir

Em resumo, a estratégia de fusão integra as vantagens dos indicadores técnicos em várias escalas de tempo, com o objetivo de melhorar a precisão e a tempestividade do julgamento do sinal. Em comparação com a estratégia de indicadores técnicos individuais, ela possui uma capacidade de julgamento de tendências mais aguçada e uma geração de sinais mais estável.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 25/11/2020
// 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 script shows a high and low period value.
//    Width - width of lines
//    SelectPeriod - Day or Week or Month and etc.
//    LookBack - Shift levels 0 - current period, 1 - previous and etc. 
//
// 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

    
HLL(LookBack, SelectPeriod) =>
    pos = 0.0
    xHigh  = security(syminfo.tickerid, SelectPeriod, high[LookBack])
    xLow   = security(syminfo.tickerid, SelectPeriod, low[LookBack])
    vS1 = xHigh
    vR1 = xLow
    pos := iff(close > vR1, 1,
             iff(close < vS1, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & High and Low Levels", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
SelectPeriod = input(title="Resolution", type=input.resolution, defval="D")
LookBack = input(1,  minval=0)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posHLL = HLL(LookBack, SelectPeriod)
pos = iff(posReversal123 == 1 and posHLL == 1 , 1,
	   iff(posReversal123 == -1 and posHLL == -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 )