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

Documentos relacionados