Escolar Documentos
Profissional Documentos
Cultura Documentos
Mtodos de Otimizao
Aplicaes em Finanas
29 de setembro de 2016
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Introduo ao R
Instalao do R
Principais Funes
Instalao de Pacotes
Mtodos de Otimizao
Aplicaes em Finanas
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Software R
O R foi criado originalmente por Ross Ihaka e por Robert Gentleman na Universidade de Auckland, Nova Zelndia, desenvolvido
por um esforo colaborativo por pessoas de todo o mundo. Sendo
ao mesmo tempo uma linguagem de programao e um ambiente
para computao estatstica e grfica.
Trata-se de uma linguagem de programao especializada em
computao com dados. Algumas das suas principais caractersticas so o seu carter gratuito e a sua disponibilidade para uma
gama bastante variada de sistemas operacionais.
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Caractersticas
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Caractersticas
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Caractersticas
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Caractersticas
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Caractersticas
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Caractersticas
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Caractersticas
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Instalao do R
Primeiro Passo
O programa de instalao do R pode ser baixado a partir do
site: The R Project for Statistical Computing.
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Instalao do R
Primeiro Passo
O programa de instalao do R pode ser baixado a partir do
site: The R Project for Statistical Computing.
Devemos escolher o CRAN Mirrors (por exemplo,
Universidade Federal do Paran.
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Instalao do R
Primeiro Passo
O programa de instalao do R pode ser baixado a partir do
site: The R Project for Statistical Computing.
Devemos escolher o CRAN Mirrors (por exemplo,
Universidade Federal do Paran.
Sistema Operacional (por exemplo, Windows)
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Instalao do R
Primeiro Passo
O programa de instalao do R pode ser baixado a partir do
site: The R Project for Statistical Computing.
Devemos escolher o CRAN Mirrors (por exemplo,
Universidade Federal do Paran.
Sistema Operacional (por exemplo, Windows)
Install R for the first time (ltima verso: R.3.3.1 for Windows).
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Instalao do R
Primeiro Passo
O programa de instalao do R pode ser baixado a partir do
site: The R Project for Statistical Computing.
Devemos escolher o CRAN Mirrors (por exemplo,
Universidade Federal do Paran.
Sistema Operacional (por exemplo, Windows)
Install R for the first time (ltima verso: R.3.3.1 for Windows).
Segundo Passo
Abra o programa de instalao do R que acabou de baixar
(selecione o idioma).
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Instalao do R
Primeiro Passo
O programa de instalao do R pode ser baixado a partir do
site: The R Project for Statistical Computing.
Devemos escolher o CRAN Mirrors (por exemplo,
Universidade Federal do Paran.
Sistema Operacional (por exemplo, Windows)
Install R for the first time (ltima verso: R.3.3.1 for Windows).
Segundo Passo
Abra o programa de instalao do R que acabou de baixar
(selecione o idioma).
Clique em Avanar e depois no final Concluir.
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Software R
Ao iniciar o R abrir automaticamente o Console que a janela
na qual os comandos so digitados. Internamente ao Console, se
encontra o prompt, conforme figura abaixo, que um sinal indicador
de que o programa est pronto para receber comando.
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Software R
Uma forma mais fcil de inserir os comandos no R por meio do
script (Arquivo + Novo Script + Janela (Dividir Lado a Lado).
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Interface do R
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Tipos de Dados
Basicamente tem-se quatro tipos de dados no R: nmericos, caracteres, lgicos e nmeros complexos.
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Comandos Bsicos
No R possvel fazer uma atribuio de valores de vrias formas,
conforme o exemplo:
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Comandos Bsicos
O R pode funcionar como uma calculadora executando operaes
matemticas.
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Smbolo
<
>
<=
>=
==
&
|
!
!=
TRUE ou 1
FALSE ou 0
Descrio
Menor
Maior
Menor Igual
Maior Igual
Comparao
E (and)
Ou (or)
No
Diferente
Valor verdadeiro (booleano)
Valor falso (booleano)
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Comandos Bsicos
Na prxima tabela so apresentadas algumas outras operaes
possveis:
Tabela: Funes Matemticas Bsicas
Funo
abs(x)
ceiling(x)
exp(x)
floor(x)
length(x)
log(x)
log(x,a)
max(x)
min(x)
sqrt(x)
Descrio
Valor absoluto de x
Arredondamento de x para o maior valor
Exponencial elevado a x
Arredondamento de x para o menor valor
Nmero de elementos do vetor x
Logaritmo natural de x
Logaritmo de x com base a
Seleciona o maior valor de x
Menor valor de x
Raiz quadrada de x
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Vetores
Vetores so conjuntos de dados unidimensionais. Sua principal
utilidade poder armazenar diversos dados em forma de lista e
aplicar funes e operaes sobre todos os dados pertencentes a
determinado vetor.
Para criar um vetor devemos utilizar o comando c().
Exemplos:
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Vetores
O comando seq() bastante til para a criao de vetores.
Exemplos:
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Vetores
O comando rep() tambm pode ser utilizado para a criao de vetores.
Exemplos:
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Matrizes
Assim como os vetores, h tambm vrias maneiras de se criar
matrizes no R.
A funo matrix() recebe um vetor como argumento e o transforma
em uma matriz de acordo com as dimenses especificadas.
Exemplos:
Figura: Matrizes
Paulo Henrique Sales Guimares
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Matrizes
Algumas operaes bsicas com matrizes:
Tabela: Operaes Bsicas Matrizes
Funo
A%*%B
t(A)
solve(A)
x=solve(A,b)
det(B)
eigen(A)
Descrio
Produto matricial de A por B
Transposta da matriz A
Inversa da matriz A
Resolve o sistema linear Ax=b
Determinante de B
Retorna os autovalores e autovetores de A
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Matrizes
Alguns exemplos de operaes com matrizes:
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Dados Externos
Geralmente, trabalhamos com arquivos salvos sob forma de planilhas, tabelas, etc.Desta forma, precisamos que o R leia estes arquivos, transformando-os em um objeto.
Para que o R reconhea o conjunto de dados do arquivo necessrio que as colunas sejam separadas. Caso isso no ocorra o R
no conseguir separar as colunas e emitir uma mensagem de
erro. Um modo fcil de resolver este problema salvar a planilha
de dados com o formato (.csv) que utiliza virgula (,) como elemento
separador das colunas ou no formato (.txt).
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Dados Externos
Antes de iniciar a entrada de dados no R deve-se alterar o diretrio
no R em que a pasta de trabalho padro com o arquivo de dados
(.csv ou .txt) est salvo (Arquivo - Mudar Diretrio).
Para verificar qual o diretrio use getwd() .
Outra forma de mudar o diretrio por meio do comando:setwd("C:/Documents and Settings/Administrador/Meus documentos/temp1").
Em seguida, devemos dar o comando para que o R carregue o arquivo (.csv ou .txt) no console de trabalho da forma:
dados<-read.table("exemplo.txt",h=T) ou
dados<-read.table("exemplo.csv",h=T).
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Dados Externos
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Dados Externos
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Funes
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Funes
Exemplo:
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Grficos
Outra grande vantagem do R a sua capacidade grfica. Consegue plotar desde grficos bidimensionais simples at grficos tridimensionais mais complexos por meio de comandos bastante simples.
O comando bsico dado por meio da funo plot ().
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Grficos
Exemplo:
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Grficos
Alguns comandos bsicos para grficos:
Tabela: Comandos bsicos para grficos
Argumentos Bsicos
pch( )
lwd( )
lty( )
main( )
xlab( )
ylab( )
text( )
points( )
lines( )
Paulo Henrique Sales Guimares
Descrio
Muda o padro dos pontos
Muda a largura das linhas
Muda o estilo das linhas
Ttulo do grfico
Ttulo do eixo x
Ttulo do eixo y
Adiciona texto
Adiciona pontos
Adiciona linhas
Mtodos de Otimizao em Finanas com R
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Grficos
Exemplo:
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Ajuda do R (Help)
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Ajuda do R (Help)
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Ajuda do R (Help)
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Instalao de Pacotes
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Instalao de Pacotes
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Instalao de Pacotes
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Carregando um Pacote
Carregando um pacote do R:
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Carregando um Pacote
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Citao de Pacote
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Instalao do R
Principais Funes
Instalao de Pacotes
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Otimizao em Finanas
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
1
x
1
y
1y
y(1x)
1
(1x)(1y) .
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
1
x
1
y
1y
y(1x)
1
(1x)(1y) .
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
1
x
1
y
1y
y(1x)
1
(1x)(1y) .
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
1
x
1
y
1y
y(1x)
1
(1x)(1y) .
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
1
x
1
y
1y
y(1x)
1
(1x)(1y) .
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Sempre que se puder razoavelmente assumir que a funo objetivo suave ou pelo menos diferencivel, pode-se utilizar o mtodo
"BFGS"ou "L-BFGS-B", aplicando "Nelder-Mead"apenas em outros
casos, e apenas para tarefas de baixa dimensionalidade.
Todos estes so mtodos da funo optim. Se a funo objetivo
no suave, nenhuma destas abordagens podem ser bem sucedidas.
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
1
x
1
y
1y
y(1x)
1
(1x)(1y) .
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
2
+ (1 x)2 (Ro-
x = y = seq(-1.2,1,0.1)
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
2
+ (1 x)2 (Ro-
x = y = seq(-1.2,1,0.1)
z = outer(x,y,FUN=function(x,y) 100 (y x x)2 + (1 x)2 )
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
2
+ (1 x)2 (Ro-
x = y = seq(-1.2,1,0.1)
z = outer(x,y,FUN=function(x,y) 100 (y x x)2 + (1 x)2 )
persp(x,y,z,theta=150,col="blue")
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
2
+ (1 x)2 (Ro-
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
2
+ (1 x)2 (Ro-
optim(c(-1.2,1),z)
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
2
+ (1 x)2 (Ro-
optim(c(-1.2,1),z)
z = outer(x,y,FUN=function(x,y) 100 (y x x)2 + (1 x)2 )
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
2
+ (1 x)2 (Ro-
optim(c(-1.2,1),z)
z = outer(x,y,FUN=function(x,y) 100 (y x x)2 + (1 x)2 )
persp(x,y,z,theta=150,col="blue")
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
2
+ (1 x)2 (Ro-
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
2
+ (1 x)2 sujeito a:
1 0 x1
1
.
0 1 x2
1
! !
!
!
1 0 x1
1
0
Podendo ser rearranjado da forma:
0 1 x2
1
0
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
2
+ (1 x)2 .
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Linear
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Linear
x1 + x2 = 1
x2 = 4
x1 , x2 0.
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Linear
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Linear
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Linear
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Linear
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Linear
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Linear
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Linear
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Linear
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Linear
Exemplo 3:
Uma empresa de investimentos gerencia recursos de terceiros por
meio da escolha de carteiras de investimento para diversos clientes, baseados em bonds de diversas empresas. Um de seus clientes exige que:
No mais de 25% do total seja aplicado em um nico
investimento.
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Linear
Exemplo 3:
Uma empresa de investimentos gerencia recursos de terceiros por
meio da escolha de carteiras de investimento para diversos clientes, baseados em bonds de diversas empresas. Um de seus clientes exige que:
No mais de 25% do total seja aplicado em um nico
investimento.
Mais de 50% do total deve ser aplicado em ttulos de
maturidade de mais de 10 anos.
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Linear
Exemplo 3:
Uma empresa de investimentos gerencia recursos de terceiros por
meio da escolha de carteiras de investimento para diversos clientes, baseados em bonds de diversas empresas. Um de seus clientes exige que:
No mais de 25% do total seja aplicado em um nico
investimento.
Mais de 50% do total deve ser aplicado em ttulos de
maturidade de mais de 10 anos.
O total aplicado em ttulos de alto risco deve ser no mximo
de 50% do total investido.
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Linear
Ttulos
1
2
3
4
5
6
Retorno Anual
8,7%
9,5%
12,0%
9,0%
13,0%
20,0%
Vencimento (anos)
15
12
8
7
11
5
Risco
Muito baixo
Regular
Alto
Baixo
Alto
Muito alto
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Linear
Variveis de Deciso:
P1 Parcela do total aplicado no ttulo do tipo 1
P2 Parcela do total aplicado no ttulo do tipo 2
P3 Parcela do total aplicado no ttulo do tipo 3
P4 Parcela do total aplicado no ttulo do tipo 4
P5 Parcela do total aplicado no ttulo do tipo 5
P6 Parcela do total aplicado no ttulo do tipo 6
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Linear
Funo objetivo:
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Linear
Funo objetivo:
Max 0, 087P1 + 0, 095P2 + 0, 12P3 + 0, 09P4 + 0, 13P5 + 0, 2P6
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Linear
Funo objetivo:
Max 0, 087P1 + 0, 095P2 + 0, 12P3 + 0, 09P4 + 0, 13P5 + 0, 2P6
Restrio de oramento
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Linear
Funo objetivo:
Max 0, 087P1 + 0, 095P2 + 0, 12P3 + 0, 09P4 + 0, 13P5 + 0, 2P6
Restrio de oramento
P1 + P2 + P3 + P4 + P5 + P6 = 1
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Linear
Funo objetivo:
Max 0, 087P1 + 0, 095P2 + 0, 12P3 + 0, 09P4 + 0, 13P5 + 0, 2P6
Restrio de oramento
P1 + P2 + P3 + P4 + P5 + P6 = 1
Restrio de aplicao
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Linear
Funo objetivo:
Max 0, 087P1 + 0, 095P2 + 0, 12P3 + 0, 09P4 + 0, 13P5 + 0, 2P6
Restrio de oramento
P1 + P2 + P3 + P4 + P5 + P6 = 1
Restrio de aplicao
P1,2,3,4,5,6 6 0, 25
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Linear
Funo objetivo:
Max 0, 087P1 + 0, 095P2 + 0, 12P3 + 0, 09P4 + 0, 13P5 + 0, 2P6
Restrio de oramento
P1 + P2 + P3 + P4 + P5 + P6 = 1
Restrio de aplicao
P1,2,3,4,5,6 6 0, 25
Restrio para o mnimo aplicado
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Linear
Funo objetivo:
Max 0, 087P1 + 0, 095P2 + 0, 12P3 + 0, 09P4 + 0, 13P5 + 0, 2P6
Restrio de oramento
P1 + P2 + P3 + P4 + P5 + P6 = 1
Restrio de aplicao
P1,2,3,4,5,6 6 0, 25
Restrio para o mnimo aplicado
P1 + P2 + P5 > 0, 5
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Linear
Funo objetivo:
Max 0, 087P1 + 0, 095P2 + 0, 12P3 + 0, 09P4 + 0, 13P5 + 0, 2P6
Restrio de oramento
P1 + P2 + P3 + P4 + P5 + P6 = 1
Restrio de aplicao
P1,2,3,4,5,6 6 0, 25
Restrio para o mnimo aplicado
P1 + P2 + P5 > 0, 5
Restrio para o mximo aplicado
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Linear
Funo objetivo:
Max 0, 087P1 + 0, 095P2 + 0, 12P3 + 0, 09P4 + 0, 13P5 + 0, 2P6
Restrio de oramento
P1 + P2 + P3 + P4 + P5 + P6 = 1
Restrio de aplicao
P1,2,3,4,5,6 6 0, 25
Restrio para o mnimo aplicado
P1 + P2 + P5 > 0, 5
Restrio para o mximo aplicado
P3 + P5 + P6 6 0, 5
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Linear
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Inteira
Um problema de Programao Inteira um modelo de programao linear no qual algumas ou todas as variveis do problema pertencem ao conjunto dos nmeros inteiros.
Exemplo:Considere o problema da mochila que pode ser resolvido
usando a programao inteira. Seja um vendedor ambulante quer
encher a mochila de capacidade de peso 105 com itens que tm
os seguintes valores e pesos, de modo a maximizar o seu lucro:
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Inteira
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Quadrtica
f (x) = dT x + 12 xT Dx
sujeito a: AT x x0 ,
em que D uma matriz de coeficientes quadrticos, d um vector
de coeficientes linear, A uma matriz de restries, e x0 um vetor de
valores de restrio.
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Quadrtica
x1 + 2x2 6 2
2x1 + x2 6 3
0 x1 , 0 x2 .
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Programao Quadrtica
No R podemos utilizar o pacote quadprog.
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Se formos variando o nvel de retorno desejado, e a cada vez resolvendo o problema de minimizao da varincia do portflio, ser
gerada uma fronteira que possui, para cada nvel de retorno, o portflio com a menor varincia.A parte superior desta fronteira chamada fronteira eficiente. A prxima figura traz um exemplo de uma
fronteira eficiente composta por sete ativos financeiros.
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Introduo ao R
Mtodos de Otimizao
Aplicaes em Finanas
Referncias
BLOOMFIELD(2014)
Using R for Numerical Analysis in Science and Engineering,University of
Minnesota Minneapolis, USA.
UNC
,R.(2006)
CORNUEJOLS,G.,T UT
U
Optimization Methods in Finance,Carnegie Mellon University, Pittsburgh,
USA.
LACHTERMACHER(2006)
Pesquisa Operacional na Tomada de Decises,Rio de Janeiro:Campus.
MARKOWITZ(1952)
Portfolio selection. The Journal of Finance, v. 7, n. 1, p. 77-91, 1952.