Post on 11-Oct-2018
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Métodos de Otimização em Finanças com R
Paulo Henrique Sales Guimarães
Universidade Federal de Lavras
paulo.guimaraes@des.ufla.br
29 de setembro de 2016
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
3745
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Métodos de Otimização em Finanças com R
1 Introdução ao RInstalação do RPrincipais FunçõesInstalação de Pacotes
2 Métodos de Otimização
3 Aplicações em Finanças
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3746
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Software R
O R foi criado originalmente por Ross Ihaka e por Robert Gentle-man na Universidade de Auckland, Nova Zelândia, desenvolvidopor um esforço colaborativo por pessoas de todo o mundo. Sendoao mesmo tempo uma linguagem de programação e um ambientepara computação estatística e gráfica.Trata-se de uma linguagem de programação especializada emcomputação com dados. Algumas das suas principais caracterís-ticas são o seu caráter gratuito e a sua disponibilidade para umagama bastante variada de sistemas operacionais.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3747
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Características
Software Livre (gratuito)
Código Fonte Aberto
Possui Diversas GUI
Software Colaborativo (pacotes)
Linguagem de Programação
Manipulação e Análise de Dados
Usado em Vários Sistemas Operacionais(UNIX,WINDOWS,etc)
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3748
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Características
Software Livre (gratuito)
Código Fonte Aberto
Possui Diversas GUI
Software Colaborativo (pacotes)
Linguagem de Programação
Manipulação e Análise de Dados
Usado em Vários Sistemas Operacionais(UNIX,WINDOWS,etc)
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3749
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Características
Software Livre (gratuito)
Código Fonte Aberto
Possui Diversas GUI
Software Colaborativo (pacotes)
Linguagem de Programação
Manipulação e Análise de Dados
Usado em Vários Sistemas Operacionais(UNIX,WINDOWS,etc)
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3750
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Características
Software Livre (gratuito)
Código Fonte Aberto
Possui Diversas GUI
Software Colaborativo (pacotes)
Linguagem de Programação
Manipulação e Análise de Dados
Usado em Vários Sistemas Operacionais(UNIX,WINDOWS,etc)
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3751
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Características
Software Livre (gratuito)
Código Fonte Aberto
Possui Diversas GUI
Software Colaborativo (pacotes)
Linguagem de Programação
Manipulação e Análise de Dados
Usado em Vários Sistemas Operacionais(UNIX,WINDOWS,etc)
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3752
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Características
Software Livre (gratuito)
Código Fonte Aberto
Possui Diversas GUI
Software Colaborativo (pacotes)
Linguagem de Programação
Manipulação e Análise de Dados
Usado em Vários Sistemas Operacionais(UNIX,WINDOWS,etc)
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3753
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Características
Software Livre (gratuito)
Código Fonte Aberto
Possui Diversas GUI
Software Colaborativo (pacotes)
Linguagem de Programação
Manipulação e Análise de Dados
Usado em Vários Sistemas Operacionais(UNIX,WINDOWS,etc)
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3754
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Instalação do R
1 Primeiro PassoO programa de instalação do R pode ser baixado a partir dosite: 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 versão: R.3.3.1 for Windows).
2 Segundo PassoAbra o programa de instalação do R que acabou de baixar(selecione o idioma).Clique em Avançar e depois no final Concluir.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3755
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Instalação do R
1 Primeiro PassoO programa de instalação do R pode ser baixado a partir dosite: 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 versão: R.3.3.1 for Windows).
2 Segundo PassoAbra o programa de instalação do R que acabou de baixar(selecione o idioma).Clique em Avançar e depois no final Concluir.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3756
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Instalação do R
1 Primeiro PassoO programa de instalação do R pode ser baixado a partir dosite: 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 versão: R.3.3.1 for Windows).2 Segundo Passo
Abra o programa de instalação do R que acabou de baixar(selecione o idioma).Clique em Avançar e depois no final Concluir.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3757
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Instalação do R
1 Primeiro PassoO programa de instalação do R pode ser baixado a partir dosite: 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 versão: R.3.3.1 for Windows).
2 Segundo PassoAbra o programa de instalação do R que acabou de baixar(selecione o idioma).Clique em Avançar e depois no final Concluir.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3758
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Instalação do R
1 Primeiro PassoO programa de instalação do R pode ser baixado a partir dosite: 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 versão: R.3.3.1 for Windows).
2 Segundo PassoAbra o programa de instalação do R que acabou de baixar(selecione o idioma).
Clique em Avançar e depois no final Concluir.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3759
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Instalação do R
1 Primeiro PassoO programa de instalação do R pode ser baixado a partir dosite: 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 versão: R.3.3.1 for Windows).
2 Segundo PassoAbra o programa de instalação do R que acabou de baixar(selecione o idioma).Clique em Avançar e depois no final Concluir.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3760
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Software RAo iniciar o R abrirá automaticamente o Console que é a janelana qual os comandos são digitados. Internamente ao Console, seencontra o prompt, conforme figura abaixo, que é um sinal indicadorde que o programa está pronto para receber comando.
Figura: Interface do R - Console e Prompt
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3761
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Software RUma forma mais fácil de inserir os comandos no R é por meio doscript (Arquivo + Novo Script + Janela (Dividir Lado a Lado).
Figura: Interface do R - Script
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3762
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Interface do R
R é uma linguagem de expressões com regras e sintaxe muito sim-ples.Faz distinção entre maiúsculas e minúsculas, de modo que os ca-racteres “x” e “X” são interpretados como sendo diferentes.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3763
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Tipos de DadosBasicamente tem-se quatro tipos de dados no R: númericos, carac-teres, lógicos e números complexos.
Figura: Tipos de Dados
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3764
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Comandos BásicosNo R é possível fazer uma atribuição de valores de várias formas,conforme o exemplo:
Figura: Atribuição de ValoresPaulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3765
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Comandos BásicosO R pode funcionar como uma calculadora executando operaçõesmatemáticas.
Figura: Atribuição de Valores
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3766
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Tabela: Operadores Básicos
Símbolo Descrição< Menor> Maior
<= Menor Igual>= Maior Igual== Comparação& E (and)| Ou (or)! Não
!= DiferenteTRUE ou 1 Valor verdadeiro (booleano)FALSE ou 0 Valor falso (booleano)
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3767
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Comandos BásicosNa próxima tabela são apresentadas algumas outras operaçõespossíveis:
Tabela: Funções Matemáticas Básicas
Função Descriçãoabs(x) Valor absoluto de x
ceiling(x) Arredondamento de x para o maior valorexp(x) Exponencial elevado a xfloor(x) Arredondamento de x para o menor valor
length(x) Número de elementos do vetor xlog(x) Logaritmo natural de x
log(x,a) Logaritmo de x com base amax(x) Seleciona o maior valor de xmin(x) Menor valor de xsqrt(x) Raiz quadrada de x
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3768
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
VetoresVetores são conjuntos de dados unidimensionais. Sua principalutilidade é poder armazenar diversos dados em forma de lista eaplicar funções e operações sobre todos os dados pertencentes adeterminado vetor.Para criar um vetor devemos utilizar o comando c().Exemplos:
Figura: VetoresPaulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3769
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Vetores
O comando seq() é bastante útil para a criação de vetores.Exemplos:
Figura: Comando seq()
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3770
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
VetoresO comando rep() também pode ser utilizado para a criação de ve-tores.Exemplos:
Figura: Comando req()
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3771
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
MatrizesAssim como os vetores, há também várias maneiras de se criarmatrizes no R.A função matrix() recebe um vetor como argumento e o transformaem uma matriz de acordo com as dimensões especificadas.Exemplos:
Figura: MatrizesPaulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3772
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Matrizes
Algumas operações básicas com matrizes:
Tabela: Operações Básicas Matrizes
Função DescriçãoA%*%B Produto matricial de A por B
t(A) Transposta da matriz Asolve(A) Inversa da matriz A
x=solve(A,b) Resolve o sistema linear Ax=bdet(B) Determinante de B
eigen(A) Retorna os autovalores e autovetores de A
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3773
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Matrizes
Alguns exemplos de operações com matrizes:
Figura: Exemplos de operações com matrizes
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3774
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Dados Externos
Geralmente, trabalhamos com arquivos salvos sob forma de plani-lhas, tabelas, etc.Desta forma, precisamos que o R leia estes ar-quivos, transformando-os em um objeto.Para que o R reconheça o conjunto de dados do arquivo é neces-sário que as colunas sejam separadas. Caso isso não ocorra o Rnão conseguirá separar as colunas e emitirá uma mensagem deerro. Um modo fácil de resolver este problema é salvar a planilhade dados com o formato (.csv) que utiliza virgula (,) como elementoseparador das colunas ou no formato (.txt).
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3775
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Dados Externos
Antes de iniciar a entrada de dados no R deve-se alterar o diretóriono R em que a pasta de trabalho padrão com o arquivo de dados(.csv ou .txt) está salvo (Arquivo - Mudar Diretório).Para verificar qual é o diretório use getwd() .Outra forma de mudar o diretório é por meio do co-mando:setwd("C:/Documents and Settings/Administrador/Meus do-cumentos/temp1").Em seguida, devemos dar o comando para que o R carregue o ar-quivo (.csv ou .txt) no console de trabalho da forma:dados<-read.table("exemplo.txt",h=T) oudados<-read.table("exemplo.csv",h=T).
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3776
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Dados Externos
No R é muito comum trabalharmos com conjuntos de dados daforma de Data Frame.Estes possuem linhas e colunas, em quecada coluna pode armazenar elementos de diferentes tipos.Assim data.frame é um tipo especial de lista, composta por vetoresde mesmo tamanho, mas que podem ser de classes diferentes:
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3777
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Dados Externos
O R permite acessar um banco de dados disponível na web.Estatarefa é importante,pois facilita o acesso aos dados provenientes dainternet sem a necessidade dos dados serem copiados para algumdiretório e, posteriormente, carregados para o R.Para fazer a leitura usamos: read.table("http://endereço").
Exemplo:read.table("http://www.leg.ufpr.br/ paulo-jus/dados/exemplo02.txt").
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3778
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Funções
Uma das grandes vantagens do R é poder criar (programar) novasfunções. Para fazer uma função são necessários as seguintes atri-buições:nome(da função)<-function(argumento1,...,argumenton).
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3779
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
FunçõesExemplo:
Figura: Função Média
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3780
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Gráficos
Outra grande vantagem do R é a sua capacidade gráfica. Conse-gue plotar desde gráficos bidimensionais simples até gráficos tridi-mensionais mais complexos por meio de comandos bastante sim-ples.O comando básico é dado por meio da função plot ().
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3781
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Gráficos
Exemplo:
Figura: Exemplo de Gráfico Simples
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3782
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
GráficosAlguns comandos básicos para gráficos:
Tabela: Comandos básicos para gráficos
Argumentos Básicos Descriçãopch( ) Muda o padrão dos pontoslwd( ) Muda a largura das linhaslty( ) Muda o estilo das linhas
main( ) Título do gráficoxlab( ) Título do eixo xylab( ) Título do eixo ytext( ) Adiciona texto
points( ) Adiciona pontoslines( ) Adiciona linhas
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3783
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Gráficos
Exemplo:
Figura: Exemplo de Gráfico
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3784
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Ajuda do R (Help)
Em diversos casos precisamos de alguma função ou temos algumadúvida em algum comando do R . Nestes casos existem duas for-mas básicas para descobrir uma função que faça aquilo que vocêdeseja utilizando o help do R.help(nome da função ou comando)ou?(nome da função ou comando).
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3785
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Ajuda do R (Help)
Geralmente, o arquivo de help do R possui 10 tópicos básicos:1) Description - faz um resumo geral sobre o uso da função2) Usage - mostra como a função pode ser utilizada e quais os ar-gumentos que devem ser especificados3) Arguments - explica o que é cada um dos argumentos4) Details - explica alguns detalhes sobre o uso e aplicação da fun-ção5) Value - mostra o que sai no output após usar a função (os resul-tados).
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3786
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Ajuda do R (Help)
6) Note - algumas notas sobre a função7) Authors - lista os autores da função (quem escreveu os códigosem R)8) References - referências para os métodos utilizados9) See also - mostra outras funções relacionadas que podem serconsultadas10) Examples - exemplos do uso da função.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3787
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Instalação de Pacotes
Quando instalarmos o R apenas as configurações mínimas paraseu funcionamento básico são instaladas (pacotes que vem na ins-talação “base”). Para realizar tarefas mais complicadas pode sernecessário instalar pacotes adicionais (packages).Packages ou bibliotecas designam um conjunto de funções (co-mandos) e, ou, dados agregados.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3788
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Instalação de Pacotes
As funções básicas do R estão no pacote chamado base. Há outrasbibliotecas já inclusas no R advindas da instalação padrão.Os pacotes do R são desenvolvidos por usuários do próprio R.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3789
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Instalação de Pacotes
Para fazer a instalação de pacotes do R podemos fazer por meiodo comando: Pacotes + Escolher espelho CRAN (por exemplo, Bra-zil,RJ) + Nome do Pacote)Importante: Podemos fazer a instalação de pacotes também pormeio Install Package(s) from local zip files (arquivo externo).
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3790
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Carregando um PacoteCarregando um pacote do R:
Figura: Carregando PacotePaulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3791
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Carregando um Pacote
Outra forma de carregar um pacote é por meio do comando libraryou require + nome do pacote.Exemplo:library(MASS)require(MASS).
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3792
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Citação de Pacote
No R existe um comando que mostra como citar o R ou um de seuspacotes.Exemplo:citation("MASS")citation()R Development Core Team (2016). R: A language and environmentfor statistical computing. R Foundation for Statistical Computing, Vi-enna, Austria. ISBN 3-900051-07-0, URL http://www.R-project.org/.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3793
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Alguns Pacotes para Otimização
NlcOptim:Resolve problemas de otimização não-linear comrestrições de desigualdade linear e não-linear da igualdade e,implementando um método sequencial de programaçãoquadrática (SQP). Diponível em: CRAN NlcOptim.
dfoptim:Procedimentos de otimização livre de derivativos,contém implementações bastante eficientes R dos algoritmosde Nelder-Mead e Hooke-Jeeves.Diponível em: CRANdfoptim.
maxLik: Métodos de otimização de função deverossimilhança. Diponível em: CRAN maxLik.
limSolve:Encontra o mínimo / máximo de uma função linearou quadrática.Diponível em: CRAN limSolve.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3794
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Alguns Pacotes para Otimização
NlcOptim:Resolve problemas de otimização não-linear comrestrições de desigualdade linear e não-linear da igualdade e,implementando um método sequencial de programaçãoquadrática (SQP). Diponível em: CRAN NlcOptim.
dfoptim:Procedimentos de otimização livre de derivativos,contém implementações bastante eficientes R dos algoritmosde Nelder-Mead e Hooke-Jeeves.Diponível em: CRANdfoptim.
maxLik: Métodos de otimização de função deverossimilhança. Diponível em: CRAN maxLik.
limSolve:Encontra o mínimo / máximo de uma função linearou quadrática.Diponível em: CRAN limSolve.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3795
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Alguns Pacotes para Otimização
NlcOptim:Resolve problemas de otimização não-linear comrestrições de desigualdade linear e não-linear da igualdade e,implementando um método sequencial de programaçãoquadrática (SQP). Diponível em: CRAN NlcOptim.
dfoptim:Procedimentos de otimização livre de derivativos,contém implementações bastante eficientes R dos algoritmosde Nelder-Mead e Hooke-Jeeves.Diponível em: CRANdfoptim.
maxLik: Métodos de otimização de função deverossimilhança. Diponível em: CRAN maxLik.
limSolve:Encontra o mínimo / máximo de uma função linearou quadrática.Diponível em: CRAN limSolve.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3796
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Alguns Pacotes para Otimização
NlcOptim:Resolve problemas de otimização não-linear comrestrições de desigualdade linear e não-linear da igualdade e,implementando um método sequencial de programaçãoquadrática (SQP). Diponível em: CRAN NlcOptim.
dfoptim:Procedimentos de otimização livre de derivativos,contém implementações bastante eficientes R dos algoritmosde Nelder-Mead e Hooke-Jeeves.Diponível em: CRANdfoptim.
maxLik: Métodos de otimização de função deverossimilhança. Diponível em: CRAN maxLik.
limSolve:Encontra o mínimo / máximo de uma função linearou quadrática.Diponível em: CRAN limSolve.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3797
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Alguns Pacotes para Otimização
NMOF:Fornece implementações de vários métodos deotimização. Diponível em: CRAN NMOF.
Rsolnp: Utiliza o método do multiplicador de Lagrangeaumentado.Diponível em: CRAN Rsolnp.
lpSolve: Programação linear, inteira, problemas de atribuiçãoe de transporte. Diponível em: CRAN lpSolve.
nloptr:Problemas de otimização não linear.Diponível em:CRAN nloptr.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3798
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Alguns Pacotes para Otimização
NMOF:Fornece implementações de vários métodos deotimização. Diponível em: CRAN NMOF.
Rsolnp: Utiliza o método do multiplicador de Lagrangeaumentado.Diponível em: CRAN Rsolnp.
lpSolve: Programação linear, inteira, problemas de atribuiçãoe de transporte. Diponível em: CRAN lpSolve.
nloptr:Problemas de otimização não linear.Diponível em:CRAN nloptr.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3799
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Alguns Pacotes para Otimização
NMOF:Fornece implementações de vários métodos deotimização. Diponível em: CRAN NMOF.
Rsolnp: Utiliza o método do multiplicador de Lagrangeaumentado.Diponível em: CRAN Rsolnp.
lpSolve: Programação linear, inteira, problemas de atribuiçãoe de transporte. Diponível em: CRAN lpSolve.
nloptr:Problemas de otimização não linear.Diponível em:CRAN nloptr.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3800
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Instalação do RPrincipais FunçõesInstalação de Pacotes
Alguns Pacotes para Otimização
NMOF:Fornece implementações de vários métodos deotimização. Diponível em: CRAN NMOF.
Rsolnp: Utiliza o método do multiplicador de Lagrangeaumentado.Diponível em: CRAN Rsolnp.
lpSolve: Programação linear, inteira, problemas de atribuiçãoe de transporte. Diponível em: CRAN lpSolve.
nloptr:Problemas de otimização não linear.Diponível em:CRAN nloptr.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3801
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Otimização em Finanças
Inúmeros problemas em Finanças envolvem encontrar mínimo emáximo de funções multidimensionais. Estes podem ser definidoscomo problemas de otimização.No R existem três funções na instalação base para problemas deotimização: optimize( ) para problemas unidimensionais, optim ( )para problemas multidimensionais, e constrOptim( ) paraotimização com restrições lineares.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3802
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Uma Variável
Exemplo 1: Otimizar a função f (x) = xsen(4x).
f = function(x) x*sin(4*x)
curve(f,0,3)
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3803
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Uma Variável
Exemplo 1: Otimizar a função f (x) = xsen(4x).
f = function(x) x*sin(4*x)
curve(f,0,3)
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3804
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Uma VariávelExemplo: Otimizar a função f (x) = xsen(4x).
Figura: Gráfico função f(x)Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3805
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Uma Variável
Exemplo 1 : Otimizar a função f (x) = xsen(4x).
optimize(f,c(0,3))
min1 = 1,228297
optimize(f,c(1.5,3))
min2 = 2,771403
optimize(f,c(1,3),maximum=TRUE)
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3806
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Uma Variável
Exemplo 1 : Otimizar a função f (x) = xsen(4x).
optimize(f,c(0,3))
min1 = 1,228297
optimize(f,c(1.5,3))
min2 = 2,771403
optimize(f,c(1,3),maximum=TRUE)
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3807
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Uma Variável
Exemplo 1 : Otimizar a função f (x) = xsen(4x).
optimize(f,c(0,3))
min1 = 1,228297
optimize(f,c(1.5,3))
min2 = 2,771403
optimize(f,c(1,3),maximum=TRUE)
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3808
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Uma Variável
Exemplo 1 : Otimizar a função f (x) = xsen(4x).
optimize(f,c(0,3))
min1 = 1,228297
optimize(f,c(1.5,3))
min2 = 2,771403
optimize(f,c(1,3),maximum=TRUE)
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3809
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Uma Variável
Exemplo 1 : Otimizar a função f (x) = xsen(4x).
optimize(f,c(0,3))
min1 = 1,228297
optimize(f,c(1.5,3))
min2 = 2,771403
optimize(f,c(1,3),maximum=TRUE)
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3810
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Uma Variável
Exemplo 1: Otimizar a função f (x) = xsen(4x).
require(pracma)
f.mins = findmins(f,0,3)
1,228312 e 2,771382
f(f.mins[1:2])
-1,203617 e -2,760177
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3811
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Uma Variável
Exemplo 1: Otimizar a função f (x) = xsen(4x).
require(pracma)
f.mins = findmins(f,0,3)
1,228312 e 2,771382
f(f.mins[1:2])
-1,203617 e -2,760177
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3812
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Uma Variável
Exemplo 1: Otimizar a função f (x) = xsen(4x).
require(pracma)
f.mins = findmins(f,0,3)
1,228312 e 2,771382
f(f.mins[1:2])
-1,203617 e -2,760177
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3813
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Uma Variável
Exemplo 1: Otimizar a função f (x) = xsen(4x).
require(pracma)
f.mins = findmins(f,0,3)
1,228312 e 2,771382
f(f.mins[1:2])
-1,203617 e -2,760177
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3814
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Uma Variável
Exemplo 1: Otimizar a função f (x) = xsen(4x).
require(pracma)
f.mins = findmins(f,0,3)
1,228312 e 2,771382
f(f.mins[1:2])
-1,203617 e -2,760177
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3815
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Várias Variáveis
Exemplo 2: Otimizar a função f (x, y) = 1x +
1y +
1−yy(1−x) +
1(1−x)(1−y) .
(Hanna and Sandall, p. 191).
x e y são frações molares (entre 0 e 1)
x = y = seq(0.1,0.9,0.01)
z = outer(x,y,FUN=function(x,y) 1/x + 1/y +(1-y)/(y*(1-x1)) +1/((1-x)*(1-y)))
persp(x,y,z,theta=45,phi=0,col="green")
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3816
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Várias Variáveis
Exemplo 2: Otimizar a função f (x, y) = 1x +
1y +
1−yy(1−x) +
1(1−x)(1−y) .
(Hanna and Sandall, p. 191).
x e y são frações molares (entre 0 e 1)
x = y = seq(0.1,0.9,0.01)
z = outer(x,y,FUN=function(x,y) 1/x + 1/y +(1-y)/(y*(1-x1)) +1/((1-x)*(1-y)))
persp(x,y,z,theta=45,phi=0,col="green")
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3817
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Várias Variáveis
Exemplo 2: Otimizar a função f (x, y) = 1x +
1y +
1−yy(1−x) +
1(1−x)(1−y) .
(Hanna and Sandall, p. 191).
x e y são frações molares (entre 0 e 1)
x = y = seq(0.1,0.9,0.01)
z = outer(x,y,FUN=function(x,y) 1/x + 1/y +(1-y)/(y*(1-x1)) +1/((1-x)*(1-y)))
persp(x,y,z,theta=45,phi=0,col="green")
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3818
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Várias Variáveis
Exemplo 2: Otimizar a função f (x, y) = 1x +
1y +
1−yy(1−x) +
1(1−x)(1−y) .
(Hanna and Sandall, p. 191).
x e y são frações molares (entre 0 e 1)
x = y = seq(0.1,0.9,0.01)
z = outer(x,y,FUN=function(x,y) 1/x + 1/y +(1-y)/(y*(1-x1)) +1/((1-x)*(1-y)))
persp(x,y,z,theta=45,phi=0,col="green")
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3819
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Várias Variáveis
Exemplo 2: Otimizar a função f (x, y) = 1x +
1y +
1−yy(1−x) +
1(1−x)(1−y) .
(Hanna and Sandall, p. 191).
Figura: Gráfico função f(x,y)Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3820
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Várias Variáveis
Sempre que se puder razoavelmente assumir que a função obje-tivo é suave ou pelo menos diferenciável, pode-se utilizar o método"BFGS"ou "L-BFGS-B", aplicando "Nelder-Mead"apenas em outroscasos, e apenas para tarefas de baixa dimensionalidade.Todos estes são métodos da função optim. Se a função objetivo énão suave, nenhuma destas abordagens podem ser bem sucedi-das.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3821
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Várias Variáveis
optim(par, fn, gr = NULL, ..., method = c("Nelder-Mead", "BFGS","CG", "L-BFGS-B", "SANN", "Brent"),lower = -Inf, upper = Inf, con-trol = list(), hessian = FALSE)
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3822
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Várias Variáveis
Exemplo 2: Otimizar a função f (x, y) = 1x +
1y +
1−yy(1−x) +
1(1−x)(1−y) .
Figura: Otimização f(x,y)
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3823
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Várias Variáveis
Exemplo 3: Otimizar a função z(x, y) = 100(y − x2
)2+ (1 − x)2 (Ro-
senbrock “Banana function").
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")
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3824
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Várias Variáveis
Exemplo 3: Otimizar a função z(x, y) = 100(y − x2
)2+ (1 − x)2 (Ro-
senbrock “Banana function").
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")
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3825
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Várias Variáveis
Exemplo 3: Otimizar a função z(x, y) = 100(y − x2
)2+ (1 − x)2 (Ro-
senbrock “Banana function").
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")
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3826
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Várias Variáveis
Exemplo 3: Otimizar a função z(x, y) = 100(y − x2
)2+ (1 − x)2 (Ro-
senbrock “Banana function").
Figura: Otimização z(x,y)Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3827
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Várias Variáveis
Exemplo 3: Otimizar a função z(x, y) = 100(y − x2
)2+ (1 − x)2 (Ro-
senbrock “Banana function").
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")
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3828
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Várias Variáveis
Exemplo 3: Otimizar a função z(x, y) = 100(y − x2
)2+ (1 − x)2 (Ro-
senbrock “Banana function").
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")
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3829
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Várias Variáveis
Exemplo 3: Otimizar a função z(x, y) = 100(y − x2
)2+ (1 − x)2 (Ro-
senbrock “Banana function").
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")
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3830
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Várias Variáveis
Exemplo 3: Otimizar a função z(x, y) = 100(y − x2
)2+ (1 − x)2 (Ro-
senbrock “Banana function").
Figura: Otimização z(x,y)
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3831
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Otimização com restrições
Na base do R tem a fução constrOptim que permite minimizar umafunção com p parâmetros desconhecidos sujeito a k restrições dedesigualdade lineares. Ele usa a função optim para fazer a maiorparte do cálculo, mas acrescenta uma barreira logarítmica para im-por as restrições.constrOptim(theta, f, grad, ui, ci, mu = 1e-04, control = list(),method= if(is.null(grad)) "Nelder-Mead"else "BFGS",outer.iterations = 100,outer.eps = 1e-05, ...,hessian = FALSE)
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3832
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Otimização com restrições
Exemplo 4:Minimizar z(x, y) = 100(y − x2
)2+ (1 − x)2 sujeito a:(
1 00 1
) (x1x2
)≤
(11
).
Podendo ser rearranjado da forma:(−1 00 −1
) (x1x2
)−
(−1−1
)≥
(00
)
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3833
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Função de Várias Variáveis
Exemplo 4:Minimizar z(x, y) = 100(y − x2
)2+ (1 − x)2.
Figura: Otimização z(x,y)Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3834
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Linear
Há inúmeros pacotes no R que permitem trabalhar com a progra-mação linear.Exemplos de pacotes:intpoint, lpSolve,Rglpk,e Rsymphony.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3835
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Linear
O pacote intpoint de programação linear utiliza o método do pontointerior e gráfico (duas dimensões)para resolver problemas.Exemplo 1: max Z = x1 + 2x2sujeito a:x1 + x2 = 1x2 = 4x1, x2 ≥ 0.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3836
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Linear
Figura: Método Gráfico
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3837
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Linear
Exemplo 2: max Z = 500m1 + 400m2sujeito a:20m1 + 20m2 ≤ 1005m1 + 30m2 ≤ 5015m1 + 7m2 ≤ 60m1,m2 ≥ 0.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3838
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Linear
Utilizando o pacote lpSolve com a função lp temos que definir:
Função objetivo
Matriz de restrições
Tipos de desigualdades
Lado direito das desigualdades.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3839
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Linear
Utilizando o pacote lpSolve com a função lp temos que definir:
Função objetivo
Matriz de restrições
Tipos de desigualdades
Lado direito das desigualdades.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3840
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Linear
Utilizando o pacote lpSolve com a função lp temos que definir:
Função objetivo
Matriz de restrições
Tipos de desigualdades
Lado direito das desigualdades.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3841
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Linear
Utilizando o pacote lpSolve com a função lp temos que definir:
Função objetivo
Matriz de restrições
Tipos de desigualdades
Lado direito das desigualdades.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3842
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Linear
Utilizando o pacote lpSolve com a função lp temos que definir:
Função objetivo
Matriz de restrições
Tipos de desigualdades
Lado direito das desigualdades.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3843
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Linear
Figura: Programação linear no R
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3844
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Linear
Exemplo 3:Uma empresa de investimentos gerencia recursos de terceiros pormeio da escolha de carteiras de investimento para diversos clien-tes, baseados em bonds de diversas empresas. Um de seus clien-tes exige que:
Não mais de 25% do total seja aplicado em um únicoinvestimento.
Mais de 50% do total deve ser aplicado em títulos dematuridade de mais de 10 anos.
O total aplicado em títulos de alto risco deve ser no máximode 50% do total investido.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3845
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Linear
Exemplo 3:Uma empresa de investimentos gerencia recursos de terceiros pormeio da escolha de carteiras de investimento para diversos clien-tes, baseados em bonds de diversas empresas. Um de seus clien-tes exige que:
Não mais de 25% do total seja aplicado em um únicoinvestimento.
Mais de 50% do total deve ser aplicado em títulos dematuridade de mais de 10 anos.
O total aplicado em títulos de alto risco deve ser no máximode 50% do total investido.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3846
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Linear
Exemplo 3:Uma empresa de investimentos gerencia recursos de terceiros pormeio da escolha de carteiras de investimento para diversos clien-tes, baseados em bonds de diversas empresas. Um de seus clien-tes exige que:
Não mais de 25% do total seja aplicado em um únicoinvestimento.
Mais de 50% do total deve ser aplicado em títulos dematuridade de mais de 10 anos.
O total aplicado em títulos de alto risco deve ser no máximode 50% do total investido.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3847
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Linear
Tabela: Títulos Selecionados
Títulos Retorno Anual Vencimento (anos) Risco1 8,7% 15 Muito baixo2 9,5% 12 Regular3 12,0% 8 Alto4 9,0% 7 Baixo5 13,0% 11 Alto6 20,0% 5 Muito alto
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3848
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Linear
Variáveis de Decisão:– P1 – Parcela do total aplicado no título do tipo 1– P2 – Parcela do total aplicado no título do tipo 2– P3 – Parcela do total aplicado no título do tipo 3– P4 – Parcela do total aplicado no título do tipo 4– P5 – Parcela do total aplicado no título do tipo 5– P6 – Parcela do total aplicado no título do tipo 6
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3849
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Linear
Função objetivo:
Max 0, 087P1 + 0, 095P2 + 0, 12P3 + 0, 09P4 + 0, 13P5 + 0, 2P6
Restrição de orçamentoP1 + P2 + P3 + P4 + P5 + P6 = 1
Restrição de aplicaçãoP1,2,3,4,5,6 6 0, 25
Restrição para o mínimo aplicadoP1 + P2 + P5 > 0, 5
Restrição para o máximo aplicadoP3 + P5 + P6 6 0, 5
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3850
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Linear
Função objetivo:Max 0, 087P1 + 0, 095P2 + 0, 12P3 + 0, 09P4 + 0, 13P5 + 0, 2P6
Restrição de orçamentoP1 + P2 + P3 + P4 + P5 + P6 = 1
Restrição de aplicaçãoP1,2,3,4,5,6 6 0, 25
Restrição para o mínimo aplicadoP1 + P2 + P5 > 0, 5
Restrição para o máximo aplicadoP3 + P5 + P6 6 0, 5
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3851
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Linear
Função objetivo:Max 0, 087P1 + 0, 095P2 + 0, 12P3 + 0, 09P4 + 0, 13P5 + 0, 2P6
Restrição de orçamento
P1 + P2 + P3 + P4 + P5 + P6 = 1
Restrição de aplicaçãoP1,2,3,4,5,6 6 0, 25
Restrição para o mínimo aplicadoP1 + P2 + P5 > 0, 5
Restrição para o máximo aplicadoP3 + P5 + P6 6 0, 5
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3852
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Linear
Função objetivo:Max 0, 087P1 + 0, 095P2 + 0, 12P3 + 0, 09P4 + 0, 13P5 + 0, 2P6
Restrição de orçamentoP1 + P2 + P3 + P4 + P5 + P6 = 1
Restrição de aplicaçãoP1,2,3,4,5,6 6 0, 25
Restrição para o mínimo aplicadoP1 + P2 + P5 > 0, 5
Restrição para o máximo aplicadoP3 + P5 + P6 6 0, 5
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3853
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Linear
Função objetivo:Max 0, 087P1 + 0, 095P2 + 0, 12P3 + 0, 09P4 + 0, 13P5 + 0, 2P6
Restrição de orçamentoP1 + P2 + P3 + P4 + P5 + P6 = 1
Restrição de aplicação
P1,2,3,4,5,6 6 0, 25
Restrição para o mínimo aplicadoP1 + P2 + P5 > 0, 5
Restrição para o máximo aplicadoP3 + P5 + P6 6 0, 5
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3854
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Linear
Função objetivo:Max 0, 087P1 + 0, 095P2 + 0, 12P3 + 0, 09P4 + 0, 13P5 + 0, 2P6
Restrição de orçamentoP1 + P2 + P3 + P4 + P5 + P6 = 1
Restrição de aplicaçãoP1,2,3,4,5,6 6 0, 25
Restrição para o mínimo aplicadoP1 + P2 + P5 > 0, 5
Restrição para o máximo aplicadoP3 + P5 + P6 6 0, 5
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3855
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Linear
Função objetivo:Max 0, 087P1 + 0, 095P2 + 0, 12P3 + 0, 09P4 + 0, 13P5 + 0, 2P6
Restrição de orçamentoP1 + P2 + P3 + P4 + P5 + P6 = 1
Restrição de aplicaçãoP1,2,3,4,5,6 6 0, 25
Restrição para o mínimo aplicado
P1 + P2 + P5 > 0, 5
Restrição para o máximo aplicadoP3 + P5 + P6 6 0, 5
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3856
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Linear
Função objetivo:Max 0, 087P1 + 0, 095P2 + 0, 12P3 + 0, 09P4 + 0, 13P5 + 0, 2P6
Restrição de orçamentoP1 + P2 + P3 + P4 + P5 + P6 = 1
Restrição de aplicaçãoP1,2,3,4,5,6 6 0, 25
Restrição para o mínimo aplicadoP1 + P2 + P5 > 0, 5
Restrição para o máximo aplicadoP3 + P5 + P6 6 0, 5
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3857
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Linear
Função objetivo:Max 0, 087P1 + 0, 095P2 + 0, 12P3 + 0, 09P4 + 0, 13P5 + 0, 2P6
Restrição de orçamentoP1 + P2 + P3 + P4 + P5 + P6 = 1
Restrição de aplicaçãoP1,2,3,4,5,6 6 0, 25
Restrição para o mínimo aplicadoP1 + P2 + P5 > 0, 5
Restrição para o máximo aplicado
P3 + P5 + P6 6 0, 5
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3858
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Linear
Função objetivo:Max 0, 087P1 + 0, 095P2 + 0, 12P3 + 0, 09P4 + 0, 13P5 + 0, 2P6
Restrição de orçamentoP1 + P2 + P3 + P4 + P5 + P6 = 1
Restrição de aplicaçãoP1,2,3,4,5,6 6 0, 25
Restrição para o mínimo aplicadoP1 + P2 + P5 > 0, 5
Restrição para o máximo aplicadoP3 + P5 + P6 6 0, 5
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3859
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Linear
Figura: Retorno da carteira
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3860
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Inteira
Um problema de Programação Inteira é um modelo de programa-ção linear no qual algumas ou todas as variáveis do problema per-tencem ao conjunto dos números inteiros.Exemplo:Considere o problema da mochila que pode ser resolvidousando a programação inteira. Seja um vendedor ambulante querencher a mochila de capacidade de peso 105 com itens que têmos seguintes valores e pesos, de modo a maximizar o seu lucro:
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3861
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Inteira
Figura: Programação inteira no R
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3862
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Quadrática
A programação quadrática visa otimizar uma função quadrática devárias variáveis sujeitas a restrições lineares sobre essas. Isto é,desejamos minimizar a função:
f (x) = −dTx + 12 xTDx
sujeito a: ATx ≥ x0,
em que D é uma matriz de coeficientes quadráticos, d um vectorde coeficientes linear, A uma matriz de restrições, e x0 um vetor devalores de restrição.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3863
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação Quadrática
Exemplo 4: f(x) = f (x) = 12 x2
1 + x22 − x1x2 − 2x1 − 6x2
sujeito a: x1 + x2 6 2− x1 + 2x2 6 22x1 + x2 6 30 ≤ x1, 0 ≤ x2.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3864
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Programação QuadráticaNo R podemos utilizar o pacote quadprog.
Figura: Programação quadrática no R
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3865
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Otimização de Portfólio (Carteiras)
A teoria moderna do portfólio, ou simplesmente teoria do portfólio,busca entender como investidores racionais irão usar o princípioda diversificação para otimizar as suas carteiras de investimentos,e como um ativo arriscado deve ser precificado.O trabalho pioneiro na área de otimização de portfólio foi à propo-sição do modelo média-variância por Markowitz (1952).A teoria doportfólio estabelece que decisões relacionadas à seleção de inves-timentos devam ser tomadas com base na relação risco-retorno.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3866
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Otimização de Portfólio (Carteiras)
De acordo com o modelo Markowitz (1952):1 - O retorno da carteira é a combinação ponderada da proporçãode retorno dos ativos que a constituem.2 - A volatilidade da carteira é uma função da correlação ρ dosativos componentes. A alteração na volatilidade é não-linear com amudanças na ponderação dos ativos componentes.A principal motivação para o desenvolvimento destes modelos serelaciona à redução do risco a que o investidor está exposto, pormeio da diversificação ou balanceamento da carteira.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3867
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Otimização de Portfólio (Carteiras)
Se formos variando o nível de retorno desejado, e a cada vez re-solvendo o problema de minimização da variância do portfólio, serágerada uma fronteira que possui, para cada nível de retorno, o port-fólio com a menor variância.A parte superior desta fronteira é cha-mada fronteira eficiente. A próxima figura traz um exemplo de umafronteira eficiente composta por sete ativos financeiros.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3868
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Otimização de Portfólio (Carteiras)Para construir este gráfico ver aqui.
Figura: Fronteira EficientePaulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3869
Anais do XLVIII SBPO Simpósio Brasileiro de Pesquisa Operacional
Vitória, ES, 27 a 30 de setembro de 2016.
Introdução ao RMétodos de Otimização
Aplicações em Finanças
Referências
BLOOMFIELD(2014)Using R for Numerical Analysis in Science and Engineering,University ofMinnesota Minneapolis, USA.
CORNUEJOLS,G.,TUTUNCU,R.(2006)Optimization Methods in Finance,Carnegie Mellon University, Pittsburgh,USA.
LACHTERMACHER(2006)Pesquisa Operacional na Tomada de Decisões,Rio de Janeiro:Campus.
MARKOWITZ(1952)Portfolio selection. The Journal of Finance, v. 7, n. 1, p. 77-91, 1952.
Paulo Henrique Sales Guimarães Métodos de Otimização em Finanças com R
3870