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...

FUNDOS QUANTITATIVOS

Olá caros leitores, hoje eu trago um conceito interessante e que vem assumindo cada vez mais espaço no cenário do mercado financeiro brasileiro que são os fundos quantitativos. O que são? Quais vantagens e desvantagens?  E claro, se vale a pena? O que são fundos quantitativos? São fundos de investimento que utilizam estratégias automatizadas com base em análises matemáticas e algoritmos tendo como principal atuação operações de arbitragem, analisando os históricos de mercado para identificar assimetria de preços. Portanto, esse tipo de instrumento são belas opções de diversificação caracterizando-se como fundo multimercado, apesar de ser algo novo no Brasil temos grandes atuantes como a  Kadima Asset Management  e  Giant Steps Capital .  Quais as maiores vantagens deste tipo de aplicação? Ao meu ver é o uso da matemática e estatística para automatizar processos, desse modo é possível anular consideravelmente os vieses cognitivos na tomada de decisão...

O que é uma carteira de mercado e modelo CAPM?

O que é uma carteira de mercado? Se trata de uma carteira de ativos que podem ser ações, fundos, títulos públicos ou privados, entre outros. Esse tipo de composição permite uma diversificação maior de aplicações financeiras e níveis de risco trazendo uma diminuição maior da volatilidade e uma possível anulação do risco não-sistemático (diversificável). Por que calcular uma carteira de mercado? No mercado financeiro um dos mais famosos modelos de precificação de ativos é o Capital Asset Pricing Model (CAPM) que tem a finalidade de identificar o valor de um ativo financeiro por meio da definição de risco versus retorno esperado, além de determinar a taxa de retorno teórico apropriada para um ativo inserido em uma carteira devidamente diversificada. Como funciona o cálculo do CAPM? Assim como qualquer modelo matemático utiliza-se fórmulas. É a seguinte: R cp  = R lr  + ß x (R m  - R lr ) Nessa fórmula temos 5 elementos: - R cp  é o custo do capital ...