Métodos de Otimização em Finanças com R · 2 Métodos de Otimização ... por um esforço...

Post on 11-Oct-2018

231 views 1 download

Transcript of Métodos de Otimização em Finanças com R · 2 Métodos de Otimização ... por um esforço...

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