A estratégia quantitativa de negociação baseada na entrada de avanço da média móvel dinâmica

Autora:ChaoZhang, Data: 2024-02-18 09:53:48
Tags:

img

Resumo

O nome desta estratégia é A Estratégia de Negociação Quantitativa Baseada na Entrada de Avanço da Média Móvel Dinâmica e na Saída Fixada de Lucro/Stop-Loss. A ideia principal desta estratégia é abrir posições longas quando o preço de fechamento estiver abaixo da Média Móvel Dinâmica de Hull de 115 períodos todas as segundas-feiras, e fechar posições incondicionalmente todas as quartas-feiras depois, com rácios fixos de lucro-alvo e stop-loss definidos simultaneamente.

Princípios

Esta estratégia é concebida principalmente com base nos sinais indicadores da média móvel de Hull e nas regras de negociação periódica.

Em primeiro lugar, durante a sessão de negociação todas as segundas-feiras, as posições longas serão abertas se o preço de fechamento estiver abaixo da média móvel Hull de 115 períodos. Em comparação com as médias móveis comuns, a média móvel Hull responde mais rapidamente às mudanças de preço e identifica tendências de forma mais sensível. Portanto, os sinais do indicador podem melhorar a precisão da entrada no mercado.

Em segundo lugar, as posições serão fechadas incondicionalmente durante as sessões de negociação todas as quartas-feiras. Esta abordagem de operação periódica pode evitar ser impactada por eventos contingentes e reduzir a probabilidade de drawdowns. Enquanto isso, índices fixos de stop-loss e lucro-alvo são definidos para controlar o risco e a recompensa de cada negociação.

Por último, dado que cada período de detenção de transações é relativamente curto e com maior frequência de negociações, pode ajustar as posições em certa medida e diminuir o risco de uma única transação.

Análise das vantagens

Esta estratégia tem as seguintes vantagens:

  1. Usar a média móvel do casco como indicador de sinal de entrada melhora a precisão do tempo de entrada no mercado e capta oportunidades de tendência.

  2. O método de saída periódica pode evitar riscos de comportamentos irracionais e reduzir a probabilidade de retirada.

  3. Os pontos fixos de lucro-alvo e stop-loss podem controlar a relação risco-recompensa de cada negociação de forma eficaz.

  4. A alta frequência de negociação é benéfica para ajustar as posições e diminuir o risco de negociação única.

  5. As regras de negociação são simples e fáceis de compreender e implementar, o que é adequado para a negociação quantitativa algorítmica.

Análise de riscos

Esta estratégia tem também alguns riscos:

  1. A consolidação prolongada no mercado pode conduzir a uma maior probabilidade de ficarem presos após a entrada.

  2. Os pontos fixos de lucro-alvo e de stop-loss não são flexíveis e podem sair da posição demasiado cedo ou demasiado tarde.

  3. A saída periódica pode levar a enormes perdas se ocorrerem eventos contingentes.

  4. O comércio frequente aumenta o custo e a influência do deslizamento.

  5. As definições incorretas dos parâmetros (como os números dos períodos) podem afetar o desempenho da estratégia.

Algumas medidas de otimização podem ser consideradas para reduzir os riscos acima referidos:

  1. Julgar a situação do mercado antes da entrada para evitar a entrada em fases de consolidação.

  2. Estabelecer índices fixos dinâmicos ou múltiplos para a obtenção de lucros e para a suspensão de perdas.

  3. Suspender a negociação em torno de eventos significativos para evitar volatilidade extrema.

  4. Reduzir a frequência de negociação adequadamente para reduzir os custos e o deslizamento.

  5. Otimizar as configurações dos parâmetros e fazer testes de robustez para tornar a estratégia mais estável.

Orientações de otimização

Esta estratégia pode ser melhorada nos seguintes aspectos:

  1. Usar modelos de aprendizagem de máquina para otimizar os parâmetros da média móvel dinamicamente para sinais mais precisos.

  2. Tente combinar vários indicadores para conceber regras de entrada e saída mais complexas.

  3. Projetar mecanismos adaptativos de obtenção de lucros e de stop-loss de acordo com diferentes períodos e ambientes de mercado.

  4. Incorporar modelos de gestão de riscos para uma melhor gestão do capital.

  5. Modulo de ajuste de direitos de projeto para lidar com eventos como divisões de estoque sem problemas.

  6. Adicionar um módulo de verificação de negociação real para testar o desempenho da estratégia em mercados ao vivo.

Ao combinar organicamente o aprendizado de máquina, o portfólio de indicadores, a tomada de lucro adaptativa / stop-loss, o gerenciamento de riscos e outros métodos, essa estratégia pode alcançar uma estabilidade e lucratividade mais fortes.

Conclusão

Esta estratégia é projetada com base nas idéias de entrada de sinal de indicador de Hull Dynamic Moving Average e saída de ciclo fixo. Tem vantagens como sinais precisos e baixa probabilidade de retirada, enquanto controla a captação de lucro e o stop-loss de uma única negociação. Mas também existem problemas como ficar preso e configurações inadequadas de captação de lucro / stop-loss. As direções de otimização futuras incluem a introdução de aprendizado de máquina e combinações de múltiplos indicadores mais complexos para entrada, projetando mecanismos adaptativos de captação de lucro / stop-loss, adicionando ajuste de direitos e módulos de verificação de negociação real, etc. Adotando abrangentemente essas medidas, a estabilidade e lucratividade desta estratégia serão aprimoradas.


/*backtest
start: 2024-01-18 00:00:00
end: 2024-02-17 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © gnatskiller

//@version=5
strategy("Strategia HMA + LUN/MER", overlay=true)

// Inputs: stoploss %, takeProfit %
stopLossPercentage = input.float(defval=0.8, title='StopLoss %', minval=0.1, step=0.2) / 100
takeProfit = input.float(defval=1.5, title='Take Profit %', minval=0.3, step=0.2) / 100

// Calculate HMA 115
hma115 = ta.hma(close, 115)

// Exit and Entry Conditions - Check current day, session time, and price below HMA 115
isLong = dayofweek == dayofweek.monday  and not na(time(timeframe.period, "1000-1101")) and close < hma115
isExit = dayofweek == dayofweek.wednesday and not na(time(timeframe.period, "1000-1101"))

// Calculate Stoploss and Take Profit values
SL = strategy.position_avg_price * (1 - stopLossPercentage)
TP = strategy.position_avg_price * (1 + takeProfit)

// Strategy Enter, and exit when conditions are met
if isLong
    strategy.entry("Enter Long", strategy.long)
if strategy.position_size > 0 
    if isExit
        strategy.close("Enter Long", comment="Exit")
        strategy.exit("Exit", "Exit", stop=SL, limit=TP)

// Plot Stoploss and TakeProfit lines
plot(strategy.position_size > 0 ? SL : na, style=plot.style_linebr, color=color.red, linewidth=2, title="StopLoss")
plot(strategy.position_size > 0 ? TP : na, style=plot.style_linebr, color=color.green, linewidth=2, title="TakeProfit")

// Plot HMA 115
plot(hma115, color=color.blue, title="HMA 115")


Mais.