Estratégia de negociação quantitativa baseada em índice de análise de tendências


Data de criação: 2023-12-12 10:40:52 última modificação: 2023-12-12 10:40:52
cópia: 0 Cliques: 595
1
focar em
1621
Seguidores

Estratégia de negociação quantitativa baseada em índice de análise de tendências

Visão geral

A idéia central da estratégia é usar a inclinação da média móvel para determinar a tendência do mercado e construir um índice de análise de tendência (Trend Analysis Index, TAI) como sinal de negociação. Quando os preços funcionam em uma tendência, a inclinação da média móvel aumenta; Quando os preços oscilam dentro de um intervalo de tendência não clara, a inclinação da média móvel diminui.

Princípio da estratégia

A estratégia primeiro calcula a média móvel simples do preço (a média móvel de X dias). Em seguida, calcula o máximo e o mínimo da média móvel nos últimos dias de Y, e com esses dois valores extremos, calcula o intervalo de flutuação da média móvel nos últimos dias de Y. Finalmente, computa um indicador padronizado entre 0 e 1 comparando o intervalo de flutuação dos dias de Y com o preço, ou seja, construindo um indicador de análise de tendências.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. A inclinação da média móvel permite a captura de tendências de linha média e longa.
  2. Combinação de padronização da amplitude de oscilação para construir indicadores de indexação, para tornar os sinais de negociação mais claros
  3. Parâmetros de medias móveis personalizáveis e parâmetros de avaliação de tendências, adaptados a diferentes cenários de mercado
  4. Opção de negociação reversa, que pode ser usada para rastrear ou contrabalançar outras estratégias

Análise de Riscos

A estratégia também tem riscos:

  1. A correção de tremores pode gerar sinais errados
  2. Parâmetros de média móvel mal definidos podem perder pontos de mudança de tendência
  3. Parâmetros de padronização mal definidos podem perder tendências mais fracas
  4. Perda pode aumentar com a inversão

Resolução:

  1. Combinação com outros indicadores de filtragem
  2. Parâmetros de otimização para encontrar a melhor combinação de parâmetros
  3. Ajuste o valor de um limite de normalização para cima ou para baixo
  4. Cuidado com o uso da função de negociação reversa

Direção de otimização

A estratégia pode ser melhorada em vários aspectos:

  1. Combinação de outros indicadores para julgar tendências, como o canal BOLL, para tornar os sinais de negociação mais confiáveis
  2. Adição de estratégias de stop loss para controlar perdas individuais
  3. Optimizar os parâmetros diários das médias móveis para que sejam mais adequados às características do mercado em diferentes períodos
  4. Treinar os melhores parâmetros de padronização e encontrar os melhores parâmetros de limiar
  5. Adição de modelos de aprendizado de máquina para prever probabilidades de tendências, auxiliando a negociação

Resumir

A estratégia, em geral, é uma estratégia de linha média de comprimento que determina a tendência por meio da inclinação da média móvel. É eficaz na captura de tendências, mas também existe um certo risco de falso sinal. A estratégia pode ser mais robusta e confiável por meio do uso em combinação com outros indicadores, adição de stop loss, otimização de parâmetros, etc.

Código-fonte da estratégia
//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 21/12/2017
// In essence, it is simply the standard deviation of the last x bars of a 
// y-bar moving average. Thus, the TAI is a simple trend indicator when prices 
// trend with authority, the slope of the moving average increases, and when 
// prices meander in a trendless range, the slope of the moving average decreases.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Trend Analysis Index", shorttitle="TAI")
AvgLen = input(28, minval=1)
TAILen = input(5, minval=1)
TopBand = input(0.11, step=0.01)
LowBand = input(0.02, step=0.01)
reverse = input(false, title="Trade reverse")
hline(TopBand, color=red, linestyle=line)
hline(LowBand, color=green, linestyle=line)
xPrice = close
xSMA = sma(xPrice, AvgLen)
xHH = highest(xSMA, TAILen)
xLL = lowest(xSMA, TAILen)
nRes = (xHH - xLL) * 100 / xPrice
pos = iff(nRes > TopBand, 1,
       iff(nRes < LowBand, -1, nz(pos[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)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(nRes, color=blue, title="TAI")