Estratégia de quebra de janela de momentum reverso


Data de criação: 2024-02-23 12:11:32 última modificação: 2024-02-23 12:11:32
cópia: 0 Cliques: 636
1
focar em
1617
Seguidores

Estratégia de quebra de janela de momentum reverso

Visão geral

A estratégia de reversão de momento (Reversal Momentum Breakout Strategy) é uma estratégia de negociação quantitativa que utiliza a reversão de preço e o indicador de dinâmica para gerar sinais de negociação. A estratégia é baseada na teoria da liderança de momentum, e determina se o mercado está em um ponto crítico de reversão para capturar oportunidades de reversão, rastreando os preços mais altos e mais baixos em um determinado período.

Princípio da estratégia

A estratégia é baseada em calcular os preços mais altos e mais baixos de um determinado período (por exemplo, 20 dias) para determinar se o mercado está em um ponto crítico de reversão. A lógica é a seguinte:

  1. Calcule o preço mais alto (window_high) e o preço mais baixo (window_low) nos últimos 20 dias.

  2. Se o máximo atual da linha K for maior do que o máximo dos últimos 20 dias (ou seja, um novo máximo), entra-se no período de monitoramento de inversão do pico, com o contador definido como 5 dias.

  3. Se o preço máximo não criar um novo alto, o contador diário é subtraído de 1 ⋅ Quando o contador é reduzido a 0, o período de monitoramento de reversão do ponto mais alto termina ⋅

  4. A lógica de julgamento para o preço mínimo é semelhante, se houver um novo baixo, entra-se no período de monitoramento de inversão do ponto baixo.

  5. Durante o período de monitoramento de reversão, faça mais ou menos operações. Se houver um sinal de reversão perto do ponto crítico de reversão, é possível capturar uma situação maior.

A estratégia também definiu o momento em que as negociações começariam, evitando que os sinais de negociação fossem gerados em dados históricos.

Análise de vantagens

A estratégia de quebra de janela de rotação reversa tem as seguintes principais vantagens:

  1. Capturar oportunidades de reversão, adequadas para situações de reversão. Após uma alta ou queda contínua do mercado, muitas vezes ocorre um certo grau de reversão. A estratégia pode capturar esses pontos de reversão.

  2. A dinâmica é antecipada e mais sensível. Calcula os preços mais altos e mais baixos de um determinado ciclo, e pode determinar com maior sensibilidade a tendência e o momento da reversão dos preços.

  3. Configure um período de monitoramento de reversão para evitar falsos sinais. Se o sinal for emitido apenas perto do ponto crítico de reversão, poderá filtrar parte do ruído.

  4. É permitido fazer várias operações de tomada de posse.

  5. As regras são relativamente simples e fáceis de implementar. A estratégia baseia-se principalmente em indicadores simples de preço e dinâmica, facilmente traduzidos em implementações de código.

Análise de Riscos

Os principais riscos de uma estratégia de ruptura de janela por rotação reversa são:

  1. A estratégia de inverter a previsão não é válida. A estratégia de inverter a previsão não é válida.

  2. Não é possível considerar a tendência do mercado em geral. Uma reversão individual não significa necessariamente uma reversão do mercado em geral, e precisa ser combinada com uma análise do mercado em geral.

  3. A retração pode ser maior. Quando a reversão não ocorre, o NetDevice pode se expandir.

  4. Risco de adequação de dados. A estratégia pode depender demais dos dados históricos, podendo ser menos eficaz no campo real do que na retrospectiva.

  5. Parâmetros sensíveis. A configuração de parâmetros como o período da janela e o contador de retorno pode afetar a estabilidade da política.

As soluções para o risco incluem: otimização da estratégia de parada de perdas, consideração dos fatores de grande risco, ajuste do conjunto de parâmetros para testes de estabilidade, etc.

Direção de otimização

As principais melhorias da estratégia incluem:

  1. Combinando os indicadores de grande mercado. Comparar a força do grande mercado e evitar a reversão em um ambiente desfavorável para o grande mercado.

  2. A escolha dos indicadores de seleção de múltiplos fatores.

  3. Optimizar combinações de parâmetros ◦ Ajustar o período da janela, inverter os parâmetros do contador, procurar combinações de parâmetros ótimas ◦

  4. Adicionar estratégias de stop loss, como stop trace, stop magnitude, etc., para controlar a retirada máxima.

  5. Aumentar a aprendizagem de máquina. Usar modelos de IA para prever a probabilidade de reversão de preços e melhorar a precisão do sinal.

Resumir

A estratégia de ruptura de janela de reversão é sensível e pode identificar tendências e momentos de reversão. Mas também existe um certo grau de risco, que requer otimização e controle de risco adequados. No geral, depois de se dominar os princípios da estratégia e fazer otimização, ela pode ser uma parte eficaz do sistema de negociação quantitativa.

Código-fonte da estratégia
/*backtest
start: 2023-02-16 00:00:00
end: 2024-02-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("New Highs and Lows Momentum Strategy", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

window = input.int(20, title="New Highs and Lows Window", minval=1)
decay = input.int(5, title="Decay", minval=1)
startDate = input(timestamp("1 Jan 2023"), title = "Start Date")
allowShort = input.bool(false, title = "Allow shorting")

var int highDecayCounter = 0
var bool isHighPeriod = false
var int lowDecayCounter = 0
var bool isLowPeriod = false

inTradeWindow = true

window_high = ta.highest(close, window)
window_low = ta.lowest(low, window)

// Logic for Highs
if window_high > ta.highest(close, window)[1]
    highDecayCounter := decay
    isHighPeriod := true
else
    if highDecayCounter > 0
        highDecayCounter := highDecayCounter - 1
    else
        isHighPeriod := false

// Logic for Lows
if window_low < ta.lowest(low, window)[1]
    lowDecayCounter := decay
    isLowPeriod := true
else
    if lowDecayCounter > 0
        lowDecayCounter := lowDecayCounter - 1
    else
        isLowPeriod := false

// Strategy Execution
if inTradeWindow
    if isHighPeriod and highDecayCounter == decay
        strategy.entry("Long", strategy.long)

    if isHighPeriod and highDecayCounter == 0
        strategy.close("Long")

    if isLowPeriod and lowDecayCounter == decay and allowShort
        strategy.entry("Short", strategy.short)

    if isLowPeriod and lowDecayCounter == 0 and allowShort
        strategy.close("Short")

// Plotting
plot(window_high, color=color.green)
plot(window_low, color=color.red)