Você está na página 1de 63

Forecasting e Otimizao de F ti Oti i d Carteiras com Matlab

AULA 3

Guia de Estudo para Aula 03


Modelos Discretos
- Formulao de um modelo -P Programao d modelos com f de d l for - A simulao de um modelo - Formas de apresentao do modelo

Exerccios
- Simulao de modelos discretos

Objetivos da Aula
- Aprender function - Simular modelos discretos - uso de variveis globais. - uso de modelos estocsticos.

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

Criar e salvar um programa em Matlab onde est a funo. C s v u p og e b o de es u o. Programar o algoritmo principal do problema. Ligar o principal com a function usando type

function Programa g

Principal

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

Function nome_da_function (parmentro1,...,parmetroN)

nome_da_function=...calculo da funo...

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

A function do problema

Nome no incio obrigatrio

Nome da funo e parmetros de entrada

Mesmo nome da funo


5

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

Programa Principal

Indicao do link do programa p g com a function f

Chamada da funo para o clculo

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

O que uma Si Simulao? l ?

Em sistemas Dinmicos a resoluo de

dx = f (t , x ) dt x ( t 0 ) = x0
Aula 3- Prof. Dr. Marco Antonio Leonel Caetano 7

A Diferenciabilidade e a Previso de Eventos Futuros


x

PONTO DE TANGNCIA

x dx

dt

TEMPO (t)
Aula 3- Prof. Dr. Marco Antonio Leonel Caetano 8

Sistemas Discretos

Aproxima-se um sistema contnuo

dx = f (t , x ) dt x (t0 ) = x0

Pelo sistema discreto l i di


x = f ( t, x ) t

x dx = Lim = f ( t, x ) dt t 0 t

x k +1 x k = f (t k , x k ) t k +1 t k

Supondo tempo discreto de 1 unidade

x k +1 x k = f ( t k , x k )

x k +1 = x k + f ( t k , x k )

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

Problema Exemplo

Simular o seguinte modelo no Matlab (usando function)

x k +1 = x k 0.1x
Com as condies iniciais: t(0) = 0 x(0) = 1 ( ) tempo final = 15

2 k

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

10

A function do problema

Modelo entra aqui na f function i

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

11

Programa Principal

Chamada da function

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

12

Resultado da simulao

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

13

Mtodo de Newton-Raphson

Determina as razes de um polinmio da seguinte forma:

f ( xk ) xk +1 = xk f ' ( xk )
Onde f() o polinmio e f() a derivada.

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

14

Problema 2

Encontrar as razes do polinmio abaixo no Matlab (usando function), pelo mtodo de Newton: ( d f ti ) l t d d N t

f ( x) = x 5 x + 6
2

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

15

Algoritmo

1- chutar 1 h t a semente x0. t 2- h 2 chamar a f function d funo f( ) ti da f f(x). 3- h 3 chamar a f function d d i d f( ) ti da derivada f(x). 4- calcular no o 4 calc lar o novo xk+1. 5 5- calcular a diferena entre o novo xk e antigo xk+1. 6 6- fazer o antigo x igual ao novo.
Aula 3- Prof. Dr. Marco Antonio Leonel Caetano 16

Arquivo ff.m A i ff

f ( x) = x 5 x + 6
2

Arquivo ffL.m

f ' ( x) = 2 x 5
17

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

Programa Principal

Chute inicial

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

18

Com x0 = 0 ...

Com x0 = 10 ... C 0

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

19

Funo do Matlab fsolve()

Encontra as razes de um polinmio pelo mtodo de Newton. A sintaxe :

O smbolo @ chama a function ff.m

Chute inicial

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

20

Dois chutes diferentes

x(0) = 0

x(0) = 10

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

21

Problema 3

Simular o seguinte modelo no Matlab (usando function)

xk +1 = 5sen(0.1xk ) e 0.001xk
Com as condies iniciais: t(0) = 0 x(0) = 1 ( ) tempo final = 15

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

22

A function do problema

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

23

Programa Principal

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

24

Resultado da simulao

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

25

Simulando Modelos de ordem superiores

Modelo
x k +1 = 1.875 + 0.25x k + 0.375 y k y k +1 = 10 2 x k + 0.5 y k x(0) = 2.5 y(0) = 15

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

26

A function do sistema

vetor de variveis do modelo

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

27

Programa Principal

Comando para gerar nova janela de figura

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

28

Subplot(211)

Subplot(212)

Figure 2

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

29

Problema 4

x k +1 = 0.4 x k y k +1 = 0.4 x k 0.5 y k x(0) = 2.5 y(0) = 15

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

30

A function do sistema

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

31

Resultado da simulao

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

32

A estocasticidade entra em cena

O matlab possui geradores de nmeros aleatrios conforme a distribuio de probabilidade desejada. Distribuio Uniforme : i i i i rand d

Distribuio Gaussiana : randn Faz-se necessrio antes a busca de uma semente para g p gerao de nmeros aleatrios. Antes do uso das funes, gera-se a semente da seguinte forma: Uniforme: U if rand(seed, sum(100*clock)) d( d (100* l k)) Gaussiana: randn(seed, sum(100*clock))
Aula 3- Prof. Dr. Marco Antonio Leonel Caetano 33

Processos Estocsticos Sinal no tempo

Estatstica E t t ti (varivel aleatria)

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

34

Busca da semente

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

35

A incerteza no modelo

x k +1 = 0.4 x k + w k y k +1 = 0.4 x k 0.5 y k x(0) = 2.5 y(0) = 15

Onde wk ~N(0,0.42) Incerteza!

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

36

A function modificada

Desvio-padro D i d

Rudo branco gaussiano

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

37

O resultado

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

38

Variveis Globais

So Variveis cujo valores so recebidos no programa principal, mas reconhecidos pelas subrotinas ou functions chamadas durante a execuo.

Comando

Global nome da varivel

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

39

Um Modelo de terremoto para o mercado financeiro

B C (t c t ) y ( t ) = A + B (t c t ) + cos( ln (t c t ) + ) (t c t )

Exemplo
A = 20000; B = -6; C = 19; = 1.33; = 20; = 5.9

tc=242

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

40

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

41

Usando Matlab

Variveis globais

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

42

Na Function

As variveis tambm so indicadas aqui

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

43

A realidade do Crash na Bovespa


25000 20000 15000 10000 5000 0 0 100 200 300 400

Dados reais da Bovespa- Ago/99 a Jun/00 Simulado


Aula 3- Prof. Dr. Marco Antonio Leonel Caetano 44

Caminho aleatrio sem drift

xk +1 = xk + k +1
=0 = desvio da srie tamanho da srie

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

45

Srie histrica ( opes) PetrB28 Jan/2009

1.3

1.2 12

1.1

0.9

0.8

FUTURO U U O ??????

0.7

0.6

500

1000

1500

2000

2500

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

46

Intervalo de Confiana

Lim sup( xk +1 ) = estimativa + z.. k Lim sup( xk +1 ) = estimativa z.. k p(


z : indica o nvel de confiana da distribuio normal

z = 1 -z = 1,96 -z = 3 -Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

69% de confiana f 95% de confiana 99% de confiana f


47

Forecasting

2.5

1.5

0.5 05

95%

68%

-0.5

500

1000

1500

2000

2500

3000

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

48

Forecasting
1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0

Banda de confiana para um desvio padro (68% de confiana)

500

1000

1500

2000

2500

3000

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

49

Forecasting

1.05

0.95

Banda de confiana para 1.96 desvio padro (95% de confiana)

0.9

0.85

0.8 08

0.75 1900 2000 2100 2200 2300 2400 2500 2600 2700 2800 2900
Aula 3- Prof. Dr. Marco Antonio Leonel Caetano 50

Comparao com valor real (verde)


Deteriorao da previso

1.1 1.05 1 0.95 0.9 0.85 0.8 0.75 0 75 0.7 2000 2100 2200 2300 2400 2500 2600 2700 2800 2900

Banda de confiana para 3 desvio padro (99% de confiana)

Tempo (minutos)
Aula 3- Prof. Dr. Marco Antonio Leonel Caetano 51

O Programa

modelo superior inferior

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

52

Caminho aleatrio com drift

xk +1 = + xk + k +1
= = desvio da srie tamanho da srie

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

53

O CASO BOVESPA
REGIO DE INTERESSE
8 7 6 5 4 3 2 1 0 x 10
4

BOVESPA

Supor

= 40

500

1000

1500

2000

2500

3000

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

54

Novo Intervalo de Confiana

Lim sup( xk +1 ) = xk + z.. k Lim sup( xk +1 ) = xk z.. k p(

Ateno: como existe drift ao invs da mdia (que fixa), toma-se cada dado da iterao.

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

55

Clculos errados do intervalo de confiana !

x 10

Feito pela mdia

Lim sup( xk +1 ) = xk + z.. k


0
4

500

1000

1500

Lim sup( xk +1 ) = xk z.. k

x 10

Escolhendo o ltimo dado (fixo) existe uma tendncia que o intervalo no acompanha.

Lim sup( xk +1 ) = x(n) + z.. k Lim sup( xk +1 ) = x(n) z.. k


0 500 1000 1500

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

56

Intervalo de confiana iterativo


necessrio o clculo do valores mximos e mnimos para cada valor k k em cada simulao para a construo do intervalo.
9 8 7 6 5 4 3 2 1 0 x 10
4

k=1 max(1),min(1) max(1) min(1)

500

1000

1500

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

57

Intervalo de confiana iterativo


necessrio o clculo do valores mximos e mnimos para cada valor k k em cada simulao para a construo do intervalo.
9 8 7 6 5 4 3 2 1 0 x 10
4

k 2 k=2 max(2),min(2)

500

1000

1500

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

58

Intervalo de confiana iterativo


necessrio o clculo do valores mximos e mnimos para cada valor k k em cada simulao para a construo do intervalo.
9 8 7 6 5 4 3 2 1 0 x 10
4

k=n max(n),min(n)

500

1000

1500

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

59

Borda dos Intervalos de confiana Aps 20 iteraes, a borda ser:


x 10
4

9 8 7 6 5 4 3 2 1 0

500

1000

1500

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

60

Comparao com dados reais (bovespa)


8 7 6 5 4 3 2 1 0 x 10
4

DADOS REAIS

INTERVALO DE CONFIANA DE 99%

500

1000

1500

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

61

O PROGRAMA

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

62

Aula 3- Prof. Dr. Marco Antonio Leonel Caetano

63