Análise de Frequências no Mercado Financeiro
Transcrição
Análise de Frequências no Mercado Financeiro
INSPER - IBMEC SÃO PAULO Faculdade de Economia e Administração Projeto de Iniciação Científica Daniela Bertolla Rocha Análise de Freqüências no Mercado Financeiro São Paulo 2010 1 INSPER - IBMEC SÃO PAULO Faculdade de Economia e Administração Projeto de Iniciação Científica Daniela Bertolla Rocha Análise de Freqüências no Mercado Financeiro Orientador: Prof. Dr. Marco Antônio Leonel Caetano – Insper Ibmec SP São Paulo 2010 2 Sumário Capítulo 1 - Introdução.................................................................................................... 4 Capítulo 2 – Técnicas de Análise de Fourier .................................................................. 7 Capítulo 3 – Estudo das Freqüências ............................................................................ 12 Capítulo 4 – Programação e Automação de Planilhas para FFT ................................. 27 Capítulo 5 – Períodos ................................................................................................... 41 Capítulo 6 – Modelos com adição de Sazonalidades .................................................... 49 Capítulo 7 – Análise e Projeções de algumas Empresas ............................................... 54 Capítulo 8 – Análise de Wavelet ................................................................................... 62 Capítulo 9 – Técnicas para o uso da Wavelet ................................................................ 66 Capítulo 10 – Usando o Toolbox Wavelet no Matlab .................................................. 73 Capítulo 11 – IMA – Índice de Mudanças Abruptas .................................................... 77 Capítulo 12 – Conclusão ............................................................................................... 83 Bibliografia .................................................................................................................... 85 3 Capítulo 1 – Introdução 1.1 Objetivos O objetivo básico da análise de Fourier é encontrar periodicidades em uma série de dados em situções na qual as frequências são conhecidas e deseja-se estimar amplitude e fases. Esse trabalho abordará a técnica de Fourier para um entendimento sob o aspecto das freqüências e harmônicos sobre eventos relacionados ao mercado financeiro, sobretudo bolsa de valores. O objetivo do trabalho é: (a) Estudo e compreensão da teoria de Fourier. (b) Utilização da teoria de Fourier em dados financeiros coletados. (c) Possível identificação de padrão de freqüências para eventos de mudança de tendências. 1.2 Transformadas de Fourier 4 Transformada de Fourier é uma transformada integral que expressa uma função em termos de funções de base sinusoidal, como soma ou integral de funções sinusoidais multiplicadas por coeficientes. A equação básica de ajuste de uma série de Fourier é: ∧ ∧ ∧ (1.1) x(t ) = a + b cos(t ) + c sen(t ) + ... As transformadas contínuas e discretas de Fourier têm muitas aplicações em disciplinas científicas — em Física, Física e Química Quântica, Teoria dos números, Análise combinatória, Processamento de sinal, Processamento de imagem, Teoria das probabilidades, Estatística, Criptografia, Acústica, Oceanografia,Sísmica,Óptica, Geometria e outras áreas. Nos campos relacionados com o processamento de sinal, a transformada de Fourier é tipicamente utilizada para decompor um sinal nas suas componentes em frequência e suas amplitudes. (Wikipédia, 2008) A versão discreta da transformada de Fourier pode ser calculada rapidamente por computadores, utilizando algoritmos baseados na transformada rápida de Fourier e para isso é preciso ter valores x k discretos. Um método utilizado para o calculo dessa função é o algoritmo FFT (Fast Fourier Transform), que é uma ferramenta do Microsoft Excel. Para iniciar esse calculo no Excel, temos uma série de dados distribuída no tempo e desejamos conhecer as freqüências desse harmônico, para tanto é necessária a aquisição de N pontos de x(t), com o tempo de amostragem t. 1.3 Jean-Baptiste Joseph Fourier Jean-Baptiste Joseph Fourier foi um matemático e físico francês, celebrado por iniciar a investigação sobre a decomposição de funções periódicas em séries trigonométricas convergentes chamadas séries de Fourier e a sua aplicação aos 5 problemas da condução do calor. A Transformada de Fourier foi designada em sua homenagem. (Wikipédia, 2008) 6 Capítulo 2 – Técnicas de Análise de Fourier 2.1 Passos da Análise A análise das empresas é feita a partir de sinais de freqüência em ciclos, freqüência angular e por período. Escolhem –se empresas do Ibovespa para a utilização dessa ferramenta. Para descobrir a freqüência em ciclos utilizamos a seguinte fórmula: f1 = f 0 + 1 N .∆t f 2 = f1 + 1 N .∆t ... 7 obs: f 0 = 0 Como os tempos são: 1, 2, 3, ..., ou seja, um intervalo de 1 dia. Então nesse caso ∆t = 1 . Cada freqüência calculada é colocada na coluna H, e será o eixo x do gráfico de freqüência em ciclos. Para encontrar a freqüência angular usamos: ω = 2πf , sendo f a freqüência em ciclos calculada anteriormente. O resultado é colocado na coluna I, e será o eixo x do gráfico de freqüência angular. Para descobrir o período com maior magnitude de FFT que é o período dominante do evento utilizamos o gráfico de períodos. O período é obtido por: T = 1/ f f estando na coluna H já calculada. O resultado é colocado na coluna J e será o eixo x do gráfico de períodos. Como início de aplicação, utiliza-se de planilhas Excel, com o intuito de realizar uma análise de freqüências para ações da Bovespa. Inicialmente é feita a aquisição de n pontos da série de dados da ação que desejamos analisar. A série de dados é colocada em coluna do Excel após as datas e o tempo de amostragem que são colocados nas colunas A e B respectivamente. Figura 1 – Tabela (Fechamentos VIVO3) 8 Após colocados os dados no Excel, deseja-se encontrar uma função f tal que f ( xi ) ≈ y i . Para isso, utiliza-se o método dos mínimos quadrados, que é uma técnica de ajuste de coeficientes para um dado modelo no qual se procura estimar o melhor ajuste para um conjunto de dados. Tenta-se minimizar a soma dos quadrados das diferenças entre a curva ajustada e os dados adquiridos. ∧ A fórmula utilizada para estimar uma reta ( y ) pelo método dos Mínimos Quadrados é: ∧ ∧ ∧ y = ax+b onde, ∧ a= n∑ xi y i − ∑ x i ∑ y i (2.1) n∑ xi2 − (∑ xi ) 2 ∑y ∑x −∑x ∑x y b= n∑ x − (∑ x ) ∧ i 2 i 2 i i i i 2 (2.2) i sendo x a coluna B e y a coluna C da planilha da Figura 1. Para calcular as sazonalidades, subtraíram-se os valores estimados dos valores reais. Os resultados dessa subtração encontram-se na coluna E da planilha da Figura 1. Para fazer a FFT da coluna E utiliza-se a ferramenta do Excel, Análise de Dados- Análise de Fourier conforme Figura 2. 9 Figura 2 – Análise de Fourier No intervalo de entrada é colocada a coluna E, onde se encontram as sazonalidades e no intervalo de saída é colocada a coluna F, onde serão colocados os resultados na análise. É possível observar que os coeficientes da transformada de Fourier aparecem com números complexos na forma y = a + bi . Para se descobrir a magnitude dos coeficientes deve-se tomar o módulo do número complexo obtido por y = a 2 + b 2 Para obter o módulo usa-se a função IMABS( ) do Excel. Essa função está em inserir- função- engenharia: Figura 3 – IMABS 10 O resultado do IMABS é colocado na coluna G, mostrando a magnitude dos coeficientes. 2.2 Análise de Fourier A análise dos gráficos é feita através dos picos observados, pois indicam dominâncias de repetições dos eventos. Um pico em 2, por exemplo no gráfico de Frequência em Ciclos indica que um fenômeno se repete com essa freqüência, ou seja, 2 ciclos por dia. No gráfico de Freqüência angular, o pico é medido em radianos, portanto, um pico em 2 no gráfico de Freqüência Em Ciclos é equivalente a um pico em 12,56 (2. π .2) no gráfico de Freqüência Angular. Por fim, os picos do gráfico de Período são utilizados para encontrar de quanto em quanto tempo um ciclo é repetido, ou seja, uma freqüência de 2 ciclos/dia significa que esse fenômeno se repete a cada 0,5 dia. 11 Capítulo 3 – Estudo das Freqüências A análise citada no capítulo anterior foi realizada com ações das empresas Avon Products, Vivo, Colgate- Palmolive e Marisa. Inicialmente os fechamentos de cada uma das empresas foram retirados do site Economática. Em seguida foi feita a estimação da reta pelo método dos mínimos quadrados para o cálculo das Sazonalidades e então a análise de Fourier foi realizada. Finalmente foram feitos os gráficos de Freqüência em ciclos, Freqüência angular e Período. Foi realizada uma visualização ampliada dos períodos mais freqüentes em todo o histórico dos dados obtidos das ações negociadas na Bovespa. Os resultados encontram-se a seguir: 3.1 Caso 1 – Fechamentos da Avon Products, de 1/4/1999 à 11/08/2006 12 Fechamentos + Mínimos Quadrados 45 40 35 30 25 20 15 10 5 0 0 500 1000 1500 2000 2500 Figura 4 – Fechamentos e Mínimos Quadrados Na Figura 4 encontram-se os fechamentos da empresa Avon Products de 1/4/1999 à 11/08/2006, na mesma figura estão também as estimativas encontradas pelo Método dos Mínimos Quadrados explicado no Capítulo 2 e representado pelas fórmulas (2.1) e (2.2). Sazonalidades 15 10 5 0 -5 0 500 1000 1500 2000 2500 -10 -15 Figura 5 – Sazonalidades A Figura 5 é uma representação das Sazonalidades, que são encontradas a partir da subtração entre os Fechamentos e as estimativas encontradas pelo Método do Mínimos Quadrados. 13 Frequência em Ciclos 4000 3500 3000 2500 2000 1500 1000 500 0 -500 0 0,5 1 1,5 2 2,5 3 3,5 4 4,5 Figura 6 - Freqüência em ciclos A Figura 6 é uma representação das Freqüências em Ciclos para o período todo. Frequência em Ciclos 4000 3500 3000 2500 2000 1500 1000 500 0 0 0,02 0,04 0,06 0,08 0,1 0,12 0,14 0,16 Figura 7 - Freqüência em ciclos da área circulada Para uma melhor visualização optou-se por uma ampliação da área circulada na Figura 7, onde se observa um pico de maior freqüência em aproximadamente 0,01. Essa freqüência encontrada indica que os valores dessa ação se repetem a cada 0,01 período de tempo. Caso um investidor desejasse a aquisição de tal ação, o mesmo preço seria realizado em 0,01 dias a frente. 14 Frequência Angular 4000 3500 3000 2500 2000 1500 1000 500 0 -500 0 5 10 15 20 25 30 Figura 8 - Freqüência angular A Figura 8 é uma representação das Freqüências Angulares para o período todo. Frequência Angular 4000 3500 3000 2500 2000 1500 1000 500 0 0 0,2 0,4 0,6 0,8 1 1,2 Figura 9 - Freqüência Angular da área circulada Para uma melhor visualização optou-se por uma ampliação da área circulada na Figura 9, onde se observa um pico de maior freqüência em aproximadamente 0,05. 15 Período 4000 3500 3000 2500 2000 1500 1000 500 0 -500 0 100 200 300 400 500 600 Figura 10 - Período 3.2 Caso 2 – Fechamentos da Vivo, de 2/1/2001 à 3/12/2004 Fechamentos + Mínimos Quadrados 120 100 80 60 40 20 0 -20 0 500 1000 1500 2000 2500 Figura 11 – Fechamentos e Mínimos Quadrados Na Figura 11 encontram-se os fechamentos da empresa Vivo de 2/1/2001 à 3/12/2004. Também na Figura 11 estão as estimativas encontradas pelo Método dos Mínimos Quadrados. 16 Sazonalidades 30 20 10 0 -10 0 -20 -30 -40 -50 -60 -70 500 1000 1500 2000 2500 Figura 12 – Sazonalidades A Figura 12 é uma representação das Sazonalidades, que são encontradas a partir da subtração entre os Fechamentos e as estimativas encontradas pelo Método do Mínimos Quadrados. Frequência em ciclos 14000 12000 10000 8000 6000 4000 2000 0 -2000 0 0,5 1 1,5 2 2,5 3 3,5 4 4,5 Figura 13 - Freqüência em ciclos A Figura 13 é uma representação das Freqüências em Ciclos para o período todo. 17 Frequência em Ciclos 14000 12000 10000 8000 6000 4000 2000 0 0 0,02 0,04 0,06 0,08 0,1 0,12 Figura 14 - Freqüência em ciclos da área circulada Para uma melhor visualização optou-se por uma ampliação da área circulada na Figura 14, onde se observa um pico de maior freqüência em aproximadamente 0,005. Caso um investidor desejasse a aquisição de tal ação, o mesmo preço seria realizado em 0,005 dias a frente. Frequência Angular 14000 12000 10000 8000 6000 4000 2000 0 -2000 0 5 10 15 20 25 30 Figura 15 - Freqüência angular A Figura 15 é uma representação das Freqüências Angulares para o período todo. 18 Frequência Angular 14000 12000 10000 8000 6000 4000 2000 0 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 Figura 16 - Freqüência Angular da área circulada Para uma melhor visualização optou-se por uma ampliação da área circulada na Figura 14, onde se observa um pico de maior freqüência em aproximadamente 0,005. Período 14000 12000 10000 8000 6000 4000 2000 0 -2000 0 100 200 300 400 500 600 Figura 17 - Período 3.3 Caso 3 – Fechamentos da Colgate- Palmolive, de 31/12/1999 à 11/06/2007 19 Fechamentos + Mínimos Quadrados 80 70 60 50 40 30 20 10 0 0 500 1000 1500 2000 2500 Figura 18 – Fechamentos e Mínimos Quadrados Na Figura 18 encontram-se os fechamentos da empresa Colgate-Palmolive de 31/12/1999 à 11/06/2007. Também na Figura 18, estão as estimativas encontradas pelo Método dos Mínimos Quadrados. Sazonalidades 20 15 10 5 0 -5 0 500 1000 1500 2000 2500 -10 -15 -20 Figura 19 - Sazonalidades A Figura 19 é uma representação das Sazonalidades, que são encontradas a partir da subtração entre os Fechamentos e as estimativas encontradas pelo Método do Mínimos Quadrados. 20 Frequência em Ciclos 6000 5000 4000 3000 2000 1000 0 -1000 0 0,5 1 1,5 2 2,5 3 3,5 4 4,5 Figura 20 - Freqüência em ciclos A Figura 20 é uma representação das Freqüências em Ciclos para o período todo. Frequência Em Ciclos 6000 5000 4000 3000 2000 1000 0 0 0,05 0,1 0,15 0,2 0,25 Figura 21 – Freqüência em Ciclos da área circulada Para uma melhor visualização optou-se por uma ampliação da área circulada na Figura 21, onde se observa um pico de maior freqüência em aproximadamente 0,001. Caso um investidor desejasse a aquisição de tal ação, o mesmo preço seria realizado em 0,001 dias a frente. 21 Frequência Angular 6000 5000 4000 3000 2000 1000 0 -1000 0 5 10 15 20 25 30 Figura 22 - Freqüência angular A Figura 20 é uma representação das Freqüências Angulares para o período todo. Frequência Angular 6000 5000 4000 3000 2000 1000 0 0 0,2 0,4 0,6 0,8 1 1,2 1,4 Figura 23 - Freqüência Angular da área circulada Para uma melhor visualização optou-se por uma ampliação da área circulada na Figura 23, onde se observa um pico de maior freqüência em aproximadamente 0,001. 22 Período 6000 5000 4000 3000 2000 1000 0 -1000 0 100 200 300 400 500 600 Figura 24 - Período 3.4 Caso 4 – Fechamentos da Marisa, de 2/1/2001 à 3/12/2004 Fechamentos + Mínimos Quadrados 20 15 10 5 0 0 200 400 600 800 1000 1200 Figura 25 – Fechamentos e Mínimos Quadrados Na Figura 25 encontram-se os fechamentos da empresa Marisa de 2/1/2001 à 3/12/2004. Também na Figura 25, estão as estimativas encontradas pelo Método dos Mínimos Quadrados. 23 Sazonalidades 8 6 4 2 0 -2 0 200 400 600 800 1000 1200 -4 -6 -8 Figura 26 – Sazonalidades A Figura 26 é uma representação das Sazonalidades, que são encontradas a partir da subtração entre os Fechamentos e as estimativas encontradas pelo Método do Mínimos Quadrados. Frequência em Ciclos 1400 1200 1000 800 600 400 200 0 -200 0 0,5 1 1,5 2 2,5 Figura 27 - Freqüência em ciclos A Figura 27 é uma representação das Freqüências em Ciclos para o período todo. 24 Freqência em Ciclos 1400 1200 1000 800 600 400 200 0 0 0,05 0,1 0,15 0,2 0,25 Figura 28 - Freqüência Em Ciclos da área circulada Para uma melhor visualização optou-se por uma ampliação da área circulada na Figura 28, onde se observa um pico de maior freqüência em aproximadamente 0,005. Caso um investidor desejasse a aquisição de tal ação, o mesmo preço seria realizado em 0,005 dias a frente. Frequência Angular 1400 1200 1000 800 600 400 200 0 -200 0 2 4 6 8 10 12 14 Figura 29 - Freqüência angular A Figura 29 é uma representação das Freqüências em Angulares para o período todo. 25 Freqência Angular 1400 1200 1000 800 600 400 200 0 0 0,2 0,4 0,6 0,8 1 1,2 1,4 Figura 30 - Freqüência Angular da área circulada Para uma melhor visualização optou-se por uma ampliação da área circulada na Figura 30, onde se observa um pico de maior freqüência em aproximadamente 0,005. Período 1400 1200 1000 800 600 400 200 0 -200 0 100 200 300 400 500 600 Figura 31 - Período 26 Capítulo 4 – Programação e Automação de Planilhas para FFT Para fazer a análise de Fourier para qualquer série de dados, foi feito um UserForm com todos os passos da construção dos gráficos, assim é possível analisá-los automaticamente. Um UserForm é uma forma de interação entre o usuário e o computador. 27 Figura 32 – User Form 4.1 Programação Botão tirar traços Inicialmente, foi feito o botão “tirar traços” para que os dados da coluna dos fechamentos fossem arrumados através de um VBA. Figura 33 – Botão Tirar traços Em feriados os fechamentos não são contabilizados, assim esses dias são representados por um traço como mostrado a seguir: 31,45034 31,58018 31,75995 Para eliminar esses traços através de um VBA, foi feita a programação mostrada a seguir: 28 Sub tirartraços() Dim i As Integer Dim n As Integer i=2 n = Cells(65536, 1).End(xlUp).Row - 1 Do While i <= n If Cells(i, 3) = "-" Then Cells(i, 3) = Cells(i + 1, 3) ElseIf Cells(i + 1, 2) = "-" Then Cells(i + 1, 3) = Cells(i + 2, 3) End If i=i+1 Loop End Sub 4.2 Programação Botão Mínimos Quadrados Após arrumar a coluna onde se encontram os fechamentos, na coluna 4, foi ∧ calculada uma reta estimada ( y ) pelo método dos Mínimos Quadrados. A fórmula utilizada está representada no capítulo 2 pelos números 2.1 e 2.2. Figura 34 – Botão Mínimos Quadrados 29 As somatórias das fórmulas foram feitas separadamente. Inicialmente, a somatória de x (somax) foi feita percorrendo todas as linhas da coluna x, e somando-as. Do mesmo modo foi feita a somatórias da coluna y (somay), porém, nesse caso percorrendo os valores da coluna dos fechamentos. As outras somatórias foram feitas seguindo o mesmo raciocínio, percorrendo as 2 colunas e quando necessário elevando-as ao quadrado ou multiplicando-as. Por fim, após o calculo de todas as somatórias necessárias para as fórmulas foi ∧ possível encontrar a e b e conseqüentemente y . A seguir encontra-se o VBA feito para o calculo das estimativas: Sub ab() Dim i As Integer Dim n As Integer Dim w As Single Dim somax As Single Dim somay As Single Dim multxy As Single Dim xy1 As Single Dim X As Single Dim y As Single Dim xy As Single Dim quadx As Single Dim quady As Single Dim xx As Single Dim yy As Single Dim g As Single Cells(1, 4) = "Mínimos Quadrados" n = Cells(65536, 1).End(xlUp).Row - 1 somax = 0 30 For i = 1 To n w = Cells(i + 1, 2) somax = somax + w Next i X = somax somay = 0 For i = 1 To n w = Cells(i + 1, 3) somay = somay + w Next i y = somay multxy = 0 For i = 1 To n w = Cells(i + 1, 2) g = Cells(i + 1, 3) multxy = multxy + (w * g) Next i xy = multxy quadx = 0 For i = 1 To n w = Cells(i + 1, 2) quadx = quadx + w ^ 2 Next i xx = quadx a = (n * xy - X * y) / (n * xx - X ^ 2) b = ((y * xx) - (X * xy)) / (n * xx - (X ^ 2)) For i = 1 To n t = Cells(i + 1, 2) Cells(i + 1, 4) = a * t + b 31 Next i End Sub 4.3 Programação Botão Arrumar Linhas Para que a análise de Fourier possa ser realizada é necessário que o número de dados seja igual a 2 m , ou seja, n deve ser uma potência de 2. Figura 35 – Botão Arrumar Linhas O botão “Arrumar Linhas” foi feito com uma programação em VBA para que n seja sempre igual a uma potência de 2. Sub arrumar_linhas() Dim i As Integer Dim n As Integer Dim l As Double Dim intl As Integer n = Cells(65536, 3).End(xlUp).Row - 1 l = Log(n) / Log(2) o = Int(l) m=2^o For i = m + 2 To n + 1 Cells(i, 1) = " " Cells(i, 2) = " " 32 Cells(i, 3) = " " Cells(i, 4) = " " Next i End Sub 4.4 Programação Botão Sazonalidades O botão “Sazonalidades” foi feito para automatizar o cálculo da subtração dos pontos estimados pelo método dos mínimos quadrados dos pontos originais. Figura 36 –Botão Sazonalidades Para isso foi feita uma subtração dos números da coluna 4 e os números da coluna 3 de modo que o resultado fosse colocado na coluna 5, que é a coluna onde se encontram as sazonalidades. Sub sazonalidade() Dim n As Integer Dim i As Integer Cells(1, 5) = "Sazonalidades" n = Cells(65536, 3).End(xlUp).Row - 1 For i = 2 To n Cells(i, 5) = Cells(i, 4) - Cells(i, 3) Next i End Sub 33 4.5 Programação Botão FFT O botão criado com o nome “FFT” é utilizado na programação para a realização da transformada de Fourier. Essa transformada está previamente programada no Excel através do comando apresentado abaixo. Optou-se por transportar esse comando para dentro da área de programação em VBA. Figura 37 - Botão FFT A análise de Fourier das sazonalidades foi encontrada de acordo com a programação a seguir: Cells(1, 6) = "FFT" Range("E1").Select Range("E2:E1025").Select Application.Run "ATPVBAEN.XLA!Fourier", ActiveSheet.Range("$E$2:$E$1025"), _ ActiveSheet.Range("$F$2:$F$1025"), False, False 4.6 Programação Botão Imabs O botão “Imabs”, foi criado para que o uso da função do Excel com esse nome fosse automatizado. Figura 38 – Botão Imabs Para usarmos a função IMABS( ) do Excel, foi construída a seguinte programação: 34 Cells(1, 7) = "IMABS" n = Cells(65536, 3).End(xlUp).Row - 1 ActiveCell.FormulaR1C1 = "=IMABS(RC[-1])" Range("G2").Select Selection.AutoFill Destination:=Range("G2:G1025") Range("G2:G1025").Select 4.7 Programação Botão Freqüência em Ciclos O botão de “Freqüência em Ciclos” foi criado para que a análise das empresas através dos sinais de freqüência em ciclos pudesse ser feita. Figura 39 – Botão Freqüência em ciclos A coluna de freqüência em ciclos foi programada em VBA como mostrado a seguir: Sub frequencia_em_ciclos() Dim i As Integer Dim n As Integer Cells(1, 8) = "Frequência em ciclos" n = Cells(65536, 3).End(xlUp).Row - 1 Cells(2, 8) = 0 For i = 3 To n - 1 35 Cells(i, 8) = Cells(i - 1, 8) + 1 / (512 * (Cells(i, 2) - Cells(i - 1, 2))) Next i End Sub 4.8 Programação Botão Freqüência Angular A partir da coluna de freqüências em ciclos, foi feito um botão para o cálculo das freqüências angulares. Figura 40 – Botão Freqüência Angular A coluna de freqüências angulares foi programada em VBA como mostrado a seguir: Sub frequencia_angular() Dim i As Integer Dim n As Integer Cells(1, 9) = "Frequência Angular" n = Cells(65536, 3).End(xlUp).Row - 1 For i = 2 To n Cells(i, 9) = 2 * 3.14159265358979 * Cells(i, 8) Next i End Sub 36 4.9 Programação Botão Período O botão de períodos foi criado também através da coluna de freqüências em ciclos. Figura 41 – Botão Período A coluna de períodos foi programada em VBA como mostrado a seguir: Sub Período() Dim i As Integer Dim n As Integer Cells(1, 10) = "Período" Cells(2, 10) = 0 n = Cells(65536, 3).End(xlUp).Row - 1 For i = 3 To n - 1 Cells(i, 10) = 1 / Cells(i, 8) Next i End Sub 4.10 Programação Botão para a construção dos gráficos de Freqüência em ciclos O botão a seguir foi feito para automatizar o desenho do gráfico de Freqüência em Ciclos. 37 Figura 42 –Botão Gráfico de Freqüência em ciclos O gráfico de freqüência em ciclos foi desenhado a partir da programação de VBA a seguir: Dim i As Integer Dim n As Integer n = Cells(65536, 3).End(xlUp).Row - 1 For i = 2 To n Cells(i, 15) = Cells(i, 8) Cells(i, 16) = Cells(i, 7) Next i Charts.Add ActiveChart.ChartType = xlXYScatterSmoothNoMarkers ActiveChart.SetSourceData Source:=Sheets("Plan1").Range("O2:P513") ActiveChart.Location Where:=xlLocationAsObject, Name:="Plan1" With ActiveChart .HasTitle = True .ChartTitle.Characters.Text = "Frequência Em Ciclos" End With 4.11 Programação Botão para a construção dos gráficos de Freqüência Angular O botão a seguir foi feito para automatizar o desenho do gráfico de Freqüência Angular. 38 Figura 43 – Botão Gráfico de Freqüência Angular O gráfico de freqüência angular foi desenhado a partir da programação de VBA a seguir: Dim i As Integer Dim n As Integer n = Cells(65536, 3).End(xlUp).Row - 1 For i = 2 To n Cells(i, 17) = Cells(i, 9) Cells(i, 18) = Cells(i, 7) Next i Charts.Add ActiveChart.ChartType = xlXYScatterSmoothNoMarkers ActiveChart.SetSourceData Source:=Sheets("Plan1").Range("Q2:R513") ActiveChart.Location Where:=xlLocationAsObject, Name:="Plan1" With ActiveChart .HasTitle = True .ChartTitle.Characters.Text = "Frequência Angular" End With 4.12 Programação Botão a construção dos gráficos de Período O botão a seguir foi feito para automatizar o desenho do gráfico de Períodos. Figura 44 –Botão Gráfico de Período 39 O gráfico de Períodos foi desenhado a partir da programação de VBA a seguir: Dim i As Integer Dim n As Integer n = Cells(65536, 3).End(xlUp).Row - 1 For i = 2 To n Cells(i, 19) = Cells(i, 10) Cells(i, 20) = Cells(i, 7) Next i Charts.Add ActiveChart.ChartType = xlXYScatterSmoothNoMarkers ActiveChart.SetSourceData Source:=Sheets("Plan1").Range("S2:T513") ActiveChart.Location Where:=xlLocationAsObject, Name:="Plan1" With ActiveChart .HasTitle = True .ChartTitle.Characters.Text = "Período" End With 40 Capítulo 5 – Períodos Os picos nos gráficos de períodos são aqueles pontos que se destacam com relação aos outros. A ocorrência de picos nos gráficos de períodos expressa a existência de fenômenos que são repetidos com certa freqüência. O eixo x dos gráficos do período reproduz o período que mais se repete e o eixo y quantas vezes aquele período aconteceu na amostragem Ao analisar o gráfico de períodos ao longo de um período de aproximadamente 30 dias é possível identificar alguns picos. Esses picos estão destacados nas ações analisadas a seguir: 41 5.1 Vivo Figura 45 – Gráfico de Períodos Vivo Período mais Freqüente (dias) 15,51 18,96 A cada aproximadamente 15 dias, o preço da ação da Vivo é igual a R$ 731,95 e a cada aproximadamente 19 dias, o preço da ação da Vivo é igual a R$ 1008,82. 5.2 Colgate - Palmolive Figura 46 – Gráfico de Períodos Palmolive 42 Período mais Frequente (dias) 18,96 24,38 30,11 A cada aproximadamente 19, 24 e 30 dias, os períodos que mais se repetem na amostragem acontecem. 5.3 Avon Products Figura 47 – Gráfico de Períodos Avon Products Período mais freqüente (dias) 10,89 12,19 19,69 24,38 30,11 A cada aproximadamente 11, 12, 20, 24 e 30 dias, os períodos que mais se repetem na amostragem acontecem. 43 5.4 Marisa Figura 48 – Gráfico de Períodos Marisa Período mais freqüente (dias) 11,66 14,22 18,96 21,33 24,38 26,94 A cada aproximadamente 12, 14, 19, 21, 24 e 27 dias, os períodos que mais se repetem na amostragem acontecem. 44 5.5 Petrobrás Figura 49 – Gráfico de Períodos Petrobrás Período mais freqüente 17,06 21,33 24,38 28,44 A cada aproximadamente 17, 21, 24 e 28 dias, os períodos que mais se repetem na amostragem acontecem. 5.6 Usiminas Figura 50 – Gráfico de Períodos Usiminas 45 Período mais freqüente 17,06 21,33 28,44 A cada aproximadamente 17, 21 e 28 dias, os períodos que mais se repetem na amostragem acontecem. 5.7 Lojas Americanas Período 60 50 40 30 20 10 0 0 5 10 15 20 25 30 Figura 51 – Gráfico de Períodos Lojas Americanas Não é possível observas picos no gráfico de Período dos fechamentos das Lojas Americanas. 5.8 Vale 46 Figura 52 – Gráfico de Períodos Vale Período mais freqüente (dias) 18,96 24,38 26,94 A cada aproximadamente 18, 24 e 27 dias, os períodos que mais se repetem na amostragem acontecem. 5.9 Tabela de Períodos Para sintetizar os dias que houve a ocorrência de picos, foi feita a seguinte tabela: Tabela 1 – Empresas conforme o período de oscilação via FFT Empresa Dias Vivo 15,51; 18,96 Colgate - Palmolive 18,96; 24,38; 30,11 Avon Products 10,89; 12,19; 19,69; 24,38; 30,11 Marisa 11,66; 14,22; 18,96; 21,33; 24,38; 26,94 Petrobrás 17,06; 21,33; 24,38; 28,44 Usiminas 17,06; 21,33; 28,44 Lojas Americanas - Vale 18,96; 24,38; 26,94 A tabela acima resume a cada quantos dias os períodos que mais se repetem na amostragem de cada empresa acontecem. 47 Abaixo estão representados os dias em que houve o maior pico para cada empresa. 35 30 Dias 25 20 15 10 5 0 Vivo Colgate Avon Marisa Petrobrás Usiminas Vale Empresa Figura 53 – Períodos FFT Segundo a figura 53, o período que mais se repete na amostragem da empresa Vivo se repete a cada 19 dias, já os da Colgate e da Avon atingem o maior valor a cada aproximadamente 30 dias. 48 Capítulo 6 – Modelos com adição de Sazonalidades Na análise de séries temporais o objetivo básico é o de aproximar uma função do tempo por uma combinação de harmônicos, os coeficientes dos quais são as transformadas de Fourier discretas da série. Os modelos iniciais foram ajustados através das matrizes a seguir: 1 1 1 1 cos x1 y1 ∧ cos x2 a y2 ∧ = cos x3 b y3 cos x4 y4 onde x é a coluna B da planilha do Excel exemplificada na Figura1 e y é a coluna C. Como foram feitos modelos com mais do que apenas dois coeficientes 49 ∧ ∧ ∧ ( a, b, c ... ) as matrizes mudam aumentando o número de colunas da primeira (variando entre senos e cossenos) e o número de linhas da segunda O ajuste de um modelo para todas as freqüências de Fourier das ações da Bovespa citadas no capítulo anterior foi realizado por meio do programa Matlab, no qual, utilizando os fechamentos das ações foi possível encontrá-los. Para automatizar o programa e encontrar as séries de senos e cossenos de Fourier para as ações com mais facilidade, foi utilizado o Window Editor do Matlab: (DesktopEditor) Figura 53 – Window Editor A programação realizada encontra-se abaixo: clear all load teste.txt n=length(teste(:,1)); q1=ones(n,1) x=teste(:,1); q2=cos(x); a=[q1 q2]; b=teste(:,2); coef=inv(a'*a)*a'*b 50 Nesse caso o argumento teste.txt é a série que está sendo utilizada, coef é a matriz de coeficientes encontrados após a rotação do programa e seu tamanho depende da quantidade de q (q1, q2, q3 ...) que o modelo possuí. Foram encontrados 4 séries para cada ação analisada, pois dependendo da série, haverá um modelo diferente que será melhor adaptado. Todos as séries são combinações de senos e cossenos: ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ 1. y (t ) = a + b cos(t ) + c sen(t ) 2. y (t ) = a + b cos(t ) + c sen(t ) 3. y (t ) = a + b cos(t ) + c sen(t ) + d cos(t ) ∧ 4. y (t ) = a + b cos(t ) + c sen(t ) + d cos(t ) + e sen(t ) A seguir encontram-se os resultados para as diferentes séries. Tabela 2 – Comparação de Séries de Senos e Cossenos de Fourier para as Empresas Empresa Modelo1 ∧ a = 20.4744 ∧ b = -0.0418 Vivo Modelo 2 ∧ a = 20.4744 ∧ b = -0.0418 ∧ c = 0.0419 Modelo 3 ∧ a = 20.4744 ∧ b = 0.0000 ∧ c = 0.0419 ∧ d = -0.0664 Modelo 4 ∧ a = 20.4744 ∧ b = 0.0066 ∧ c = 0.0171 ∧ d = -0.1400 ∧ e = 0.1109 ∧ a = 52.3501 ∧ Colgate - b = -0.0237 ∧ a = 52.3501 ∧ b = -0.0237 ∧ c = 0.0077 Palmolive ∧ a = 52.3501 ∧ b = -0.0001 ∧ c = 0.0077 ∧ d = -0.0346 ∧ a = 52.3501 ∧ b = -0.0126 ∧ c = 0.0481 ∧ d = -0.1491 ∧ e = 0.1704 Avon Products ∧ a = 25.5613 ∧ a = 25.5613 ∧ a = 25.5613 ∧ a = 25.5613 51 ∧ b = 0.0071 ∧ b = 0.0071 ∧ c = -0.0042 ∧ b = -0.0000 ∧ c = -0.0042 ∧ d = 0.0075 ∧ b = -0.0081 ∧ c = 0.0244 ∧ d = -0.0358 ∧ e = 0.0755 ∧ a = 10.8247 ∧ b = -0.0004 Marisa ∧ a = 10.8247 ∧ b = -0.0004 ∧ c = -0.0130 ∧ a = 10.8247 ∧ b = -0.0000 ∧ c = -0.0130 ∧ d = -0.1682 ∧ a = 10.8247 ∧ b = -0.0499 ∧ c = 0.0028 ∧ d = 0.0849 ∧ e = -0.0216 ∧ a = 5.3608 ∧ b = 0.0053 Petrobrás ∧ a = 5.3608 ∧ b = 0.0053 ∧ c = -0.0051 ∧ a = 5.3608 ∧ b = -0.0000 ∧ c = -0.0051 ∧ d = 0.0076 ∧ a = 5.3608 ∧ b = -0.0012 ∧ c = 0.0046 ∧ d = -0.0034 ∧ e = 0.0106 ∧ a = 5.4998 ∧ b = 0.0082 Usiminas ∧ a = 5.4998 ∧ b = 0.0082 ∧ c = -0.0110 ∧ a = 5.4998 ∧ b = -0.0000 ∧ c = -0.0110 ∧ d = 0.0104 ∧ a = 5.4998 ∧ b = -0.0017 ∧ c = 0.0047 ∧ d = -0.0011 ∧ e = 0.0041 ∧ a = 1.1489 ∧ Lojas Americanas b = 0.0028 ∧ a = 1.1489 ∧ b = 0.0028 ∧ c = -0.0050 ∧ a = 1.1489 ∧ b = -0.0000 ∧ c = -0.0050 ∧ d = 0.0037 ∧ a = 1.1489 ∧ b = -0.0003 ∧ c = 0.0010 ∧ d = 0.0005 ∧ e = -0.0020 52 ∧ ∧ a = 5.7613 a = 5.7613 ∧ ∧ b = 0.0137 b = 0.0137 ∧ c = -0.0181 Vale ∧ a = 5.7613 ∧ b = -0.0000 ∧ c = -0.0181 ∧ d = 0.0150 ∧ a = 5.7613 ∧ b = -0.0022 ∧ c = 0.0050 ∧ d = 0.0062 ∧ e = -0.0009 Depois de encontrados os valores dos coeficientes das séries para as diferentes empresas, foram desenhados os gráficos para que o melhor modelo fosse encontrado. O melhor modelo encontrado foi o da empresa Avon Products. Os gráficos foram construídos inicialmente com os fechamentos de cada uma das empresas encontrados anteriormente. Em seguida foi colocada no gráfico a série de senos e cossenos de Fourier encontrado como segue abaixo: y (t ) = 0,0028 − 0.0008 cos(t ) + 0,0011sen(t ) - 0,0038 cos(t ) + 0,0001sen(t ) Fechamentos e Modelo 45 40 35 30 25 20 15 10 5 0 0 500 1000 1500 2000 2500 Figura 54 – Avon Products A figura 54 é uma representação dos Fechamentos com a Série de senos e cossenos de Fourier da Avon Products encontrado através do Matlab. O modelo aproxima o que acontece no período de tempo especificado. 53 Capítulo 7 – Análise e Projeções de algumas Empresas Nesse capítulo, foram feitas análises, projeções e cenários otimistas e pessimistas de alguns índices como: Dow Jones, Ibovespa e Hang Seng. Inicialmente os fechamentos de cada um dos índices foram retirados do site Economática. Em seguida colocados na coluna C do Excel, seguidos das datas (coluna A) e x, que seriam os valores indo de 1 ao número de dados colocados na coluna B. Ao fazer o gráfico dos fechamentos é possível encontrar a reta de tendência e sua equação no gráfico, e assim encontrar todos os seus pontos, que foram colocados na coluna D do Excel. Depois foi feita a subtração dos fechamentos (coluna C) com os pontos encontrados a partir da equação da reta de tendência, esse resultado foi colocado na coluna E. Dessa subtração foram estimados os coeficientes para o ajuste de uma série de senos e cossenos de Fourier, a partir do programa Matlab, como especificado no capítulo 6. 54 Por fim o ruído é encontrado a partir da subtração da série de Fourier com os resultados da coluna E o seu desvio padrão é calculado para que os cenários pessimistas e otimistas sejam montados. Os cenários otimistas e pessimistas são montados através dos intervalos de confiança com 68% de confiança. Assim, somam-se os dados da reta de tendência para cada dia com a série de senos e cossenos de Fourier e desse resultado soma um desviopadrão que foi calculado do ruído para encontrar o cenário otimista. Depois é feita a mesma coisa subtraindo um desvio-padrão, que será o cenário pessimista. O mesmo calculo também pode ser realizado somando e subtraindo (para cenário otimista e pessimista respectivamente) dois desvios- padrão, para ter uma confiança de 95 %. 7.1 Caso 1 - Dow Jones (2003 a 2008) Os fechamentos do índice Dow Jones foram retirados do Economática e a figura 55 mostra os fechamentos e a reta de tendência encontrada. Fechamentos e Reta de Tendência y = 1,6857x + 7171,3 16000 14000 12000 10000 8000 6000 4000 2000 0 1800 2000 2200 2400 2600 2800 3000 3200 3400 Figura 55 – Fechamentos e Reta de Tendência, Dow Jones A equação da Reta de tendência encontra-se na Figura 55 e foi utilizada para que a série de Fourier e em seguida o Ruído (Figura 56) fossem encontrados. 55 Ruído 6000 4000 2000 0 1800 -2000 2000 2200 2400 2600 2800 3000 3200 3400 -4000 -6000 Figura 56 – Ruído, Dow Jones Após encontrar os ruídos, foi calculado o seu desvio padrão, para então montar os intervalos de confiança como mostrado na figura 57. Fechamentos e Cenários 20000 18000 16000 14000 12000 10000 8000 6000 4000 2000 0 1800 2000 2200 2400 2600 2800 3000 3200 3400 Figura 57 – Fechamentos e Cenários pessimistas e otimistas, Dow Jones A curva do meio é a soma da reta de tendência com a série de senos e cossenos de Fourier, acima e abaixo desta curva estão os cenários otimistas e pessimistas, respectivamente. Os intervalos com 68% de confiança são os mais próximos da curva do meio e os com 95% de confiança são os mais distantes. 56 Fechamentos, Cenários e Previsões 20000 18000 16000 14000 12000 10000 8000 6000 4000 2000 0 1800 2300 2800 3300 3800 Figura 58 – Previsões, Dow Jones A Figura 58 mostra os possíveis cenários para 160 dias (aproximadamente 5 meses) com 68% e 95% de confiança. 7.2 Caso 2 - Ibovespa (1996 a 2008) Na figura 59 estão os Fechamentos do índice Ibovespa de 1996 a 2008, a Reta de Tendência linear e sua equação. Fechamentos + reta de tendência y = 15,464x - 2510,4 80000 70000 60000 50000 40000 30000 20000 10000 0 -10000 0 500 1000 1500 2000 2500 3000 3500 Figura 59 – Fechamentos e Reta de Tendência, Ibovespa 57 A Reta foi encontrada para ser possível a realização da análise de Fourier e em seguida o Ruído (Figura 60). Ruído 40000 30000 20000 10000 0 0 500 1000 1500 2000 2500 3000 3500 -10000 -20000 Figura 60 – Ruído, Ibovespa Após encontrar os ruídos, foi calculado o seu desvio padrão, para então montar os intervalos de confiança como mostrado na figura 61. Fechamentos e Cenários 80000 60000 40000 20000 0 0 500 1000 1500 2000 2500 3000 3500 -20000 -40000 Figura 61 – Fechamentos e Cenários pessimistas e otimistas, Ibovespa A curva do meio é a soma da reta de tendência com a série de senos e cossenos de Fourier, acima e abaixo desta curva estão os cenários otimistas e pessimistas, respectivamente. Os intervalos com 68% de confiança são os mais próximos da curva do meio e os com 95% de confiança são os mais distantes. 58 Fechamentos, Cenários e Previsões 80000 60000 40000 20000 0 0 500 1000 1500 2000 2500 3000 3500 -20000 -40000 Figura 62 – Previsões, Ibovespa A Figura 62 mostra os possíveis cenários para 150 dias (aproximadamente 5 meses) com 68% e 95% de confiança. 7.3 Caso 3 – Hang Seng (1996 a 2008) Na figura 63 estão os Fechamentos do índice Hang Seng de 1996 a 2008 e a Reta de Tendência linear. Fechamentos e Reta de Tendência y = 2,306x + 9415,1 35000 30000 25000 20000 15000 10000 5000 0 0 500 1000 1500 2000 2500 3000 3500 Figura 63 – Fechamentos e Reta de Tendência, Hang Seng 59 A equação da Reta de tendência encontra-se na Figura 55 e foi utilizada para que a série de Fourier e em seguida o Ruído (Figura 56) fossem encontrados. Ruído 15000 10000 5000 0 0 500 1000 1500 2000 2500 3000 3500 -5000 -10000 Figura 64 – Ruído, Hang Seng Após encontrar os ruídos, foi calculado o seu desvio padrão, para então montar os intervalos de confiança como mostrado na figura 65. Fechamentos e Cenários 35000 30000 25000 20000 15000 10000 5000 0 -5000 0 500 1000 1500 2000 2500 3000 3500 -10000 Figura 65 – Fechamentos e Cenários pessimistas e otimistas, Hang Seng 60 A curva do meio é a soma da reta de tendência com a série de senos e cossenos de Fourier, acima e abaixo desta curva estão os cenários otimistas e pessimistas, respectivamente. Os intervalos com 68% de confiança são os mais próximos da curva do meio e os com 95% de confiança são os mais distantes. Fechamentos, Cenários e Previsões 35000 30000 25000 20000 15000 10000 5000 0 -5000 0 500 1000 1500 2000 2500 3000 3500 4000 -10000 Figura 66 – Previsões, Hang Seng A Figura 66 mostra os possíveis cenários para 225 dias (aproximadamente 5 meses e meio) com 68% e 95% de confiança. 61 Capítulo 8 – Análise de Wavelet 8.1. Introdução Na análise de Fourier podemos extrair apenas informações sobre o domínio da freqüência. Já a análise de Wavelet tem a capacidade de decompor as funções tanto no domínio da freqüência quanto no domínio do tempo, assim é possível analisar estas funções em diferentes escalas de freqüência e de tempo. Ao plotar os coeficientes da Fourier, o resultado são dois picos representando uma única freqüência, já os coeficientes Wavelet mostram claramente a localização exata no momento da descontinuidade. Figura 67 – FFT x Frequência Figura 68 – Wavelet x Frequência x Tempo A análise de Wavelet é capaz de revelar aspectos em dados como: tendências, descontinuidades e similaridades. Na história da matemática, a análise Wavelet mostra diferentes origens. Muitos dos trabalhos foram realizados por volta de 1930. 62 Antes de 1930, Joseph Fourier (1807) iniciou o estudo de Wavelet com suas teorias de análise de freqüência. Depois de 1807, os matemáticos analisando o sentido das funções, da convergência da série de Fourier e sistemas ortogonais, migraram da noção de análise de freqüência para a noção de análise de escala. Isto é, analisando f(x) criando estruturas matemáticas que variam em escala. A análise de escala é menos sensível a ruídos porque ela mede a flutuação média do sinal em diferentes escalas. A primeira vez que o termo Wavelet foi mencionado foi em um apêndice da tese de Alfred Haar (1909). As Wavelets Haar não são continuamente diferenciáveis, o que de certo modo limita suas aplicações. Figura 69 - Alfred Haar Após 1980, Y. Meyer construiu a primeira Wavelet não trivial. Diferente das Wavelets de Haar, elas são continuamente diferenciáveis. Alguns anos depois, Ingrid Daubechies construiu um conjunto de funções base Wavelet ortonormais, que são, talvez, as mais elegantes e se tornaram um marco nas aplicações de Wavelets. 8.2. As famílias de funções Wavelet Além da análise de imagens, as Wavelets possuem um vasto campo de aplicações. A compressão de imagens pode ser considerada a mais conhecida das aplicações, mas existem ainda aplicações no processamento de sinais, astronomia, acústica, engenharia nuclear, neurofisiologia, música, ótica, fractais e em aplicações matemáticas puras, como na resolução de equações diferenciais parciais. Existem algumas famílias de Wavelets, são elas: 63 • Haar: É a primeira e a mais simples de todas. É descontínua e equivale a Daubechies 1 (db1). Figura 70 - Haar • Daubechies: Compactly-supported orthonormal Wavelets. • Biortogonal: Apresenta a propriedade de fase linear, que é necessária na reconstrução de sinais e imagens. Utiliza duas Wavelets, uma para decomposição e outra para reconstrução, o que gera propriedades interessantes. • Coiflets: A função Wavelet possui 2N momentos iguais a zero e a função escala tem 2N-1 momentos iguais a zero. • Symlets: São Wavelets simétricas. Foi proposta como uma modificação da família Daubechies pela própria, possuindo caracterísitcas similares as desta família. • Morlet: Não possui função escala e é explícita. Figura 71 - Morlet • Mexican Hat: Também não possui função escala mas não é explícita. 64 Figura 72 – Mexican Hatr • Meyer: A Wavelet e a função escala estão definidas no domínio de freqüência. Figura 73 – Meyer 65 Capítulo 9 – Técnicas para o uso da Wavelet 9.1 Introdução Esse capítulo tem o propósito de demonstrar as técnicas para o uso da análise de Wavelet, por meio de um exemplo dos dados do Ibovespa. Para isso, serão descritos todos os passos necessários para que os dados estejam prontos para a análise. A análise de Wavelet é realizada com o ruído da série de fechamentos que será analisada. Para encontrá-lo é necessário passar por quatro passos, que serão descritos a seguir. 9.2 Fechamentos do preço da ação Inicialmente é feita a aquisição de n pontos da série de dados da ação que desejamos analisar. Esses pontos são os fechamentos do preço de uma determinada ação em um período de tempo. Para aumentar a eficiência do algoritmo, o tempo de amostragem inicia em 1, assim, os tempos são: 1, 2, 3, ..., ou seja, um intervalo de 1 dia. A seguir, um exemplo dos Fechamentos do Ibovespa de novembro de 2008 a julho de 2009, retirados do Economática. 66 4 6 x 10 5.5 5 4.5 4 3.5 3 0 1000 2000 3000 4000 5000 6000 Figura 74 – Fechamento dos preços do Ibovespa Como foi explicado anteriormente, no eixo x está o tempo de amostragem no intervalo de 0 a 6000 e no eixo y estão os fechamentos dos preços do Ibovespa. 9.3 Reta de tendência Após escolher a série a ser analisada, é estimada a reta de tendência a partir de seus coeficientes, sendo possível, portanto encontrar todos os seus pontos. A reta de tendência é calculada a partir de uma aproximação dos pontos do fechamento por uma reta. 67 4 6 x 10 5.5 5 4.5 4 3.5 3 0 1000 2000 3000 4000 5000 6000 Figura 75 – Fechamentos Ibovespa e Reta de Tendência Na Figura 75 estão representadas a série de fechamentos do Ibovespa da Figura 67 e a Reta de Tendência encontrada a partir desses dados. Em seguida, é feita a subtração dos pontos Reta de Tendência pelos pontos da série analisada. E do resultado dessa subtração foram estimados os coeficientes para o ajuste de uma série de senos e cossenos. 68 8000 6000 4000 2000 0 -2000 -4000 -6000 -8000 0 1000 2000 3000 4000 5000 6000 Figura 76 – Série de senos e Cossenos A série de cossenos foi encontrada como explicado no capítulo 6. A Figura 76 mostra não só a série, mas também os pontos resultantes da subtração da Reta de Tendência pelos fechamentos, pois a série foi encontrada de modo a estimar essa subtração. 9.3 Ruído Finalmente, para preparar os dados para que a análise de Wavelet possa ser realizada, é feita a subtração da série de senos e cossenos pela série resultante da subtração da reta de tendência pelos fechamentos. O resultado dessa subtração é chamado de ruído. 69 6000 4000 2000 0 -2000 -4000 -6000 -8000 0 1000 2000 3000 4000 5000 6000 Figura 77 – Ruído, Ibovespa A Figura 77 mostra o resultado da subtração realizada, ou seja, o ruído dos fechamentos do Ibovespa de novembro de 2008 a julho de 2009. Agora será possível, a partir desses dados, realizar a análise de Wavelet. 9.4 Preparação para a análise de Wavelet no Matlab Os itens anteriores mostraram como preparar os dados para que a análise de Wavelet seja possível. Para tornar mais a prática a realização de tais subtrações e encontrar o ruído final, foi feita uma programação no Matlab Após salvar a série dos fechamentos retirada do Economática no Excel, é necessário importá-los para o Matlab.Isso é feito em File- Import Data, como descrito a seguir. 70 Figura 78 – File- Import Data Em seguida, a programação é realizada no WindowEditor: Na programação descrita acima, n é o tamanho da série a ser analisada; x é o tempo de amostragem; y é a própria série; p são os coeficientes da reta de tendência; w 71 é a reta de tendência; z é a subtração de w por y; q1, q2,q3,q4 e q5 são o coeficientes da série de senos e cossenos; d é a série de senos e cossenos; e é a subtração de d por z. Com essa programação é possível realizar os passos para a preparação da análise de Wavelet de modo automático e prático. 72 Capítulo 10 - Usando o Toolbox Wavelet no Matlab 10.1 Introdução Após encontrar o ruído dos dados, como descrito no capítulo anterior, é possível realizar a análise de Wavelet. Esse capítulo descreve como essa análise é realizado no Matlab. Para realizar a análise de Wavelet no Matlab, é necessário, após preparar os dados, abrir a janela de análise de Wavelet, escrevendo wavemenu na Command Window do Matlab, como mostrado a seguir: Figura 79- Window Editor 73 Ao clicar enter abrirá a seguinte janela, que contém os diversos tipos de transformada de Wavelet. Figura 80 – Walvelet Toolbox Main Menu A transformada utilizada nesse trabalho será a contínua, pois em geral, esta transformada é usada na análise de sinais, enquanto que sua versão discreta é usada na compressão de dados. Ao clicar em Continuous Wavelet 1-D, abrirá a seguinte janela: 74 Figura 81 – Continuous Wavelet 1-D Em seguida, é necessário importar os dados já preparados para a análise como descrito anteriormente. Essa importação é feita em File- Import from Workspace, abrindo assim a seguinte janela: Figura 82 – Import from Workspace Esses dados foram salvos em um vetor chamado “e”. Portanto esse será o vetor importado para a análise. 75 Por fim, para realizar a análise de Wavelet, basta mudar o tipo de Wavelet para mex-h e clicar em Analyse. A análise é um espectro de frequências do dados, no qual é possível encontrar os momentos de alta e de baixa frequência. O Resultado para o exemplo mostrado no capítulo anterior, do Ibovespa de novembro de 2008 a janeiro de 2009 é o seguinte: Figura 83 – Espectro de frequências Ibovespa Dessa análise pode-se perceber que quando há alguma mudança abrupta nos dados, aparece mais branco e quando os dados ficam mais estáveis, o resultado da análise são pontos mais escuros. 76 Capítulo 11 – IMA - Índice de mudanças abruptas 11.1 Índice de mudanças abruptas O índice de mudanças abruptas foi construído a partir do espectro encontrado com a realização da análise de Wavelet, como descrito no capítulo anterior. O índice é a relação entre a quantidade de pontos brancos e pretos do espectro, esse índice varia de 0 a 1 e quanto mais próximo de 1 é essa correlação, mais indica uma mudança na trajetória dos dados. Isso porque quanto mais pontos brancos no espectro maior é a indicação de uma mudança na trajetória dos dados. Figura 84 – Espectro Ibovespa 77 Um exemplo do uso desse índice segue nas figuras abaixo, onde a primeira figura é de 10 dias de fechamentos do Ibovespa de1 de outubro de 2007 a 11 de outubro de 2007 e a seguinte representa os índices desse período. Figura 85 – Fechamentos Ibovespa Figura 86 – IMA Ibovespa Com a comparação dos gráficos, pode-se perceber que uma mudança abrupta na trajetória dos dados é sinalizada pela variação do índice, que vai de aproximadamente 1 a 0 ou de 0 a 1. Ao observar as figuras 77 e 78 no tempo t=2630, é possível perceber que logo em seguida ocorreu uma baixa. 78 11.2 Análise estatística dos Eventos O IMA foi usado para encontrar, em uma base de dados, os momentos que o índice aponta uma queda no preço de opções. Inicialmente, foram coletados dados dos preços de opções do mercado em um intervalo de 15 segundos. Esses dados são das opções: petrc28, petrd30, petrb24 (dias: 03/02/2009, 23/01/2009, 26/01/2009, 27/01/2009, 28/01/2009, 29/01/2009). A partir desses dados, foram encontrados os Índices de Mudanças Abruptas para todos os momentos observados. Esses valores foram guardados em planilhas do Excel, de modo que na primeira coluna foi colocada a contagem de momentos (t, que varia de acordo com a quantidade de dados), na segunda estão os preços das opções e na terceira, o IMA. Segue, na figura 87, exemplo da disposição dos dados: Figura 87- dados da opção petrb24 Após coletados os dados, e dispostos nas planilhas do Excel, foi criada uma macro, em VBA, para encontrar todos os momentos que o índice tem uma forte queda. Foi considerada como uma forte queda o período que o índice inicia entre 1 e 0.9 e cai para 0. Segue macro utilizada em todas as bases de dados: Sub ima() Dim i As Integer Dim n As Integer n = Cells(65536, 1).End(xlUp).Row - 1 For i = 1 To n If Cells(i, 3) >= Cells(i + 1, 3) And Cells(i + 1, 3) >= Cells(i + 2, 3) And Cells(i, 3) <> 0 And Cells(i + 1, 3) <> 0 And Cells(i + 2, 3) <> 0 And Cells(i, 3) > 0.9 Then Cells(i, 5) = 1 Cells(i + 1, 5) = 1 End If Next i 79 For i = 1 To n If Cells(i, 5) = 0 And Cells(i + 1, 5) = 1 Then For j = i To n If Cells(j, 5) = 1 And Cells(j + 1, 5) = 0 Then Cells(j, 11) = Cells(i + 1, 3) Cells(j, 12) = Cells(i + 1, 2) Cells(j, 13) = Cells(j + 1, 3) Cells(j, 14) = Cells(j + 1, 2) i=j j=n End If Next j End If Next i j=1 For i = 1 To n If Cells(i, 3) > 0 And Cells(i + 1, 3) = 0 Then Cells(i + 1, 6) = 1 End If Next i i=1 Do While i <= n If Cells(i, 5) = 1 Then For j = i To n If Cells(j, 6) = 1 Then Cells(j, 7) = Cells(i, 3) Cells(j, 8) = Cells(i, 2) x=j j=n+1 End If Next j i=x End If i=i+1 Loop For i = 1 To n If Cells(i, 6) = 1 And Cells(i, 8) <> 0 Then Cells(i, 9) = Cells(i, 3) Cells(i, 10) = Cells(i, 2) End If Next i End Sub Esse programa encontra, em uma série de dados dispostos nas colunas do Excel, todos os momentos que o índice inicia entre 0.9 e 1 e caí, continuamente, até atingir o valor zero. 80 Com esse programa é mais fácil analisar o índice para todos os dados coletados e estimar a quantidade de eventos que a queda aconteceu. Segue abaixo um resumo dos dados estudados. petrc28 petrd30 ptrb24 ptrb24 - 2009 03/02/2009 23/01 26/01 27/01 28/01 29/01 Minutos de Observação 1003 1003 1235 186 154 446 660 812 32 22 25 7 3 15 20 21 -2,3% -2,25% -2,22% -2,07% -1,8% -14,7% -7,59% -5,73% -4,76% -2,17% -5,73% -5,73% -5,73% -0,57% -0,88% -0,37% -0,66% -1,11% -0,55% Eventos (sinais de alerta de Crash) Queda média -2,66% -2,33% -2,42% Queda máxima Queda mínima -0,4% -0,4% 5,75 5,75 Tempo da queda máxima (em minutos) 3 89,75 5,75 3 23 5,75 Inicio da queda máxima R$1,72 R$0,79 R$1,92 R$1,89 R$1,84 R$1,92 R$1,92 R$1,92 R$1,34 R$0,33 R$1,81 R$1,8 Fim da queda máxima R$1,8 R$1,81 R$1,81 R$1,81 Tabela 1 – Resumo dos eventos de queda A tabela 1 mostra o tempo de observação dos dados em minutos, a quantidade de eventos encontrada para cada opção, ou seja, quantas vezes houve uma queda do índice iniciado entre 0.9 e 1 e indo até zero. As médias, máximas e mínimas quedas entre os 81 eventos encontrados. Por fim, das quedas máximas encontradas, foram detalhadas as durações dessas quedas em minutos, e os preços iniciais e finais durante esse período. Por exemplo, para a opção petrc28, a maior queda encontrada foi de 1,72 a 1,34 e teve duração de 3 minutos. Segue uma média de todos os dados analisados: Média Minutos de Observação 5499 Eventos (sinais de alerta de Crash) 145 Queda média 1,69 Queda máxima 4,69 Queda mínima 0,54 Tempo da queda máxima (em minutos) 17,71 Inicio da queda máxima 1,74 Fim da queda máxima 1,56 Tabela 2 – Média dos eventos de queda Os itens “Minutos de Observação” e Eventos são as somas de todos os dados utilizados no estudo. Todos os outros índices são médias dos valores encontrados para as opções descritas anteriormente. 82 Capítulo 12 - Conclusão O projeto foi desenvolvido de modo a analisar dados do mercado financeiro e estudar possíveis padrões de freqüências para eventos de mudanças de tendências. Para realizar a análise, foram utilizados métodos matemáticos como a Análise de Fourier e Análise de Wavelet. Inicialmente, foram realizados estudos para o entendimento das séries e transformadas de Fourier e, em seguida, foram realizados estudos com o uso da análise de Wavelet. Com isso, notaram-se as diferenças, vantagens e desvantagens das duas ferramentas. Além disso, foi possível rever os conceitos de programação em VBA no Excel e programação e geração de exemplos numéricos no Matlab aprendidos em Sistemas de Informação. A utilização da teoria de Fourier em dados financeiros possibilita o estudo das freqüências, análises, projeções e criação de cenários otimistas e pessimistas dos índices do mercado financeiro. Com essa ferramenta, foi realizada a análise de algumas séries do mercado e projeções com certo grau de confiança de possíveis cenários para essas séries. Como na análise de Fourier podemos extrair apenas informações sobre o domínio da freqüência das séries analisadas, foi estudada também a análise de Wavelet, que tem a capacidade de decompor as funções tanto no domínio da freqüência quanto no domínio do tempo e assim foi possível analisar estas funções em diferentes escalas de freqüência e de tempo. Os resultados dos estudos realizados com coeficientes de Fourier são dois picos representando uma única freqüência, já os estudos realizados com coeficientes Wavelet mostraram claramente a localização exata no momento da descontinuidade. A programação em VBA e Matlab permitiu que as análises feitas com o uso das teorias de Fourier e Wavelet se tornassem mais rápidas e eficientes devido a automação dos passos das análises. Além disso, com o uso do Matlab, foi possível estudar o índice de mudanças abruptas apresentado por Marco Antonio Leonel 83 Caetano, pesquisador e professor do Insper, que criou o índice em parceria com Takashi Yoneyama, do Instituto Tecnológico da Aeronáutica (ITA), já que o espectro utilizado para a criação desse índice é formado através desse programa. O índice foi utilizado para verificar mudanças abruptas nas trajetórias dos dados de opções coletados. Com a ajuda de um programa realizado no VBA foi possível analisar o índice para todos os dados coletados e estimar a quantidade de eventos que a queda aconteceu. 84 Bibliografia ECONOMÁTICA. Acessado em: agosto de 2008 <pt.wikipedia.org>. Acessado em: junho 2002 MORETTIN, Pedro. Análise de Séries Temporais. Edgard Blücher, 2006. <http://www.inf.ufsc.br/~visao/2000/Wavelets/index.html#3^>. Acessado em julho de 2009 <http://pt.wikipedia.org/wiki/Wavelet>. Acessado em setembro de 2009 85 86