Você está na página 1de 4

1

Projeto de filtro adaptativo para a predição no mercado financeiro

Gustavo Nasser Mazzo1


1
Universidade de São Paulo – Faculdade de Engenharia Elétrica

O intuito deste trabalho é reproduzir alguns dos resultados alcançados pela referência 4 citada ao final deste paper. Desta forma, será
feita uma breve explicação do problema, realizando as derivações necessárias. E por fim serão apresentando os resultados. Além disso,
tentarei ao longo deste trabalho destacar alguns pontos que podem ser melhorados no artigo utilizado como base deste estudo, bem
como ideias para novos estudos. De maneira geral, o trabalho a seguir apresenta como utilizar a técnica de filtragem adaptativa para a
predição de preços e tendências de ativos listados na bolsa de valores. Para isso será utilizado o algoritmo NLMS. Após uma breve
introdução conceitual, será realizada a aplicação da metodologia para previsão do comportamento do ativo PETR3 (Petrobras
ordinária).

Index Terms— NLMS, Normalized Least-Mean-Square, filtros adaptativos, predição, ativos financeiros

mercado na função de previsão de tendências de preços,


I. INTRODUÇÃO permitindo então que este identifique oportunidades de
“trading” com boa relação entre risco e retorno através de

E xistem diversas aplicações práticas que não podem ser


resolvidas com sucesso utilizando filtros digitais fixos, ou
porque não possuímos informação suficiente para projetar o
outro sistema de tomadas de decisão (que não será objeto de
estudo deste projeto).
Para o desenvolvimento deste sistema de previsão,
filtro com coeficientes fixos ou porque os critérios do projeto pretende-se utilizar modelos de inteligência computacional,
mudam durante a operação. Uma boa parte destas aplicações tais como, filtros adaptativos, que servirão de base para
pode ser resolvida por um tipo especial de filtro chamado de predição dos preços dos ativos no mercado financeiro.
filtro adaptativo. A característica dos filtros adaptativos que os Uma série de modelos técnicos (ou indicadores técnicos) e
distingue dos demais é que eles podem modificar sua resposta
fundamentalistas auxiliam os operadores na tomada de decisão
automaticamente durante a operação para melhorar o seu
do que comprar e vender, a qual preço e qual o momento ideal
desempenho.
para a realização do negócio. Porém, a efetiva utilização de
Os filtros adaptativos são formados por três módulos:
tais indicadores por parte dos operadores só é alcançada após
1) Estrutura do filtro: módulo que produz a saída do longa experiência. Os algoritmos de inteligência artificial
filtro a partir de medições do sinal de entrada. A podem ser utilizados para simular a experiência adquirida ao
estrutura é fixa e seus parâmetros são ajustados pelo longo dos anos pelo trader.
algoritmo adaptativo; A vantagem de um sistema de trading sobre um operador é
2) Critério de desempenho: a saída do filtro e a que o primeiro age de modo imparcial, alheio a qualquer
resposta desejada são processadas pelo de critério de interferência emocional e de maneira consistente. Já os
desempenho para avaliar sua qualidade em relação operadores estão sujeitos a interferências de natureza
aos requisitos da aplicação; emocional, muitas vezes expondo-se a riscos desnecessários e
3) Algoritmo adaptativo: este módulo utiliza o valor estando sujeito a erros.
do critério de desempenho, e dos sinais de entrada e
resposta desejada para decidir como modificar os II. FORMULAÇÃO DO PROBLEMA
parâmetros do filtro e melhorar o seu desempenho.
De maneira similar ao problema descrito na referência 4,
Existem várias aplicações onde os filtros adaptativos podem
ser empregados. Essas aplicações podem ser classificadas em pretende-se realizar a previsão dos preços das ações de PETR3
quatro classes conforme [MAN 2000]: (Petrobras ordinária), negociadas na BVMF (Bolsa de Valores
de São Paulo). Foram utilizadas as cotações de fechamento de
1) Identificação de sistemas PETR3 no período de 03/01/2000 até 23/09/2009. As
2) Inversão de sistemas cotações históricas foram obtidas através do site
3) Predição de sinal www.analistademercado.com.br.
4) Cancelamento de interferências Gostaria de enfatizar que diferentemente do artigo original,
as cotações utilizadas nestas simulações foram ajustadas após
Neste caso, o objetivo desta pesquisa é desenvolver um os eventos corporativos. Isso pode ser facilmente percebido
sistema de previsão de ativos financeiros (focado no mercado analisando a figura 3 entre as amostras 2000 e 2200. Existe
de “ações”). Este sistema irá exercer a função do operador de um degrau acentuado nas cotações durante este período que
2

denuncia esta falta de cuidado.

Importância do ajuste de proventos


Percebe-se que o algoritmo NLMS possui um passo
Quando o preço de um ativo muda devido a um evento variante no tempo que permite ele convergir mais rapidamente
corporativo (dividendos, juros sobre capital próprio, se comparado com o algoritmo LMS
bonificação, inplit, split e outros), as cotações anteriores dos
gráficos precisam ser ajustadas de forma que a variação entre ()
cada período represente exatamente a oscilação ocorrida nos ‖ ‖
pregões. Se os ajustes não forem feitos, as informações dos
Além disso, o custo operacional do algoritmo NLMS para
gráficos podem representar uma oscilação entre os períodos
cada iteração é de:
diferente da que realmente ocorreu, prejudicando assim a
análise do ativo.
- valores reais: 3M+1 multiplicações, 3M adições e 1 divisão
III. SOLUÇÃO ADOTADA
Já o custo operacional do algoritmo RLS é muito maior para
cada iteração:
O filtro adaptativo (figura 1) deverá predizer o futuro para
os sinais desejados baseando-se nos sinais passados. Neste - valores reais: M2+5M+1 multiplicações, M2+3M adições e
caso a sua ordem (M) grande suficiente para “lembrar” os 3 divisões
valores anteriores.
A estrutura com atraso na entrada, como demonstrada na Desta forma, optou-se escolher para esta simulação o
figura abaixo, foi utilizada para realizar a predição algoritmo NLMS ao invés do RLS como no artigo original.
[Haykin,2001]. Nas simulações feitas para o mercado financeiro, o sinal de
ruído, como apresentado na figura 1 foi desconsiderado. Outra
forma de interpretar poderia ser considerar o ruído como parte
do sinal de entrada (cotações de PETR3).

IV. SIMULAÇÃO

Nas simulações foi utilizado o algoritmo NLMS nativo do


Matlab disponível através do comando “adaptfilt.nlms” (ver
help do sistema para mais detalhes).
As simulações foram realizadas utilizando-se os seguintes
parâmetros:
 = 0.2 (suficiente para acompanhar a oscilação
Figura 1 - Diagrama geral de filtro adaptativo para predição de sinal dos preços)
 M = 100 (ordem do filtro)
Detalhes do algoritmo NLMS

Considerando uma variável aleatória d com realizações


{d(0),d(1),...} e um vetor de média zero u com realizações
{u0, u1,...}. O vetor wo ótimo dado por

| |

- u(i) – sinal de entrada (a ser previsto)


- v(i) – sinal de ruído
- d(i) – sinal de entrada mais ruído
- w – coeficientes do filtro adaptativo
- – passo de adaptação
- – parâmetro de adaptação

Pode ser aproximado interativamente pelo algoritmo


recursivo abaixo:

[ () ] Figura 2 - Cotação real versus prevista = 0.2


‖ ‖
3

Analisando a figura 2 e 3, percebe-se claramente que a As tendências de longo prazo apresentam uma dinâmica
previsão de cotações geradas pelo algoritmo adaptativo se mais lenta e comportada, permitindo que o algoritmo a
aproxima muito das cotações reais. Porém, elas apresentam identifique antes que a mesma acabe.
um atraso significativo em relação à cotação real. Desta forma, Uma maneira de realizar a previsão de tendência seria
tomar qualquer tipo de decisão de compra ou venda de PETR3 utilizando um passo de adaptação menor, de maneira que o
analisando apenas este resultado pode representar um alto filtro seja apenas capaz de prever as oscilações relacionadas a
risco de perdas, pois se estará trabalhando com informações tendência do ativo, ignorando as variações dos preços no curto
desatualizadas sobre o ativo em questão. prazo. Desta forma repetimos a mesma simulação anterior
No artigo de referência, é analisado um período muito utilizando os seguintes parâmetros:
pequeno (figura 5) para concluir que o algoritmo é eficiente na
previsão das cotações de PETR3.
 = 0.01 (suficiente para acompanhar a oscilação
dos preços)
 M = 100 (ordem do filtro)

Figura 3 - Cotação real versus prevista - zoom das amostras 2000 à 2200
= 0.2

Figura 5 - Cotação real versus prevista μ = 0.01

Figura 4 - Sinal de erro do filtro durante a predição = 0.2

Analisando-se a figura 4, pode-se perceber um aumento do


sinal de erro a partir da amostra 1500. Acreditamos que este Figura 6 - Cotação real versus prevista - zoom das amostras 2000 à 2400
evento possa estar diretamente relacionado ao aumento de μ = 0.01. Setas vermelhas indicam o momento de venda do ativo e setas
verdas indicam momento de compra
volatilidade nas cotações do ativo em estudo. O que nos faz
acreditar nesta hipótese, é que o período se localiza em torno Analisando-se as figuras 5 e 6 percebe-se claramente que o
grande crise que atingiu os mercados em 2008. Porém, mais sistema de filtragem adaptativa foi capaz de prever as
estudos são necessários em torno desta questão para confirmar tendências de longo prazo relacionadas ao preço do PETR3
esta hipótese. com melhor precisão do que previsão de tendências de curto
prazo.
Previsão de tendências Na figura 6 foi realizada uma breve ilustração de um
possível algoritmo de trading que poderia ser implantado
Voltando ao problema da predição, uma alternativa seria utilizando a previsão de tendência feita pelo algoritmo que
utilizar o algoritmo de filtragem adaptativa para prever produziria resultados positivos (lucro).
capturar tendências de longo prazo do ativo (tendência de alta
ou baixa) ao invés de tentar prever as suas cotações.
4

Algoritmo de trading VII. REFERÊNCIAS

 Sinal de compra - Seta verde - quando a cotação [1] Ali H. Sayed “Adaptive Filter” IEEE Press and John
real ultrapassa a cotação prevista Wiley & Sons, INC
 Sinal de venda - Seta vermelha – quando a [2] Simon Haykin, Adaptive Filter Theory, 4th ed., Prentice
cotação prevista ultrapassa a cotação real Hal.
[3] Ali H. Sayed “Fundamentals of Adaptive Filtering” IEEE
V. CONCLUSÃO Press and John Wiley & Sons, INC
[4] J. E. Wesen, V. Vermehren V. e H. M. de Oliveira
“Adaptive filter design for stock Market prediction using
A utilização da filtragem adaptativa não forneceu resultados
correlation-based criterion”
muito eficientes na realização de previsão de curto prazo, tais
como na precificação dos preços de fechamento diário de
ativos financeiros como PETR3. Por outro lado, a ferramenta
apresentou resultados interessantes na sua utilização para a
previsão de tendências de preços de um determinado ativo.
Segue a sugestão para que novos estudos sejam realizados
em torno deste tema para verificar qual o melhor passo a ser
utilizado de forma a maximizar o lucro e se o mesmo
algoritmo é valido para outros ativos. Além disso, como
alternativa, poderiam ser utilizado algoritmos de filtragem
adaptativa mais simples como o LMS que não convergem tão
rapidamente.

VI. NOTAÇÃO UTILIZADA

Seguem algumas considerações a respeito da notação


utilizada neste artigo

1. Tipo de variáveis

 Aleatória – letra em negrito


 Determinística – letra sem negrito
 Escalar – letra minúscula
 Vetor – letra minúscula
 Matriz – letra maiúscula

2. Outras variáveis

 M = número de Taps de um filtro


 N = número de observações

3. Dependência temporal (diferencia vetores de escalares)

 d(i) – para variáveis escalares


 di – para vetores

4. Transposição

 AT = vetor ou matriz transposta


 A* = vetor ou matriz transposta conjugada

5. Tipo de vetores

Todos os vetores são do tipo coluna com exceção do vetor


ui que é definido com vetor linha.

Você também pode gostar