Previsão no trading e modelos Grey
Introdução
Os mercados financeiros modernos se caracterizam por alta volatilidade e dinamismo; por isso, uma previsão precisa e oportuna desempenha um papel muito importante na tomada de decisões de trading. Todo trader busca desenvolver e aplicar métodos de previsão que permitam antecipar futuras oscilações de preço e maximizar o lucro.
A análise técnica oferece diversas formas de previsão. No entanto, muitos métodos de previsão têm suas limitações. Por exemplo, a abordagem estatística de previsão exige um grande volume de dados históricos. Outras abordagens funcionam bem apenas com séries temporais estacionárias, e assim por diante.
Nesse contexto, cresce o interesse por métodos de previsão capazes de trabalhar com informações limitadas e incompletas. Uma dessas abordagens é a dos modelos Grey (GM), que podem ser bastante úteis em situações em que os dados são limitados, pouco confiáveis ou muito ruidosos. E situações desse tipo são bastante comuns nos mercados financeiros. Neste artigo, veremos os fundamentos dos GM e as possibilidades de sua aplicação à previsão de séries temporais financeiras.
Modelo clássico GM(1,1)
Os modelos Grey podem ser usados para resolver diversos tipos de problemas. Com os GM, podemos analisar uma série temporal, suavizá-la ou identificar as principais tendências no movimento do preço. Mas esse modelo também pode ser usado para previsão. A principal vantagem do uso dos GM é que esses modelos não impõem nenhuma restrição quanto à estacionariedade da série temporal. Por exemplo, a SMA apresenta seu melhor desempenho quando a série temporal é estacionária e seus valores seguem uma distribuição normal. Se a série temporal for não estacionária, isto é, em termos simples, se houver uma tendência, a SMA ficará inevitavelmente defasada. Para os GM, esses requisitos não são relevantes, e eles podem lidar com qualquer série temporal. Ou, pelo menos, deveriam conseguir. Os requisitos dos GM são simples e fáceis de cumprir:
- o comprimento da série temporal deve ser de pelo menos 4;
- a série temporal deve ter valores estritamente positivos e observações igualmente espaçadas no tempo, sem lacunas.
A construção de qualquer GM começa com a aplicação da operação Accumulated Generating Operation (AGO). A ideia dessa operação é muito simples: é preciso somar o valor atual da série temporal a todos os valores que o antecedem. A partir daqui, chamarei essa série temporal de série Grey (GS). Vamos usar 5 preços como exemplo. Então, a operação AGO aplicada a eles fica assim:

Essa operação cumpre dois objetivos principais. Em primeiro lugar, reduzimos a influência do ruído. Em segundo lugar, a nova série temporal se torna mais previsível: ela passa a ser estritamente crescente e pode ter, por exemplo, a seguinte aparência:

Depois de obtermos os valores da nova série temporal, podemos passar à construção do GM(1,1). Nessa notação, o primeiro número indica a ordem da equação diferencial, e o segundo, a quantidade de GS processadas. O modelo GM(1,1) é descrito por uma equação diferencial linear.
![]()
Para resolver essa equação, precisaremos de algum sistema de matemática simbólica. Eu uso o Maple. Primeiro escrevemos a equação original; em seguida, definimos a condição inicial em relação à qual a solução será buscada e obtemos o resultado. No Maple, todas essas operações ficarão assim:
de:=diff(x(t),t)+a*x(t)=b; #исходное уравнение cond:=x(1)=X[1]; #начальное условие dsolve({de,cond},x(t)); #решение уравнения

Assim, obtivemos a relação da GS com o tempo. Observe que o índice t representa o tempo e aumenta do passado para o futuro, começando em 1. A partir dessa equação, podemos obter a mesma dependência para a variação do preço:
![]()
No Maple, a solução dessa equação terá a seguinte forma:
eq:=price[t]=(b+(a*X[1]-b)*exp(-a*t))/a-(b+(a*X[1]-b)*exp(-a*(t-1)))/a;#разность 2 последовательных значений GS simplify(eq);#упрощаем результат

Vamos simplificar um pouco o resultado manualmente, e a fórmula assumirá sua forma final.
![]()
A partir dessa fórmula, fica claro que, conhecendo os parâmetros a e b, podemos estimar os valores do preço. Em outras palavras, suavizar a série temporal original. Para estimar esses parâmetros, precisamos converter a equação diferencial para a forma discreta. Para isso, usaremos a seguinte passagem:
![]()
Com essa transformação, obteremos a versão discreta.
![]()
Os coeficientes dessa equação podem ser estimados facilmente pelo método dos mínimos quadrados (MMQ). É aqui que começa a parte mais interessante. Podemos obter uma estimativa suavizada dos valores da GS. Esse tipo de suavização tem interesse puramente acadêmico; na prática, tem pouca utilidade.

Também podemos suavizar diretamente a série temporal original.

Agora estamos prontos para dar o próximo passo. Lembre-se de que a fórmula para calcular os valores do preço não impõe nenhuma restrição ao avanço do tempo. Ou seja, podemos continuar projetando a nova série temporal por quantas amostras à frente quisermos. Nesse caso, teremos uma previsão do movimento do preço. É claro que essa previsão se baseia na suposição de que as características da série temporal original permanecerão inalteradas. Vou fazer uma previsão de 5 amostras à frente.

Como você pode ver, esse modelo lida bem com tendências lineares. Mas, justamente por isso, ele pode deixar passar outros movimentos importantes do preço. Vamos tentar aplicar modelos Grey mais complexos e ver como eles se comportam.
Modificações do GM(1,1)
A modificação mais simples do GM(1,1) clássico recebe o nome de Rolling GM (RGM). A lógica é simples. Precisamos usar os valores de vários modelos GM com períodos diferentes e calcular sua média. Graças a essa abordagem, podemos obter uma estimativa mais suave dos valores do preço. A previsão também ficará mais suave. Vamos criar um RGM composto por vários GM(1,1) com períodos entre 4 e 24. Veja como ele se apresenta no gráfico:

O modelo RGM também pode ser modificado. A ideia principal dessa modificação é atribuir um peso próprio a cada GM. Além disso, esses pesos podem ser fixos ou depender do erro de previsão. O caso dos pesos fixos é bastante trivial. Você pode atribuir os pesos com base em algum critério próprio. Depois, basta obter a soma ponderada.
![]()
Se os pesos dependerem do erro de previsão, temos uma variante adaptativa da RGM. Nesse caso, o peso de cada GM pode ser definido da seguinte forma. Primeiro, calculamos o erro de previsão separadamente para cada GM:
![]()
O coeficiente de ponderação da GM dependerá desse erro: quanto maior o erro, menor o peso:
![]()
Dessa forma, a RGM passará a favorecer apenas as tendências que acompanham o movimento do preço com maior precisão. Consequentemente, a qualidade da previsão também pode melhorar.
Outra modificação consiste no pré-processamento da série temporal original. Por exemplo, em vez dos preços, podemos usar os valores da SMA. Nesse caso, o GM(1,1) produzirá resultados mais suavizados. Na prática, essa abordagem pode ser usada para definir os limites do canal de tendência.

Mas o canal também pode ser construído de outra maneira. Primeiro, precisamos calcular os parâmetros do GM(1,1). Mais precisamente, agora precisamos apenas do parâmetro de crescimento a. Em seguida, para cada valor real do preço, calculamos o parâmetro b correspondente.
![]()
Entre todas as opções possíveis, interessam-nos os valores máximo e mínimo desse parâmetro. Com eles, podemos obter os limites superior e inferior do canal de tendência.

Veja como esse canal fica no gráfico:

Existem muitas modificações diferentes dos modelos Grey. Algumas dessas modificações se aplicam apenas a determinados tipos de série temporal. Outras, como o GM(1,1), têm caráter universal. Todas essas modificações têm um único objetivo: aumentar a precisão das previsões e identificar particularidades das séries temporais.
Modelos GM discretos
Resolver equações diferenciais pode parecer elegante, mas mesmo um pequeno aumento na complexidade dos modelos leva a soluções bastante complexas. Além disso, a estimação dos parâmetros do modelo pode se revelar numericamente instável. Um erro em sabe-se lá qual casa decimal pode fazer com que o gráfico perca valor analítico.
As variantes discretas dos GM não sofrem dessas limitações. Vamos tentar construir uma variante desse tipo para o GM(1,1). Esse modelo pode ser expresso pela seguinte equação recorrente linear:
![]()
Ou seja, construímos uma dependência linear do valor atual da GS em relação ao valor anterior. Estimar os parâmetros dessa equação não será difícil. Resta então encontrar esses parâmetros.
re:=x(n+1)=a*x(n)+b; #исходное уравнение cond:=x(1)=X[1]; #начальное условие simplify(rsolve({re,cond},x(t))); #решение уравнения
Como resultado, obteremos uma equação com os valores da GS definidos explicitamente.
![]()
A partir dessa equação, podemos obter uma estimativa do preço.
![]()
E é assim que fica o indicador construído com base nesse modelo:

O experimento foi bem-sucedido. Agora vamos tentar construir o modelo GM(0,2). Pela notação, fica claro que nesse modelo não são usadas derivadas, enquanto a quantidade de fatores considerados aumenta. E, aliás, esse modelo só pode existir em forma discreta.
Nesse modelo, são usadas duas GS. Suponha que o período do modelo seja igual a N. Construímos a primeira GS como de costume, começando pelo preço de índice N-1. Já para construir a segunda, que vou denotar por Y, usamos os preços deslocados uma amostra para trás, começando pelo preço com índice N. A equação desse modelo tem a seguinte forma:
![]()
É claro que podemos construir uma equação recorrente e encontrar sua solução. Mas esse modelo se torna especialmente simples se nos limitarmos à previsão de 1 passo à frente. Então, primeiro estimamos os parâmetros do modelo com o MMQ. Não podemos estender a série X, pois o novo preço ainda é desconhecido. Já para a série Y, o próximo preço já é conhecido, e podemos obter seu novo valor.
![]()
Depois de obter o novo valor da série Y, também podemos estimar o valor futuro da série X.
![]()
Depois disso, prever o preço não será difícil. E é assim que fica o indicador construído com base nesse modelo:

O modelo GM(0,2) é análogo à regressão linear. Aumentar a quantidade de GS consideradas pode tornar o modelo mais flexível e melhorar a qualidade da previsão. Essa melhora será especialmente perceptível quando o período do indicador for curto.
Agora estamos prontos para construir o modelo discreto GM(1,2). Ele combina as abordagens dos dois modelos anteriores e pode ser descrito pela fórmula:
![]()
Ou seja, construímos a mesma regressão linear, agora com duas GS. Uma vez obtidos os parâmetros dessa regressão, podemos estimar o valor futuro do preço. É assim que fica o indicador construído com base nesse modelo:

A abordagem discreta permite construir modelos de ordens superiores com bastante facilidade. Como exemplo, vou usar o modelo GM(2,1). Resolvê-lo pelo método tradicional e encontrar os valores de seus parâmetros é uma tarefa para quem gosta desse tipo de desafio. Mas vamos converter esse modelo para a forma discreta; nesse caso, sua equação terá a seguinte forma:
![]()
Calcular os parâmetros desse modelo não será difícil. Para simplificar, também nos limitaremos à previsão de uma amostra à frente. No gráfico, o indicador fica assim:

Não dá para chamar esse indicador de suavizador. Em compensação, ele reage com bastante rapidez às mudanças nas condições de mercado. Isso o torna digno de atenção. Se você quiser obter uma variante mais suave, lembre-se da RGM.
Em resumo, posso dizer que os modelos discretos são mais simples em termos de cálculo. Essa é, sem dúvida, sua principal vantagem. Mas essa simplicidade impõe limitações ao horizonte de previsão. Na maioria das vezes, os modelos discretos funcionam bem apenas para 1 passo à frente. Tentativas de ampliar o horizonte de previsão levam a complexidades desnecessárias e dificilmente serão úteis na prática.
Conclusão
Os modelos Grey representam uma ferramenta promissora para a modelagem e a descrição de séries temporais financeiras. Os GM podem ser usados para suavização, identificação de tendências e previsão de valores futuros dos preços, além da construção de canais de tendência.
Uma vantagem indiscutível dos GM é a possibilidade de modificá-los para quase qualquer condição externa. Uma limitação importante é a complexidade matemática de algumas abordagens. De qualquer forma, os GM exigem estudos adicionais e a identificação das variantes mais adequadas para o trader.
Programas anexos ao artigo:
| Nome | Tipo | Descrição |
|---|---|---|
| sGM | script | O script demonstra a construção da GS e a suavização pelo modelo GM(1,1). Se ScreenShot estiver ativado, a imagem será salva na pasta Files |
| GM11 | indicador | O indicador demonstra o funcionamento da variante clássica do GM(1,1).
|
| RGM11 | indicador | O indicador mostra a média entre várias variantes do GM(1,1) |
| GM11sma | indicador | Como valores de entrada, usam-se os valores da SMA em vez dos preços |
| GM11Ch | indicador | O indicador constrói um canal de tendência com base no GM(1,1) |
| DGM11 | indicador | Variante discreta do GM(1,1) |
| DGM02 | indicador | Análogo da regressão linear bivariada |
| DGM12 | indicador | Modelo discreto GM(1,1) com dois parâmetros de controle |
| DGM21 | indicador | Análogo discreto do modelo de 2ª ordem |
Traduzido do russo pela MetaQuotes Ltd.
Artigo original: https://www.mql5.com/ru/articles/19012
Aviso: Todos os direitos sobre esses materiais pertencem à MetaQuotes Ltd. É proibida a reimpressão total ou parcial.
Esse artigo foi escrito por um usuário do site e reflete seu ponto de vista pessoal. A MetaQuotes Ltd. não se responsabiliza pela precisão das informações apresentadas nem pelas possíveis consequências decorrentes do uso das soluções, estratégias ou recomendações descritas.
Processos gaussianos em machine learning (Parte 2): Implementação e teste do modelo de classificação em MQL5
MetaTrader 5 Global Optimizer: Uma Estrutura Profissional para Otimizar EAs por Grupos, Subgrupos e Critérios de Robustez
Está chegando o novo MetaTrader 5 e MQL5
Algoritmo do Átomo Artificial — Artificial Atom Algorithm (A3)
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso