Estudo de Séries Temporais do Mercado Financeiro - Murilo Antunes Braga
Upcoming SlideShare
Loading in...5
×
 

Estudo de Séries Temporais do Mercado Financeiro - Murilo Antunes Braga

on

  • 6,733 views

O presente trabalho apresenta um estudo de série temporais do mercado financeiro,com a utilização de ferramentas gráficas, estatísticas e a aplicação do filtro de Kalman. Primeiramente,são ...

O presente trabalho apresenta um estudo de série temporais do mercado financeiro,com a utilização de ferramentas gráficas, estatísticas e a aplicação do filtro de Kalman. Primeiramente,são abordados conceitos básicos à compreensão das séries temporais, assim como meios disponíveis para a sua análise. Em seguida, é descrita a forma de captação dessas séries, para então ser elaborada uma proposta de um sistema de tomada de decisão automatizado. O desempenho deste trading system aqui proposto é avaliado a partir da observação de seu desempenho em comparação com o comportamento obtido para determinados ativos da bolsa de valores brasileira no mesmo período.São abordados ainda assuntos pertinentes ao modelamento de séries temporais, e posterior aplicação do filtro de Kalman à um destes modelos apresentados. Por fim, é avaliada a resposta do filtro de Kalman ao modelo escolhido, com devida análise do comportamento obtido para o mesmo.

Statistics

Views

Total Views
6,733
Views on SlideShare
6,707
Embed Views
26

Actions

Likes
3
Downloads
59
Comments
2

1 Embed 26

http://mabinvestimentos.blogspot.com 26

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Eu também gostaria de receber uma cópia deste trabalho...
    É um material raro, não consegui encontrar aqui na faculdade!

    edsonsantosxp@hotmail.com
    ou
    edsonsantos.ufs@gmail.com
    Are you sure you want to
    Your message goes here
    Processing…
  • Murilo, por favor gostaria de receber uma cópia deste trabalho. Está muito difícil fazer a leitura aqui no SlideShare. Poderia em enviar uma cópia? marialuisaf@bol.com.br Obrigada!
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Estudo de Séries Temporais do Mercado Financeiro - Murilo Antunes Braga Estudo de Séries Temporais do Mercado Financeiro - Murilo Antunes Braga Document Transcript

  • TRABALHO DE GRADUAÇÃO Estudo de séries temporais do mercado financeiro Murilo Antunes Braga Brasília, Dezembro de 2009 UNIVERSIDADE DE BRASÍLIA FACULDADE DE TECNOLOGIA
  • UNIVERSIDADE DE BRASILIA Faculdade de Tecnologia TRABALHO DE GRADUAÇÃO Estudo de séries temporais do mercado financeiro Murilo Antunes Braga Relatório submetido ao Departamento de Engenharia Mecatrônica como requisito parcial para obtenção do grau de Engenheiro de Controle e Automação Banca Examinadora Prof. Dr. João Yoshiyuki Ishihara, ENE/UnB Orientador Profa. Dra. Janaína Gonçalves Guimarães, ENE/UnB Examinador interno Prof. Dr. Francisco Damasceno Freitas, ENE/UnB Examinador interno
  • Dedicatórias À minha mãe, Maria José, ao meu pai, João . Braga, aos meus irmãos, Marcelo e Mateus, e à minha namorada, Bianca. Murilo Antunes Braga
  • Agradecimentos Agradeço à minha família pelo apoio em todas as etapas de minha vida; à minha namorada Bianca que sempre me apoiou nessa caminhada; Ao professor João, no seu trabalho como orientador; à todos os meus amigos da faculdade, que me ajudaram nessa jornada de quase 5 anos. Murilo Antunes Braga
  • RESUMO O presente trabalho apresenta um estudo de série temporais do mercado financeiro,com a utilização de ferramentas gráficas, estatísticas e a aplicação do filtro de Kalman. Primeiramente,são abor- dados conceitos básicos à compreensão das séries temporais, assim como meios disponíveis para a sua análise. Em seguida, é descrita a forma de captação dessas séries, para então ser elaborada uma proposta de um sistema de tomada de decisão automatizado. O desempenho deste trading system aqui proposto é avaliado a partir da observação de seu desempenho em comparação com o comportamento obtido para determinados ativos da bolsa de valores brasileira no mesmo período. São abordados ainda assuntos pertinentes ao modelamento de séries temporais, e posterior aplica- ção do filtro de Kalman à um destes modelos apresentados. Por fim, é avaliada a resposta do filtro de Kalman ao modelo escolhido, com devida análise do comportamento obtido para o mesmo. ABSTRACT This work presents a study of financial times series and the corresponding tools for doing it: graphic tools, estatistics concepts and the Kalman filter. First, those basic concepts related to times series are shown, as well as the ways of providing their analysis. Then it is presented the steps taken in the caption process of the financial series and also the proposal of a new trading system. The performance of this system is evaluated through the observation of its results in comparison with the real behaviour obtained for certain assets during the same period observed. Furthermore, it is presented topics on modeling of times series and the consequent application of Kalman filter on them. Finally, the results are shown along with their analysis.
  • SUMÁRIO 1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 Séries temporais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1 Ferramentas de análise gráfica ................................................. 3 2.1.1 Gráfico simples ........................................................................ 3 2.1.2 Gráfico de dispersão ................................................................. 3 2.2 Conceitos estatísticos aplicados a séries temporais ...................... 4 2.2.1 Processos estocásticos .............................................................. 4 2.2.2 Função média ........................................................................... 5 2.2.3 Função autocovariância ............................................................ 5 2.2.4 Correlação .............................................................................. 6 2.2.5 Propriedades da variância.......................................................... 7 2.2.6 Passeio aleatório (random walk ) ................................................... 7 2.2.7 Estacionaridade........................................................................ 7 3 Captação das séries temporais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.1 Série histórica Apligraf para o MATLAB .................................... 10 3.2 Usando o FTS tool para importar dados ..................................... 12 4 Proposta de um sistema de negociação de ativos financeiros. . . . . . . . 13 4.1 Metodologia de desenvolvimento de um sistema de tomada de de- cisão ....................................................................................... 14 4.1.1 Descrição do sistema proposto ................................................... 15 4.1.2 Séries temporais carteira de interesse ........................................ 16 4.1.3 Filtragem dos resultados........................................................... 19 4.2 Resultados da simulação ............................................................ 20 4.2.1 Parâmetros de saída da simulação............................................... 20 4.2.2 Simulação e resultados .............................................................. 21 4.3 Resultados da validação do modelo............................................. 22 5 Modelagem de tendências em séries temporais . . . . . . . . . . . . . . . . . . . . . . 29 5.1 Tendência sazonal .................................................................... 29 5.1.1 Sazonalidade com a função de autocorrelação ........................... 30 5.1.2 Sazonalidade com a função de autocorrelação numa série finan- ceira ....................................................................................... 31 iii
  • 5.2 Modelos probabilísticos ............................................................ 32 5.2.1 Ruído branco ........................................................................... 32 5.2.2 Processo linear geral ............................................................... 33 5.2.3 Modelo média móvel.................................................................. 33 5.2.4 Processos auto-regressivo ......................................................... 34 5.2.5 Processos médias móveis auto-regressivo ..................................... 36 5.3 Construção de modelos no espaço de estados ............................... 37 5.3.1 Construção de modelos no espaço de estados no MATLAB ............. 37 5.3.2 Validação de modelos de séries temporais de ativos financeiros ..... 40 6 Filtro de Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 6.1 Sistema de referência e notação utilizada ................................... 47 6.2 Equações do filtro de Kalman.................................................... 48 6.2.1 Demonstração das equações do filtro de Kalman ......................... 48 6.3 Implementação do filtro de Kalman ............................................ 50 6.3.1 Séries temporais utilizadas ........................................................ 51 6.3.2 Construção do modelo .............................................................. 51 6.3.3 Resultado da aplicação do filtro de Kalman em um conjunto de ativos ...................................................................................... 54 7 Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 REFERÊNCIAS BIBLIOGRÁFICAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Anexos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 I Códigos do programa MATLAB utilizados nesse trabalho . . . . . . . . . . 67
  • LISTA DE FIGURAS 2.1 Passeio aleatório (random walk ) tendência de alta ............................................. 4 2.2 Passeio aleatório (random walk ) tendência de baixa............................................ 4 2.3 Passeio aleatório (random walk ) tendência neutra .............................................. 5 2.4 Gráfico simples Petrobras ............................................................................. 5 2.5 Gráfico de dispersão..................................................................................... 6 3.1 Exemplo de corretora com acesso a base Apligraf .............................................. 10 3.2 Exemplo de plataforma home broker .............................................................. 10 3.3 Gráfico Apligraf .......................................................................................... 11 3.4 Interface gráfica FTS tool ............................................................................. 12 4.1 Esquemático sistema de negocição de ativos...................................................... 14 4.2 Esquematização do modelo para desenvolvimento sistema de tomada de decisão de [1] 15 4.3 Lógica de decisão ........................................................................................ 15 4.4 Divisão dados históricos................................................................................ 17 4.5 Série temporal vale5 modelagem .................................................................... 17 4.6 Série temporal vale5 validação ...................................................................... 18 4.7 Série temporal financeira a ser analisada nesse exemplo....................................... 18 4.8 Variação percentual diária vale5 .................................................................... 19 4.9 Definição dos dados necessários para o sistema .................................................. 19 4.10 Proposta de modelo para desenvolvido para sistema de tomada de decisão .............. 20 5.1 Função seno amostrada adicionada de ruído...................................................... 30 5.2 Correlagrama da função seno amostrada acrescida de ruído.................................. 30 5.3 ACF petr4 ................................................................................................ 31 5.4 ACF vale5 ................................................................................................ 31 5.5 ACF bbdc4 ............................................................................................... 32 5.6 ACF csna3................................................................................................ 32 5.7 ACF itau4 ................................................................................................ 33 5.8 ACF vale3 ................................................................................................ 33 5.9 System id tool ............................................................................................ 38 5.10 Importando dados ....................................................................................... 38 5.11 Modelamento no espaço de estados ................................................................. 39 5.12 Valores singulares para escolha da ordem do modelo ........................................... 39 5.13 Validação do modelo .................................................................................... 40 v
  • 5.14 Fechamento em pontos diários do indice Ibovespa de 18/12/1991 ate 5/12/2008 ....... 40 5.15 Histograma indice Ibovespa da variação percentual diária de 18/12/1991 ate 5/12/2008 41 5.16 Gráfico QQ série variação percentual Ibovespa .................................................. 41 5.17 Função de autocorrelação ACF para variação percentual Ibovespa ......................... 42 5.18 Histograma derivada das cotações Ibovespa de 18/12/1991 ate 5/12/2008 ............... 43 5.19 Gráfico QQ série variação Ibovespa ................................................................. 43 5.20 Função de autocorrelação ACF para variação em pontos Ibovespa ......................... 44 5.21 Histograma dos resíduos modelo ARMA(15) preços Ibovespa de 18/12/1991 ate 5/12/2008 ................................................................................................. 44 5.22 Gráfico QQ dos residuos do modelo ARMA em pontos do Ibovespa ....................... 44 5.23 Função de autocorrelação ACF para os resíduos do modelo ARMA analisado .......... 45 6.1 Função de autocorrelação para preço de fechamento de petr4 .............................. 51 6.2 Série temporal utilizada exemplo Kalman......................................................... 52 6.3 Separação dados modelamento e validação exemplo petr4 ................................... 52 6.4 Valores previstos pelo modelo 1 passo a frente e valores observados ....................... 53 6.5 Gráfico dispersão resíduo x valores absolutos dos dados de validação...................... 53 6.6 Divisão da série temporal disponível e seus usos ................................................ 54 6.7 Estimado e observado periodo de validação....................................................... 55 6.8 Esquema simulações com utilização do filtro de Kalman realizadas ........................ 56 6.9 Preço previsto e observado periodo de validação petr4 (com atualização do modelo) 56 6.10 Preço previsto e observado periodo de validação petr4 (sem atualização do modelo). 57 6.11 Capital acumulado diferentes estratégias petr4 ................................................. 57 6.12 Estimado e observado periodo de validação vale5 .............................................. 58 6.13 Capital acumulado diferentes estratégias vale5.................................................. 58 6.14 Preço previsto e observado periodo de validação bbdc4 ...................................... 59 6.15 Capital acumulado diferentes estratégias bbdc4 ................................................ 59
  • LISTA DE TABELAS 4.1 Resultados parâmetros estratégia proposta vale5............................................... 21 4.2 Resultados parâmetros estratégia proposta bbdc4 ............................................. 22 4.3 Resultados parâmetros estratégia proposta tnlp4 .............................................. 23 4.4 Resultados parâmetros estratégia proposta lame4 ............................................. 23 4.5 Resultados parâmetros estratégia proposta netc4 .............................................. 24 4.6 Validação 140 dias tnlp4 .............................................................................. 25 4.7 Validação 140 dias netc4 .............................................................................. 26 4.8 Quadro resumo validação ativos (28 semanas) ................................................... 27 4.9 Análise dos coeficientes de correlação dos ativos utilizados no teste........................ 27 6.1 Resultados simulações no modelo ARMA aplicando o filtro de Kalman como estimador 59 vii
  • LISTA DE SÍMBOLOS Símbolos E Função esperança µ Média da amostra σ Desvio padrão γ(t, s) Função autocovariância (p. 6) ρk Função autocorrelação (p. 34) Pk Preço de fechamento do ativo no período k Rk Variação percentual diária do preço de fechamento do ativo no período k Yt Série temporal genérica X ∼ N (µ, σ 2 ) Variavél aleatória X possui distribuição normal com média µ e variância σ 2 xk Vetor das variavéis de estado do modelo da p.47 wk Vetor de ruído branco de estado zk Vetor de saída do modelo vk Vetor de ruídos de saída xk|k−1 ˆ Estimativa a priori das variavéis de estado xk xk|k−1 ˆ Estimativa a posteriori das variavéis de estado xk Σk|k−1 Matriz de covariância do erro de estimativa a priori Σk|k−1 Matriz de covariância do erro de estimativa a posteriori K Matriz de ganho de Kalman Ativos financeiros petr4 Ação preferencial empresa Petrobras vale5 Ação preferencial especial empresa Vale vale3 Ação ordinárias empresa Vale csna3 Ação ordinárias empresa Siderurgica Nacional netc4 Ação preferencial empresa Net bbdc4 Ação preferencial Banco Bradesco itau4 Ação preferencial Banco Itau tnlp4 Ação preferencial empresa Oi lame4 Ação preferencial empresa Lojas Americanas ix
  • Siglas ACF Função de autocorrelação (autocorrelation function) AR Processo auto-regressivo (autoregressive) FACP Função de autocorrelação parcial (partial autocorrelation function) ARMA Processo média móvel auto-regressivo (Autoregressive moving average) QQ quantiles quantiles
  • Capítulo 1 Introdução O estudo da dinâmica do mercado financeiro representa hoje um dos maiores desafios rela- cionado à economia de mercado. A completa previsibilidade do seu comportamento não é algo possível, já este mercado é movido por opiniões, elementos políticos, realidades sociais, etc. No entanto, a existência de um modelo para o mesmo pode ser de grande interesse econômico, mesmo que este modelo apresente baixo nível de acerto em sua predição. Isto acontece já que baixos ní- veis de acerto em processos de elevada volatilidade podem gerar resultados maiores do que àqueles fornecidos em aplicações conservadoras. As informações dos ativos negociados em bolsas de valores podem ser tratadas como séries temporais. Estas séries são, por definição, conjuntos de dados coletados seqüencialmente ao longo do tempo. O objetivo típico ao se estudar uma série temporal é entendê-la estatisticamente através de um modelo estocástico bem definido, assim como realizar previsões de valores futuros com base numa série histórica passada. Os campos de atuação são vastos, podendo ser citado, além do mercado financeiro, a meteorologia, a administração e finanças como áreas que freqüentemente se utilizam desta metodologia de análise [2]. Em sistemas complexos é comum a abordagem através do modelamento matemático na busca por análises e características do sistema. Em sistemas cuja incerteza está presente, a análise por modelos estocásticos apresenta melhores resultados. O desenvolvimento de técnicas de estimação na teoria de controle para modelos no espaço de estados pode ser utilizado numa ampla gama de sistemas, oferecendo características e padrões de sistemas até então desconhecidos pela análise não formal. Neste trabalho, serão abordadas análises gráficas, estatísticas e a utilização do filtro de Kalman para a criação de um estimador do comportamento das ações em bolsa de valores. No capítulo 2 serão apresentados conceitos básicos relacionados às séries temporais, assim como ferramentas disponíveis para sua análise. No capítulo 3 serão apresentadas formas de captação das séries dos ativos financeiros que serão aqui estudados. No capítulo 4 será apresentada uma proposta de sistema de negociação automatizado (trading system). 1
  • No capítulo 5 serão abordados assuntos pertinentes à modelagem de tendências em séries tem- porais. No capítulo 6 é feita uma aplicação do filtro de Kalman em um modelo de séries temporais descrito no capítulo 5. Por fim, no capítulo 7 são apresentadas conclusões obtidas através do desenvolvimento deste trabalho. 2
  • Capítulo 2 Séries temporais Nesta seção são apresentadas algumas ferramentas disponíveis para análise de uma determinada série temporal. Está dividida nas subseções: • Ferramentas de análise gráfica • Ferramentas de análise estatística 2.1 Ferramentas de análise gráfica Nesta seção, apresentaremos brevemente as formas de análise visuais mais utilizadas para séries temporais, fazendo para tanto o uso de séries financeiras reais. As análises visuais são utilizadas muitas vezes na identificação de tendências. Este procedimento deve ser feito, no entanto, com cautela, e o indicador deve ser tomado como não plenamente confiável, já que muitas vezes a análise pode se mostrar errada. Para exemplificar tal afirmação, as figuras 2.1, 2.2, 2.3 mostram três simulações de passeio aleatório em que as aparências da tendência dominante são completamente diferentes. No entanto, todos as três séries temporais foram geradas com os mesmos parâmetros estatísticos de passeio aleatório, cuja média é zero e variância conhecida e igual nas três simulações. O modelo de passeio aleatório é descrito na subseção 2.2.6. 2.1.1 Gráfico simples Esta ferramenta apresenta uma visão geral da série temporal e seu desenvolvimento ao longo do tempo, além de facilitar a escolha de quais ferramentas para análise utilizar. A figura 2.4 mostra a série temporal para os preços da ação da Petrobras de dezembro de 2003 a dezembro de 2008. 2.1.2 Gráfico de dispersão O gráfico de dispersão coleta dados de duas séries temporais para investigar relações de causa e efeito entre duas variáveis. Além disso, permite a visualização de possíveis relações de correlação entre duas variáveis discretas. 3
  • Random walk 100 unidades de tempo sigma=0.03 0.6 0.5 0.4 0.3 Preço 0.2 0.1 0 −0.1 −0.2 0 10 20 30 40 50 60 70 80 90 100 Tempo figura 2.1: Passeio aleatório (random walk ) tendência de alta Random walk 100 unidades de tempo sigma=0.03 0 −0.1 −0.2 −0.3 Preço −0.4 −0.5 −0.6 −0.7 0 10 20 30 40 50 60 70 80 90 100 Tempo figura 2.2: Passeio aleatório (random walk ) tendência de baixa Um exemplo de gráfico de dispersão está mostrado na figura 2.5. Neste gráfico, um de seus eixos corresponde à série diária de variação percentual dos preços com o atraso de um período, enquanto no outro é apresentada a mesma série sem atraso. Este gráfico pode nos fornecer visualmente uma relação de qual variação é mais provável para o dia seguinte dado que conhecemos a última variação com base na freqüência relativa com que esses eventos acontecem no histórico da série. 2.2 Conceitos estatísticos aplicados a séries temporais Nesta seção, é feita uma revisão de alguns conceitos estatísticos básicos que serão utilizados ao longo do trabalho. 2.2.1 Processos estocásticos Um processo é dito estocástico quando ele é composto por um conjunto de variáveis que apa- recem aleatoriamente [2]. 4
  • Random walk 100 unidades de tempo sigma=0.03 1.8 1.6 1.4 1.2 Preço 1 0.8 0.6 0.4 0 200 400 600 800 1000 1200 1400 Tempo figura 2.3: Passeio aleatório (random walk ) tendência neutra Gráfico da série temporal ativo Petrobras (petr4) 55 50 45 40 35 Preço 30 25 20 15 10 5 0 200 400 600 800 1000 1200 Tempo(dias uteis) desde 2003 figura 2.4: Gráfico simples Petrobras 2.2.2 Função média A função média µ é definida conforme equação 2.1 [2]. µ = E (Y ) (2.1) Onde: Y: Representa uma variavél aleatória, E: Representa a função valor esperado. No Matlab, o cálculo para uma série temporal pode ser implementado através do comando mos- trado: media = mean(serie_temporal) Onde: media: variável que armazenará o valor da média serie_temporal: variável na forma de matriz no ambiente Matlab que contém a série temporal. 2.2.3 Função autocovariância A função autocovariância é definida conforme equação 2.2 [2]: 5
  • Gráfico dispersão Scatteplot variação percentual petr4 no dia k versus variação percentual no dia k−1 15 10 Variação percentual dia k 5 0 −5 −10 −15 −15 −10 −5 0 5 10 15 Variação percentual dia (k−1) figura 2.5: Gráfico de dispersão γ(t, s) = Cov(Y t, Y s) = E[(Y t − µt)(Y s − µs)] (2.2) Onde Yt e Ys são duas variáveis aleatórias. O caso em que Yt e Ys são iguais é conhecido como variância. No Matlab este cálculo pode ser implementado através do comando: cov(serie_temporal) 2.2.4 Correlação A função correlação é definida conforme equação 2.3 [2]. Cov(Y t, Y s) Corr(Y t, Y s) = (2.3) V ar(Y t)V ar(Y s) A função correlação gera um valor entre -1 e 1. Tanto uma correlação de +1 quanto de -1 significa uma forte dependência linear entre as séries. Por sua vez, uma correlação próxima a zero mostra que as duas séries são incorrelatas e possuem uma fraca dependência linear. No MATLAB, este cálculo pode ser implementado através do comando Correlação(x,y) = corrcoef(serie_x,serie_y) 6
  • 2.2.5 Propriedades da variância Algumas propriedades importantes com demonstrações disponívéis em [2] são mostradas a seguir nas equações: 2.4, 2.5, 2.6, 2.7. V ar(X) ≥ 0 (2.4) 2 V ar(a + bX) = b V ar(X) (2.5) V ar(X + Y ) = V ar(X) + V ar(Y ) + 2Cov(X, Y ) (2.6) V ar(X) = E(X 2 ) − [E(X)]2 (2.7) 2.2.6 Passeio aleatório (random walk ) Seja e1 , e2 , seqüência de elementos independentes e igualmente distribuídos de uma variável aleatória de média zero e variância conhecida. Podemos construir a seguinte série denominada de série passeio aleatório Y muito utilizada para modelagem de ativos financeiros. [2] : Y1 = e1 Y2 = e1 + e2 Yt = e1 + e2 + ... + et (2.8) (2.9) Ou de uma maneira recursiva conforme 2.10: Yt = Yt−1 + et (2.10) 2.2.7 Estacionaridade Uma variável aleatória é dita estacionária quando sua distribuição de probabilidade, média e variância não se alteram ao longo do tempo. Para fazermos deduções estatísticas e predições essa é uma propriedade importante que garante que as leis básicas que governam o comportamento do processo não variam ao longo do tempo. Uma condição mais fraca representada matematicamente, também chamada de estacionaridade de segunda ordem, é que a função de autocorrelação não dependa do tempo absoluto, apenas dos atrasos [2]. Além disso o valor esperado da série é constante ao longo do tempo. µ =constante ao longo do tempo e: γ(t, t − k) = γ(0, k) (2.11) 7
  • Capítulo 3 Captação das séries temporais Conforme foi dito anteriormente, este trabalho realizou o estudo de séries temporais com apli- cação em ativos negociados em bolsas de valores. Para tanto, a captação destas séries deve ser entendida como etapa fundamental deste estudo, e assim, não somente uma fonte de captação des- tes dados será considerada previamente. As várias fontes de séries temporais financeiras analisadas estão enumeradas abaixo: 1. Bovespa [3] é a fonte primária de todas as séries no tempo do mercado bursátil brasileiro. Ela disponibiliza informações de todos os ativos negociados na Bovespa desde 1986 e possui a vantagem da disponibilização das séries de todos os ativos negociados em bolsa nesse periodo de diferentes mercados: a vista, fracionário e a termo. Para o presente trabalho apenas o mercado a vista (padrão) é de interesse de estudo. Os dados estão em valores absolutos e não existe nenhum tratamento para eventos que interferem nos preços tais como dividendos e influência da inflação. No caso da inflação, há de se considerar que as séries mais antigas são caracterizadas por terem passado por um processo inflacionário forte. 2. Apligraf [4]: Empresa que comercializa as informações processadas da fonte primária Bovespa. Os dados são apresentados corrigidos de eventuais rendas distribuidas aos acionistas ao longo do periodo. 3. Analista de Mercado [5]: fonte de captação na qual os dados são apresentados na formatação para o uso do software MetastockT M [6]. Assim, caso se deseje utilizar estes dados em outros programas como o MATLAB é necessária a utilização de programas conversores dos formatos destes arquivos. Leandro Stormer [7]: fonte de captação na qual os dados também são apresentados na formatação para o uso do software MetastockT M . Assim como a fonte acima, também é necessária a utilização de programas que convertam estes arquivos para outros formatos de arquivos, caso se deseje utilizá- los em outros programas. Yahoo finance [8]: fonte que apresenta grande facilidade de disponibilização para aplicações no MATLAB. Os dados são carregados com simplicidade para o MATLAB e a base de dados é acessada por scripts. Sua limitação é que apenas informações de ações brasileiras negociadas na NYSE em Nova Iorque são disponibilizadas. 9
  • Dentre as fontes de captação apresentadas, as que foram escolhidas para utilização neste traba- lho visando os objetivos aqui apresentados foram as fontes Apligraf e Yahoo Finance. Estas serão detalhadas nos próximos tópicos. 3.1 Série histórica Apligraf para o MATLAB Uma forma de se obter a série histórica com os dados de negociação de um determinado ativo no mercado de capitais é através dos dados fornecidos pela empresa Apligraf. Esta tem parceria com a maioria das corretoras que negociam na Bovespa. Acessando esta base de dados através da corretora Ativa [9], conforme figura 3.1, foram obtidas as séries temporais dos ativos para uso neste trabalho. figura 3.1: Exemplo de corretora com acesso a base Apligraf O acesso aos dados se dá quando a pessoa cadastrada em uma corretora que se utiliza desta fonte acessa a ferramenta de negociação, que é chamada de ’Home Broker’. O "Home Broker"mostrado na figura 3.1. figura 3.2: Exemplo de plataforma home broker O ’Home Broker’ mostrado na figura 3.2. é um exemplo de plataforma disponibilizada pelas corretoras em que as ordens de compra ou venda de ativos são enviadas diretamente pelo cliente via internet, isto é, sem a intermediação de um corretor. Tal sistema permite agilidade à grande massa do mercado, permitindo ainda que as ordens cheguem na Bovespa em segundos. Uma das ferramentas disponibilizadas nesta plataforma é o gráfico Apligraf. Ao se abrir uma nova janela para o gráfico, é pedido o código do ativo e em seguida é apresentado seu gráfico correspondente. 10
  • Nessa mesma janela na margem inferior é apresentada a opção "importar .xls", conforme figura 3.3. figura 3.3: Gráfico Apligraf Ao clicar nesta opção, a série será disponibilizada em um arquivo, com os seguintes dados de negociação dos últimos cinco anos: 1. Código do papel 2. Datas 3. Preço de abertura do ativo 4. Preço máximo negociado no dia 5. Preço mínimo negociado no dia 6. Preço do ultimo negócio no dia 7. Volume financeiro do ativo negociado no dia 8. Numero de negócios realizados no dia 11
  • Utilizando o programa Microsoft Excel, é possível abrir o arquivo e salvá-lo como texto separado por tabulações. Este é um formato reconhecível pelo MATLAB e pela maioria das linguagens de programação para interpretação de uma tabela de valores. Dessa forma, temos uma maneira rápida de gerar uma base de dados de um ativo negociado na Bovespa. No MATLAB, podemos importar esses dados com comandos já existentes em sua biblioteca. O comando para importação de séries temporais em formato texto separado por tabulações é o comando "load". 3.2 Usando o FTS tool para importar dados O FTS é uma ferramenta com interface gráfica do MATLAB desenvolvida para a criação e manuseio de séries financeiras no tempo. A figura 3.4 mostra a interface gráfica do FTS tool. Com alguns comandos, é possível obter os dados relativos a vários anos de um determinado ativo. Estes dados podem ser captados, por exemplo, da fonte Yahoo Finance. Assim, é importante lembrar que os papéis brasileiros disponíveis no Yahoo Finance são apenas recibos de ações brasileiras (ADRs) na bolsa de Nova York (NYSE), fato que limita a utilização desta fonte. Os comandos para importação das séries temporais estão disponíveis no anexo I. figura 3.4: Interface gráfica FTS tool 12
  • Capítulo 4 Proposta de um sistema de negociação de ativos financeiros Existem verdadeiras enciclopédias [10] descrevendo sistemas técnicos de tomada de decisões. Um problema recorrente é que ao se popularizar esses indicadores, os seus resultados se tornam cada vez menores até que se chega a um ponto que o seu uso não é capaz de superar o desempenho do mercado [11]. Assim, novas formas de análise de um sistema de negociação de ativos financeiros devem ser desenvolvidas para alcançar resultados acima do mercado. Para a construção de um sistema de negociação de ativos financeiros são necessários basicamente três elementos: ativo objeto de estudo, análise das informações dos ativos e operalização da análise. A figura 4.1 resume o esquema básico para um sistema de negociação de um ativo financeiro. Neste sistema, o bloco "carteira de interesse"representa aqueles ativos financeiros que um de- terminado investidor tem acesso e possível interesse de negociação. Por sua vez, o sistema de tomada de decisão é aquele que decidirá pela compra, venda ou permanência do estado do ativo. Visando a automatização deste processo, são utilizados algoritmos para implementá-lo. Já o admi- nistrador de sistema é o agente responsável pela interface do sistema do investidor com o sistema de negociação em bolsa. O sistema de negociação de ativos financeiros aqui proposto apresenta um nível intermediário de automação, já que apenas parte do processo será realizado de forma computadorizada sem a intervenção do homem. Em sistemas de negociação com menor automação, o administrador também realiza o processo de análise. Por sua vez, em sistemas mais automatizados, chamados de robôs negociadores, o envio de ordem é feito sem a intervenção humana, diretamente a partir da tomada de decisão [12]. Vale lembrar que a escolha pela automação do envio de ordens ao sistema de negociações em bolsa é determinante em casos nos quais a janela de oportunidade observada acontece de maneira muito rápida. Um exemplo de janela de oportunidade que tende a se fechar rapidamente é aquela na qual o mesmo ativo é negociado em diferentes bolsas de valores a preços diferentes. Se o sistema já levou em conta o custo de operação envolvido na compra de um ativo em determinado mercado e venda em outro, o tempo de envio da ordem é determinante para o sucesso da operação, já que é razoável supor que outros operadores estarão interessados nessa operação de baixo risco [1]. Além disso, neste tipo de sistema de negociação o problema da segurança da rede 13
  • a invasões não pode ser desprezado. No sistema de negociação desenvolvido nesse capítulo o envio de ordens a bolsa de valores não foi automatizado. O enfoque desejado está na construção do bloco de tomada de decisões automatizado. Além disso, no modelo proposto, a carteira de interesse foi representada por ativos de elevado nível de negociação na bolsa brasileira. figura 4.1: Esquemático sistema de negocição de ativos 4.1 Metodologia de desenvolvimento de um sistema de tomada de decisão O modelo proposto para o desenvolvimento de um sistema de tomada de decisão é mostrado na figura 4.2. Ele foi obtido a partir da observação de todas as etapas necessárias para a criação deste processo automatizado: entrada de parâmetros, considerações sobre a série temporal utilizada, etc. descrito em [1] e foi esquematizado conforme mostrado em 4.2. Nas seções subseqüentes serão descritas mais detalhadamente as considerações relevantes para a criação do sistema final de tomada de decisão. 14
  • figura 4.2: Esquematização do modelo para desenvolvimento sistema de tomada de decisão de [1] 4.1.1 Descrição do sistema proposto 4.1.1.1 Política de tomada de decisões No entendimento da política de tomada de decisões é fundamental situar primeiramente dois parâmetros temporais sempre presentes nesta análise: curto prazo e longo prazo. No presente estudo, os últimos 20 dias de negociação de um determinado ativo na bolsa de valores serão con- siderados representantes do curto prazo, enquanto que os últimos 300 dias de operação anteriores ao período que está sendo analisado serão considerados representantes do comportamento de longo prazo. Assim, por hipótese, levantou-se a possibilidade de que as informações de curto prazo relacionadas a ativos da bolsa de valores, quando confrontadas com informações de longo prazo, podem gerar indicadores capazes de dizer se algum posicionamento em determinado mercado é vantajoso ou não. Este fato motivou o desenvolvimento da proposta que será mostrada ao longo deste capítulo. Considere um sistema para tomada de decisão com as características mostradas na figura 4.3. Onde, na figura 4.3, a posição sobre o eixo é determinada pela média geométrica de curto prazo figura 4.3: Lógica de decisão da ação µc . A média geométrica dos dados de curto prazo é tomada como a média geométrica curta utilizada na análise. A razão de se utilizar médias geométricas como medida de posição 15
  • central decorre da escolha de trabalhar com séries de variação percentual, conforme detalhamento que será apresentado na seção 4.1.2. De forma análoga, a média geométrica dos dados de longo prazo é considerada a média geométrica longa do sistema. E ainda, µL representa a média geo- métrica de longo prazo, σ L representa o desvio padrão de longo prazo para a variação diário , FC representa o fator de compra, FZ1 o fator de zeramento 1, FZ2 o fator de zeramento 2 e FV o fator de venda. Estes parâmetros do sistema determinam o efeito de σ L nas faixas de decisão do sistema. A região dita subvalorizada neste sistema tem como conseqüência a geração de um sinal de compra. Isto acontece se a média geométrica de curto prazo é inferior a µL − F Cσ L . Por sua vez, a região denominada "carregamento compra"tem como conseqüência a geração de um sinal de compra se a decisão anterior tiver sido de compra e se houver sinal neutro em todos os demais casos. Isto acontece se a média geométrica de curto prazo é superior a µL − F Cσ L , mas inferior a µL − F Z1σ L . A região neutra tem como conseqüência a geração de um sinal de zeramento de posições. Isto acontece se a média geométrica de curto prazo é superior a µL − F Z1σL , mas inferior a µL + F Z2σL . E ainda, a região "carregamento venda"tem como conseqüência a geração de um sinal de venda se a decisão anterior tiver sido de venda e se houver sinal neutro em todos os demais casos. Isto acontece se a média geométrica de curto prazo é superior a µL + F Z2σL , mas inferior a µL + F V σL . Por fim, a região supervalorizada tem como conseqüência a geração de um sinal de venda, quando a média geométrica de curto prazo é superior a µL + F V σL . 4.1.1.2 Parâmetros de simulação Como entradas do sistema de tomada de decisões, há os parâmetros do simulador, além da própria série temporal do ativo considerado. O intervalo de simulação escolhido para a análise dos parâmetros FC, FZ1, FZ2 e FV foram aqueles que respeitam as condições 4.1 e 4.2, mostradas abaixo. Esses parâmetros foram incrementados a partir de 0 em 0.05 enquanto essas condições foram atendidas, o que representa uma resolução de 0.05 para os parâmetros. 0 ≤ F C ≤ F Z1 ≤ 2 (4.1) 0 ≤ F Z2 ≤ F V ≤ 2 (4.2) O programa criado para a implementação dessa escolha de parâmetros foi desenvolvido no MATLAB. A quantidade de períodos para simulação foi de 800 dias e para validação deste sistema de tomada de decisão 140 dias. Nesta simulação, a análise dos resultados obtidos era feita a cada 5 dias, havendo, portanto, reavaliação do cenário para a tomada de decisões a cada semana. No período de 5 dias entre cada reavaliação, a última decisão do sistema era mantida. 4.1.2 Séries temporais carteira de interesse Para representar a carteira de interesse na simulação do modelo proposto para o sistema de negociação de ativos financeiros foram escolhidos aleatoriamente alguns dos ativos mais negociados na bolsa brasileira, sendo estes: vale5, bbdc4, tnlp4, lame4 e netc4. A série temporal utilizada 16
  • foi o preço de fechamento dos ativos em bolsa. O preço de fechamento é uma referência importante, pois é normalmente a cotação fechada com maior volume financeiro do dia. Na utilização dos dados de interesse da carteira é necessário separar a série histórica em dois segmentos, conforme o modelo mostrado na figura 4.10 prevê. Essa separação é feita em 2 catego- rias: dados para modelagem e os dados separados para a validação, conforme esquema da figura 4.4. Os dados representantes da série temporal de cada ativo para a modelagem foram obtidos a figura 4.4: Divisão dados históricos partir de simulações tendo como base os últimos 800 dias antecedentes a 30 de dezembro de 2008. Vale lembrar, no entanto, que o longo prazo considerado na presente análise equivale aos últimos 300 dias de operação anteriores ao período que está sendo analisado. Assim, para a obtenção das séries temporais a serem utilizadas neste modelamento foram necessários os preços de fechamento dos últimos 1100 dias úteis anteriores a 30 de dezembro de 2008. A figura 4.5 mostra um exemplo de série temporal utilizada no modelo proposto. Por sua vez, a simulação utilizada na parte de validação do sistema final, que avaliou o seu comportamento em 140 dias (28 semanas), utilizou os dados indicados no intervalo "simulação efetiva"da figura 4.6, que também considerou os 300 preços de fechamento anteriores a 30 de dezembro de 2008. Gráfico serie temporal de preços de vale5 modelagem 60 50 40 Preço 30 20 10 0 0 100 200 300 400 500 600 700 800 900 1000 1100 Tempo(dias uteis) com último dia 28/12/2008 figura 4.5: Série temporal vale5 modelagem Para maior adequação dos dados da série ao sistema proposto, essa série temporal de preços de fechamento foi transformada antes da sua aplicação na série de variação percentual diária. Como ilustração, considere a série temporal de preços de fechamento do ativo negociado pelo código 17
  • Gráfico serie temporal de preços de vale5 validação 60 55 Simulação efetiva 50 45 Preço 40 35 30 25 20 0 50 100 150 200 250 300 350 400 450 Tempo(dias uteis) com inicio 300 dias anteriores a 28/12/2008 figura 4.6: Série temporal vale5 validação vale5 no período entre 02/01/2004 e 28/12/2008, mostrada na figura 4.7. Gráfico serie temporal de preços de vale5 60 50 40 Preço 30 20 10 0 0 200 400 600 800 1000 1200 Tempo(dias uteis) de 02/01/2004 a 28/12/2008 figura 4.7: Série temporal financeira a ser analisada nesse exemplo Sendo Pk o preço de fechamento do dia k, é possível definir a função variação percentual diária (Rk ) conforme a equação (4.3) ou definirmos Pk em função de Rk pela relação (4.4). Pk − P(k−1) Rk = 100% (4.3) P(k−1) Rk Pk = P(k−1) (1 + ) (4.4) 100 Aplicando (4.3) no exemplo da série de preço de fechamento (Pk ) do ativo vale5 de 02/01/2004 a 28/12/2008 apresentado na figura 4.7 , é apresentado o gráfico de variação percentual da série (Rk ) na figura 4.8. Considerando as informações do gráfico apresentado na figura 4.8 para os primeiros 300 dias da série anteriormente apresentada, é obtido o gráfico 4.9. Nela fica evidenciada a necessidade dos últimos 300 dias para cálculo das informações de longo prazo. 18
  • Gráfico variação percentual diaria dos preços de vale5 15 10 5 variação percentual diária 0 −5 −10 −15 −20 0 200 400 600 800 1000 1200 Tempo(dias uteis) de 03/01/2004 a 28/12/2008 figura 4.8: Variação percentual diária vale5 Gráfico variação percentual diária dos preços de vale5 para os 300 primeiros a partir de 03/01/2004 8 Dados curto prazo (últimos 20 periodos) 6 4 Variação percentual diária 2 0 −2 −4 −6 Dados longo prazo (últimos 300 periodos) −8 20 40 60 80 100 120 140 160 180 200 Tempo(dias uteis) a partir de 03/01/2004 figura 4.9: Definição dos dados necessários para o sistema 4.1.3 Filtragem dos resultados A obtenção dos parâmetros do simulador foi possível a partir de simulações feitas utilizando as séries temporais da carteira de interesses. Devido ao grande número de combinações possíveis entre os parâmetros FC, FZ1, FZ2 e FV o resultado das simulações destas diferentes combinações foi filtrado em três etapas. A primeira etapa consistiu na separação dos resultados que apresentaram um retorno médio por operação superior a 0.2 % dos demais resultados. Os resultados que apresen- taram este retorno médio foram promovidos para outra fase de seleção. Além disso, combinações de parâmetros que geraram menos que 20 sinais de compra no período simulado foram eliminados. Esta decisão foi tomada, pois se considerou que menos do que 20 sinais de compra em 800 dias (160 semanas) de simulação possuem pouca significância estatística para a análise desejada. A segunda etapa da filtragem consistiu na escolha de um conjunto de parâmetros para cada número de operações. Esta escolha foi feita a partir do maior elemento resultante da ordenação dessas seqüências de parâmetros obtidos de acordo com os seguintes critérios: maior rentabilidade por operação e maior razão retorno por operação por desvio padrão dos retornos por operação. Em caso de empate desses critérios, foram priorizados os maiores parâmetros. Por fim, a terceira etapa consistiu na eliminação daqueles conjuntos de parâmetros que apre- 19
  • sentassem redução na rentabilidade média por operação concomitantemente a redução no número de operações. Com base no que foi apresentado até o momento, é possível realizar maior detalhamento do sistema de tomada de decisão proposto nesse trabalho, conforme esquema apresentado na figura 4.10. figura 4.10: Proposta de modelo para desenvolvido para sistema de tomada de decisão 4.2 Resultados da simulação Primeiramente serão definidos alguns parãmetros de saída da simulação e posteriormente apre- sentado os resultados da simulação propriamente dita. 4.2.1 Parâmetros de saída da simulação Sendo Pcompra o preço em que o ativo foi comprado, Pvenda o preço em que o ativo foi vendido em uma dada operação, considere a relação (4.5) para o calculo da rentabilidade (retorno) percentual 20
  • por operação ki , desconsiderando-se qualquer custo de negociação dos ativos. [13] Pvenda − Pcompra ki = (4.5) Pcompra O retorno médio percentual kmedio para um número n de operações no período cuja rentabilidade acumulada é kacumulado é definido pela relação (4.6) [13]. kmedio = n 1 + kacumulado − 1 (4.6) 4.2.2 Simulação e resultados A partir da utilização do método proposto para a determinação dos parâmetros FC, FZ1, FZ2 e FV de um sistema de tomada de decisões, foram realizadas as simulações deste sistema para 5 ativos: Vale (vale5), Bradesco (bbdc4), Telemar (tnlp4), Lojas Americanas (lame4) e Net (netc4). Os resultados fornecidos pelo programa computacional desenvolvido neste estudo estão mostrados nas tabelas 4.1, 4.2, 4.3, 4.4 e 4.5. É importante ressaltar que o objetivo da filtragem estabelecida na seção 4.1.3 não foi determinar um único conjunto de parâmetros, já que esta escolha deverá ser feita pelo operador da ação a depender de seu nivel de risco. Se este for um cliente conservador, por exemplo, será mais interessante optar por um menor número de operações, mesmo que seu retorno total seja menor do que àquele que optou por operações mais freqüentes. Note que, dentre os resultados, são apresentados os números de operações (compra ou venda) sinalizados pelo programa, o retorno total obtido nos anos simulados, a rentabilidade média das operações oriunda da estratégia adotada, além das rentabilidades médias e totais do ativo para estrátegia de comprar e segurar. Estes dois últimos parâmetros consistem nos valores de rentabilidade fornecidos pelo mercado para aqueles que mantiveram ao longo dos anos analisados a ação comprada. Tabela 4.1: Resultados parâmetros estratégia proposta vale5 Operações FC FZ1 FV FZ2 retorno total rentabilidade média 54 0.45 0.00 0.20 0.00 76.34% 1.06% 38 0.45 0.00 0.30 0.00 51.39% 1.10% 37 0.45 0.00 0.20 0.20 61.89% 1.31% 26 0.45 0.00 0.30 0.20 62.00% 1.87% 19 0.45 0.00 0.40 0.00 49.43% 2.14% 18 0.45 0.00 0.40 0.20 61.64% 2.70% 17 0.45 0.00 0.40 0.30 58.02% 2.73% 16 0.45 0.00 0.40 0.40 70.63% 3.40% 13 0.45 0.00 3.00 3.00 93.85% 5.22% 9 0.45 0.10 3.00 3.00 62.91% 5.57% 6 0.50 0.10 3.00 3.00 44.01% 6.27% rentabilidade média referência 0.20% rentabilidade total referência 37.78% 21
  • Tabela 4.2: Resultados parâmetros estratégia proposta bbdc4 Operações FC FZ1 FV FZ2 retorno total rentabilidade média 36 0.40 0.10 0.20 0.10 47.12% 1.08% 34 0.40 0.20 0.20 0.10 47.03% 1.14% 32 0.40 0.10 0.20 0.20 49.17% 1.26% 30 0.40 0.20 0.20 0.20 49.08% 1.34% 27 0.40 0.10 0.30 0.00 63.83% 1.85% 25 0.40 0.20 0.30 0.00 63.74% 1.99% 21 0.40 0.10 0.30 0.10 71.66% 2.61% 19 0.40 0.10 0.30 0.30 83.53% 3.25% 17 0.40 0.20 0.30 0.30 83.43% 3.63% 13 0.50 0.10 0.30 0.30 71.04% 4.21% 10 0.60 0.20 0.30 0.10 60.52% 4.85% 9 0.50 0.10 3.00 3.00 54.79% 4.97% 8 0.60 0.20 0.30 0.30 71.61% 6.98% rentabilidade media referencia 0.32% rentabilidade total referência 65.92% 4.3 Resultados da validação do modelo Os resultados obtidos na seção 4.2 não são suficientes para validar o modelo proposto. Isso porque estamos tratando um grande grupo de rentabilidades possíveis, sendo esperadas renta- bilidades acima e abaixo da média do ativo. E ainda, no caso houve uma seleção de parâmetros pós-simulação, sendo estes os melhores dentre aqueles obtidos. Considerar somente os melhores pa- râmetros não fornecerá nenhuma garantia de que seu funcionamento continuará sendo o melhor em outros cenários. Assim, nesta seção os parâmetros do simulador foram escolhidos previamente com base em um dos parâmetros obtidos na seção 4.2 e então somente posteriormente seus resultados foram analisados. Para validação do modelo desenvolvido foi escolhida uma combinação dos parâmetros FC, FZ1, FZ2 e FV e em seguida foi detalhado o seu comportamento em 140 dias (28 semanas) de operação. Foram então calculadas as médias de curto e longo prazo da ação, para em seguida obter a sinalização fornecida pelo modelo (compra ou venda). A verificação da validade da sinalização pode ser feita a partir da conferência dos dados das regiões definidas no modelo. Como parâmetros desta validação há ainda a rentabilidade da série analisada e a rentabilidade acumulada. Observe que a rentabilidade acumulada possui valor inicial igual a 1 (100% do valor investido inicialmente). A partir deste valor são tomadas as ações sinalizadas pelo modelo e este valor inicial pode ser aumentado, diminuído ou mantido dependendo do tipo de ação adotada. Por exemplo, se o modelo sinalizar um estado neutro (0), o valor da rentabilidade será mantido o mesmo. Por sua vez, quando o modelo sinalizar um sinal de compra (1) o valor da rentabilidade acumulada será aumentado no percentual correspondente à rentabilidade da série naquele momento. Já quando for sinalizado um sinal de venda (-1), o valor da rentabilidade acumulada será diminuído no percentual 22
  • Tabela 4.3: Resultados parâmetros estratégia proposta tnlp4 Operações FC FZ1 FV FZ2 retorno total rentabilidade média 59 0.20 0.00 0.30 0.30 68.41% 0.89% 37 0.25 0.00 0.30 0.30 57.96% 1.24% 33 0.30 0.05 0.30 0.30 50.58% 1.25% 24 0.30 0.25 0.30 0.30 42.19% 1.48% 23 0.30 0.30 0.30 0.30 42.03% 1.54% 22 0.35 0.25 0.30 0.30 40.75% 1.57% 21 0.35 0.35 0.30 0.30 40.59% 1.64% 13 1.20 1.20 0.30 0.30 30.07% 2.04% 10 0.35 0.35 0.50 0.10 22.76% 2.07% rentabilidade media referencia 0.17% rentabilidade total referência 30.74% Tabela 4.4: Resultados parâmetros estratégia proposta lame4 Operações FC FZ1 FV FZ2 retorno total rentabilidade média 45 0.40 0.00 0.20 0.10 96.42% 1.51% 31 0.45 0.00 0.20 0.20 60.32% 1.53% 30 0.45 0.45 0.20 0.10 63.20% 1.65% 28 0.55 0.15 0.20 0.10 64.37% 1.79% 19 0.40 0.00 3.00 3.00 56.12% 2.37% 10 0.45 0.00 3.00 3.00 43.04% 3.64% rentabilidade media referencia 0.27% rentabilidade total referência 53.99% correspondente à rentabilidade da série naquele momento. Os resultados obtidos nesta validação podem ser visto passo a passo nas tabelas 4.6 e 4.7. A primeira tabela foi criada para o ativo da tnlp4, com FC=0.2, FZ1=0, FZ2=0.3 e FV=0.3, e a segunda tabela para um ativo da netc4, com FC=0.05, FZ1= 0, FZ2=0.2 e FV=0.2. A Tabela 4.8 resume os dados da validação de 3 ativos: netc4, tnlp4 e vale5. Por sua vez, a Tabela 4.9 mostra os coeficientes de correlação cuja fórmula foi apresentada na equação 2.3 para os ativos utilizados no processo de validação. Podemos observar na tabela que entre os ativos mais negociados na bovespa a correlação linear entre os preços é relativamente forte. A validação do ativo vale5 foi feita da mesma forma que os outros ativos, mas sua tabela de resultados passo a passo para validação foi ocultada. Podemos observar que os parâmetros escolhidos previamente obtiveram uma rentabilidade média satisfatória nos momentos em que o posicionamento foi recomendado, concluindo assim que embora testes de validação mais amplos necessitem ser realizados, os resultados preliminares são satisfatórios. 23
  • Tabela 4.5: Resultados parâmetros estratégia proposta netc4 Operações FC FZ1 FV FZ2 retorno total rentabilidade média 71 0.05 0.00 0.20 0.20 98.01% 0.97% 68 0.05 0.05 0.20 0.20 94.33% 0.98% 62 0.10 0.00 0.20 0.20 89.36% 1.04% 57 0.15 0.00 0.20 0.20 116.43% 1.36% 40 0.15 0.15 0.20 0.20 73.36% 1.38% 32 0.25 0.10 0.20 0.20 57.17% 1.42% 30 0.25 0.05 0.40 0.00 66.28% 1.71% 26 0.25 0.15 0.20 0.20 63.27% 1.90% 22 0.25 0.15 0.40 0.00 52.15% 1.93% 13 0.45 0.05 0.20 0.20 34.33% 2.30% 12 0.35 0.20 0.20 0.20 37.42% 2.68% 11 0.35 0.25 0.20 0.20 36.25% 2.85% 10 0.40 0.20 0.20 0.20 44.52% 3.75% 9 0.40 0.40 0.20 0.20 43.29% 4.08% 8 0.45 0.45 0.20 0.20 28.53% 3.19% 7 0.35 0.25 0.40 0.00 26.97% 3.47% 6 0.40 0.20 0.40 0.00 34.67% 5.09% 5 0.40 0.40 0.40 0.00 33.53% 5.95% rentabilidade media referencia 0.10% rentabilidade total referência 16.55% 24
  • Tabela 4.6: Validação 140 dias tnlp4 FC=0.2 FV=0.3 FZ1=0 FZ2=0.3 MediaC MediaL DesvioL Decisao RentS Renta cum -0.5587 -0.0328 3.7057 0 -8.2109 1 -1.0344 -0.0735 3.7208 1 -7.1114 1 -1.2856 -0.0581 3.7221 1 0 1 -0.5929 -0.0124 3.7238 1 6.0587 1.0606 -0.2737 -0.0458 3.7309 1 -4.6837 1.0109 0.7851 0.0257 3.7636 0 14.4969 1.1575 0.97 0.0143 3.761 0 6.6699 1.1575 0.3106 -0.0035 3.771 0 -2.2833 1.1575 0.7766 0.0193 3.7706 0 -3.2319 1.1575 0.4418 0.0279 3.779 0 4.1311 1.1575 0.6041 0.0732 3.8076 0 6.8253 1.1575 0.2039 -0.0336 3.6804 0 -0.144 1.1575 0.8789 0.0316 3.673 0 7.3203 1.1575 0.5342 0.0039 3.6497 0 -0.7292 1.1575 0.2862 -0.0296 3.639 0 -1.7031 1.1575 0.4534 0.015 3.624 0 5.881 1.1575 0.0237 0.0064 3.6014 0 1.9846 1.1575 0.0559 -0.0082 3.6055 0 -1.2941 1.1575 0.167 -0.0063 3.5866 0 0.9936 1.1575 0.1713 0.0156 3.5517 0 3.4791 1.1575 -0.0535 0.016 3.5052 0 -1.6679 1.1575 -0.126 -0.0167 3.4984 0 -4.3375 1.1575 -0.5229 -0.0747 3.4832 0 -6.9274 1.1575 -0.5997 -0.0438 3.4706 0 1.6876 1.1575 -0.3468 -0.0201 3.4632 0 2.9954 1.1575 -0.4026 -0.0341 3.4709 0 -3.568 1.1575 0.0673 -0.0083 3.4215 0 -0.6099 1.1575 -0.1215 -0.0197 3.419 0 -1.6165 1.1575 25
  • Tabela 4.7: Validação 140 dias netc4 FC=0.05 FV=0.2 FZ1=0 FZ2=0.2 MediaC MediaL DesvioL Decisao RentS Renta cum 0.3929 -0.2171 4.054 0 9.7261 1 0.1209 -0.2157 4.1088 0 1.027 1 0.1629 -0.2147 4.1105 0 6.6894 1 0.5976 -0.1858 4.111 0 2.561 1 -0.069 -0.2118 4.114 0 -7.7907 1 0.551 -0.1382 4.0983 0 4.3248 1 0.1384 -0.1765 4.0689 0 3.9018 1 -0.278 -0.1679 4.0476 0 -1.1557 1 0.1596 -0.116 4.0248 0 -1.4874 1 0.3234 -0.1066 3.9959 0 4.2187 1 0.6556 -0.0579 3.9885 0 4.2646 1 0.4362 -0.1097 3.9864 0 -0.8947 1 0.6976 -0.0634 3.979 0 1.1216 1 0.0029 -0.0327 3.9394 0 -5.5333 1 -0.0485 -0.0782 3.9118 0 -1.4806 1 0.2476 -0.0617 3.9193 0 8.7962 1 -0.0595 -0.048 3.9243 0 0.4306 1 0.327 -0.0154 3.9281 0 -1.4936 1 0.7016 -0.0238 3.9394 0 4.753 1 0.4446 0.0162 3.9098 0 -2.0877 1 0.0411 0.0195 3.8917 0 -1.1938 1 0.158 -0.0147 3.8647 0 2.3224 1 -0.3263 -0.0405 3.8489 1 -2.2213 1 -0.0635 -0.0481 3.8371 1 2.1065 1.0211 0.4815 0.001 3.7897 0 3.7242 1.0591 0.2951 -0.0226 3.7874 0 2.3948 1.0591 0.623 -0.0475 3.7456 0 1.1832 1.0591 0.0995 -0.0659 3.7426 0 -4.308 1.0591 26
  • Tabela 4.8: Quadro resumo validação ativos (28 semanas) sistema proposto ativo rentabilidade acumulada rentabilidade semanal (ativo) número operações netc4 5.91% 2.91% 2 tnlp4 15.75% 3.72% 4 vale5 11.97% 2.29% 5 Estratégia compra e segurar ativo rentabilidade acumulada rentabilidade média semanal número operações netc4 42.43% 1.27% 28 tnlp4 6.57% 0.23% 28 vale5 35.71% 1.10% 28 Tabela 4.9: Análise dos coeficientes de correlação dos ativos utilizados no teste Coeficiente de correlação (ativo A, Ativo B) ativo B Ativo A netc4 petr4 vale5 netc4 1 0.6691 0.7717 petr4 0.6691 1 0.9513 vale5 0.7717 0.9513 1 27
  • Capítulo 5 Modelagem de tendências em séries temporais Uma tendência pode ser definida como um comportamento previsível, e classificada em dois grupos [2]: tendência estocástica e tendência determinística. As tendências estocásticas são aquelas que ocorrem por acaso, devido à natureza da variável aleatória envolvida no processo. Por sua vez, tendências determinísticas são aquelas cuja caracterização é suficiente através de determinado modelo, juntamente com a consideração da presença de ruído branco. Conforme visto na seção 2.1, um modelo determinístico deve ser adotado com cautela. Para uma série temporal Yt qualquer, é possível modelar a presença de tendências determi- nísticas a partir da separação de sua componente determinística µt e estocástica Xt [2], conforme relação dada na equação 5.1. A componente determinística deve ser somada com um termo esto- cástico puro para representação do comportamento da série. Yt = µt + Xt (5.1) Onde: µt é o termo determinístico. Xt o termo estocástico puro. 5.1 Tendência sazonal Uma tendência sazonal é aquela que se repete em períodos espaçados no tempo. Seu estudo pode ser feito através da construção de um modelo diferente para cada ciclo de dados. Este modelo pode ser utilizado, por exemplo, na modelagem da mudança de temperatura ao longo dos anos. Veja:   β1 , para_t = 1, 13, ...    β2 , para_t = 2, 14, ...  µt =   ...   β12 , para_t = 12, 24, ... 29
  • 5.1.1 Sazonalidade com a função de autocorrelação Podemos verificar a presença de sazonalidade em uma série temporal através do estudo da função de autocorrelação e visualmente pelo gráfico do correlograma. O correlograma é um gráfico correlação versus atraso de propagação [2], cujo pontos de máximos locais do gráfico podem ajudar na identificação das freqüências de acontecimento dos eventos sazonais. Para exemplificar como o processo de identificação do período de ciclos sazonais é realizado consi- dere uma função discreta Z definida conforme equação 5.2. πt Z(t) = sen( ) + et (5.2) 6 et ∼ N (0, 0.2) (5.3) Seja Z calculado de t igual a 1 a t igual a 120. Temos então uma possível série temporal cujo gráfico preço versus tempo é mostrado na figura 5.1 e seu gráfico correlograma na figura 5.2. Seno com ruído com sigma=0.2 1.5 1 0.5 Preço 0 −0.5 −1 −1.5 0 20 40 60 80 100 120 Tempo figura 5.1: Função seno amostrada adicionada de ruído Gráfico função auto correlação seno com ruído 1 0.8 0.6 0.4 Autocorrelação 0.2 0 −0.2 −0.4 −0.6 −0.8 −1 0 2 4 6 8 10 12 14 16 18 20 Atraso figura 5.2: Correlagrama da função seno amostrada acrescida de ruído A partir do gráfico da figura 5.2 é possível notar que mesmo na presença de ruídos o atraso k=12 é identificado como tendo um coeficiente de correlação próximo a 1, o que implica numa correlação positiva forte. O atraso apontado multiplicado pela freqüência de amostragem é justamente o 30
  • período de oscilação da senóide gerada (T= 12 π/2− > 2π). Tal exemplo exemplifica o fato de que os picos da função de autocorrelação podem ser utilizados para identificar freqüências de oscilação da série. 5.1.2 Sazonalidade com a função de autocorrelação numa série financeira Para aplicação da sazonalidade com a função de autocorrelação em uma série financeira, buscou- se relações de sazonalidade no retorno diário de determinados ativos. Estas relações foram explo- radas a partir da base de dados dos preços destes ativos nos períodos entre 2004 e 2008. Os ativos escolhidos, representados pelo seu código de mercado, foram: petr4, vale5, bbdc4, csna3, itau4 e vale3. As figuras 5.3, 5.4, 5.5, 5.6, 5.7 e 5.8 mostram as funções autocorrelação para o conjunto de séries financeiras reais escolhidas. Gráfico correlação ativo petr4 0.1 0.08 0.06 Autocorrelação amostrada 0.04 0.02 0 −0.02 −0.04 −0.06 −0.08 −0.1 0 2 4 6 8 10 12 14 16 18 20 Atraso figura 5.3: ACF petr4 Gráfico correlação ativo vale5 0.1 0.08 0.06 Autocorrelação amostrada 0.04 0.02 0 −0.02 −0.04 −0.06 −0.08 −0.1 0 2 4 6 8 10 12 14 16 18 20 Atraso figura 5.4: ACF vale5 Nos correlogramas mostrados em: 5.3, 5.4, 5.5, 5.6, 5.7 e 5.8, as duas linha horizontais repre- sentam 2σ dos erros associados a estimação da função de autocorrelação. Nesse caso, considerando uma variável com distribuição gaussiana, era esperado que em 95% dos casos a correlação para um dado atraso fosse inferior ao valor das retas horizontais de 2σ, isto é, em apenas um caso a cada vinte amostras tal comportamento não seria esperado. No entanto, observando os correlogramas 31
  • Gráfico correlação ativo bbdc4 0.1 0.08 0.06 Autocorrelação amostrada 0.04 0.02 0 −0.02 −0.04 −0.06 −0.08 −0.1 0 2 4 6 8 10 12 14 16 18 20 figura 5.5: ACF bbdc4 Gráfico correlação ativo csna3 0.1 0.08 0.06 Autocorrelação amostrada 0.04 0.02 0 −0.02 −0.04 −0.06 −0.08 −0.1 0 2 4 6 8 10 12 14 16 18 20 Atraso figura 5.6: ACF csna3 das séries financeiras estudadas, vemos que tal evento ocorre numa freqüência três vezes maior daquela esperada. Tal fato leva a hipótese de existência de uma componente determinística nas séries financeiras analisadas. 5.2 Modelos probabilísticos Na análise de séries temporais, é importante que seja feito o estudo de modelos probabilísticos, já que estes caracterizam o comportamento de um sistema baseado em variáveis aleatórias. Este estudo será feito a seguir, com a apresentação de alguns tópicos pertinentes ao presente assunto. 5.2.1 Ruído branco Seja Zt uma seqüência de uma variável aleatória independente, identicamente distribuída, com média zero e variância conhecida σ 2 . Então Zt é dita uma seqüência de ruído branco. Uma condição mais fraca, porém aceita em muitos casos, é que Zt seja apenas incorrelata e não necessariamente independente [14]. 32
  • Gráfico correlação ativo itau4 0.1 0.08 0.06 Autocorrelação amostrada 0.04 0.02 0 −0.02 −0.04 −0.06 −0.08 −0.1 0 2 4 6 8 10 12 14 16 18 20 Atraso figura 5.7: ACF itau4 Gráfico correlação ativo vale3 0.1 0.08 0.06 Autocorrelação amostrada 0.04 0.02 0 −0.02 −0.04 −0.06 −0.08 −0.1 0 2 4 6 8 10 12 14 16 18 20 Atraso figura 5.8: ACF vale3 5.2.2 Processo linear geral Um processo linear geral {Yt } é aquele que pode ser representado como uma soma ponderada linear de ruídos brancos presentes e passados. [2], segundo a equação 5.4 Yt = Zt + Ψ1 Z(t−1) + Ψ2 Z(t−2) + ... (5.4) O peso de cada componente passada de ruído branco é representado por Ψt . 5.2.3 Modelo média móvel Quando no processo linear geral apenas um número finito de termos é não nulo temos: [2] Yt = et + ϕ1 e(t−1) + ... + ϕ2 e(t−q) (5.5) 33
  • Este modelo é denominado modelo de média móvel de ordem q , com a simbologia usual de: MA(q) [14]. Seja Yt um modelo MA(q) de acordo com as definições dessa seção então: E(Y t) = 0 var(Yt ) = (1 + ϕ2 1 + ... + ϕ2 )σ 2 q cov(Yt , Yt+k ) = 0, para|k| > q q−|k| 2 cov(Yt , Yt+k ) = σ σσ(i+|k|) para|k| ≤ q (5.6) i=0 A prova de tais preposições esta disponível em [14]. Se uma constante µ for adicionado como Y(t)=µ+ϕ∗B teremos E(Yt)=µ, mas a função covariância e correlação não se alterarão. A função de autocorrelação [2], já definida anteriormente, pode ser representada no estudo das médias móveis como sendo : Cov(Yt , Yt+k ) ρk = Corr(Yt , Yt+k ) = (5.7) var(Yt )var(Yt+k ) Note que essa função depende somente da série temporal atual e de sua série correspondente atrasada em k períodos. Um fato importante a ser considerado é que a função autocorrelação do modelo de médias móveis se anula para um atraso maior do que q, já que neste caso não haverá mais termos definidos para a mesma. A utilização da função de autocorrelação daí definida pode ser útil, por exemplo, para identificar os elementos passados que tem maior influência no modelo presente. Isto pode ser feito com o auxílio do correlograma. Com este gráfico desenhado, é possível escolher aquelas componentes que apresentam maior significância para o valor presente do modelo e, assim, trabalhar com um número reduzido de variáveis. As componentes de maior relevância serão representadas pelos elementos de maior valor em seu eixo y no gráfico. A função de autocorrelação leva ainda a estacionaridade no modelo de médias móveis. Tal fato deve-se a não dependência desta função no tempo absoluto, e sim em atrasos. 5.2.3.1 Invertibilidade do modelo Seja Yt um modelo MA(q) dado por Yt=ϕ(B) ∗ Zt, comB ∗ Zt = Z(t−1) onde: ϕ(B) = 1 + ϕ ∗ B + ... + ϕ ∗ B q (5.8) Então, o seguinte teorema é válido [14]:um modelo MA(q) de Yt é inversível se as raízes da equação ϕ(B) = 0 se localizam fora do circulo unitário. 5.2.4 Processos auto-regressivo Processos auto-regressivos (AR) consistem em regressões do próprio processo e são também chamados de modelo com variável defasada [2]. Matematicamente um processo de ordem p de Yt 34
  • é aquele que satisfaz a equação 5.9. Yt = φ1 Yt−1 + φ2 Yt−2 + ... + φp Yt−p + et (5.9) Sendo assim o valor em t da série Yt é uma combinação linear dos valores anteriores a t, acrescido de um termo inovativo de natureza aleatória et que incorpora tudo que é novo a série no tempo t que não pode ser explicado pelos valores passados [2]. 5.2.4.1 Características do processo auto-regressivo geral Considere o modelo auto-regressivo de ordem p descrito pela equação 5.10. O polinômio carac- terístico para este modelo é definido conforme 5.10 e sua equação característica é definida conforme 5.12. Yt = φ1 Yt−1 + φ2 Yt−2 + ... + φp Yt−p + et (5.10) φ(x) = 1 − φ1 x − φ2 x2 − ... − φp xp (5.11) 2 p 1 − φ1 x − φ2 x − ... − φp x = 0 (5.12) Assumindo et independente dos termos anteriores, uma solução estacionária à equação 5.12 existe apenas se as p raízes da equação característica possuírem valor absoluto maior que 1. Para as raízes serem maiores que 1, em módulo, são condições necessárias, mas não suficientes, que as relações 5.13 e 5.14 sejam atendidas. φ1 + φ2 + ... + φp < 1 (5.13) |φ| < 1 (5.14) Assumindo média zero e existência de estacionaridade, é possível manipular a equação 5.9 para chegar à relação recursiva 5.15 de ρk que representa o coeficiente de autocorrelação para um determinado atraso k. ρk = φ1 ρk−1 + φ2 ρk−2 + φ3 ρk−3 + ... + φp ρk−p (5.15) (5.16) Substituindo k por k=1, 2, ..., p, chega-se às equações de Yule-Walker 5.17, que para valores numé- ricos de φ1 , φ2 , ..., φp podem ser resolvidas, obtendo assim os valores numéricos de ρ1 , ρ2 , ..., ρp .Com isso, é possível retornar à relação 5.15 e determinar qualquer ρk ρ1 = φ1 + φ2 ρ1 + φ3 ρ2 + ... + φp ρp−1 ρ2 = φ1 ρ1 + φ2 + φ3 ρ1 + ... + φp ρp−2 . . . ρp = φ1 ρp−1 + φ2 ρp−2 + φ3 ρp−3 + ... + φp (5.17) 35
  • Multiplicando a equação 5.9 por Yt e calculando a esperança, temos 5.18: 2 γ0 = φ1 γ1 + φ2 γ2 + ... + φp γp + σe (5.18) usando a relação ρk = γk /γ0 podemos determinar a variância do modelo por 5.19: 2 σe γ0 = (5.19) 1 − φ1 ρ1 − φ2 ρ2 ... − φp ρp Com isso, temos as relações de variância (5.19) e função de autocorrelação (5.15) para um modelo auto-recursivo de ordem p. 5.2.4.2 Identificando a ordem de um modelo AR Na prática, a ordem p de um processo auto-regressivo é desconhecida, devendo ser especificada empiricamente. Uma das formas utilizadas para isso é através da função de autocorrelação parcial (FACP). Considere os seguintes modelos auto-regressivos ordenados de forma crescente a partir da ordem de seu modelo: Yt = φ1,1 Yt−1 + φ1,2 Yt−2 + ... + φ1,p Yt−p + e1t (5.20) Yt = φ2,1 Yt−1 + φ2,2 Yt−2 + ... + φ2,p Yt−p + e2t (5.21) Yt = φ3,1 Yt−1 + φ3,2 Yt−2 + ... + φ3,p Yt−p + e3t (5.22) Yt = φ4,1 Yt−1 + φ4,2 Yt−2 + ... + φ4,p Yt−p + e4t (5.23) φ1,1 é a função(FACP) para atraso igual a 1. φ2,2 é a função(FACP) para atraso igual a 2. φ3,3 é a função(FACP) para atraso igual a 3. Por definição [15], a função de autocorrelação parcial para atraso igual a 3 mostra a contribuição do modelo de ordem 3 sobre o modelo de ordem 2. Para a determinação da ordem, basta observar quando φp,p está suficientemente baixo para o nível de significância desejado. 5.2.5 Processos médias móveis auto-regressivo Um modelo auto-regressivo de médias móveis ARMA, do inglês - Autoregressive Moving Ave- rage - combina as idéias do modelo auto-regressivo com o modelo de médias móveis, visando o modelamento do sistema de uma forma compacta. Assim, o número de parâmetros representativos do sistema será mantido baixo [15] e seu estudo poderá ser feito mais facilmente. Este modelo ARMA pode ser representado matematicamente por meio da equação 5.24. Yt = φ1 Yt−1 + φ2 Yt−2 + ... + φp Yt−p + et − ϕ1 e(t−1) − ... − ϕ2 e(t−q) (5.24) E ainda, o modelo ARMA pode ser passado para o espaço de estados conforme a relação dos coeficientes com as matrizes no espaço de estados mostrado em [2]. 36
  • 5.3 Construção de modelos no espaço de estados Modelos matemáticos no espaço de estados são aqueles que utilizam variáveis de estado para descrever um sistema por meio de um conjunto de equações diferenciais de primeira ordem. [16] A representação no espaço de estados no tempo contínuo é dada por [17]: x = F x(t) + Gu(t) + Kw(t) ˙ y(t) = Hx(t) + Du(t) + w(t) (5.25) x(0) = x0 Onde: x(t) é o vetor de variavéis de estado; u(t) é o vetor com as variavéis de entrada do sistema; w(t)é um vetor com as componentes de ruídos brancos das variavéis de estado; y(t) é o vetor das variavéis de saída do sistema; x(0) é o estado inicial; F , G, K, H, D são as matrizes com os coeficientes das matrizes anteriores. Por sua vez, a representação no espaço de estados no tempo discreto é dada por [18]: x(kT + T ) = Ax(kT ) + Bu(kT ) + Ke(kT ) y(kT ) = Cx(kT ) + Du(kT ) + w(kT ) (5.26) x(0) = x0 Onde: T é o periodo de amostragem do sinal; x(kT ) é o vetor de variavéis de estado no instante de amostragem kT ; u(KT ) é o vetor com as variavéis de entrada do sistema no instante de amostragem kT ; e(kT ) é um vetor com as componentes de ruídos brancos das variavéis de estadono instante de amostragem kT ; y(kT ) é o vetor das variavéis de saída do sistema no instante de amostragem kT ; x(0) é o estado inicial; A , B, K, C, D são as matrizes com os coeficientes das matrizes anteriores. 5.3.1 Construção de modelos no espaço de estados no MATLAB O primeiro passo para a construção de modelos no espaço de estados no MATLAB, utilizando ferramentas gráficas disponíveis, é a importação de dados no System Identification Tool GUI. Para abrir o GUI, é necessário digitar o seguinte comando no prompt do MATLAB: »ident Desta forma, a janela da ferramenta será aberta conforme mostra a figura 5.9. 37
  • figura 5.9: System id tool Na lista para importação de dados, deve ser selecionado o tipo de dado que se deseja importar. No presente estudo, foi selecionada uma série no domínio do tempo. É importante que os dados da série temporal estejam amostrados em intervalos de tempo iguais. Em seguida é aberta uma janela para definição do formato dos dados que serão importados. Esta janela com os parâmetros de importação é mostrada na figura 5.10. Para o caso de séries temporais, a entrada foi definida como ’[]’ e a saída foi designada com o nome da variável que foi previamente carregada no ambiente de trabalho. No exemplo utilizado, a saída foi chamada de papel. Em seguida a opção "importar"deve ser selecionada. figura 5.10: Importando dados O próximo passo é a escolha do modelo que se deseja construir a partir da série temporal. Aqui, foi escolhida a construção de um modelo a partir de uma parametrização linear. Na caixa para modelamento por equações lineares foi escolhido o modelamento em espaço de estados conforme figura 5.11 Ao se inserir no campo "ordem"o valor 1:10, o gráfico logarítmico dos valores singulares da matriz de covariância será gerado. Com este gráfico, é possível ver a ordem do modelo que concentra as informações essenciais, o que é feito a partir dos valores singulares dos modelos de ordem de 1 a 10. No gráfico, pode ser selecionado o retângulo localizado a esquerda da tela, que representa o ponto de corte para os estados, prestando uma contribuição significativa de entrada/saída. E ainda, 38
  • figura 5.11: Modelamento no espaço de estados a presença de uma barra em vermelho sobre a opção indica que o software MATLAB recomenda tal escolha. No exemplo aqui descrito, o MATLAB sugeriu um modelo de ordem seis, conforme é mostrado na 5.12. Depois de escolhida a ordem do modelo, deve ser selecionada a opção "estimar", e assim, o modelo será gerado conforme as especificações. figura 5.12: Valores singulares para escolha da ordem do modelo É possível analisar a eficiência do modelo gerado observando o seu gráfico de saída. Para obter este gráfico, basta clicar em um ou mais modelos cuja análise seja desejada e em seguida selecionar a opção "Model output". É esperado um gráfico da forma da 5.13. Esse gráfico permite avaliar a qualidade do modelo à medida que compara os valores estimados com os valores efetivamente ocorridos no passado. Estatisticamente, ele oferece o indicador R2 , que representa o percentual das variações que são explicadas pelo modelo. Quanto mais próximo de 100 for esse número, melhor serão os resultados fornecidos pelo MATLAB. Alternativamente à construção de um modelo no espaço de estados a partir de interface gráfica, pode ser utilizada a função "pem"no desenvolvimento de programas no MATLAB. Os parâmetros de entrada dessa função devem ser fornecidos de acordo com o interesse da aplicação desejada. 39
  • figura 5.13: Validação do modelo 5.3.2 Validação de modelos de séries temporais de ativos financeiros Uma parte fundamental da modelagem é estabelecer parâmetros que garantam que ela repre- senta uma modelagem com elevado grau de confiança. Dada uma série tempora Yt é possível separar essa série em dois componentes conforme visto na equação 5.1. Em geral os modelos para série temporal são razoáveis quando a componente Xt representa um ruído branco ou possui distri- buição normal de probabilidade [2]. Nesta seção iremos comparar alguns indicadores de validade para um modelo de preços de fechamento de ativos financeiros. O modelo passeio aleatório descrito em 2.2.6 é a primeira sugestão para essa utilização em ativos financeiros. Uma das maneiras de encarar essa situação é que o preço do dia é dado pelo preço do dia anterior adicionado de uma variação percentual do tipo gaussiana com média e variância conhecidas, conforme é mostrado na equação 2.10. Para investigar tal presunção, vamos utilizar a série de fechamento em pontos diários do índice Ibovespa nos períodos entre 18/12/1991 e 5/12/2008. A figura 5.14 mostra o comportamento geral do índice nesses 17 anos. x 10 4 Fechamento em pontos diários do indice Ibovespa de 18/12/1991 ate 5/12/2008 8 7 Pontos no fechamento índice Ibovespa 6 5 4 3 2 1 0 0 500 1000 1500 2000 2500 3000 3500 4000 Tempo em dias figura 5.14: Fechamento em pontos diários do indice Ibovespa de 18/12/1991 ate 5/12/2008 Da mesma forma que o desenvolvimento apresentado no capítulo 4, para maior adequação dos dados da série à presente análise, houve a transformação dessa série de fechamento numa série de 40
  • variação percentual diária. O histograma das variações percentuais mostrado na figura 5.15 evidencia o fato que as variações percentuais diárias do índice ibovespa aparentam ter uma distribuição normal. Considerando que no modelo passeio aleatório a variação dos preços é composta unicamente pela componente Xt , essa distribuição normal valida o uso desse modelo nas séries temporais estudadas. histograma variação das cotações Ibovespa de 18/12/1991 ate 5/12/2008 100 90 80 70 Frequência relativa 60 50 40 30 20 10 0 −15 −10 −5 0 5 10 15 variação percentual figura 5.15: Histograma indice Ibovespa da variação percentual diária de 18/12/1991 ate 5/12/2008 Para essa mesma série de dados, a partir de sua análise, pode ser determinado que sua média é igual a 0.1170 e o desvio padrão é igual a 2.8416. Uma análise mais detalhada da condição de normalidade pode ser feita com o gráfico quantiles-quantiles (QQ), que é um gráfico específico do tipo dispersão 2.1.2. O gráfico quantiles da amostra versus quantiles teórico deve se aproximar da reta prevista teoricamente para que as duas amostras sejam consideradas da mesma família. Portanto, quanto mais próximo o gráfico resultante estiver dessa reta, mais próxima da condição de normalidade a amostra estará. O gráfico QQ para a série em análise é mostrado na figura 5.16 Gráfico QQ série variação percentual Ibovespa 40 30 Quantiles obtidos na amostra 20 10 0 −10 −20 −4 −3 −2 −1 0 1 2 3 4 Quantiles esperados para distribuição normal figura 5.16: Gráfico QQ série variação percentual Ibovespa Podemos observar que a amostra não se comporta tão bem para os pontos de variação diária mais distantes da média, mesmo para regiões em que o número de pontos é considerável. 41
  • Um problema desse tipo de modelo é que seus resíduos possuem uma correlação superior ao esperado aleatoriamente conforme mostrado na figura 5.17. Neste correlograma mostrado, as duas linha horizontais representam 2σ dos erros associados a estimação da função de autocorrelação. Conforme já foi dito em análise anterior, nesse caso, considerando uma variável com distribuição gaussiana, era esperado que em 95% dos casos a correlação para um dado atraso fosse inferior ao valor das retas horizontais de 2σ. No entanto, observando o correlograma da série financeira da presente análise, vemos que tal evento ocorre numa freqüência maior do que a esperada. Tal fato leva a hipótese de existência de uma componente determinística nas séries financeiras analisadas, não levada em consideração no modelo passeio aleatório. Função de autocorrelação ACF para variação percentual Ibovespa 0.1 0.08 0.06 0.04 0.02 Correlação 0 −0.02 −0.04 −0.06 −0.08 −0.1 0 2 4 6 8 10 12 14 16 18 20 Atraso da série figura 5.17: Função de autocorrelação ACF para variação percentual Ibovespa Repetindo os procedimentos para a mesma série base, mas agora tomando a primeira derivada da série de preços de fechamento, podemos comparar se o modelo de variação absoluta dos preços fornece melhores resultados que o modelo de variações percentuais dos preços. A figura 5.18 mostra o histograma da série temporal após realizarmos sua primeira derivada. A figura 5.19 mostra o gráfico QQ para a mesma série. Além disso, é apresentado na figura 5.20 o gráfico da função autocorrelação para essa nova análise. Note que ele possui as mesmas características que o gráfico anteriormente mostrado na figura 5.17. O terceiro modelo que iremos analisar é o modelo ARMA no espaço de estados, com 15 variavéis de estado. A figura 5.21 mostra o histograma dos resíduos do modelo ARMA (Xt ) para a série em análise. E ainda, a figura 5.22 mostra o gráfico quantiles quantiles para os residuos do modelo ARMA analisado. Por fim, a figura 5.23 mostra a função de autocorrelação ACF para os resíduos do modelo ARMA analisado. A partir da observação desses gráficos, é possível concluir que os 3 modelos são capazes de modelar as séries temporais. No entanto, a componente não explicada do modelo possui correlações significantes nas modelagens passeio aleatório dos preços e de variação percentual. Já no modelo ARMA, tal fenômeno não foi observado. Embora a validação aqui feita indique a necessidade de modelos diferentes para uma modelagem mais precisa, tal fato não invalida a utilização dos modelos aqui apresentados. Usaremos o modelo ARMA na próxima seção juntamente com o filtro de Kalman para verificarmos até que ponto tais modelos apresentam alguma utilidade para fins de 42
  • Histograma derivada das cotações Ibovespa de 18/12/1991 ate 5/12/2008 140 120 100 Frequência relativa 80 60 40 20 0 −2000 −1500 −1000 −500 0 500 1000 1500 2000 Variação em pontos diários figura 5.18: Histograma derivada das cotações Ibovespa de 18/12/1991 ate 5/12/2008 Gráfico QQ série variação em pontos do Ibovespa 6000 4000 Quantiles obtidos na amostra 2000 0 −2000 −4000 −6000 −4 −3 −2 −1 0 1 2 3 4 Quantiles esperados para distribuição normal figura 5.19: Gráfico QQ série variação Ibovespa predição. 43
  • Função de autocorrelação ACF para variação em pontos Ibovespa 0.1 0.08 0.06 0.04 0.02 Correlação 0 −0.02 −0.04 −0.06 −0.08 −0.1 0 2 4 6 8 10 12 14 16 18 20 Atraso da série figura 5.20: Função de autocorrelação ACF para variação em pontos Ibovespa Histograma dos resíduos modelo ARMA(15) preços Ibovespa de 18/12/1991 ate 5/12/2008 500 450 400 350 Frequência relativa 300 250 200 150 100 50 0 −1500 −1000 −500 0 500 1000 1500 Resíduo em pontos diários figura 5.21: Histograma dos resíduos modelo ARMA(15) preços Ibovespa de 18/12/1991 ate 5/12/2008 Gráfico QQ dos residuos do modelo ARMA em pontos do Ibovespa 2000 1500 Quantiles obtidos na amostra 1000 500 0 −500 −1000 −1500 −2000 −4 −3 −2 −1 0 1 2 3 4 Quantiles esperados para distribuição normal figura 5.22: Gráfico QQ dos residuos do modelo ARMA em pontos do Ibovespa 44
  • Função de autocorrelação ACF para os resíduos do modelo ARMA analisado 0.1 Região 2 sigma 0.08 Correlação da amostra 0.06 0.04 0.02 Correlação 0 −0.02 −0.04 −0.06 −0.08 −0.1 0 5 10 15 20 25 Atraso da série figura 5.23: Função de autocorrelação ACF para os resíduos do modelo ARMA analisado 45
  • Capítulo 6 Filtro de Kalman O filtro de Kalman é um estimador utilizado no estudo do estado de um sistema dinâmico linear perturbado por um ruído branco, cujo resultado é ótimo para o problema. Sua criação permitiu o avanço em muitos campos da ciência, principalmente na área de controle de sistemas complexos. Ele é utilizado, por exemplo, no controle de processos de fabricação, de aviões, navios e ônibus espaciais [19]. A utilização do filtro de Kalman pode ser feita também no estudo de séries temporais, e, por isso, seu desenvolvimento teórico será abordado neste capítulo, utilizando como referência [20]. 6.1 Sistema de referência e notação utilizada Considere o seguinte sistema: xk+1 = Fk xk + Gk wk (6.1) ′ zk = Hk xk + vk (6.2) Onde V W e X são variavéis aleatórias com distribuição normal com média e variância mostradas abaixo: vk ∼ N (0, R) (6.3) wk ∼ N (0, Q) (6.4) x0 ∼ N (x0 , P0 ) ¯ (6.5) O problema de estimação consiste em determinas as seguintes estimativas na notação mostrada em 6.6 e 6.7. xk|k−1 = E[xk|Zk−1 ] ˆ (6.6) xk|k = E[xk|Zk ] ˆ (6.7) As matrizes de covariância do erro das estimativas 6.6 e 6.7 serão dadas por 6.8 e 6.9. Σk|k−1 = E[[xk − xk|k−1 ][xk − xk|k−1 ]′ |Zk−1 ] ˆ ˆ (6.8) ′ Σk|k = E{[xk − xk|k ][xk − xk|k ] |Zk } ˆ ˆ (6.9) 47
  • 6.2 Equações do filtro de Kalman As equações do filtro de Kalman são apresentados nessa secção. A estimativa da variável de estado de interesse é apresentada em 6.10, o ganho da matriz K é dado por 6.11, a covariância do erro de estimação dada por 6.12 e as condições iniciais dadas por 6.13 e 6.14. ′ xk+1|k = [Fk − Kk Hk ]ˆk|k−1 + Kk zk ˆ x (6.10) Kk = Fk Σk|k−1 Hk [Hk Σk|k−1 Hk + Rk ]−1 ′ (6.11) ′ −1 ′ ′ Σk+1|k = Fk [Σk|k−1 Hk (Hk Σk|k−1 Hk + Rk ) Hk Σk|k−1 ]Fk + Gk Qk G′ k (6.12) x0|−1 = x0 ˆ ¯ (6.13) Σ0|−1 = P0 (6.14) 6.2.1 Demonstração das equações do filtro de Kalman Seja X e Y vetores de variavéis aleatórias que conjuntamente são gaussiana [20]. Isto é, temos para Z=[X’ Y’] a seguinte média e variância : x ¯ m=[ ] (6.15) y ¯ Σxx , Σxy Σ=[ ] (6.16) Σyx , Σyy Assumindo não singularidade de Σ e Σyy , temos a densidade de probabilidade condicional: pXY (x, y) pX|Y (x|y) = (6.17) pY (y) ¯..y ¯ ¯. |Σyy |1/2 exp(−0.5[x′ − x′ . ′ − y ′ ]Σ−1 [x′ − x′ . ′ − y ′ ]′ ) .y ¯ = −1 (6.18) (2π)N/2 |Σ|1/2 exp(−0.5(y − y )′ Σyy (y − y )) ¯ ¯ Onde N, em 6.18, é a dimensão da variável X. Detalhes deste desenvolvimento algébrico estão disponíveis em [20]. O resultado é mostrado em 6.19. pX|Y (x|y) = N ∼ (¯ + Σxy Σ−1 (y − y ), Σxx − Σxy Σy y −1 Σ′ ) x yy ¯ xy (6.19) Pela condição dada em 6.5 é possível reescrever a condição inicial na notação conforme mostrado em 6.20. Σ0,−1 = P0 (6.20) 48
  • A variavél aleatória 6.21 possui média 6.22 e covariância dada por 6.23. [x′ z0 ] 0 ′ (6.21) [x0 , x0 H0 ] ¯ ¯ (6.22) P0 , P0 H0 [ ′ P , H′ P H ] (6.23) H0 0 0 0 0 + R0 Utilizando a relação 6.19, e dado que x0 é condicionado a z0 , temos os resultados mostrados em 6.24 e 6.30. xˆ = x0 + P0 H0 (H0 ′ P0 H0 + R0 )−1 (z0 − H0 x0 ) 0|0 ¯ ′ ¯ (6.24) Σ0|0 = P0 − P0 H0 (H0 P0 H0 + R0)−1 H0 P0 ) ′ ′ (6.25) Aplicando a função valor esperado em ambos os lados da equação 6.1 é obtida a relação 6.27. E(xk+1 ) = E(Fk xk ) + E(vk ) (6.26) x1|0 = F0 x¯ ˆ 0|0 (6.27) A covariância da variável X, assumindo a hipótese da independência entre as variáveis em 6.1, pode ser calculada pela propriedade básica da covariância, com resultado dado por 6.28. Σ1|0 = F0 Σ0|0 F0 + GQ0 G′ ′ (6.28) A partir da equação 6.2, aplicando a função valor esperado e calculando sua covariância, temos a relação para o valor esperado 6.29 e 6.30 para variância. E(zk ) = E(H ′ xk + E(Gk Wk ) (6.29) z1|0 = H ′ x1|0 H ′ Σ1|0 H1 + R1 ˆ ¯ (6.30) Temos ainda que: E[(x1 − x1|0 )(z1 − z1|0 )−1 |z0 ] = Σ1|0 H1 ˆ ˆ (6.31) ′ A variável aleatória [x’1 z1 ] possui média: ′ [¯1|0 , H1 x1|0 ] x ¯ (6.32) 49
  • E covariância dada por: Σ1|0 , Σ1|0 H1 [ ′ Σ , H′ Σ H ] (6.33) H1 1|0 1 1|0 1 + R1 Aplicando o resultado basico 6.19 concluimos que x1 condicionado a z0 e z1 tem média: x1|1 = x1|0 + Σ1|0 H1 (H ′ Σ1|0 H1 + R1 )−1 (z1 − H1 x1/0 ) ˆ ˆ ′ ˆ (6.34) E covariância: Σ1|1 = Σ1|0 − Σ1|0 H1 (H1 Σ1|0 H1 + R1 )−1 H1 Σ1/0 ′ ′ (6.35) Utilizando as equações 6.27 e 6.28 para atualizar os índices temos: x2|1 = F1 x1|1 ˆ ˆ (6.36) Σ1|1 = F1 Σ1|1 F1 + G1 Q1 G′ ′ 1 (6.37) Repetindo os passos anteriores para índices genéricos temos: -Para valor esperado: Estimativa a priori : xk|k = xk|k−1 + Σk|k−1 Hk (H ′ Σk|k−1 Hk + Rk )−1 (zk − Hk xk/k−1 ) ˆ ˆ ′ ˆ (6.38) Estimativa a posteriore: xk+1|k = Fk xk|k ˆ ¯ (6.39) -Para a covariância: Estimativa a priori: Σk|k = Σk|k−1 − Σk|k−1 Hk (Hk Σk|k−1 Hk + Rk )−1 Hk Σk/k−1 ′ ′ (6.40) Estimativa a posteriore: Σk+1|k = Fk Σk|k Fk + Gk Qk G′ ′ k (6.41) 6.3 Implementação do filtro de Kalman Tendo como base o processo de construção de modelos de séries temporais conforme descrito na seção 5.3 e as equações do filtro de Kalman da seção 6, foi implementado no software MATLAB um estimador do próximo elemento de uma série temporal. Para a série temporal dos rendimentos percentuais diários, foi adotada a estratégia de compra quando a variação percentual estimada para o dia seguinte foi positiva e venda quando essa variação estimada foi negativa. 50
  • 6.3.1 Séries temporais utilizadas Considere a série temporal dos preços de fechamento do ativo petr4(fonte apligraf) com infor- mações relativas ao periodo de 28/12/03 a 28/12/2008 mostrado na figura 6.2. Conforme a função autocorrelação mostra na figura 6.1, o preço de uma ação depende fortemente do preço do dia anterior. Nesse sentido, a correlação do preço do dia seguinte é alta dentro do universo de preços possíveis. Essa característica favorece modelos de processos auto-regressivos, como o modelamento ARMA, conforme visto na seção 5.2.5. A série temporal base utilizada foi o preço de fechamento dos ativos em bolsa. O preço de fechamento é uma referência importante, pois é normalmente a cotação fechada com maior volume de financeiro do dia. Sample Autocorrelation Function (ACF) PETR4 28/12/2003 a 28/12/2008 0.8 0.6 Sample Autocorrelation 0.4 0.2 0 −0.2 0 2 4 6 8 10 12 14 16 18 20 Lag figura 6.1: Função de autocorrelação para preço de fechamento de petr4 Utilizamos as séries de preços de fechamento petr4, vale5 e bbdc4 no período de 28/12/03 a 28/12/2008 para avaliarmos os resultados do filtro de Kalman durante um período de extrema tensão no mercado (ano 2008). 6.3.2 Construção do modelo Para a aplicação do filtro de Kalman, é necessário um modelo no espaço de estados conforme as equações: 6.1 e 6.2, seguindo a notação utilizada na seção 6.1. O modelo adotado é um modelo ARMA discutido na seção 5.2.5. Para exemplificar o processo iremos construir um modelo ARMA no espaço de estados no soft- ware MATLAB. Para a obtenção desse modelo, é necessário separar os dados disponíveis em 2 segmentos:dados para modelamento e dados para validação, conforme figura 6.3. Tendo a série de preços para modelamento disponível, o modelo no espaço de estados é criado através do comando: modelo = pem(DadosM odelamento, OrdemM odelo,′ ss′ ,′ can′ ); (6.42) 51
  • Gráfico preço ao longo do tempo para petr4 55 50 45 40 35 Preço 30 25 20 15 10 5 0 200 400 600 800 1000 1200 Tempo figura 6.2: Série temporal utilizada exemplo Kalman Gráfico preço de fechamento petr4 e divisão dos dados 55 50 45 40 35 Preço 30 25 20 15 Dados modelamento Dados validação 10 5 0 200 400 600 800 1000 1200 tempo figura 6.3: Separação dados modelamento e validação exemplo petr4 O primeiro parâmetro é a série temporal a partir da qual se deseja a construção do modelo. O segundo parâmetro, por sua vez, é a ordem do modelo, como o incremento de variáveis e conseqüentemente da sua ordem. A ordem do modelo geralmente aumenta o percentual da série explicada por ele [14]. O critério utilizado para determinação dessa ordem foi escolher o maior valor desse parâmetro, para o qual o programa não emitisse o aviso de que os erros de arredondamento de cálculos poderiam ser maiores que sua contribuição para o sistema. Também se levou em conta o tempo de processamento dos cálculos, buscando que a simulação não ultrapassasse a faixa de 5 minutos de duração. Utilizando esse procedimento, a ordem escolhida para o modela ARMA que será utilizado, foi igual a 15. E ainda, o terceiro parâmetro é utilizado para informar ao sistema que desejávamos o modelo no espaço de estados. Por fim, o quarto parâmetro é utilizado para que o modelo construído seja apresentado na formula canônica observável. No exemplo para os dados do ativo petr4, temos o gráfico mostrado na figura 6.4 para o valor observado e para o valor previsto pelo modelo, considerando os dados de validação. O percentual "fit"representada o índice de determinação. Esse índice de determinação R2 pode ser calculado como o quadrado do coeficiente de correlação entre a série observada e a série estimada pela tendência [2]. Tal indicador pode ser interpretado como a fração da série que pode ser explicada pelo modelo. Com base no valor estimado pelo modelo e valor observado na série temporal, podemos ainda 52
  • calcular o erro de estimação ao longo do tempo. O gráfico de dispersão do erro e preço da série observada é útil para identificar alguma possível região de preços onde os erros são maiores. Esse gráfico é mostrado na figura 6.5. A partir da sua observação, é possível notar que para o modelo proposto não foi identificada uma região nesse gráfico na qual o modelo aparenta ser melhor ou pior. Previsto pelo modelo(1 passo a frente) e observado no periodo de modelamento Valores observados 40 Valores estimados pelo modelo; R2 fit: 94.41% 35 30 Preço 25 20 15 10 100 200 300 400 500 600 700 800 900 1000 Tempo figura 6.4: Valores previstos pelo modelo 1 passo a frente e valores observados Gráfico dispersão: Resíduo x valores absolutos da série temporal(periodo de validação) 55 50 Valores absolutos da série temporal 45 40 35 30 25 20 15 −4 −3 −2 −1 0 1 2 3 4 Resíduo figura 6.5: Gráfico dispersão resíduo x valores absolutos dos dados de validação O resultado do modelo é apresentado com a notação mostrada nas equações 6.43 e 6.44. x(t + T s) = Ax(t) + Ke(t) (6.43) y(t) = Cx(t) + e(t) (6.44) A equivalência de notação entre a notação apresentada no MATLAB e a notação apresentada nesse trabalho(6.1 e 6.2) tem a seguintes relações: 53
  • figura 6.6: Divisão da série temporal disponível e seus usos F =A (6.45) G=K (6.46) ′ H =C (6.47) Q=1 (6.48) R=1 (6.49) Os parâmetros de x0 , descrita em 6.5, foram estimados aplicando as equações 6.10, 6.11, 6.12 ,6.13 e 6.14 para os últimos 400 elementos da série temporal de modelamento, considerando o valor esperado e a variância de x0 ambos nulos inicialmente. Isso porque os parâmetros de x0 são recalculados a cada interação e seu valor converge rapidamente [20]. A figura 6.6 mostra a divisão da série temporal disponível e seus usos. Utilizando o filtro de Kalman para gerar estimativas na região de validação e comparando com os valores observados, temos o gráfico da figura 6.7. 6.3.3 Resultado da aplicação do filtro de Kalman em um conjunto de ativos Para a simulação feita nesta seção, a aplicação do filtro de Kalman no conjunto de ativos foi feita seguindo a seguinte estratégia: quando o preço estimado é superior ao último preço observado, é tomada a decisão de compra. Por sua vez, quando o preço estimado é inferior ao último preço, é tomada a decisão de venda. Já quando os preços estimados e observados são iguais, a decisão é de ficar sem nenhuma posição no ativo, isto é, não se compra nem se vende. A partir das decisões de posicionamento, vale a lógica descrita em 4.3. Além disso, considerando que o modelo ARMA é fundalmentalmente um modelo para séries temporais estacionárias -e não há razões para crer que as séries financeiras aqui estudadas são de caráter estacionário- o modelo ARMA utilizado no processo de previsão com filtro de Kalman será atualizado completamente a cada 5 períodos de 54
  • Preço estimado filtro de kalman e observado ativo petr4 periodo de validação 55 Estimativa Observado 50 45 40 Preço 35 30 25 20 15 0 50 100 150 200 250 Tempo (serie de validação) figura 6.7: Estimado e observado periodo de validação simulação. Isso porque segue-se a hipótese de que em um curto período de tempo tais séries podem ser consideradas estacionárias. A figura 6.8 mostra o esquema aplicado nas simulações registradas nessa seção. 6.3.3.1 Resultados das simulações para o ativo petr4 É apresentado na figura 6.9 o gráfico do preço estimado pelo filtro de Kalman e o preço real do período de validação para o ativo petr4. A partir de sua observação, fica evidenciado o fato de que o resultado fornecido pelo filtro acompanha as tendências apresentadas pela série real, ora ultra- passando os valores fornecidos por esta, ora respondendo com certo atraso. Além disso, no período analisado houve dois momentos em que o valor estimado divergiu consideravelmente do valor obser- vado.Isso aconteceu já que os ganhos associados aos erros de estimação passado são relativamente elevados, o que acarreta em momentos de instabilidade após periodos de baixa previsibilidade do modelo.Esses momentos de divirgência só foram observados após a inserção de atualizações periodicas do modelo.Isso pode ser observado através da figura 6.10 que mostra o resultado da rea- lização do mesmo procedimento básico do resultado mostrado na figura 6.9, mas sem atualizações do modelo. Tal fato sugere que atualizações periodicas do modelo podem levar a maiores divergên- cias entre valor estimado e observado quando o processo passa por uma região de grandes variações Por sua vez, o gráfico do capital acumulado obtido a partir da utilização do filtro de Kalman com atualização do modelo e o valor fornecido pela própria série desse ativo é apresentado na figura 6.11. Na maior parte do período analisado, o filtro de Kalman forneceu valores piores do que àqueles obtidos na realidade, evidenciando a necessidade de melhora do modelo utilizado para a série temporal do ativo petr4. 55
  • figura 6.8: Esquema simulações com utilização do filtro de Kalman realizadas Preço estimado filtro de kalman e observado ativo petr4 periodo de validação 60 Estimativa filtro de Kalman Observado petr4 55 50 45 40 Preço 35 30 25 20 15 0 50 100 150 200 250 Tempo (serie de validação) figura 6.9: Preço previsto e observado periodo de validação petr4 (com atualização do modelo) 6.3.3.2 Resultados das simulações para o ativo vale5 É apresentado na figura 6.12 o gráfico do preço estimado pelo filtro de Kalman e o preço real do período de validação para o ativo vale5. Da mesma forma que na análise do ativo petr4, a partir da observação desse gráfico, fica evidenciado o fato de que o resultado fornecido pelo filtro acompanha as tendências apresentadas pela série real, ora ultrapassando os valores fornecidos por esta, ora respondendo com certo atraso. Como explicado anteriormente para o ativo pert4, houve um momento de instabilidade. Este também está associados aos erros de estimação passados le- vados em consideração no modelo utilizado. Por sua vez, o gráfico da rentabilidade obtida a partir da utilização do filtro de Kalman e o valor fornecido pela própria série desse ativo é apresentado na figura 6.13. Na maior parte do período analisado, o filtro de Kalman forneceu resultados melhores do que àqueles obtidos na realidade, 56
  • Preço estimado filtro de kalman e observado ativo petr4 periodo de validação (sem atualização do modelo) 55 Estimativa filtro de Kalman Observado petr4 50 45 40 Preço 35 30 25 20 15 0 50 100 150 200 250 Tempo (série de validação) figura 6.10: Preço previsto e observado periodo de validação petr4 (sem atualização do modelo) Capital acumulado estratégia Kalman e ativo de referência 1.3 Kalman petr4 1.2 1.1 Capital acumulado 1 0.9 0.8 0.7 0.6 0.5 0.4 0 50 100 150 200 250 Tempo figura 6.11: Capital acumulado diferentes estratégias petr4 com obtenção de capital acumulado superiores àqueles fornecidos. Esses resultados, no entanto, não se sustentaram até o final do período, e no final da tendência de queda, o resultado fornecido pelo filtro praticamente se igualou às perdas fornecidas pelo mercado. 6.3.3.3 Resultados das simulações do ativo bbdc4 É apresentado na figura 6.14 o gráfico do preço estimado pelo filtro de Kalman e o preço real do período de validação para o ativo bbdc4. Da mesma forma que nas análises anteriores, a partir da observação desse gráfico, fica evidenciado o fato de que o resultado fornecido pelo filtro acompanha as tendências apresentadas pela série real, ora ultrapassando os valores fornecidos por esta, ora respondendo com certo atraso. Por sua vez, o gráfico do capital acumulado obtido a partir da utilização do filtro de Kalman e o valor fornecido pela própria série desse ativo é apresentado na figura 6.15. Na maior parte do período analisado, o filtro de Kalman forneceu valores semelhantes àqueles obtidos na realidade, evidenciando a necessidade de melhora do modelo utilizado para a série temporal do ativo bbdc4. 57
  • Preço estimado filtro de Kalman e observado ativo vale5 período de validação 60 Estimado Observado 55 50 45 Preço 40 35 30 25 20 0 50 100 150 200 250 Tempo (serie de validação) figura 6.12: Estimado e observado periodo de validação vale5 Capital acumulado estratégia Kalman e ativo de referência vale5 1.8 Kalman Vale5 1.6 1.4 Capital acumulado 1.2 1 0.8 0.6 0.4 0 50 100 150 200 250 Tempo (serie de validação) figura 6.13: Capital acumulado diferentes estratégias vale5 6.3.3.4 Síntese dos resultados das simulações realizadas A tabela 6.1 resume os resultados obtidos na simulação da estratégia descrita acima através da aplicação do filtro de Kalman para a variação percentual do dia seguinte de três ativos: Petrobras, Vale e Bradesco. A partir da observação da tabela 6.1, fica evidenciado que as rentabilidades acumuladas a partir da utilização do filtro de Kalman nas séries temporais dos ativos estudados foram semelhantes ao retorno desses ativos no período. Assim, a obtenção de melhores resultados dependerá de um modelamento mais preciso das séries temporais desejadas, de forma a superar os resultados fornecidos pelo mercado. Vale lembrar que o período analisado neste estudo corresponde ao pior período da bolsa de valores brasileira dos últimos 17 anos fato evidenciado no gráfico da figura 5.14. 58
  • Gráfico previsto e observado no periodo de validação bbdc4 40 Estimativa kalman preço observado bbdc4 35 30 Preço 25 20 15 0 50 100 150 200 250 Tempo figura 6.14: Preço previsto e observado periodo de validação bbdc4 Capital acumulado estratégia Kalman e ativo de referência bbdc4 1.3 Kalman bbdc4 1.2 1.1 Capital acumulado 1 0.9 0.8 0.7 0.6 0.5 0 50 100 150 200 250 Tempo figura 6.15: Capital acumulado diferentes estratégias bbdc4 Tabela 6.1: Resultados simulações no modelo ARMA aplicando o filtro de Kalman como estimador Resultado simulações filtro de Kalman ativo petr4 vale5 bbdc4 Numero dias comparados 157 124 159 Numero dias vendidos 93 126 91 Numero dias neutros 0 0 0 Retorno total Kalman -40.64% -50.24% -33.33% Retorno total ativo referência -41.78% -45.92% -27.10% 59
  • Capítulo 7 Conclusões Neste trabalho, foi realizado o estudo das séries temporais visando a sua aplicação no mercado financeiro. Para isso, foram primeiramente apresentados meios de análise disponíveis para este estudo, além de conceitos estatísticos aplicados a estas séries. Em seguida, foram apresentados meios de captação destas séries. Esta etapa foi muito impor- tante no desenvolvimento deste trabalho, já que as informações dos ativos negociados em bolsa não são disponibilizadas prontamente na forma de séries temporais. Todos os programas de análise aqui desenvolvidos foram feitos no software MatLab, e assim, foi necessária a adequação destas informações para utilização como dados de entrada nos programas. Em sua maioria, foi utilizada a fonte Apligraf devido à possibilidade de obtenção dos dados dos ativos negociados na bolsa de valores brasileira, conforme informações explicitadas ao longo do texto. No capítulo de análise estatística, foi apresentada uma proposta de modelo para descrever o comportamento das séries temporais do mercado financeiro, com a criação de um programa computacional cujo objetivo foi traduzir este comportamento em ações tomadas pelo operador visando à obtenção de retorno satisfatório para determinado ativo. O programa desenvolvido apresentou como parâmetros de saída várias situações de operação, com número variado de tomadas de decisão. Os resultados obtidos neste modelamento foram satisfatórios, já que para todas as ações analisadas, a rentabilidade média obtida foi maior do que o ativo analisado. Além disso, no capítulo referente à modelagem de tendências em séries temporais foram intro- duzidos conceitos necessários à compreensão deste processo, tais como conceitos estatísticos básicos e modelos básicos para séries temporais. Como sugestão para trabalhos futuros há a utilização de outros modelos disponíveis para a obtenção do modelamento matemático destas séries temporais. Estes talvez sejam capazes de fornecer melhores resultados do que aqueles obtidos neste trabalho. Por fim, foi desenvolvida uma aplicação do filtro de Kalman, com os respectivos embasamentos teóricos necessários à sua compreensão. Segundo objetivo final foi desenvolvido uma proposta de estratégia de uso do filtro de Kalman no estudo das séries temporais aqui consideradas. Para isso, um programa computacional foi criado no MatLab, fornecendo como parâmetros de saída a rentabilidade média mensal e rentabilidade acumulada a partir da utilização desse programa, além do retorno real do ativo no período considerado. Analisando estes resultados, pôde ser concluído que o modelo ARMA utilizado não se encontra ainda na forma final para aplicação. 61
  • REFERÊNCIAS BIBLIOGRÁFICAS [1] WOLBERG, J. R. Expert Trading Systems - Modeling Financial Markets with Kernel Regres- sion : John Willey & Sons, 2000. [2] CRYER, J. D. Time Series Analysis,with Applications in R : Springer, 2008. [3] BOVESPA. http://www.bovespa.com.br/Principal.asp , acessado em 2008. [4] APLIGRAF. http://web.apligraf.com.br/ , acessado em 2008. [5] MERCADO, A. de. http://www.analistademercado.com.br/ , acessado em 2008. [6] METASTOCK : http://www.equis.com/, 2008. [7] LEANDRO&STORMER. http://www.leandrostormer.com.br/ , acessado em 2008. [8] YAHOO. http://finance.yahoo.com/ : Yahoo finance, acessado em 2008. [9] ATIVA. https://www.ativatrade.com.br/ : Ativa corretora, acessado em 2008. [10] COLBY, R. W. The Encyclopedia of Technical Market Indicators : McGraw-Hill, 2002. [11] MURPHY, J. J. Technical Analysis of the Financial Markets : NYIF, 1999. [12] CONWAY, M. R.; BEHLE, A. N. Professional Stock Trading - System Design and Automation : Acme Trader, 2002. [13] GITMAN, L. J. Princípios de Administração Financeira - 7ł edição : Harbra, 2002. [14] CHAN, N. hang. Time Series Applications to Finance : John Willey & Sons, 2002. [15] TSAY, R. S. Analysis of Financial Time Series : John Willey & Sons, 2002. [16] MATLAB. System Identification Toolbox : http://www.mathworks.com/, 2008. [17] OGATA, K. Engenharia de Controle Moderno : Addison Wesley, 2003. [18] FRANKLIN, G. F.; POWELL, J. D.; WORKMAN, M. L. Digital Control of Dynamic Systems : Addison Wesley, 1997. [19] GREWAL, M. S.; ANDREWS, A. P. Kalman Filtering: Theory and Practice Using MATLAB : John Willey & Sons, 2001. [20] ANDERSON, B. D. O.; MOORE, J. B. Optimal Filtering : Prentice Hall, 1979. 63
  • ANEXOS 65
  • I. CÓDIGOS DO PROGRAMA MATLAB UTILIZADOS NESSE TRABALHO %gera base de dados gol % Conectar ao Yahoo. conn = yahoo; %capta os dados de fechamento,máximo,minimo,abertura e fechamento do dia 01/01/2001 ate o dia 25/08/2008 %fechamento. golclose = fetch(conn,’GOL’,’Close’,’01/01/2001’,’08/25/2008’,’d’); %maxima. golhigh = fetch(conn,’GOL’,’High’,’01/01/2001’,’08/25/2008’,’d’); %minima gollow = fetch(conn,’GOL’,’Low’,’01/01/2001’,’08/25/2008’,’d’); %abertura golopen = fetch(conn,’GOL’,’Open’,’01/01/2001’,’08/25/2008’,’d’); %fechamento. golvolume = fetch(conn,’GOL’,’Volume’,’01/01/2001’,’08/25/2008’,’d’); golteste=[golopen golhigh(:,2) gollow(:,2) golclose(:,2) golvolume(:,2)]; %passa de uma struct para uma matriz comum do Matlab golfts=fints(golteste); 67