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

83
TRABALHO DE GRADUAÇÃO Estudo de séries temporais do mercado financeiro Murilo Antunes Braga Brasília, Dezembro de 2009 UNIVERSIDADE DE BRASÍLIA FACULDADE DE TECNOLOGIA

description

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

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

TRABALHO DE GRADUAÇÃO

Estudo de séries temporaisdo mercado financeiro

Murilo Antunes Braga

Brasília, Dezembro de 2009

UNIVERSIDADE DE BRASÍLIA

FACULDADE DE TECNOLOGIA

UNIVERSIDADE DE BRASILIA

Faculdade de Tecnologia

TRABALHO DE GRADUAÇÃO

Estudo de séries temporaisdo mercado financeiro

Murilo Antunes Braga

Relatório submetido ao Departamento de Engenharia

Mecatrônica como requisito parcial para obtenção

do grau de Engenheiro de Controle e Automação

Banca Examinadora

Prof. Dr. João Yoshiyuki Ishihara, ENE/UnB

Orientador

Profa. Dra. Janaína Gonçalves Guimarães,

ENE/UnBExaminador interno

Prof. Dr. Francisco Damasceno Freitas,

ENE/UnBExaminador interno

Dedicatórias

À minha mãe, Maria José, ao meu pai, João

Braga, aos meus irmãos, Marcelo e Mateus,

e à minha namorada, Bianca.

.

Murilo Antunes Braga

Agradecimentos

Agradeço à minha família pelo apoio em todas as etapas de minha vida; à minha namorada

Bianca que sempre me apoiou nessa caminhada; Ao professor João, no seu trabalho como

orientador; à todos os meus amigos da faculdade, que me ajudaram nessa jornada de

quase 5 anos.

Murilo Antunes Braga

RESUMO

O presente trabalho apresenta um estudo de série temporais do mercado financeiro,com a utilização

de ferramentas gráficas, estatísticas e a aplicação do filtro de Kalman. Primeiramente,são abor-

dados conceitos básicos à compreensão das séries temporais, assim como meios disponíveis para a

sua análise. Em seguida, é descrita a forma de captação dessas séries, para então ser elaborada

uma proposta de um sistema de tomada de decisão automatizado. O desempenho deste trading

system aqui proposto é avaliado a partir da observação de seu desempenho em comparação com o

comportamento obtido para determinados ativos da bolsa de valores brasileira no mesmo período.

São abordados ainda assuntos pertinentes ao modelamento de séries temporais, e posterior aplica-

ção do filtro de Kalman à um destes modelos apresentados. Por fim, é avaliada a resposta do filtro

de Kalman ao modelo escolhido, com devida análise do comportamento obtido para o mesmo.

ABSTRACT

This work presents a study of financial times series and the corresponding tools for doing it: graphic

tools, estatistics concepts and the Kalman filter. First, those basic concepts related to times series

are shown, as well as the ways of providing their analysis. Then it is presented the steps taken

in the caption process of the financial series and also the proposal of a new trading system. The

performance of this system is evaluated through the observation of its results in comparison with

the real behaviour obtained for certain assets during the same period observed. Furthermore, it

is presented topics on modeling of times series and the consequent application of Kalman filter on

them. Finally, the results are shown along with their analysis.

SUMÁRIO

1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2 Séries temporais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.1 Ferramentas de análise gráfica ................................................. 3

2.1.1 Gráfico simples ........................................................................ 3

2.1.2 Gráfico de dispersão ................................................................. 3

2.2 Conceitos estatísticos aplicados a séries temporais ...................... 4

2.2.1 Processos estocásticos .............................................................. 4

2.2.2 Função média ........................................................................... 5

2.2.3 Função autocovariância ............................................................ 5

2.2.4 Correlação .............................................................................. 6

2.2.5 Propriedades da variância.......................................................... 7

2.2.6 Passeio aleatório (random walk) ................................................... 7

2.2.7 Estacionaridade........................................................................ 7

3 Captação das séries temporais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.1 Série histórica Apligraf para o MATLAB .................................... 10

3.2 Usando o FTS tool para importar dados ..................................... 12

4 Proposta de um sistema de negociação de ativos financeiros. . . . . . . . 13

4.1 Metodologia de desenvolvimento de um sistema de tomada de de-

cisão ....................................................................................... 14

4.1.1 Descrição do sistema proposto ................................................... 15

4.1.2 Séries temporais carteira de interesse ........................................ 16

4.1.3 Filtragem dos resultados........................................................... 19

4.2 Resultados da simulação ............................................................ 20

4.2.1 Parâmetros de saída da simulação............................................... 20

4.2.2 Simulação e resultados.............................................................. 21

4.3 Resultados da validação do modelo............................................. 22

5 Modelagem de tendências em séries temporais . . . . . . . . . . . . . . . . . . . . . . 29

5.1 Tendência sazonal .................................................................... 29

5.1.1 Sazonalidade com a função de autocorrelação ........................... 30

5.1.2 Sazonalidade com a função de autocorrelação numa série finan-

ceira ....................................................................................... 31

iii

5.2 Modelos probabilísticos ............................................................ 32

5.2.1 Ruído branco ........................................................................... 32

5.2.2 Processo linear geral ............................................................... 33

5.2.3 Modelo média móvel.................................................................. 33

5.2.4 Processos auto-regressivo ......................................................... 34

5.2.5 Processos médias móveis auto-regressivo ..................................... 36

5.3 Construção de modelos no espaço de estados ............................... 37

5.3.1 Construção de modelos no espaço de estados no MATLAB............. 37

5.3.2 Validação de modelos de séries temporais de ativos financeiros ..... 40

6 Filtro de Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

6.1 Sistema de referência e notação utilizada ................................... 47

6.2 Equações do filtro de Kalman.................................................... 48

6.2.1 Demonstração das equações do filtro de Kalman ......................... 48

6.3 Implementação do filtro de Kalman ............................................ 50

6.3.1 Séries temporais utilizadas ........................................................ 51

6.3.2 Construção do modelo .............................................................. 51

6.3.3 Resultado da aplicação do filtro de Kalman em um conjunto de

ativos ...................................................................................... 54

7 Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

REFERÊNCIAS BIBLIOGRÁFICAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Anexos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

I Códigos do programa MATLAB utilizados nesse trabalho. . . . . . . . . . 67

LISTA DE FIGURAS

2.1 Passeio aleatório (random walk) tendência de alta ............................................. 4

2.2 Passeio aleatório (random walk) tendência de baixa............................................ 4

2.3 Passeio aleatório (random walk) tendência neutra .............................................. 5

2.4 Gráfico simples Petrobras ............................................................................. 5

2.5 Gráfico de dispersão..................................................................................... 6

3.1 Exemplo de corretora com acesso a base Apligraf .............................................. 10

3.2 Exemplo de plataforma home broker .............................................................. 10

3.3 Gráfico Apligraf .......................................................................................... 11

3.4 Interface gráfica FTS tool ............................................................................. 12

4.1 Esquemático sistema de negocição de ativos...................................................... 14

4.2 Esquematização do modelo para desenvolvimento sistema de tomada de decisão de [1] 15

4.3 Lógica de decisão ........................................................................................ 15

4.4 Divisão dados históricos................................................................................ 17

4.5 Série temporal vale5 modelagem.................................................................... 17

4.6 Série temporal vale5 validação ...................................................................... 18

4.7 Série temporal financeira a ser analisada nesse exemplo....................................... 18

4.8 Variação percentual diária vale5 .................................................................... 19

4.9 Definição dos dados necessários para o sistema .................................................. 19

4.10 Proposta de modelo para desenvolvido para sistema de tomada de decisão .............. 20

5.1 Função seno amostrada adicionada de ruído...................................................... 30

5.2 Correlagrama da função seno amostrada acrescida de ruído.................................. 30

5.3 ACF petr4 ................................................................................................ 31

5.4 ACF vale5 ................................................................................................ 31

5.5 ACF bbdc4 ............................................................................................... 32

5.6 ACF csna3................................................................................................ 32

5.7 ACF itau4 ................................................................................................ 33

5.8 ACF vale3 ................................................................................................ 33

5.9 System id tool ............................................................................................ 38

5.10 Importando dados ....................................................................................... 38

5.11 Modelamento no espaço de estados ................................................................. 39

5.12 Valores singulares para escolha da ordem do modelo........................................... 39

5.13 Validação do modelo .................................................................................... 40

v

5.14 Fechamento em pontos diários do indice Ibovespa de 18/12/1991 ate 5/12/2008....... 40

5.15 Histograma indice Ibovespa da variação percentual diária de 18/12/1991 ate 5/12/2008

41

5.16 Gráfico QQ série variação percentual Ibovespa .................................................. 41

5.17 Função de autocorrelação ACF para variação percentual Ibovespa ......................... 42

5.18 Histograma derivada das cotações Ibovespa de 18/12/1991 ate 5/12/2008 ............... 43

5.19 Gráfico QQ série variação Ibovespa ................................................................. 43

5.20 Função de autocorrelação ACF para variação em pontos Ibovespa ......................... 44

5.21 Histograma dos resíduos modelo ARMA(15) preços Ibovespa de 18/12/1991 ate

5/12/2008 ................................................................................................. 44

5.22 Gráfico QQ dos residuos do modelo ARMA em pontos do Ibovespa ....................... 44

5.23 Função de autocorrelação ACF para os resíduos do modelo ARMA analisado .......... 45

6.1 Função de autocorrelação para preço de fechamento de petr4 .............................. 51

6.2 Série temporal utilizada exemplo Kalman......................................................... 52

6.3 Separação dados modelamento e validação exemplo petr4 ................................... 52

6.4 Valores previstos pelo modelo 1 passo a frente e valores observados ....................... 53

6.5 Gráfico dispersão resíduo x valores absolutos dos dados de validação...................... 53

6.6 Divisão da série temporal disponível e seus usos ................................................ 54

6.7 Estimado e observado periodo de validação....................................................... 55

6.8 Esquema simulações com utilização do filtro de Kalman realizadas ........................ 56

6.9 Preço previsto e observado periodo de validação petr4 (com atualização do modelo) 56

6.10 Preço previsto e observado periodo de validação petr4 (sem atualização do modelo). 57

6.11 Capital acumulado diferentes estratégias petr4 ................................................. 57

6.12 Estimado e observado periodo de validação vale5 .............................................. 58

6.13 Capital acumulado diferentes estratégias vale5.................................................. 58

6.14 Preço previsto e observado periodo de validação bbdc4 ...................................... 59

6.15 Capital acumulado diferentes estratégias bbdc4 ................................................ 59

LISTA DE TABELAS

4.1 Resultados parâmetros estratégia proposta vale5............................................... 21

4.2 Resultados parâmetros estratégia proposta bbdc4 ............................................. 22

4.3 Resultados parâmetros estratégia proposta tnlp4 .............................................. 23

4.4 Resultados parâmetros estratégia proposta lame4 ............................................. 23

4.5 Resultados parâmetros estratégia proposta netc4 .............................................. 24

4.6 Validação 140 dias tnlp4 .............................................................................. 25

4.7 Validação 140 dias netc4 .............................................................................. 26

4.8 Quadro resumo validação ativos (28 semanas) ................................................... 27

4.9 Análise dos coeficientes de correlação dos ativos utilizados no teste........................ 27

6.1 Resultados simulações no modelo ARMA aplicando o filtro de Kalman como estimador 59

vii

LISTA DE SÍMBOLOS

Símbolos

E Função esperança

µ Média da amostra

σ Desvio padrão

γ(t, s) Função autocovariância (p. 6)

ρk Função autocorrelação (p. 34)

Pk Preço de fechamento do ativo no período k

Rk Variação percentual diária do preço de fechamento do ativo no período k

Yt Série temporal genérica

X ∼ N(µ, σ2) Variavél aleatória X possui distribuição normal com média µ e variância σ2

xk Vetor das variavéis de estado do modelo da p.47

wk Vetor de ruído branco de estado

zk Vetor de saída do modelo

vk Vetor de ruídos de saída

xk|k−1 Estimativa a priori das variavéis de estado xk

xk|k−1 Estimativa a posteriori das variavéis de estado xk

Σk|k−1 Matriz de covariância do erro de estimativa a priori

Σk|k−1 Matriz de covariância do erro de estimativa a posteriori

K Matriz de ganho de Kalman

Ativos financeiros

petr4 Ação preferencial empresa Petrobras

vale5 Ação preferencial especial empresa Vale

vale3 Ação ordinárias empresa Vale

csna3 Ação ordinárias empresa Siderurgica Nacional

netc4 Ação preferencial empresa Net

bbdc4 Ação preferencial Banco Bradesco

itau4 Ação preferencial Banco Itau

tnlp4 Ação preferencial empresa Oi

lame4 Ação preferencial empresa Lojas Americanas

ix

Siglas

ACF Função de autocorrelação (autocorrelation function)

AR Processo auto-regressivo (autoregressive)

FACP Função de autocorrelação parcial (partial autocorrelation function)

ARMA Processo média móvel auto-regressivo (Autoregressive moving average)

QQ quantiles quantiles

Capítulo 1

Introdução

O estudo da dinâmica do mercado financeiro representa hoje um dos maiores desafios rela-

cionado à economia de mercado. A completa previsibilidade do seu comportamento não é algo

possível, já este mercado é movido por opiniões, elementos políticos, realidades sociais, etc. No

entanto, a existência de um modelo para o mesmo pode ser de grande interesse econômico, mesmo

que este modelo apresente baixo nível de acerto em sua predição. Isto acontece já que baixos ní-

veis de acerto em processos de elevada volatilidade podem gerar resultados maiores do que àqueles

fornecidos em aplicações conservadoras.

As informações dos ativos negociados em bolsas de valores podem ser tratadas como séries

temporais. Estas séries são, por definição, conjuntos de dados coletados seqüencialmente ao longo

do tempo. O objetivo típico ao se estudar uma série temporal é entendê-la estatisticamente através

de um modelo estocástico bem definido, assim como realizar previsões de valores futuros com base

numa série histórica passada. Os campos de atuação são vastos, podendo ser citado, além do

mercado financeiro, a meteorologia, a administração e finanças como áreas que freqüentemente se

utilizam desta metodologia de análise [2].

Em sistemas complexos é comum a abordagem através do modelamento matemático na busca

por análises e características do sistema. Em sistemas cuja incerteza está presente, a análise por

modelos estocásticos apresenta melhores resultados. O desenvolvimento de técnicas de estimação

na teoria de controle para modelos no espaço de estados pode ser utilizado numa ampla gama de

sistemas, oferecendo características e padrões de sistemas até então desconhecidos pela análise não

formal.

Neste trabalho, serão abordadas análises gráficas, estatísticas e a utilização do filtro de Kalman

para a criação de um estimador do comportamento das ações em bolsa de valores.

No capítulo 2 serão apresentados conceitos básicos relacionados às séries temporais, assim como

ferramentas disponíveis para sua análise.

No capítulo 3 serão apresentadas formas de captação das séries dos ativos financeiros que serão

aqui estudados.

No capítulo 4 será apresentada uma proposta de sistema de negociação automatizado (trading

system).

1

No capítulo 5 serão abordados assuntos pertinentes à modelagem de tendências em séries tem-

porais.

No capítulo 6 é feita uma aplicação do filtro de Kalman em um modelo de séries temporais

descrito no capítulo 5.

Por fim, no capítulo 7 são apresentadas conclusões obtidas através do desenvolvimento deste

trabalho.

2

Capítulo 2

Séries temporais

Nesta seção são apresentadas algumas ferramentas disponíveis para análise de uma determinada

série temporal. Está dividida nas subseções:

• Ferramentas de análise gráfica

• Ferramentas de análise estatística

2.1 Ferramentas de análise gráfica

Nesta seção, apresentaremos brevemente as formas de análise visuais mais utilizadas para séries

temporais, fazendo para tanto o uso de séries financeiras reais. As análises visuais são utilizadas

muitas vezes na identificação de tendências. Este procedimento deve ser feito, no entanto, com

cautela, e o indicador deve ser tomado como não plenamente confiável, já que muitas vezes a análise

pode se mostrar errada. Para exemplificar tal afirmação, as figuras 2.1, 2.2, 2.3 mostram três

simulações de passeio aleatório em que as aparências da tendência dominante são completamente

diferentes. No entanto, todos as três séries temporais foram geradas com os mesmos parâmetros

estatísticos de passeio aleatório, cuja média é zero e variância conhecida e igual nas três simulações.

O modelo de passeio aleatório é descrito na subseção 2.2.6.

2.1.1 Gráfico simples

Esta ferramenta apresenta uma visão geral da série temporal e seu desenvolvimento ao longo do

tempo, além de facilitar a escolha de quais ferramentas para análise utilizar. A figura 2.4 mostra

a série temporal para os preços da ação da Petrobras de dezembro de 2003 a dezembro de 2008.

2.1.2 Gráfico de dispersão

O gráfico de dispersão coleta dados de duas séries temporais para investigar relações de causa

e efeito entre duas variáveis. Além disso, permite a visualização de possíveis relações de correlação

entre duas variáveis discretas.

3

0 10 20 30 40 50 60 70 80 90 100−0.2

−0.1

0

0.1

0.2

0.3

0.4

0.5

0.6Random walk 100 unidades de tempo sigma=0.03

Tempo

Pre

ço

figura 2.1: Passeio aleatório (random walk) tendência de alta

0 10 20 30 40 50 60 70 80 90 100−0.7

−0.6

−0.5

−0.4

−0.3

−0.2

−0.1

0Random walk 100 unidades de tempo sigma=0.03

Tempo

Pre

ço

figura 2.2: Passeio aleatório (random walk) tendência de baixa

Um exemplo de gráfico de dispersão está mostrado na figura 2.5. Neste gráfico, um de seus eixos

corresponde à série diária de variação percentual dos preços com o atraso de um período, enquanto

no outro é apresentada a mesma série sem atraso. Este gráfico pode nos fornecer visualmente

uma relação de qual variação é mais provável para o dia seguinte dado que conhecemos a última

variação com base na freqüência relativa com que esses eventos acontecem no histórico da série.

2.2 Conceitos estatísticos aplicados a séries temporais

Nesta seção, é feita uma revisão de alguns conceitos estatísticos básicos que serão utilizados ao

longo do trabalho.

2.2.1 Processos estocásticos

Um processo é dito estocástico quando ele é composto por um conjunto de variáveis que apa-

recem aleatoriamente [2].

4

0 200 400 600 800 1000 1200 14000.4

0.6

0.8

1

1.2

1.4

1.6

1.8Random walk 100 unidades de tempo sigma=0.03

Tempo

Pre

ço

figura 2.3: Passeio aleatório (random walk) tendência neutra

0 200 400 600 800 1000 12005

10

15

20

25

30

35

40

45

50

55Gráfico da série temporal ativo Petrobras (petr4)

Tempo(dias uteis) desde 2003

Pre

ço

figura 2.4: Gráfico simples Petrobras

2.2.2 Função média

A função média µ é definida conforme equação 2.1 [2].

µ = E (Y ) (2.1)

Onde:

Y: Representa uma variavél aleatória,

E: Representa a função valor esperado.

No Matlab, o cálculo para uma série temporal pode ser implementado através do comando mos-

trado:

media = mean(serie_temporal)

Onde:

media: variável que armazenará o valor da média serie_temporal: variável na forma de matriz no

ambiente Matlab que contém a série temporal.

2.2.3 Função autocovariância

A função autocovariância é definida conforme equação 2.2 [2]:

5

−15 −10 −5 0 5 10 15−15

−10

−5

0

5

10

15Gráfico dispersão Scatteplot variação percentual petr4 no dia k versus variação percentual no dia k−1

Variação percentual dia (k−1)

Var

iaçã

o pe

rcen

tual

dia

k

figura 2.5: Gráfico de dispersão

γ(t, s) = Cov(Y t, Y s) = E[(Y t − µt)(Y s − µs)] (2.2)

Onde Yt e Ys são duas variáveis aleatórias. O caso em que Yt e Ys são iguais é conhecido como

variância.

No Matlab este cálculo pode ser implementado através do comando:

cov(serie_temporal)

2.2.4 Correlação

A função correlação é definida conforme equação 2.3 [2].

Corr(Y t, Y s) =Cov(Y t, Y s)

V ar(Y t)V ar(Y s)(2.3)

A função correlação gera um valor entre -1 e 1. Tanto uma correlação de +1 quanto de -1

significa uma forte dependência linear entre as séries. Por sua vez, uma correlação próxima a zero

mostra que as duas séries são incorrelatas e possuem uma fraca dependência linear.

No MATLAB, este cálculo pode ser implementado através do comando

Correlação(x,y) = corrcoef(serie_x,serie_y)

6

2.2.5 Propriedades da variância

Algumas propriedades importantes com demonstrações disponívéis em [2] são mostradas a

seguir nas equações: 2.4, 2.5, 2.6, 2.7.

V ar(X) ≥ 0 (2.4)

V ar(a + bX) = b2V ar(X) (2.5)

V ar(X + Y ) = V ar(X) + V ar(Y ) + 2Cov(X, Y ) (2.6)

V ar(X) = E(X2) − [E(X)]2 (2.7)

2.2.6 Passeio aleatório (random walk)

Seja e1, e2, seqüência de elementos independentes e igualmente distribuídos de uma variável

aleatória de média zero e variância conhecida. Podemos construir a seguinte série denominada de

série passeio aleatório Y muito utilizada para modelagem de ativos financeiros. [2] :

Y1 = e1

Y2 = e1 + e2

Yt = e1 + e2 + ... + et (2.8)

(2.9)

Ou de uma maneira recursiva conforme 2.10:

Yt = Yt−1 + et (2.10)

2.2.7 Estacionaridade

Uma variável aleatória é dita estacionária quando sua distribuição de probabilidade, média e

variância não se alteram ao longo do tempo. Para fazermos deduções estatísticas e predições essa

é uma propriedade importante que garante que as leis básicas que governam o comportamento do

processo não variam ao longo do tempo. Uma condição mais fraca representada matematicamente,

também chamada de estacionaridade de segunda ordem, é que a função de autocorrelação não

dependa do tempo absoluto, apenas dos atrasos [2]. Além disso o valor esperado da série é constante

ao longo do tempo.

µ =constante ao longo do tempo e:

γ(t, t − k) = γ(0, k) (2.11)

7

Capítulo 3

Captação das séries temporais

Conforme foi dito anteriormente, este trabalho realizou o estudo de séries temporais com apli-

cação em ativos negociados em bolsas de valores. Para tanto, a captação destas séries deve ser

entendida como etapa fundamental deste estudo, e assim, não somente uma fonte de captação des-

tes dados será considerada previamente. As várias fontes de séries temporais financeiras analisadas

estão enumeradas abaixo:

1. Bovespa [3] é a fonte primária de todas as séries no tempo do mercado bursátil brasileiro.

Ela disponibiliza informações de todos os ativos negociados na Bovespa desde 1986 e possui a

vantagem da disponibilização das séries de todos os ativos negociados em bolsa nesse periodo

de diferentes mercados: a vista, fracionário e a termo. Para o presente trabalho apenas o

mercado a vista (padrão) é de interesse de estudo. Os dados estão em valores absolutos e

não existe nenhum tratamento para eventos que interferem nos preços tais como dividendos

e influência da inflação. No caso da inflação, há de se considerar que as séries mais antigas

são caracterizadas por terem passado por um processo inflacionário forte.

2. Apligraf [4]: Empresa que comercializa as informações processadas da fonte primária Bovespa.

Os dados são apresentados corrigidos de eventuais rendas distribuidas aos acionistas ao longo

do periodo.

3. Analista de Mercado [5]: fonte de captação na qual os dados são apresentados na formatação para

o uso do software MetastockTM [6]. Assim, caso se deseje utilizar estes dados em outros programas

como o MATLAB é necessária a utilização de programas conversores dos formatos destes arquivos.

Leandro Stormer [7]: fonte de captação na qual os dados também são apresentados na formatação

para o uso do software MetastockTM . Assim como a fonte acima, também é necessária a utilização

de programas que convertam estes arquivos para outros formatos de arquivos, caso se deseje utilizá-

los em outros programas.

Yahoo finance [8]: fonte que apresenta grande facilidade de disponibilização para aplicações no

MATLAB. Os dados são carregados com simplicidade para o MATLAB e a base de dados é acessada

por scripts. Sua limitação é que apenas informações de ações brasileiras negociadas na NYSE em

Nova Iorque são disponibilizadas.

9

Dentre as fontes de captação apresentadas, as que foram escolhidas para utilização neste traba-

lho visando os objetivos aqui apresentados foram as fontes Apligraf e Yahoo Finance. Estas serão

detalhadas nos próximos tópicos.

3.1 Série histórica Apligraf para o MATLAB

Uma forma de se obter a série histórica com os dados de negociação de um determinado ativo

no mercado de capitais é através dos dados fornecidos pela empresa Apligraf. Esta tem parceria

com a maioria das corretoras que negociam na Bovespa. Acessando esta base de dados através

da corretora Ativa [9], conforme figura 3.1, foram obtidas as séries temporais dos ativos para uso

neste trabalho.

figura 3.1: Exemplo de corretora com acesso a base Apligraf

O acesso aos dados se dá quando a pessoa cadastrada em uma corretora que se utiliza desta fonte

acessa a ferramenta de negociação, que é chamada de ’Home Broker’. O "Home Broker"mostrado

na figura 3.1.

figura 3.2: Exemplo de plataforma home broker

O ’Home Broker’ mostrado na figura 3.2. é um exemplo de plataforma disponibilizada pelas

corretoras em que as ordens de compra ou venda de ativos são enviadas diretamente pelo cliente

via internet, isto é, sem a intermediação de um corretor. Tal sistema permite agilidade à grande

massa do mercado, permitindo ainda que as ordens cheguem na Bovespa em segundos. Uma das

ferramentas disponibilizadas nesta plataforma é o gráfico Apligraf. Ao se abrir uma nova janela

para o gráfico, é pedido o código do ativo e em seguida é apresentado seu gráfico correspondente.

10

Nessa mesma janela na margem inferior é apresentada a opção "importar .xls", conforme figura

3.3.

figura 3.3: Gráfico Apligraf

Ao clicar nesta opção, a série será disponibilizada em um arquivo, com os seguintes dados de

negociação dos últimos cinco anos:

1. Código do papel

2. Datas

3. Preço de abertura do ativo

4. Preço máximo negociado no dia

5. Preço mínimo negociado no dia

6. Preço do ultimo negócio no dia

7. Volume financeiro do ativo negociado no dia

8. Numero de negócios realizados no dia

11

Utilizando o programa Microsoft Excel, é possível abrir o arquivo e salvá-lo como texto separado

por tabulações. Este é um formato reconhecível pelo MATLAB e pela maioria das linguagens de

programação para interpretação de uma tabela de valores. Dessa forma, temos uma maneira rápida

de gerar uma base de dados de um ativo negociado na Bovespa. No MATLAB, podemos importar

esses dados com comandos já existentes em sua biblioteca. O comando para importação de séries

temporais em formato texto separado por tabulações é o comando "load".

3.2 Usando o FTS tool para importar dados

O FTS é uma ferramenta com interface gráfica do MATLAB desenvolvida para a criação e

manuseio de séries financeiras no tempo. A figura 3.4 mostra a interface gráfica do FTS tool. Com

alguns comandos, é possível obter os dados relativos a vários anos de um determinado ativo. Estes

dados podem ser captados, por exemplo, da fonte Yahoo Finance. Assim, é importante lembrar

que os papéis brasileiros disponíveis no Yahoo Finance são apenas recibos de ações brasileiras

(ADRs) na bolsa de Nova York (NYSE), fato que limita a utilização desta fonte. Os comandos

para importação das séries temporais estão disponíveis no anexo I.

figura 3.4: Interface gráfica FTS tool

12

Capítulo 4

Proposta de um sistema de negociação

de ativos financeiros

Existem verdadeiras enciclopédias [10] descrevendo sistemas técnicos de tomada de decisões.

Um problema recorrente é que ao se popularizar esses indicadores, os seus resultados se tornam

cada vez menores até que se chega a um ponto que o seu uso não é capaz de superar o desempenho

do mercado [11]. Assim, novas formas de análise de um sistema de negociação de ativos financeiros

devem ser desenvolvidas para alcançar resultados acima do mercado.

Para a construção de um sistema de negociação de ativos financeiros são necessários basicamente

três elementos: ativo objeto de estudo, análise das informações dos ativos e operalização da análise.

A figura 4.1 resume o esquema básico para um sistema de negociação de um ativo financeiro.

Neste sistema, o bloco "carteira de interesse"representa aqueles ativos financeiros que um de-

terminado investidor tem acesso e possível interesse de negociação. Por sua vez, o sistema de

tomada de decisão é aquele que decidirá pela compra, venda ou permanência do estado do ativo.

Visando a automatização deste processo, são utilizados algoritmos para implementá-lo. Já o admi-

nistrador de sistema é o agente responsável pela interface do sistema do investidor com o sistema

de negociação em bolsa.

O sistema de negociação de ativos financeiros aqui proposto apresenta um nível intermediário

de automação, já que apenas parte do processo será realizado de forma computadorizada sem

a intervenção do homem. Em sistemas de negociação com menor automação, o administrador

também realiza o processo de análise. Por sua vez, em sistemas mais automatizados, chamados de

robôs negociadores, o envio de ordem é feito sem a intervenção humana, diretamente a partir da

tomada de decisão [12]. Vale lembrar que a escolha pela automação do envio de ordens ao sistema

de negociações em bolsa é determinante em casos nos quais a janela de oportunidade observada

acontece de maneira muito rápida. Um exemplo de janela de oportunidade que tende a se fechar

rapidamente é aquela na qual o mesmo ativo é negociado em diferentes bolsas de valores a preços

diferentes. Se o sistema já levou em conta o custo de operação envolvido na compra de um ativo em

determinado mercado e venda em outro, o tempo de envio da ordem é determinante para o sucesso

da operação, já que é razoável supor que outros operadores estarão interessados nessa operação de

baixo risco [1]. Além disso, neste tipo de sistema de negociação o problema da segurança da rede

13

a invasões não pode ser desprezado.

No sistema de negociação desenvolvido nesse capítulo o envio de ordens a bolsa de valores

não foi automatizado. O enfoque desejado está na construção do bloco de tomada de decisões

automatizado. Além disso, no modelo proposto, a carteira de interesse foi representada por ativos

de elevado nível de negociação na bolsa brasileira.

figura 4.1: Esquemático sistema de negocição de ativos

4.1 Metodologia de desenvolvimento de um sistema de tomada de

decisão

O modelo proposto para o desenvolvimento de um sistema de tomada de decisão é mostrado na

figura 4.2. Ele foi obtido a partir da observação de todas as etapas necessárias para a criação deste

processo automatizado: entrada de parâmetros, considerações sobre a série temporal utilizada,

etc. descrito em [1] e foi esquematizado conforme mostrado em 4.2. Nas seções subseqüentes

serão descritas mais detalhadamente as considerações relevantes para a criação do sistema final de

tomada de decisão.

14

figura 4.2: Esquematização do modelo para desenvolvimento sistema de tomada de decisão de [1]

4.1.1 Descrição do sistema proposto

4.1.1.1 Política de tomada de decisões

No entendimento da política de tomada de decisões é fundamental situar primeiramente dois

parâmetros temporais sempre presentes nesta análise: curto prazo e longo prazo. No presente

estudo, os últimos 20 dias de negociação de um determinado ativo na bolsa de valores serão con-

siderados representantes do curto prazo, enquanto que os últimos 300 dias de operação anteriores

ao período que está sendo analisado serão considerados representantes do comportamento de longo

prazo. Assim, por hipótese, levantou-se a possibilidade de que as informações de curto prazo

relacionadas a ativos da bolsa de valores, quando confrontadas com informações de longo prazo,

podem gerar indicadores capazes de dizer se algum posicionamento em determinado mercado é

vantajoso ou não. Este fato motivou o desenvolvimento da proposta que será mostrada ao longo

deste capítulo. Considere um sistema para tomada de decisão com as características mostradas na

figura 4.3.

Onde, na figura 4.3, a posição sobre o eixo é determinada pela média geométrica de curto prazo

figura 4.3: Lógica de decisão

da ação µc. A média geométrica dos dados de curto prazo é tomada como a média geométrica

curta utilizada na análise. A razão de se utilizar médias geométricas como medida de posição

15

central decorre da escolha de trabalhar com séries de variação percentual, conforme detalhamento

que será apresentado na seção 4.1.2. De forma análoga, a média geométrica dos dados de longo

prazo é considerada a média geométrica longa do sistema. E ainda, µL representa a média geo-

métrica de longo prazo, σLrepresenta o desvio padrão de longo prazo para a variação diário , FC

representa o fator de compra, FZ1 o fator de zeramento 1, FZ2 o fator de zeramento 2 e FV o fator

de venda. Estes parâmetros do sistema determinam o efeito de σL nas faixas de decisão do sistema.

A região dita subvalorizada neste sistema tem como conseqüência a geração de um sinal de

compra. Isto acontece se a média geométrica de curto prazo é inferior a µL − FCσL. Por sua

vez, a região denominada "carregamento compra"tem como conseqüência a geração de um sinal

de compra se a decisão anterior tiver sido de compra e se houver sinal neutro em todos os demais

casos. Isto acontece se a média geométrica de curto prazo é superior a µL − FCσL, mas inferior

a µL − FZ1σL. A região neutra tem como conseqüência a geração de um sinal de zeramento de

posições. Isto acontece se a média geométrica de curto prazo é superior a µL − FZ1σL , mas

inferior a µL + FZ2σL. E ainda, a região "carregamento venda"tem como conseqüência a geração

de um sinal de venda se a decisão anterior tiver sido de venda e se houver sinal neutro em todos

os demais casos. Isto acontece se a média geométrica de curto prazo é superior a µL + FZ2σL ,

mas inferior a µL + FV σL. Por fim, a região supervalorizada tem como conseqüência a geração de

um sinal de venda, quando a média geométrica de curto prazo é superior a µL + FV σL.

4.1.1.2 Parâmetros de simulação

Como entradas do sistema de tomada de decisões, há os parâmetros do simulador, além da

própria série temporal do ativo considerado. O intervalo de simulação escolhido para a análise dos

parâmetros FC, FZ1, FZ2 e FV foram aqueles que respeitam as condições 4.1 e 4.2, mostradas

abaixo. Esses parâmetros foram incrementados a partir de 0 em 0.05 enquanto essas condições

foram atendidas, o que representa uma resolução de 0.05 para os parâmetros.

0 ≤ FC ≤ FZ1 ≤ 2 (4.1)

0 ≤ FZ2 ≤ FV ≤ 2 (4.2)

O programa criado para a implementação dessa escolha de parâmetros foi desenvolvido no

MATLAB. A quantidade de períodos para simulação foi de 800 dias e para validação deste sistema

de tomada de decisão 140 dias. Nesta simulação, a análise dos resultados obtidos era feita a cada

5 dias, havendo, portanto, reavaliação do cenário para a tomada de decisões a cada semana. No

período de 5 dias entre cada reavaliação, a última decisão do sistema era mantida.

4.1.2 Séries temporais carteira de interesse

Para representar a carteira de interesse na simulação do modelo proposto para o sistema de

negociação de ativos financeiros foram escolhidos aleatoriamente alguns dos ativos mais negociados

na bolsa brasileira, sendo estes: vale5, bbdc4, tnlp4, lame4 e netc4. A série temporal utilizada

16

foi o preço de fechamento dos ativos em bolsa. O preço de fechamento é uma referência importante,

pois é normalmente a cotação fechada com maior volume financeiro do dia.

Na utilização dos dados de interesse da carteira é necessário separar a série histórica em dois

segmentos, conforme o modelo mostrado na figura 4.10 prevê. Essa separação é feita em 2 catego-

rias: dados para modelagem e os dados separados para a validação, conforme esquema da figura

4.4. Os dados representantes da série temporal de cada ativo para a modelagem foram obtidos a

figura 4.4: Divisão dados históricos

partir de simulações tendo como base os últimos 800 dias antecedentes a 30 de dezembro de 2008.

Vale lembrar, no entanto, que o longo prazo considerado na presente análise equivale aos últimos

300 dias de operação anteriores ao período que está sendo analisado. Assim, para a obtenção das

séries temporais a serem utilizadas neste modelamento foram necessários os preços de fechamento

dos últimos 1100 dias úteis anteriores a 30 de dezembro de 2008. A figura 4.5 mostra um exemplo

de série temporal utilizada no modelo proposto.

Por sua vez, a simulação utilizada na parte de validação do sistema final, que avaliou o seu

comportamento em 140 dias (28 semanas), utilizou os dados indicados no intervalo "simulação

efetiva"da figura 4.6, que também considerou os 300 preços de fechamento anteriores a 30 de

dezembro de 2008.

0 100 200 300 400 500 600 700 800 900 1000 11000

10

20

30

40

50

60Gráfico serie temporal de preços de vale5 modelagem

Tempo(dias uteis) com último dia 28/12/2008

Pre

ço

figura 4.5: Série temporal vale5 modelagem

Para maior adequação dos dados da série ao sistema proposto, essa série temporal de preços de

fechamento foi transformada antes da sua aplicação na série de variação percentual diária. Como

ilustração, considere a série temporal de preços de fechamento do ativo negociado pelo código

17

0 50 100 150 200 250 300 350 400 45020

25

30

35

40

45

50

55

60Gráfico serie temporal de preços de vale5 validação

Tempo(dias uteis) com inicio 300 dias anteriores a 28/12/2008

Pre

ço

Simulação efetiva

figura 4.6: Série temporal vale5 validação

vale5 no período entre 02/01/2004 e 28/12/2008, mostrada na figura 4.7.

0 200 400 600 800 1000 12000

10

20

30

40

50

60Gráfico serie temporal de preços de vale5

Tempo(dias uteis) de 02/01/2004 a 28/12/2008

Pre

ço

figura 4.7: Série temporal financeira a ser analisada nesse exemplo

Sendo Pk o preço de fechamento do dia k, é possível definir a função variação percentual diária

(Rk) conforme a equação (4.3) ou definirmos Pk em função de Rk pela relação (4.4).

Rk =Pk − P(k−1)

P(k−1)100% (4.3)

Pk = P(k−1)(1 +Rk

100) (4.4)

Aplicando (4.3) no exemplo da série de preço de fechamento (Pk) do ativo vale5 de 02/01/2004

a 28/12/2008 apresentado na figura 4.7 , é apresentado o gráfico de variação percentual da série

(Rk) na figura 4.8.

Considerando as informações do gráfico apresentado na figura 4.8 para os primeiros 300 dias

da série anteriormente apresentada, é obtido o gráfico 4.9. Nela fica evidenciada a necessidade dos

últimos 300 dias para cálculo das informações de longo prazo.

18

0 200 400 600 800 1000 1200−20

−15

−10

−5

0

5

10

15Gráfico variação percentual diaria dos preços de vale5

Tempo(dias uteis) de 03/01/2004 a 28/12/2008

varia

ção

perc

entu

al d

iária

figura 4.8: Variação percentual diária vale5

20 40 60 80 100 120 140 160 180 200−8

−6

−4

−2

0

2

4

6

8Gráfico variação percentual diária dos preços de vale5 para os 300 primeiros a partir de 03/01/2004

Tempo(dias uteis) a partir de 03/01/2004

Var

iaçã

o pe

rcen

tual

diá

ria

Dados curto prazo (últimos 20 periodos)

Dados longo prazo(últimos 300 periodos)

figura 4.9: Definição dos dados necessários para o sistema

4.1.3 Filtragem dos resultados

A obtenção dos parâmetros do simulador foi possível a partir de simulações feitas utilizando as

séries temporais da carteira de interesses. Devido ao grande número de combinações possíveis entre

os parâmetros FC, FZ1, FZ2 e FV o resultado das simulações destas diferentes combinações foi

filtrado em três etapas. A primeira etapa consistiu na separação dos resultados que apresentaram

um retorno médio por operação superior a 0.2 % dos demais resultados. Os resultados que apresen-

taram este retorno médio foram promovidos para outra fase de seleção. Além disso, combinações

de parâmetros que geraram menos que 20 sinais de compra no período simulado foram eliminados.

Esta decisão foi tomada, pois se considerou que menos do que 20 sinais de compra em 800 dias

(160 semanas) de simulação possuem pouca significância estatística para a análise desejada.

A segunda etapa da filtragem consistiu na escolha de um conjunto de parâmetros para cada

número de operações. Esta escolha foi feita a partir do maior elemento resultante da ordenação

dessas seqüências de parâmetros obtidos de acordo com os seguintes critérios: maior rentabilidade

por operação e maior razão retorno por operação por desvio padrão dos retornos por operação.

Em caso de empate desses critérios, foram priorizados os maiores parâmetros.

Por fim, a terceira etapa consistiu na eliminação daqueles conjuntos de parâmetros que apre-

19

sentassem redução na rentabilidade média por operação concomitantemente a redução no número

de operações.

Com base no que foi apresentado até o momento, é possível realizar maior detalhamento do

sistema de tomada de decisão proposto nesse trabalho, conforme esquema apresentado na figura

4.10.

figura 4.10: Proposta de modelo para desenvolvido para sistema de tomada de decisão

4.2 Resultados da simulação

Primeiramente serão definidos alguns parãmetros de saída da simulação e posteriormente apre-

sentado os resultados da simulação propriamente dita.

4.2.1 Parâmetros de saída da simulação

Sendo Pcompra o preço em que o ativo foi comprado, Pvenda o preço em que o ativo foi vendido em

uma dada operação, considere a relação (4.5) para o calculo da rentabilidade (retorno) percentual

20

por operação ki, desconsiderando-se qualquer custo de negociação dos ativos. [13]

ki =Pvenda − Pcompra

Pcompra(4.5)

O retorno médio percentual kmedio para um número n de operações no período cuja rentabilidade

acumulada é kacumulado é definido pela relação (4.6) [13].

kmedio = n√

1 + kacumulado − 1 (4.6)

4.2.2 Simulação e resultados

A partir da utilização do método proposto para a determinação dos parâmetros FC, FZ1, FZ2

e FV de um sistema de tomada de decisões, foram realizadas as simulações deste sistema para

5 ativos: Vale (vale5), Bradesco (bbdc4), Telemar (tnlp4), Lojas Americanas (lame4) e Net

(netc4). Os resultados fornecidos pelo programa computacional desenvolvido neste estudo estão

mostrados nas tabelas 4.1, 4.2, 4.3, 4.4 e 4.5. É importante ressaltar que o objetivo da filtragem

estabelecida na seção 4.1.3 não foi determinar um único conjunto de parâmetros, já que esta escolha

deverá ser feita pelo operador da ação a depender de seu nivel de risco. Se este for um cliente

conservador, por exemplo, será mais interessante optar por um menor número de operações, mesmo

que seu retorno total seja menor do que àquele que optou por operações mais freqüentes. Note que,

dentre os resultados, são apresentados os números de operações (compra ou venda) sinalizados pelo

programa, o retorno total obtido nos anos simulados, a rentabilidade média das operações oriunda

da estratégia adotada, além das rentabilidades médias e totais do ativo para estrátegia de comprar

e segurar. Estes dois últimos parâmetros consistem nos valores de rentabilidade fornecidos pelo

mercado para aqueles que mantiveram ao longo dos anos analisados a ação comprada.

Tabela 4.1: Resultados parâmetros estratégia proposta vale5

Operações FC FZ1 FV FZ2 retorno total rentabilidade média

54 0.45 0.00 0.20 0.00 76.34% 1.06%

38 0.45 0.00 0.30 0.00 51.39% 1.10%

37 0.45 0.00 0.20 0.20 61.89% 1.31%

26 0.45 0.00 0.30 0.20 62.00% 1.87%

19 0.45 0.00 0.40 0.00 49.43% 2.14%

18 0.45 0.00 0.40 0.20 61.64% 2.70%

17 0.45 0.00 0.40 0.30 58.02% 2.73%

16 0.45 0.00 0.40 0.40 70.63% 3.40%

13 0.45 0.00 3.00 3.00 93.85% 5.22%

9 0.45 0.10 3.00 3.00 62.91% 5.57%

6 0.50 0.10 3.00 3.00 44.01% 6.27%

rentabilidade média referência 0.20%

rentabilidade total referência 37.78%

21

Tabela 4.2: Resultados parâmetros estratégia proposta bbdc4

Operações FC FZ1 FV FZ2 retorno total rentabilidade média

36 0.40 0.10 0.20 0.10 47.12% 1.08%

34 0.40 0.20 0.20 0.10 47.03% 1.14%

32 0.40 0.10 0.20 0.20 49.17% 1.26%

30 0.40 0.20 0.20 0.20 49.08% 1.34%

27 0.40 0.10 0.30 0.00 63.83% 1.85%

25 0.40 0.20 0.30 0.00 63.74% 1.99%

21 0.40 0.10 0.30 0.10 71.66% 2.61%

19 0.40 0.10 0.30 0.30 83.53% 3.25%

17 0.40 0.20 0.30 0.30 83.43% 3.63%

13 0.50 0.10 0.30 0.30 71.04% 4.21%

10 0.60 0.20 0.30 0.10 60.52% 4.85%

9 0.50 0.10 3.00 3.00 54.79% 4.97%

8 0.60 0.20 0.30 0.30 71.61% 6.98%

rentabilidade media referencia 0.32%

rentabilidade total referência 65.92%

4.3 Resultados da validação do modelo

Os resultados obtidos na seção 4.2 não são suficientes para validar o modelo proposto. Isso

porque estamos tratando um grande grupo de rentabilidades possíveis, sendo esperadas renta-

bilidades acima e abaixo da média do ativo. E ainda, no caso houve uma seleção de parâmetros

pós-simulação, sendo estes os melhores dentre aqueles obtidos. Considerar somente os melhores pa-

râmetros não fornecerá nenhuma garantia de que seu funcionamento continuará sendo o melhor em

outros cenários. Assim, nesta seção os parâmetros do simulador foram escolhidos previamente com

base em um dos parâmetros obtidos na seção 4.2 e então somente posteriormente seus resultados

foram analisados.

Para validação do modelo desenvolvido foi escolhida uma combinação dos parâmetros FC,

FZ1, FZ2 e FV e em seguida foi detalhado o seu comportamento em 140 dias (28 semanas) de

operação. Foram então calculadas as médias de curto e longo prazo da ação, para em seguida obter

a sinalização fornecida pelo modelo (compra ou venda). A verificação da validade da sinalização

pode ser feita a partir da conferência dos dados das regiões definidas no modelo. Como parâmetros

desta validação há ainda a rentabilidade da série analisada e a rentabilidade acumulada.

Observe que a rentabilidade acumulada possui valor inicial igual a 1 (100% do valor investido

inicialmente). A partir deste valor são tomadas as ações sinalizadas pelo modelo e este valor inicial

pode ser aumentado, diminuído ou mantido dependendo do tipo de ação adotada. Por exemplo, se

o modelo sinalizar um estado neutro (0), o valor da rentabilidade será mantido o mesmo. Por sua

vez, quando o modelo sinalizar um sinal de compra (1) o valor da rentabilidade acumulada será

aumentado no percentual correspondente à rentabilidade da série naquele momento. Já quando for

sinalizado um sinal de venda (-1), o valor da rentabilidade acumulada será diminuído no percentual

22

Tabela 4.3: Resultados parâmetros estratégia proposta tnlp4

Operações FC FZ1 FV FZ2 retorno total rentabilidade média

59 0.20 0.00 0.30 0.30 68.41% 0.89%

37 0.25 0.00 0.30 0.30 57.96% 1.24%

33 0.30 0.05 0.30 0.30 50.58% 1.25%

24 0.30 0.25 0.30 0.30 42.19% 1.48%

23 0.30 0.30 0.30 0.30 42.03% 1.54%

22 0.35 0.25 0.30 0.30 40.75% 1.57%

21 0.35 0.35 0.30 0.30 40.59% 1.64%

13 1.20 1.20 0.30 0.30 30.07% 2.04%

10 0.35 0.35 0.50 0.10 22.76% 2.07%

rentabilidade media referencia 0.17%

rentabilidade total referência 30.74%

Tabela 4.4: Resultados parâmetros estratégia proposta lame4

Operações FC FZ1 FV FZ2 retorno total rentabilidade média

45 0.40 0.00 0.20 0.10 96.42% 1.51%

31 0.45 0.00 0.20 0.20 60.32% 1.53%

30 0.45 0.45 0.20 0.10 63.20% 1.65%

28 0.55 0.15 0.20 0.10 64.37% 1.79%

19 0.40 0.00 3.00 3.00 56.12% 2.37%

10 0.45 0.00 3.00 3.00 43.04% 3.64%

rentabilidade media referencia 0.27%

rentabilidade total referência 53.99%

correspondente à rentabilidade da série naquele momento.

Os resultados obtidos nesta validação podem ser visto passo a passo nas tabelas 4.6 e 4.7. A

primeira tabela foi criada para o ativo da tnlp4, com FC=0.2, FZ1=0, FZ2=0.3 e FV=0.3, e a

segunda tabela para um ativo da netc4, com FC=0.05, FZ1= 0, FZ2=0.2 e FV=0.2.

A Tabela 4.8 resume os dados da validação de 3 ativos: netc4, tnlp4 e vale5. Por sua vez, a

Tabela 4.9 mostra os coeficientes de correlação cuja fórmula foi apresentada na equação 2.3 para

os ativos utilizados no processo de validação. Podemos observar na tabela que entre os ativos mais

negociados na bovespa a correlação linear entre os preços é relativamente forte.

A validação do ativo vale5 foi feita da mesma forma que os outros ativos, mas sua tabela

de resultados passo a passo para validação foi ocultada. Podemos observar que os parâmetros

escolhidos previamente obtiveram uma rentabilidade média satisfatória nos momentos em que o

posicionamento foi recomendado, concluindo assim que embora testes de validação mais amplos

necessitem ser realizados, os resultados preliminares são satisfatórios.

23

Tabela 4.5: Resultados parâmetros estratégia proposta netc4

Operações FC FZ1 FV FZ2 retorno total rentabilidade média

71 0.05 0.00 0.20 0.20 98.01% 0.97%

68 0.05 0.05 0.20 0.20 94.33% 0.98%

62 0.10 0.00 0.20 0.20 89.36% 1.04%

57 0.15 0.00 0.20 0.20 116.43% 1.36%

40 0.15 0.15 0.20 0.20 73.36% 1.38%

32 0.25 0.10 0.20 0.20 57.17% 1.42%

30 0.25 0.05 0.40 0.00 66.28% 1.71%

26 0.25 0.15 0.20 0.20 63.27% 1.90%

22 0.25 0.15 0.40 0.00 52.15% 1.93%

13 0.45 0.05 0.20 0.20 34.33% 2.30%

12 0.35 0.20 0.20 0.20 37.42% 2.68%

11 0.35 0.25 0.20 0.20 36.25% 2.85%

10 0.40 0.20 0.20 0.20 44.52% 3.75%

9 0.40 0.40 0.20 0.20 43.29% 4.08%

8 0.45 0.45 0.20 0.20 28.53% 3.19%

7 0.35 0.25 0.40 0.00 26.97% 3.47%

6 0.40 0.20 0.40 0.00 34.67% 5.09%

5 0.40 0.40 0.40 0.00 33.53% 5.95%

rentabilidade media referencia 0.10%

rentabilidade total referência 16.55%

24

Tabela 4.6: Validação 140 dias tnlp4

FC=0.2 FV=0.3

FZ1=0 FZ2=0.3

MediaC MediaL DesvioL Decisao RentS Rentacum

-0.5587 -0.0328 3.7057 0 -8.2109 1

-1.0344 -0.0735 3.7208 1 -7.1114 1

-1.2856 -0.0581 3.7221 1 0 1

-0.5929 -0.0124 3.7238 1 6.0587 1.0606

-0.2737 -0.0458 3.7309 1 -4.6837 1.0109

0.7851 0.0257 3.7636 0 14.4969 1.1575

0.97 0.0143 3.761 0 6.6699 1.1575

0.3106 -0.0035 3.771 0 -2.2833 1.1575

0.7766 0.0193 3.7706 0 -3.2319 1.1575

0.4418 0.0279 3.779 0 4.1311 1.1575

0.6041 0.0732 3.8076 0 6.8253 1.1575

0.2039 -0.0336 3.6804 0 -0.144 1.1575

0.8789 0.0316 3.673 0 7.3203 1.1575

0.5342 0.0039 3.6497 0 -0.7292 1.1575

0.2862 -0.0296 3.639 0 -1.7031 1.1575

0.4534 0.015 3.624 0 5.881 1.1575

0.0237 0.0064 3.6014 0 1.9846 1.1575

0.0559 -0.0082 3.6055 0 -1.2941 1.1575

0.167 -0.0063 3.5866 0 0.9936 1.1575

0.1713 0.0156 3.5517 0 3.4791 1.1575

-0.0535 0.016 3.5052 0 -1.6679 1.1575

-0.126 -0.0167 3.4984 0 -4.3375 1.1575

-0.5229 -0.0747 3.4832 0 -6.9274 1.1575

-0.5997 -0.0438 3.4706 0 1.6876 1.1575

-0.3468 -0.0201 3.4632 0 2.9954 1.1575

-0.4026 -0.0341 3.4709 0 -3.568 1.1575

0.0673 -0.0083 3.4215 0 -0.6099 1.1575

-0.1215 -0.0197 3.419 0 -1.6165 1.1575

25

Tabela 4.7: Validação 140 dias netc4

FC=0.05 FV=0.2

FZ1=0 FZ2=0.2

MediaC MediaL DesvioL Decisao RentS Rentacum

0.3929 -0.2171 4.054 0 9.7261 1

0.1209 -0.2157 4.1088 0 1.027 1

0.1629 -0.2147 4.1105 0 6.6894 1

0.5976 -0.1858 4.111 0 2.561 1

-0.069 -0.2118 4.114 0 -7.7907 1

0.551 -0.1382 4.0983 0 4.3248 1

0.1384 -0.1765 4.0689 0 3.9018 1

-0.278 -0.1679 4.0476 0 -1.1557 1

0.1596 -0.116 4.0248 0 -1.4874 1

0.3234 -0.1066 3.9959 0 4.2187 1

0.6556 -0.0579 3.9885 0 4.2646 1

0.4362 -0.1097 3.9864 0 -0.8947 1

0.6976 -0.0634 3.979 0 1.1216 1

0.0029 -0.0327 3.9394 0 -5.5333 1

-0.0485 -0.0782 3.9118 0 -1.4806 1

0.2476 -0.0617 3.9193 0 8.7962 1

-0.0595 -0.048 3.9243 0 0.4306 1

0.327 -0.0154 3.9281 0 -1.4936 1

0.7016 -0.0238 3.9394 0 4.753 1

0.4446 0.0162 3.9098 0 -2.0877 1

0.0411 0.0195 3.8917 0 -1.1938 1

0.158 -0.0147 3.8647 0 2.3224 1

-0.3263 -0.0405 3.8489 1 -2.2213 1

-0.0635 -0.0481 3.8371 1 2.1065 1.0211

0.4815 0.001 3.7897 0 3.7242 1.0591

0.2951 -0.0226 3.7874 0 2.3948 1.0591

0.623 -0.0475 3.7456 0 1.1832 1.0591

0.0995 -0.0659 3.7426 0 -4.308 1.0591

26

Tabela 4.8: Quadro resumo validação ativos (28 semanas)

sistema proposto

ativo rentabilidade acumulada rentabilidade semanal (ativo) número operações

netc4 5.91% 2.91% 2

tnlp4 15.75% 3.72% 4

vale5 11.97% 2.29% 5

Estratégia compra e segurar

ativo rentabilidade acumulada rentabilidade média semanal número operações

netc4 42.43% 1.27% 28

tnlp4 6.57% 0.23% 28

vale5 35.71% 1.10% 28

Tabela 4.9: Análise dos coeficientes de correlação dos ativos utilizados no testeCoeficiente de correlação (ativo A, Ativo B)

ativo B

Ativo A netc4 petr4 vale5

netc4 1 0.6691 0.7717

petr4 0.6691 1 0.9513

vale5 0.7717 0.9513 1

27

Capítulo 5

Modelagem de tendências em séries

temporais

Uma tendência pode ser definida como um comportamento previsível, e classificada em dois

grupos [2]: tendência estocástica e tendência determinística. As tendências estocásticas são aquelas

que ocorrem por acaso, devido à natureza da variável aleatória envolvida no processo. Por sua

vez, tendências determinísticas são aquelas cuja caracterização é suficiente através de determinado

modelo, juntamente com a consideração da presença de ruído branco. Conforme visto na seção

2.1, um modelo determinístico deve ser adotado com cautela.

Para uma série temporal Yt qualquer, é possível modelar a presença de tendências determi-

nísticas a partir da separação de sua componente determinística µt e estocástica Xt [2], conforme

relação dada na equação 5.1. A componente determinística deve ser somada com um termo esto-

cástico puro para representação do comportamento da série.

Yt = µt + Xt (5.1)

Onde:

µt é o termo determinístico.

Xt o termo estocástico puro.

5.1 Tendência sazonal

Uma tendência sazonal é aquela que se repete em períodos espaçados no tempo. Seu estudo

pode ser feito através da construção de um modelo diferente para cada ciclo de dados. Este modelo

pode ser utilizado, por exemplo, na modelagem da mudança de temperatura ao longo dos anos.

Veja:

µt =

β1, para_t = 1, 13, ...

β2, para_t = 2, 14, ...

...

β12, para_t = 12, 24, ...

29

5.1.1 Sazonalidade com a função de autocorrelação

Podemos verificar a presença de sazonalidade em uma série temporal através do estudo da

função de autocorrelação e visualmente pelo gráfico do correlograma. O correlograma é um gráfico

correlação versus atraso de propagação [2], cujo pontos de máximos locais do gráfico podem ajudar

na identificação das freqüências de acontecimento dos eventos sazonais.

Para exemplificar como o processo de identificação do período de ciclos sazonais é realizado consi-

dere uma função discreta Z definida conforme equação 5.2.

Z(t) = sen(πt

6) + et (5.2)

et ∼ N(0, 0.2) (5.3)

Seja Z calculado de t igual a 1 a t igual a 120. Temos então uma possível série temporal cujo

gráfico preço versus tempo é mostrado na figura 5.1 e seu gráfico correlograma na figura 5.2.

0 20 40 60 80 100 120−1.5

−1

−0.5

0

0.5

1

1.5Seno com ruído com sigma=0.2

Tempo

Pre

ço

figura 5.1: Função seno amostrada adicionada de ruído

0 2 4 6 8 10 12 14 16 18 20−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

Atraso

Aut

ocor

rela

ção

Gráfico função auto correlação seno com ruído

figura 5.2: Correlagrama da função seno amostrada acrescida de ruído

A partir do gráfico da figura 5.2 é possível notar que mesmo na presença de ruídos o atraso k=12

é identificado como tendo um coeficiente de correlação próximo a 1, o que implica numa correlação

positiva forte. O atraso apontado multiplicado pela freqüência de amostragem é justamente o

30

período de oscilação da senóide gerada (T= 12 π/2− > 2π). Tal exemplo exemplifica o fato de que

os picos da função de autocorrelação podem ser utilizados para identificar freqüências de oscilação

da série.

5.1.2 Sazonalidade com a função de autocorrelação numa série financeira

Para aplicação da sazonalidade com a função de autocorrelação em uma série financeira, buscou-

se relações de sazonalidade no retorno diário de determinados ativos. Estas relações foram explo-

radas a partir da base de dados dos preços destes ativos nos períodos entre 2004 e 2008. Os ativos

escolhidos, representados pelo seu código de mercado, foram: petr4, vale5, bbdc4, csna3, itau4

e vale3. As figuras 5.3, 5.4, 5.5, 5.6, 5.7 e 5.8 mostram as funções autocorrelação para o conjunto

de séries financeiras reais escolhidas.

0 2 4 6 8 10 12 14 16 18 20−0.1

−0.08

−0.06

−0.04

−0.02

0

0.02

0.04

0.06

0.08

0.1

Atraso

Aut

ocor

rela

ção

amos

trad

a

Gráfico correlação ativo petr4

figura 5.3: ACF petr4

0 2 4 6 8 10 12 14 16 18 20−0.1

−0.08

−0.06

−0.04

−0.02

0

0.02

0.04

0.06

0.08

0.1

Atraso

Aut

ocor

rela

ção

amos

trad

a

Gráfico correlação ativo vale5

figura 5.4: ACF vale5

Nos correlogramas mostrados em: 5.3, 5.4, 5.5, 5.6, 5.7 e 5.8, as duas linha horizontais repre-

sentam 2σ dos erros associados a estimação da função de autocorrelação. Nesse caso, considerando

uma variável com distribuição gaussiana, era esperado que em 95% dos casos a correlação para um

dado atraso fosse inferior ao valor das retas horizontais de 2σ, isto é, em apenas um caso a cada

vinte amostras tal comportamento não seria esperado. No entanto, observando os correlogramas

31

0 2 4 6 8 10 12 14 16 18 20−0.1

−0.08

−0.06

−0.04

−0.02

0

0.02

0.04

0.06

0.08

0.1

Aut

ocor

rela

ção

amos

trad

a

Gráfico correlação ativo bbdc4

figura 5.5: ACF bbdc4

0 2 4 6 8 10 12 14 16 18 20−0.1

−0.08

−0.06

−0.04

−0.02

0

0.02

0.04

0.06

0.08

0.1

Atraso

Aut

ocor

rela

ção

amos

trad

a

Gráfico correlação ativo csna3

figura 5.6: ACF csna3

das séries financeiras estudadas, vemos que tal evento ocorre numa freqüência três vezes maior

daquela esperada. Tal fato leva a hipótese de existência de uma componente determinística nas

séries financeiras analisadas.

5.2 Modelos probabilísticos

Na análise de séries temporais, é importante que seja feito o estudo de modelos probabilísticos,

já que estes caracterizam o comportamento de um sistema baseado em variáveis aleatórias. Este

estudo será feito a seguir, com a apresentação de alguns tópicos pertinentes ao presente assunto.

5.2.1 Ruído branco

Seja Zt uma seqüência de uma variável aleatória independente, identicamente distribuída, com

média zero e variância conhecida σ2. Então Zt é dita uma seqüência de ruído branco. Uma condição

mais fraca, porém aceita em muitos casos, é que Zt seja apenas incorrelata e não necessariamente

independente [14].

32

0 2 4 6 8 10 12 14 16 18 20−0.1

−0.08

−0.06

−0.04

−0.02

0

0.02

0.04

0.06

0.08

0.1

Atraso

Aut

ocor

rela

ção

amos

trad

a

Gráfico correlação ativo itau4

figura 5.7: ACF itau4

0 2 4 6 8 10 12 14 16 18 20−0.1

−0.08

−0.06

−0.04

−0.02

0

0.02

0.04

0.06

0.08

0.1

Atraso

Aut

ocor

rela

ção

amos

trad

a

Gráfico correlação ativo vale3

figura 5.8: ACF vale3

5.2.2 Processo linear geral

Um processo linear geral {Yt} é aquele que pode ser representado como uma soma ponderada

linear de ruídos brancos presentes e passados. [2], segundo a equação 5.4

Yt = Zt + Ψ1Z(t−1) + Ψ2Z(t−2) + ... (5.4)

O peso de cada componente passada de ruído branco é representado por Ψt.

5.2.3 Modelo média móvel

Quando no processo linear geral apenas um número finito de termos é não nulo temos: [2]

Yt = et + ϕ1e(t−1) + ... + ϕ2e(t−q) (5.5)

33

Este modelo é denominado modelo de média móvel de ordem q , com a simbologia usual de:

MA(q) [14].

Seja Yt um modelo MA(q) de acordo com as definições dessa seção então:

E(Y t) = 0

var(Yt) = (1 + ϕ21 + ... + ϕ2

q)σ2

cov(Yt, Yt+k) = 0, para|k| > q

cov(Yt, Yt+k) = σ2

q−|k|∑

i=0

σσ(i+|k|)para|k| ≤ q (5.6)

A prova de tais preposições esta disponível em [14]. Se uma constante µ for adicionado como

Y(t)=µ+ϕ∗B teremos E(Yt)=µ, mas a função covariância e correlação não se alterarão. A função

de autocorrelação [2], já definida anteriormente, pode ser representada no estudo das médias móveis

como sendo :

ρk = Corr(Yt, Yt+k) =Cov(Yt, Yt+k)

var(Yt)var(Yt+k)(5.7)

Note que essa função depende somente da série temporal atual e de sua série correspondente

atrasada em k períodos. Um fato importante a ser considerado é que a função autocorrelação do

modelo de médias móveis se anula para um atraso maior do que q, já que neste caso não haverá

mais termos definidos para a mesma.

A utilização da função de autocorrelação daí definida pode ser útil, por exemplo, para identificar

os elementos passados que tem maior influência no modelo presente. Isto pode ser feito com o

auxílio do correlograma. Com este gráfico desenhado, é possível escolher aquelas componentes que

apresentam maior significância para o valor presente do modelo e, assim, trabalhar com um número

reduzido de variáveis. As componentes de maior relevância serão representadas pelos elementos de

maior valor em seu eixo y no gráfico.

A função de autocorrelação leva ainda a estacionaridade no modelo de médias móveis. Tal fato

deve-se a não dependência desta função no tempo absoluto, e sim em atrasos.

5.2.3.1 Invertibilidade do modelo

Seja Yt um modelo MA(q) dado por Yt=ϕ(B) ∗ Zt, comB ∗ Zt = Z(t−1) onde:

ϕ(B) = 1 + ϕ ∗ B + ... + ϕ ∗ Bq (5.8)

Então, o seguinte teorema é válido [14]:um modelo MA(q) de Yt é inversível se as raízes da equação

ϕ(B) = 0 se localizam fora do circulo unitário.

5.2.4 Processos auto-regressivo

Processos auto-regressivos (AR) consistem em regressões do próprio processo e são também

chamados de modelo com variável defasada [2]. Matematicamente um processo de ordem p de Yt

34

é aquele que satisfaz a equação 5.9.

Yt = φ1Yt−1 + φ2Yt−2 + ... + φpYt−p + et (5.9)

Sendo assim o valor em t da série Yt é uma combinação linear dos valores anteriores a t, acrescido

de um termo inovativo de natureza aleatória et que incorpora tudo que é novo a série no tempo t

que não pode ser explicado pelos valores passados [2].

5.2.4.1 Características do processo auto-regressivo geral

Considere o modelo auto-regressivo de ordem p descrito pela equação 5.10. O polinômio carac-

terístico para este modelo é definido conforme 5.10 e sua equação característica é definida conforme

5.12.

Yt = φ1Yt−1 + φ2Yt−2 + ... + φpYt−p + et (5.10)

φ(x) = 1 − φ1x − φ2x2 − ... − φpx

p (5.11)

1 − φ1x − φ2x2 − ... − φpx

p = 0 (5.12)

Assumindo et independente dos termos anteriores, uma solução estacionária à equação 5.12 existe

apenas se as p raízes da equação característica possuírem valor absoluto maior que 1. Para as

raízes serem maiores que 1, em módulo, são condições necessárias, mas não suficientes, que as

relações 5.13 e 5.14 sejam atendidas.

φ1 + φ2 + ... + φp < 1 (5.13)

|φ| < 1 (5.14)

Assumindo média zero e existência de estacionaridade, é possível manipular a equação 5.9 para

chegar à relação recursiva 5.15 de ρk que representa o coeficiente de autocorrelação para um

determinado atraso k.

ρk = φ1ρk−1 + φ2ρk−2 + φ3ρk−3 + ... + φpρk−p (5.15)

(5.16)

Substituindo k por k=1, 2, ..., p, chega-se às equações de Yule-Walker 5.17, que para valores numé-

ricos de φ1, φ2, ..., φp podem ser resolvidas, obtendo assim os valores numéricos de ρ1, ρ2, ..., ρp.Com

isso, é possível retornar à relação 5.15 e determinar qualquer ρk

ρ1 = φ1 + φ2ρ1 + φ3ρ2 + ... + φpρp−1

ρ2 = φ1ρ1 + φ2 + φ3ρ1 + ... + φpρp−2

...

ρp = φ1ρp−1 + φ2ρp−2 + φ3ρp−3 + ... + φp (5.17)

35

Multiplicando a equação 5.9 por Yt e calculando a esperança, temos 5.18:

γ0 = φ1γ1 + φ2γ2 + ... + φpγp + σ2e (5.18)

usando a relação ρk = γk/γ0 podemos determinar a variância do modelo por 5.19:

γ0 =σ2

e

1 − φ1ρ1 − φ2ρ2... − φpρp(5.19)

Com isso, temos as relações de variância (5.19) e função de autocorrelação (5.15) para um modelo

auto-recursivo de ordem p.

5.2.4.2 Identificando a ordem de um modelo AR

Na prática, a ordem p de um processo auto-regressivo é desconhecida, devendo ser especificada

empiricamente. Uma das formas utilizadas para isso é através da função de autocorrelação parcial

(FACP).

Considere os seguintes modelos auto-regressivos ordenados de forma crescente a partir da ordem

de seu modelo:

Yt = φ1,1Yt−1 + φ1,2Yt−2 + ... + φ1,pYt−p + e1t (5.20)

Yt = φ2,1Yt−1 + φ2,2Yt−2 + ... + φ2,pYt−p + e2t (5.21)

Yt = φ3,1Yt−1 + φ3,2Yt−2 + ... + φ3,pYt−p + e3t (5.22)

Yt = φ4,1Yt−1 + φ4,2Yt−2 + ... + φ4,pYt−p + e4t (5.23)

φ1,1 é a função(FACP) para atraso igual a 1.

φ2,2é a função(FACP) para atraso igual a 2.

φ3,3é a função(FACP) para atraso igual a 3.

Por definição [15], a função de autocorrelação parcial para atraso igual a 3 mostra a contribuição

do modelo de ordem 3 sobre o modelo de ordem 2. Para a determinação da ordem, basta observar

quando φp,p está suficientemente baixo para o nível de significância desejado.

5.2.5 Processos médias móveis auto-regressivo

Um modelo auto-regressivo de médias móveis ARMA, do inglês - Autoregressive Moving Ave-

rage - combina as idéias do modelo auto-regressivo com o modelo de médias móveis, visando o

modelamento do sistema de uma forma compacta. Assim, o número de parâmetros representativos

do sistema será mantido baixo [15] e seu estudo poderá ser feito mais facilmente. Este modelo

ARMA pode ser representado matematicamente por meio da equação 5.24.

Yt = φ1Yt−1 + φ2Yt−2 + ... + φpYt−p + et − ϕ1e(t−1) − ... − ϕ2e(t−q) (5.24)

E ainda, o modelo ARMA pode ser passado para o espaço de estados conforme a relação dos

coeficientes com as matrizes no espaço de estados mostrado em [2].

36

5.3 Construção de modelos no espaço de estados

Modelos matemáticos no espaço de estados são aqueles que utilizam variáveis de estado para

descrever um sistema por meio de um conjunto de equações diferenciais de primeira ordem. [16]

A representação no espaço de estados no tempo contínuo é dada por [17]:

x = Fx(t) + Gu(t) + Kw(t)

y(t) = Hx(t) + Du(t) + w(t) (5.25)

x(0) = x0

Onde:

x(t) é o vetor de variavéis de estado;

u(t) é o vetor com as variavéis de entrada do sistema;

w(t)é um vetor com as componentes de ruídos brancos das variavéis de estado;

y(t) é o vetor das variavéis de saída do sistema;

x(0) é o estado inicial;

F , G, K, H, D são as matrizes com os coeficientes das matrizes anteriores.

Por sua vez, a representação no espaço de estados no tempo discreto é dada por [18]:

x(kT + T ) = Ax(kT ) + Bu(kT ) + Ke(kT )

y(kT ) = Cx(kT ) + Du(kT ) + w(kT ) (5.26)

x(0) = x0

Onde:

T é o periodo de amostragem do sinal;

x(kT ) é o vetor de variavéis de estado no instante de amostragem kT ;

u(KT ) é o vetor com as variavéis de entrada do sistema no instante de amostragem kT ;

e(kT ) é um vetor com as componentes de ruídos brancos das variavéis de estadono instante de

amostragem kT ;

y(kT ) é o vetor das variavéis de saída do sistema no instante de amostragem kT ;

x(0) é o estado inicial;

A , B, K, C, D são as matrizes com os coeficientes das matrizes anteriores.

5.3.1 Construção de modelos no espaço de estados no MATLAB

O primeiro passo para a construção de modelos no espaço de estados no MATLAB, utilizando

ferramentas gráficas disponíveis, é a importação de dados no System Identification Tool GUI. Para

abrir o GUI, é necessário digitar o seguinte comando no prompt do MATLAB: »ident

Desta forma, a janela da ferramenta será aberta conforme mostra a figura 5.9.

37

figura 5.9: System id tool

Na lista para importação de dados, deve ser selecionado o tipo de dado que se deseja importar.

No presente estudo, foi selecionada uma série no domínio do tempo. É importante que os dados

da série temporal estejam amostrados em intervalos de tempo iguais.

Em seguida é aberta uma janela para definição do formato dos dados que serão importados.

Esta janela com os parâmetros de importação é mostrada na figura 5.10. Para o caso de séries

temporais, a entrada foi definida como ’[]’ e a saída foi designada com o nome da variável que foi

previamente carregada no ambiente de trabalho. No exemplo utilizado, a saída foi chamada de

papel. Em seguida a opção "importar"deve ser selecionada.

figura 5.10: Importando dados

O próximo passo é a escolha do modelo que se deseja construir a partir da série temporal. Aqui,

foi escolhida a construção de um modelo a partir de uma parametrização linear. Na caixa para

modelamento por equações lineares foi escolhido o modelamento em espaço de estados conforme

figura 5.11

Ao se inserir no campo "ordem"o valor 1:10, o gráfico logarítmico dos valores singulares da

matriz de covariância será gerado. Com este gráfico, é possível ver a ordem do modelo que concentra

as informações essenciais, o que é feito a partir dos valores singulares dos modelos de ordem de 1

a 10. No gráfico, pode ser selecionado o retângulo localizado a esquerda da tela, que representa o

ponto de corte para os estados, prestando uma contribuição significativa de entrada/saída. E ainda,

38

figura 5.11: Modelamento no espaço de estados

a presença de uma barra em vermelho sobre a opção indica que o software MATLAB recomenda

tal escolha. No exemplo aqui descrito, o MATLAB sugeriu um modelo de ordem seis, conforme é

mostrado na 5.12. Depois de escolhida a ordem do modelo, deve ser selecionada a opção "estimar",

e assim, o modelo será gerado conforme as especificações.

figura 5.12: Valores singulares para escolha da ordem do modelo

É possível analisar a eficiência do modelo gerado observando o seu gráfico de saída. Para obter

este gráfico, basta clicar em um ou mais modelos cuja análise seja desejada e em seguida selecionar

a opção "Model output". É esperado um gráfico da forma da 5.13. Esse gráfico permite avaliar

a qualidade do modelo à medida que compara os valores estimados com os valores efetivamente

ocorridos no passado. Estatisticamente, ele oferece o indicador R2, que representa o percentual das

variações que são explicadas pelo modelo. Quanto mais próximo de 100 for esse número, melhor

serão os resultados fornecidos pelo MATLAB.

Alternativamente à construção de um modelo no espaço de estados a partir de interface gráfica,

pode ser utilizada a função "pem"no desenvolvimento de programas no MATLAB. Os parâmetros

de entrada dessa função devem ser fornecidos de acordo com o interesse da aplicação desejada.

39

figura 5.13: Validação do modelo

5.3.2 Validação de modelos de séries temporais de ativos financeiros

Uma parte fundamental da modelagem é estabelecer parâmetros que garantam que ela repre-

senta uma modelagem com elevado grau de confiança. Dada uma série tempora Yt é possível

separar essa série em dois componentes conforme visto na equação 5.1. Em geral os modelos para

série temporal são razoáveis quando a componente Xt representa um ruído branco ou possui distri-

buição normal de probabilidade [2]. Nesta seção iremos comparar alguns indicadores de validade

para um modelo de preços de fechamento de ativos financeiros.

O modelo passeio aleatório descrito em 2.2.6 é a primeira sugestão para essa utilização em

ativos financeiros. Uma das maneiras de encarar essa situação é que o preço do dia é dado pelo

preço do dia anterior adicionado de uma variação percentual do tipo gaussiana com média e

variância conhecidas, conforme é mostrado na equação 2.10. Para investigar tal presunção, vamos

utilizar a série de fechamento em pontos diários do índice Ibovespa nos períodos entre 18/12/1991

e 5/12/2008. A figura 5.14 mostra o comportamento geral do índice nesses 17 anos.

0 500 1000 1500 2000 2500 3000 3500 40000

1

2

3

4

5

6

7

8x 10

4

Tempo em dias

Pon

tos

no fe

cham

ento

índi

ce Ib

oves

pa

Fechamento em pontos diários do indice Ibovespa de 18/12/1991 ate 5/12/2008

figura 5.14: Fechamento em pontos diários do indice Ibovespa de 18/12/1991 ate 5/12/2008

Da mesma forma que o desenvolvimento apresentado no capítulo 4, para maior adequação dos

dados da série à presente análise, houve a transformação dessa série de fechamento numa série de

40

variação percentual diária.

O histograma das variações percentuais mostrado na figura 5.15 evidencia o fato que as variações

percentuais diárias do índice ibovespa aparentam ter uma distribuição normal. Considerando que

no modelo passeio aleatório a variação dos preços é composta unicamente pela componente Xt,

essa distribuição normal valida o uso desse modelo nas séries temporais estudadas.

−15 −10 −5 0 5 10 150

10

20

30

40

50

60

70

80

90

100histograma variação das cotações Ibovespa de 18/12/1991 ate 5/12/2008

variação percentual

Fre

quên

cia

rela

tiva

figura 5.15: Histograma indice Ibovespa da variação percentual diária de 18/12/1991 ate 5/12/2008

Para essa mesma série de dados, a partir de sua análise, pode ser determinado que sua média

é igual a 0.1170 e o desvio padrão é igual a 2.8416. Uma análise mais detalhada da condição de

normalidade pode ser feita com o gráfico quantiles-quantiles (QQ), que é um gráfico específico do

tipo dispersão 2.1.2. O gráfico quantiles da amostra versus quantiles teórico deve se aproximar

da reta prevista teoricamente para que as duas amostras sejam consideradas da mesma família.

Portanto, quanto mais próximo o gráfico resultante estiver dessa reta, mais próxima da condição

de normalidade a amostra estará. O gráfico QQ para a série em análise é mostrado na figura 5.16

−4 −3 −2 −1 0 1 2 3 4−20

−10

0

10

20

30

40

Quantiles esperados para distribuição normal

Qua

ntile

s ob

tidos

na

amos

tra

Gráfico QQ série variação percentual Ibovespa

figura 5.16: Gráfico QQ série variação percentual Ibovespa

Podemos observar que a amostra não se comporta tão bem para os pontos de variação diária

mais distantes da média, mesmo para regiões em que o número de pontos é considerável.

41

Um problema desse tipo de modelo é que seus resíduos possuem uma correlação superior ao

esperado aleatoriamente conforme mostrado na figura 5.17.

Neste correlograma mostrado, as duas linha horizontais representam 2σ dos erros associados

a estimação da função de autocorrelação. Conforme já foi dito em análise anterior, nesse caso,

considerando uma variável com distribuição gaussiana, era esperado que em 95% dos casos a

correlação para um dado atraso fosse inferior ao valor das retas horizontais de 2σ. No entanto,

observando o correlograma da série financeira da presente análise, vemos que tal evento ocorre numa

freqüência maior do que a esperada. Tal fato leva a hipótese de existência de uma componente

determinística nas séries financeiras analisadas, não levada em consideração no modelo passeio

aleatório.

0 2 4 6 8 10 12 14 16 18 20−0.1

−0.08

−0.06

−0.04

−0.02

0

0.02

0.04

0.06

0.08

0.1

Atraso da série

Cor

rela

ção

Função de autocorrelação ACF para variação percentual Ibovespa

figura 5.17: Função de autocorrelação ACF para variação percentual Ibovespa

Repetindo os procedimentos para a mesma série base, mas agora tomando a primeira derivada

da série de preços de fechamento, podemos comparar se o modelo de variação absoluta dos preços

fornece melhores resultados que o modelo de variações percentuais dos preços. A figura 5.18 mostra

o histograma da série temporal após realizarmos sua primeira derivada. A figura 5.19 mostra o

gráfico QQ para a mesma série. Além disso, é apresentado na figura 5.20 o gráfico da função

autocorrelação para essa nova análise. Note que ele possui as mesmas características que o gráfico

anteriormente mostrado na figura 5.17.

O terceiro modelo que iremos analisar é o modelo ARMA no espaço de estados, com 15 variavéis

de estado. A figura 5.21 mostra o histograma dos resíduos do modelo ARMA (Xt) para a série

em análise. E ainda, a figura 5.22 mostra o gráfico quantiles quantiles para os residuos do modelo

ARMA analisado. Por fim, a figura 5.23 mostra a função de autocorrelação ACF para os resíduos

do modelo ARMA analisado.

A partir da observação desses gráficos, é possível concluir que os 3 modelos são capazes de

modelar as séries temporais. No entanto, a componente não explicada do modelo possui correlações

significantes nas modelagens passeio aleatório dos preços e de variação percentual. Já no modelo

ARMA, tal fenômeno não foi observado. Embora a validação aqui feita indique a necessidade

de modelos diferentes para uma modelagem mais precisa, tal fato não invalida a utilização dos

modelos aqui apresentados. Usaremos o modelo ARMA na próxima seção juntamente com o filtro

de Kalman para verificarmos até que ponto tais modelos apresentam alguma utilidade para fins de

42

−2000 −1500 −1000 −500 0 500 1000 1500 20000

20

40

60

80

100

120

140Histograma derivada das cotações Ibovespa de 18/12/1991 ate 5/12/2008

Variação em pontos diários

Fre

quên

cia

rela

tiva

figura 5.18: Histograma derivada das cotações Ibovespa de 18/12/1991 ate 5/12/2008

−4 −3 −2 −1 0 1 2 3 4−6000

−4000

−2000

0

2000

4000

6000

Quantiles esperados para distribuição normal

Qua

ntile

s ob

tidos

na

amos

tra

Gráfico QQ série variação em pontos do Ibovespa

figura 5.19: Gráfico QQ série variação Ibovespa

predição.

43

0 2 4 6 8 10 12 14 16 18 20−0.1

−0.08

−0.06

−0.04

−0.02

0

0.02

0.04

0.06

0.08

0.1

Atraso da série

Cor

rela

ção

Função de autocorrelação ACF para variação em pontos Ibovespa

figura 5.20: Função de autocorrelação ACF para variação em pontos Ibovespa

−1500 −1000 −500 0 500 1000 15000

50

100

150

200

250

300

350

400

450

500Histograma dos resíduos modelo ARMA(15) preços Ibovespa de 18/12/1991 ate 5/12/2008

Resíduo em pontos diários

Fre

quên

cia

rela

tiva

figura 5.21: Histograma dos resíduos modelo ARMA(15) preços Ibovespa de 18/12/1991 ate

5/12/2008

−4 −3 −2 −1 0 1 2 3 4−2000

−1500

−1000

−500

0

500

1000

1500

2000

Quantiles esperados para distribuição normal

Qua

ntile

s ob

tidos

na

amos

tra

Gráfico QQ dos residuos do modelo ARMA em pontos do Ibovespa

figura 5.22: Gráfico QQ dos residuos do modelo ARMA em pontos do Ibovespa

44

0 5 10 15 20 25−0.1

−0.08

−0.06

−0.04

−0.02

0

0.02

0.04

0.06

0.08

0.1Função de autocorrelação ACF para os resíduos do modelo ARMA analisado

Atraso da série

Cor

rela

ção

Região 2 sigmaCorrelação da amostra

figura 5.23: Função de autocorrelação ACF para os resíduos do modelo ARMA analisado

45

Capítulo 6

Filtro de Kalman

O filtro de Kalman é um estimador utilizado no estudo do estado de um sistema dinâmico linear

perturbado por um ruído branco, cujo resultado é ótimo para o problema. Sua criação permitiu o

avanço em muitos campos da ciência, principalmente na área de controle de sistemas complexos.

Ele é utilizado, por exemplo, no controle de processos de fabricação, de aviões, navios e ônibus

espaciais [19].

A utilização do filtro de Kalman pode ser feita também no estudo de séries temporais, e, por

isso, seu desenvolvimento teórico será abordado neste capítulo, utilizando como referência [20].

6.1 Sistema de referência e notação utilizada

Considere o seguinte sistema:

xk+1 = Fkxk + Gkwk (6.1)

zk = H ′kxk + vk (6.2)

Onde V W e X são variavéis aleatórias com distribuição normal com média e variância mostradas

abaixo:

vk ∼ N(0, R) (6.3)

wk ∼ N(0, Q) (6.4)

x0 ∼ N(x0, P0) (6.5)

O problema de estimação consiste em determinas as seguintes estimativas na notação mostrada

em 6.6 e 6.7.

xk|k−1 = E[xk|Zk−1] (6.6)

xk|k = E[xk|Zk] (6.7)

As matrizes de covariância do erro das estimativas 6.6 e 6.7 serão dadas por 6.8 e 6.9.

Σk|k−1 = E[[xk − xk|k−1][xk − ˆxk|k−1]′|Zk−1] (6.8)

Σk|k = E{[xk − ˆxk|k][xk − ˆxk|k]′|Zk} (6.9)

47

6.2 Equações do filtro de Kalman

As equações do filtro de Kalman são apresentados nessa secção. A estimativa da variável de

estado de interesse é apresentada em 6.10, o ganho da matriz K é dado por 6.11, a covariância do

erro de estimação dada por 6.12 e as condições iniciais dadas por 6.13 e 6.14.

xk+1|k = [Fk − KkH′k]xk|k−1 + Kkzk (6.10)

Kk = FkΣk|k−1Hk[H′kΣk|k−1Hk + Rk]

−1 (6.11)

Σk+1|k = Fk[Σk|k−1Hk(H′kΣk|k−1Hk + Rk)

−1H ′kΣk|k−1]F

′k + GkQkG

′k (6.12)

x0|−1 = x0 (6.13)

Σ0|−1 = P0 (6.14)

6.2.1 Demonstração das equações do filtro de Kalman

Seja X e Y vetores de variavéis aleatórias que conjuntamente são gaussiana [20]. Isto é, temos

para Z=[X’ Y’] a seguinte média e variância :

m = [x

y] (6.15)

Σ = [Σxx, Σxy

Σyx, Σyy

] (6.16)

Assumindo não singularidade de Σ e Σyy, temos a densidade de probabilidade condicional:

pX|Y (x|y) =pXY (x, y)

pY (y)(6.17)

=|Σyy|

1/2exp(−0.5[x′ − x′...y′ − y′]Σ−1[x′ − x′

...y′ − y′]′)

(2π)N/2|Σ|1/2exp(−0.5(y − y)′Σ−1yy (y − y))

(6.18)

Onde N, em 6.18, é a dimensão da variável X. Detalhes deste desenvolvimento algébrico estão

disponíveis em [20]. O resultado é mostrado em 6.19.

pX|Y (x|y) = N ∼ (x + ΣxyΣ−1yy (y − y), Σxx − ΣxyΣyy

−1Σ′xy) (6.19)

Pela condição dada em 6.5 é possível reescrever a condição inicial na notação conforme mostrado

em 6.20.

Σ0,−1 = P0 (6.20)

48

A variavél aleatória 6.21 possui média 6.22 e covariância dada por 6.23.

[x′0z

′0] (6.21)

[x0, x0H0] (6.22)

[P0, P0H0

H ′0P0, H

′0P0H0 + R0

] (6.23)

Utilizando a relação 6.19, e dado que x0 é condicionado a z0, temos os resultados mostrados

em 6.24 e 6.30.

ˆx0|0 = x0 + P0H0(H0′P0H0 + R0)

−1(z0 − H ′0x0) (6.24)

Σ0|0 = P0 − P0H0(H′0P0H0 + R0)−1H ′

0P0) (6.25)

Aplicando a função valor esperado em ambos os lados da equação 6.1 é obtida a relação 6.27.

E(xk+1) = E(Fkxk) + E(vk) (6.26)

x1|0 = F0 ¯x0|0 (6.27)

A covariância da variável X, assumindo a hipótese da independência entre as variáveis em 6.1,

pode ser calculada pela propriedade básica da covariância, com resultado dado por 6.28.

Σ1|0 = F0Σ0|0F′0 + GQ0G

′ (6.28)

A partir da equação 6.2, aplicando a função valor esperado e calculando sua covariância, temos

a relação para o valor esperado 6.29 e 6.30 para variância.

E(zk) = E(H ′xk + E(GkWk) (6.29)

ˆz1|0 = H ′x1|0H′Σ1|0H1 + R1 (6.30)

Temos ainda que:

E[(x1 − x1|0)(z1 − z1|0)−1|z0] = Σ1|0H1 (6.31)

A variável aleatória [x’1z′1] possui média:

[x1|0, H′1x1|0] (6.32)

49

E covariância dada por:

[Σ1|0, Σ1|0H1

H ′1Σ1|0, H

′1Σ1|0H1 + R1

] (6.33)

Aplicando o resultado basico 6.19 concluimos que x1 condicionado a z0 e z1 tem média:

x1|1 = x1|0 + Σ1|0H1(H′Σ1|0H1 + R1)

−1(z1 − H ′1x1/0) (6.34)

E covariância:

Σ1|1 = Σ1|0 − Σ1|0H1(H′1Σ1|0H1 + R1)

−1H ′1Σ1/0 (6.35)

Utilizando as equações 6.27 e 6.28 para atualizar os índices temos:

x2|1 = F1x1|1 (6.36)

Σ1|1 = F1Σ1|1F′1 + G1Q1G

′1 (6.37)

Repetindo os passos anteriores para índices genéricos temos:

-Para valor esperado:

Estimativa a priori :

xk|k = xk|k−1 + Σk|k−1Hk(H′Σk|k−1Hk + Rk)

−1(zk − H ′kxk/k−1) (6.38)

Estimativa a posteriore:

xk+1|k = Fk ¯xk|k (6.39)

-Para a covariância: Estimativa a priori:

Σk|k = Σk|k−1 − Σk|k−1Hk(H′kΣk|k−1Hk + Rk)

−1H ′kΣk/k−1 (6.40)

Estimativa a posteriore:

Σk+1|k = FkΣk|kF′k + GkQkG

′k (6.41)

6.3 Implementação do filtro de Kalman

Tendo como base o processo de construção de modelos de séries temporais conforme descrito

na seção 5.3 e as equações do filtro de Kalman da seção 6, foi implementado no software MATLAB

um estimador do próximo elemento de uma série temporal. Para a série temporal dos rendimentos

percentuais diários, foi adotada a estratégia de compra quando a variação percentual estimada

para o dia seguinte foi positiva e venda quando essa variação estimada foi negativa.

50

6.3.1 Séries temporais utilizadas

Considere a série temporal dos preços de fechamento do ativo petr4(fonte apligraf) com infor-

mações relativas ao periodo de 28/12/03 a 28/12/2008 mostrado na figura 6.2. Conforme a função

autocorrelação mostra na figura 6.1, o preço de uma ação depende fortemente do preço do dia

anterior. Nesse sentido, a correlação do preço do dia seguinte é alta dentro do universo de preços

possíveis. Essa característica favorece modelos de processos auto-regressivos, como o modelamento

ARMA, conforme visto na seção 5.2.5. A série temporal base utilizada foi o preço de fechamento

dos ativos em bolsa. O preço de fechamento é uma referência importante, pois é normalmente a

cotação fechada com maior volume de financeiro do dia.

0 2 4 6 8 10 12 14 16 18 20−0.2

0

0.2

0.4

0.6

0.8

Lag

Sam

ple

Aut

ocor

rela

tion

Sample Autocorrelation Function (ACF) PETR4 28/12/2003 a 28/12/2008

figura 6.1: Função de autocorrelação para preço de fechamento de petr4

Utilizamos as séries de preços de fechamento petr4, vale5 e bbdc4 no período de 28/12/03

a 28/12/2008 para avaliarmos os resultados do filtro de Kalman durante um período de extrema

tensão no mercado (ano 2008).

6.3.2 Construção do modelo

Para a aplicação do filtro de Kalman, é necessário um modelo no espaço de estados conforme

as equações: 6.1 e 6.2, seguindo a notação utilizada na seção 6.1. O modelo adotado é um modelo

ARMA discutido na seção 5.2.5.

Para exemplificar o processo iremos construir um modelo ARMA no espaço de estados no soft-

ware MATLAB. Para a obtenção desse modelo, é necessário separar os dados disponíveis em 2

segmentos:dados para modelamento e dados para validação, conforme figura 6.3. Tendo a série de

preços para modelamento disponível, o modelo no espaço de estados é criado através do comando:

modelo = pem(DadosModelamento, OrdemModelo,′ ss′,′ can′); (6.42)

51

0 200 400 600 800 1000 12005

10

15

20

25

30

35

40

45

50

55

Tempo

Pre

ço

Gráfico preço ao longo do tempo para petr4

figura 6.2: Série temporal utilizada exemplo Kalman

0 200 400 600 800 1000 12005

10

15

20

25

30

35

40

45

50

55Gráfico preço de fechamento petr4 e divisão dos dados

tempo

Pre

ço

Dados modelamento Dados validação

figura 6.3: Separação dados modelamento e validação exemplo petr4

O primeiro parâmetro é a série temporal a partir da qual se deseja a construção do modelo.

O segundo parâmetro, por sua vez, é a ordem do modelo, como o incremento de variáveis e

conseqüentemente da sua ordem. A ordem do modelo geralmente aumenta o percentual da série

explicada por ele [14]. O critério utilizado para determinação dessa ordem foi escolher o maior valor

desse parâmetro, para o qual o programa não emitisse o aviso de que os erros de arredondamento

de cálculos poderiam ser maiores que sua contribuição para o sistema. Também se levou em conta

o tempo de processamento dos cálculos, buscando que a simulação não ultrapassasse a faixa de 5

minutos de duração. Utilizando esse procedimento, a ordem escolhida para o modela ARMA que

será utilizado, foi igual a 15. E ainda, o terceiro parâmetro é utilizado para informar ao sistema

que desejávamos o modelo no espaço de estados. Por fim, o quarto parâmetro é utilizado para que

o modelo construído seja apresentado na formula canônica observável.

No exemplo para os dados do ativo petr4, temos o gráfico mostrado na figura 6.4 para o valor

observado e para o valor previsto pelo modelo, considerando os dados de validação. O percentual

"fit"representada o índice de determinação. Esse índice de determinação R2 pode ser calculado

como o quadrado do coeficiente de correlação entre a série observada e a série estimada pela

tendência [2]. Tal indicador pode ser interpretado como a fração da série que pode ser explicada

pelo modelo.

Com base no valor estimado pelo modelo e valor observado na série temporal, podemos ainda

52

calcular o erro de estimação ao longo do tempo. O gráfico de dispersão do erro e preço da série

observada é útil para identificar alguma possível região de preços onde os erros são maiores. Esse

gráfico é mostrado na figura 6.5. A partir da sua observação, é possível notar que para o modelo

proposto não foi identificada uma região nesse gráfico na qual o modelo aparenta ser melhor ou

pior.

100 200 300 400 500 600 700 800 900 1000

10

15

20

25

30

35

40

Previsto pelo modelo(1 passo a frente) e observado no periodo de modelamento

Tempo

Pre

ço

Valores observadosValores estimados pelo modelo; R2 fit: 94.41%

figura 6.4: Valores previstos pelo modelo 1 passo a frente e valores observados

−4 −3 −2 −1 0 1 2 3 415

20

25

30

35

40

45

50

55Gráfico dispersão: Resíduo x valores absolutos da série temporal(periodo de validação)

Resíduo

Val

ores

abs

olut

os d

a sé

rie te

mpo

ral

figura 6.5: Gráfico dispersão resíduo x valores absolutos dos dados de validação

O resultado do modelo é apresentado com a notação mostrada nas equações 6.43 e 6.44.

x(t + Ts) = Ax(t) + Ke(t) (6.43)

y(t) = Cx(t) + e(t) (6.44)

A equivalência de notação entre a notação apresentada no MATLAB e a notação apresentada nesse

trabalho(6.1 e 6.2) tem a seguintes relações:

53

figura 6.6: Divisão da série temporal disponível e seus usos

F = A (6.45)

G = K (6.46)

H ′ = C (6.47)

Q = 1 (6.48)

R = 1 (6.49)

Os parâmetros de x0, descrita em 6.5, foram estimados aplicando as equações 6.10, 6.11, 6.12

,6.13 e 6.14 para os últimos 400 elementos da série temporal de modelamento, considerando o

valor esperado e a variância de x0 ambos nulos inicialmente. Isso porque os parâmetros de x0 são

recalculados a cada interação e seu valor converge rapidamente [20].

A figura 6.6 mostra a divisão da série temporal disponível e seus usos. Utilizando o filtro de

Kalman para gerar estimativas na região de validação e comparando com os valores observados,

temos o gráfico da figura 6.7.

6.3.3 Resultado da aplicação do filtro de Kalman em um conjunto de ativos

Para a simulação feita nesta seção, a aplicação do filtro de Kalman no conjunto de ativos foi

feita seguindo a seguinte estratégia: quando o preço estimado é superior ao último preço observado,

é tomada a decisão de compra. Por sua vez, quando o preço estimado é inferior ao último preço,

é tomada a decisão de venda. Já quando os preços estimados e observados são iguais, a decisão é

de ficar sem nenhuma posição no ativo, isto é, não se compra nem se vende. A partir das decisões

de posicionamento, vale a lógica descrita em 4.3. Além disso, considerando que o modelo ARMA

é fundalmentalmente um modelo para séries temporais estacionárias -e não há razões para crer

que as séries financeiras aqui estudadas são de caráter estacionário- o modelo ARMA utilizado no

processo de previsão com filtro de Kalman será atualizado completamente a cada 5 períodos de

54

0 50 100 150 200 25015

20

25

30

35

40

45

50

55

Tempo (serie de validação)

Pre

ço

Preço estimado filtro de kalman e observado ativo petr4 periodo de validação

EstimativaObservado

figura 6.7: Estimado e observado periodo de validação

simulação. Isso porque segue-se a hipótese de que em um curto período de tempo tais séries podem

ser consideradas estacionárias. A figura 6.8 mostra o esquema aplicado nas simulações registradas

nessa seção.

6.3.3.1 Resultados das simulações para o ativo petr4

É apresentado na figura 6.9 o gráfico do preço estimado pelo filtro de Kalman e o preço real do

período de validação para o ativo petr4. A partir de sua observação, fica evidenciado o fato de que

o resultado fornecido pelo filtro acompanha as tendências apresentadas pela série real, ora ultra-

passando os valores fornecidos por esta, ora respondendo com certo atraso. Além disso, no período

analisado houve dois momentos em que o valor estimado divergiu consideravelmente do valor obser-

vado.Isso aconteceu já que os ganhos associados aos erros de estimação passado são relativamente

elevados, o que acarreta em momentos de instabilidade após periodos de baixa previsibilidade

do modelo.Esses momentos de divirgência só foram observados após a inserção de atualizações

periodicas do modelo.Isso pode ser observado através da figura 6.10 que mostra o resultado da rea-

lização do mesmo procedimento básico do resultado mostrado na figura 6.9, mas sem atualizações

do modelo. Tal fato sugere que atualizações periodicas do modelo podem levar a maiores divergên-

cias entre valor estimado e observado quando o processo passa por uma região de grandes variações

Por sua vez, o gráfico do capital acumulado obtido a partir da utilização do filtro de Kalman

com atualização do modelo e o valor fornecido pela própria série desse ativo é apresentado na

figura 6.11. Na maior parte do período analisado, o filtro de Kalman forneceu valores piores do

que àqueles obtidos na realidade, evidenciando a necessidade de melhora do modelo utilizado para

a série temporal do ativo petr4.

55

figura 6.8: Esquema simulações com utilização do filtro de Kalman realizadas

0 50 100 150 200 25015

20

25

30

35

40

45

50

55

60Preço estimado filtro de kalman e observado ativo petr4 periodo de validação

Tempo (serie de validação)

Pre

ço

Estimativa filtro de KalmanObservado petr4

figura 6.9: Preço previsto e observado periodo de validação petr4 (com atualização do modelo)

6.3.3.2 Resultados das simulações para o ativo vale5

É apresentado na figura 6.12 o gráfico do preço estimado pelo filtro de Kalman e o preço real

do período de validação para o ativo vale5. Da mesma forma que na análise do ativo petr4, a

partir da observação desse gráfico, fica evidenciado o fato de que o resultado fornecido pelo filtro

acompanha as tendências apresentadas pela série real, ora ultrapassando os valores fornecidos por

esta, ora respondendo com certo atraso. Como explicado anteriormente para o ativo pert4, houve

um momento de instabilidade. Este também está associados aos erros de estimação passados le-

vados em consideração no modelo utilizado.

Por sua vez, o gráfico da rentabilidade obtida a partir da utilização do filtro de Kalman e o valor

fornecido pela própria série desse ativo é apresentado na figura 6.13. Na maior parte do período

analisado, o filtro de Kalman forneceu resultados melhores do que àqueles obtidos na realidade,

56

0 50 100 150 200 25015

20

25

30

35

40

45

50

55

Tempo (série de validação)

Pre

ço

Preço estimado filtro de kalman e observado ativo petr4 periodo de validação (sem atualização do modelo)

Estimativa filtro de KalmanObservado petr4

figura 6.10: Preço previsto e observado periodo de validação petr4 (sem atualização do modelo)

0 50 100 150 200 2500.4

0.5

0.6

0.7

0.8

0.9

1

1.1

1.2

1.3

Tempo

Cap

ital a

cum

ulad

o

Capital acumulado estratégia Kalman e ativo de referência

Kalmanpetr4

figura 6.11: Capital acumulado diferentes estratégias petr4

com obtenção de capital acumulado superiores àqueles fornecidos. Esses resultados, no entanto,

não se sustentaram até o final do período, e no final da tendência de queda, o resultado fornecido

pelo filtro praticamente se igualou às perdas fornecidas pelo mercado.

6.3.3.3 Resultados das simulações do ativo bbdc4

É apresentado na figura 6.14 o gráfico do preço estimado pelo filtro de Kalman e o preço real do

período de validação para o ativo bbdc4. Da mesma forma que nas análises anteriores, a partir da

observação desse gráfico, fica evidenciado o fato de que o resultado fornecido pelo filtro acompanha

as tendências apresentadas pela série real, ora ultrapassando os valores fornecidos por esta, ora

respondendo com certo atraso.

Por sua vez, o gráfico do capital acumulado obtido a partir da utilização do filtro de Kalman

e o valor fornecido pela própria série desse ativo é apresentado na figura 6.15. Na maior parte do

período analisado, o filtro de Kalman forneceu valores semelhantes àqueles obtidos na realidade,

evidenciando a necessidade de melhora do modelo utilizado para a série temporal do ativo bbdc4.

57

0 50 100 150 200 25020

25

30

35

40

45

50

55

60Preço estimado filtro de Kalman e observado ativo vale5 período de validação

Tempo (serie de validação)

Pre

ço

EstimadoObservado

figura 6.12: Estimado e observado periodo de validação vale5

0 50 100 150 200 2500.4

0.6

0.8

1

1.2

1.4

1.6

1.8

Tempo (serie de validação)

Cap

ital a

cum

ulad

o

Capital acumulado estratégia Kalman e ativo de referência vale5

KalmanVale5

figura 6.13: Capital acumulado diferentes estratégias vale5

6.3.3.4 Síntese dos resultados das simulações realizadas

A tabela 6.1 resume os resultados obtidos na simulação da estratégia descrita acima através da

aplicação do filtro de Kalman para a variação percentual do dia seguinte de três ativos: Petrobras,

Vale e Bradesco.

A partir da observação da tabela 6.1, fica evidenciado que as rentabilidades acumuladas a partir

da utilização do filtro de Kalman nas séries temporais dos ativos estudados foram semelhantes

ao retorno desses ativos no período. Assim, a obtenção de melhores resultados dependerá de

um modelamento mais preciso das séries temporais desejadas, de forma a superar os resultados

fornecidos pelo mercado. Vale lembrar que o período analisado neste estudo corresponde ao pior

período da bolsa de valores brasileira dos últimos 17 anos fato evidenciado no gráfico da figura

5.14.

58

0 50 100 150 200 25015

20

25

30

35

40Gráfico previsto e observado no periodo de validação bbdc4

Tempo

Pre

ço

Estimativa kalmanpreço observado bbdc4

figura 6.14: Preço previsto e observado periodo de validação bbdc4

0 50 100 150 200 2500.5

0.6

0.7

0.8

0.9

1

1.1

1.2

1.3Capital acumulado estratégia Kalman e ativo de referência bbdc4

Tempo

Cap

ital a

cum

ulad

o

Kalmanbbdc4

figura 6.15: Capital acumulado diferentes estratégias bbdc4

Tabela 6.1: Resultados simulações no modelo ARMA aplicando o filtro de Kalman como estimadorResultado simulações filtro de Kalman

ativo petr4 vale5 bbdc4

Numero dias comparados 157 124 159

Numero dias vendidos 93 126 91

Numero dias neutros 0 0 0

Retorno total Kalman -40.64% -50.24% -33.33%

Retorno total ativo referência -41.78% -45.92% -27.10%

59

Capítulo 7

Conclusões

Neste trabalho, foi realizado o estudo das séries temporais visando a sua aplicação no mercado

financeiro. Para isso, foram primeiramente apresentados meios de análise disponíveis para este

estudo, além de conceitos estatísticos aplicados a estas séries.

Em seguida, foram apresentados meios de captação destas séries. Esta etapa foi muito impor-

tante no desenvolvimento deste trabalho, já que as informações dos ativos negociados em bolsa

não são disponibilizadas prontamente na forma de séries temporais. Todos os programas de análise

aqui desenvolvidos foram feitos no software MatLab, e assim, foi necessária a adequação destas

informações para utilização como dados de entrada nos programas. Em sua maioria, foi utilizada

a fonte Apligraf devido à possibilidade de obtenção dos dados dos ativos negociados na bolsa de

valores brasileira, conforme informações explicitadas ao longo do texto.

No capítulo de análise estatística, foi apresentada uma proposta de modelo para descrever

o comportamento das séries temporais do mercado financeiro, com a criação de um programa

computacional cujo objetivo foi traduzir este comportamento em ações tomadas pelo operador

visando à obtenção de retorno satisfatório para determinado ativo. O programa desenvolvido

apresentou como parâmetros de saída várias situações de operação, com número variado de tomadas

de decisão. Os resultados obtidos neste modelamento foram satisfatórios, já que para todas as ações

analisadas, a rentabilidade média obtida foi maior do que o ativo analisado.

Além disso, no capítulo referente à modelagem de tendências em séries temporais foram intro-

duzidos conceitos necessários à compreensão deste processo, tais como conceitos estatísticos básicos

e modelos básicos para séries temporais. Como sugestão para trabalhos futuros há a utilização de

outros modelos disponíveis para a obtenção do modelamento matemático destas séries temporais.

Estes talvez sejam capazes de fornecer melhores resultados do que aqueles obtidos neste trabalho.

Por fim, foi desenvolvida uma aplicação do filtro de Kalman, com os respectivos embasamentos

teóricos necessários à sua compreensão. Segundo objetivo final foi desenvolvido uma proposta de

estratégia de uso do filtro de Kalman no estudo das séries temporais aqui consideradas. Para

isso, um programa computacional foi criado no MatLab, fornecendo como parâmetros de saída a

rentabilidade média mensal e rentabilidade acumulada a partir da utilização desse programa, além

do retorno real do ativo no período considerado. Analisando estes resultados, pôde ser concluído

que o modelo ARMA utilizado não se encontra ainda na forma final para aplicação.

61

REFERÊNCIAS BIBLIOGRÁFICAS

[1] WOLBERG, J. R. Expert Trading Systems - Modeling Financial Markets with Kernel Regres-

sion : John Willey & Sons, 2000.

[2] CRYER, J. D. Time Series Analysis,with Applications in R : Springer, 2008.

[3] BOVESPA. http://www.bovespa.com.br/Principal.asp , acessado em 2008.

[4] APLIGRAF. http://web.apligraf.com.br/ , acessado em 2008.

[5] MERCADO, A. de. http://www.analistademercado.com.br/ , acessado em 2008.

[6] METASTOCK : http://www.equis.com/, 2008.

[7] LEANDRO&STORMER. http://www.leandrostormer.com.br/ , acessado em 2008.

[8] YAHOO. http://finance.yahoo.com/ : Yahoo finance, acessado em 2008.

[9] ATIVA. https://www.ativatrade.com.br/ : Ativa corretora, acessado em 2008.

[10] COLBY, R. W. The Encyclopedia of Technical Market Indicators : McGraw-Hill, 2002.

[11] MURPHY, J. J. Technical Analysis of the Financial Markets : NYIF, 1999.

[12] CONWAY, M. R.; BEHLE, A. N. Professional Stock Trading - System Design and Automation

: Acme Trader, 2002.

[13] GITMAN, L. J. Princípios de Administração Financeira - 7ł edição : Harbra, 2002.

[14] CHAN, N. hang. Time Series Applications to Finance : John Willey & Sons, 2002.

[15] TSAY, R. S. Analysis of Financial Time Series : John Willey & Sons, 2002.

[16] MATLAB. System Identification Toolbox : http://www.mathworks.com/, 2008.

[17] OGATA, K. Engenharia de Controle Moderno : Addison Wesley, 2003.

[18] FRANKLIN, G. F.; POWELL, J. D.; WORKMAN, M. L. Digital Control of Dynamic Systems

: Addison Wesley, 1997.

[19] GREWAL, M. S.; ANDREWS, A. P. Kalman Filtering: Theory and Practice Using MATLAB

: John Willey & Sons, 2001.

[20] ANDERSON, B. D. O.; MOORE, J. B. Optimal Filtering : Prentice Hall, 1979.

63

ANEXOS

65

I. CÓDIGOS DO PROGRAMA MATLAB

UTILIZADOS NESSE TRABALHO

%gera base de dados gol

% Conectar ao Yahoo.

conn = yahoo;

%capta os dados de fechamento,máximo,minimo,abertura e fechamento do dia 01/01/2001 ate o

dia 25/08/2008

%fechamento.

golclose = fetch(conn,’GOL’,’Close’,’01/01/2001’,’08/25/2008’,’d’);

%maxima.

golhigh = fetch(conn,’GOL’,’High’,’01/01/2001’,’08/25/2008’,’d’);

%minima

gollow = fetch(conn,’GOL’,’Low’,’01/01/2001’,’08/25/2008’,’d’);

%abertura

golopen = fetch(conn,’GOL’,’Open’,’01/01/2001’,’08/25/2008’,’d’);

%fechamento.

golvolume = fetch(conn,’GOL’,’Volume’,’01/01/2001’,’08/25/2008’,’d’);

golteste=[golopen golhigh(:,2) gollow(:,2) golclose(:,2) golvolume(:,2)];

%passa de uma struct para uma matriz comum do Matlab

golfts=fints(golteste);

67