Pular para o conteúdo principal

Meu primeiro modelo quantitativo no Rstudio




Olá caros leitores, através deste blog tenho o intuito de compartilhar com vocês insights, modelos estatísticos em linguagem R, além de uma boa dose de reflexões próprias sempre com ênfase no mercado de capitais. Como primeiro passo deste pequeno projeto pessoal (ppp) compartilho com vocês um dos meus primeiros scripts no Rstudio, no qual tenho a finalidade de selecionar uma pequena carteira de ações e calcular os principais indicadores que envolvem a construção de um portfólio, tal como retorno acumulado, drawdown, desvio padrão dos retornos e entre outros.


install.packages("data.table")
install.packages("quantmod")
install.packages("PerformanceAnalytics")
install.packages("TTR")
library(data.table)
library(quantmod)
library(PerformanceAnalytics)
library(TTR)
install.packages("dplyr")
install.packages("PortfolioAnalytics")
library(PortfolioAnalytics)
library(dplyr)

#Primeiro passo é instalar ou ativar as bibliotecas necessárias para a utilização das funções existentes .
#Segundo passo deste modelo simples é definir pela variável tickers e weights os ativos que visamos analisar e os pesos na carteira.
#Isso é feito através da atribuição de um vetor que é um tipo de variável (caixinha) que comporta apenas 1 tipo de elemento.

tickers <- c("ITSA4.SA", "EGIE3.SA", "WEGE3.SA", "KLBN11.SA")
weights <- c(.25, .25, .25, .25)

#Terceiro passo é puxar os dados pela fonte de dados
portfolioprices <- NULL
for(Ticker in tickers) #Para isso é necessário pegar a variável tickers e colocar em loop para automatizar a linha de código abaixo para todos os ativos.

portfolioprices <- cbind(portfolioprices,
                           getSymbols.yahoo(Ticker,from = "2010-01-01",to="2020-05-06",periodicity = "monthly", auto.assign=FALSE)[,4])

portfolioreturns <- na.omit(ROC(portfolioprices, type = "discrete"))
# A função Rate of change (ROC) serve para calcular a taxa de variação em uma serie de dados em x períodos.


#Calcular o índice de referêcia para fazer a comparação com a carteira

benchmarkvalue <- getSymbols.yahoo("BOVA11.SA",from = "2010-01-01",to="2020-05-06",periodicity = "monthly", auto.assign=FALSE)[,4]

benchmarkreturn <- na.omit(ROC(benchmarkvalue, type = "discrete"))


#Calcular retorno do portfólio e plotando gráficos modafocas 

Carteiraretorno <- Return.portfolio(portfolioreturns,weights = weights)
# Usando o serie de dados no tempo e determinando pesos para cada ativo, essa função calcula o retorno do portfólio na mesma periodicidade do retorno dos dados.

CAPM.beta(portfolioreturns, benchmarkreturn, Rf=5/12)
# A função capm.beta usado para identificar o potencial de diversificação, pois verifica o grau de sensibilidade dos ativos em relação ao mercado.

CAPM.jensenAlpha(portfolioreturns,benchmarkreturn,5/12)
# Essa função jensen alpha é o intercepto da equação de regressão de uma CAPM e é o efeito do excesso retorno ajustado para o risco sistemático.

table.AnnualizedReturns(portfolioreturns)
# Essa função calcula o retorno anualizado, desvio padrão anualizado, relação risco-retorno anualizado 

table.CalendarReturns(portfolioreturns) #Retorna os retornos por mês e ano, com o total no final

charts.PerformanceSummary(Carteiraretorno, Rf= 5/12, main = "Carteira By Pablo", geometric = TRUE)
# Retorna gráficos de retorno acumulado, retorno mensal e drawdown

OBS: Para o script funcionar utilize o Rstudio.
Alguma dúvida, sugestão ou pedidos fique a vontade. Obrigado caro leitor até a próxima.

att,

Pablo Amaral









Comentários

Postagens mais visitadas deste blog

Antifrágil: Coisas Que Se Beneficiam Com O Caos - Resenha

O   antifrágil pode perder por um longo tempo impunemente, desde que tenha acertado uma única vez; para o frágil, uma única perda pode ser fatal – Nassim Nicholas Taleb, em “O Antifrágil: coisas que se beneficiam com o caos” Caros leitores, venho hoje trazer uma breve resenha do livro Antifrágil: coisas que se beneficiam com o caos , que tem por objetivo traçar alguns conceitos fundamentais para serem levados para o mercado financeiro e para a vida. Antes de mais nada, é preciso expor a Tríade, a qual segundo o autor, é um mapa para classificar tudo aquilo que importa: FRÁGIL, ROBUSTO, ANTIFRÁGIL O frágil é aquele que sofre danos irreversíveis com adversidades e, portanto, deseja estabilidade e ordem, o robusto tem comportamento em geral neutro, já o antifrágil por sua vez, aprecia a volatilidade e a desordem pois assim, se fortalece. O termo antifrágil, hoje já se popularizou, mas antes das obras do Taleb, o mesmo era desconhecido. Seu significado é o exato...

A Guerra da Arte - Resenha

Olá caros leitores, hoje eu trago uma breve resenha sobre um livro que acabei de finalizar e acredito que o conteúdo dessa obra deva ser compartilhado aqui com vocês, sobretudo pelo fato dele ser um típico livro que "todo mundo deveria ler" porque fala sobre você, eu, todo mundo que pretende ou vai iniciar algum projeto, independente da natureza seja escrever um livro, iniciar uma reeducação alimentar, procurar um emprego... enfim! O autor Steven Pressfield dividi o livro em 3 partes onde ele discorre sobre nosso maior inimigo "A resistência" (desmotivação): na primeira parte ele a define e mostra como ela se manifesta no nosso cotidiano, na segunda parte passa anticorpos para combatê-la e no terceiro mostra o que acontece quando a vencemos e anulamos. A GUERRA DA ARTE Possuímos duas vidas a vivida e não vivida e barreira entre as duas é a resistência. Pressfield fala que "qualquer ato que rejeite a gratificação imediata em favor do crescimento da saúde ...

Como resumir dados quantitativos? Parte II

Olá caros leitores, dando continuidade ao post anterior onde eu falava sobre dados estatísticos básicos hoje falo sobre o conceito de medidas de dispersão. Faixa interquartil O intervalo interquartil foi desenvolvido com a finalidade de avaliar o nível de dispersão dos dados de uma população ou amostra em torno de uma medida central, levando em consideração o ordenamento dos dados em ordem crescente.  Essa medida é encontrado por meio do cálculo dos "quartis" , sendo o primeiro quartil (inferior), o quartil intermediário (mediana) e o terceiro quartil (superior) o intervalo é encontrado pela diferença entre o primeiro quartil e terceiro quartil - > Q3 - Q1. Variância Para compreender o comportamento dos dados (discreto e contínuo) de forma mais objetiva usa-se como complemento na análise de dados a variância e, consequentemente, o desvio padrão. A variância de um conjunto de dados em questão é uma medida estatística que visa informar o "quão dist...