A análise da performance e do risco de ativos financeiros se compreende em uma importante maneira de assegurar ganhos no mercado financeiro. O que acontece em diversos casos, é que muitos se embarram em uma complexidade de cálculos para realizar essa avaliação. Para isso, o pacote {PerformanceAnalytics} traz de forma simples e fácil, uma forma de realizar a avaliação de ativos financeiros. Neste texto, iremos dar exemplos de códigos na construção de gráficos úteis que o pacote oferece.
Primeiramente, devemos coletar os dados necessários para realizar a análise. Para isso, iremos utilizar o pacote {quantmod} para retirar os preços ajustados das ações preferenciais do Itaú, tomado aqui somente como exemplo de forma aleatória. Para Benchmark, iremos utilizar o IBOVESPA.
# Carrega os pacotes necessários library(PerformanceAnalytics) library(quantmod) library(tidyverse)
## Coleta os Preços das ações utilizando a função getSymbols() do pacote {quantmod}
ticker <- c("ITUB4.SA", "^BVSP") # Ticker dos ativos que iremos utilizar
start = "2010-12-31" # Data de referência da série que iremos utilizar
getSymbols(ticker,
src= 'yahoo',
from = start,
auto.assign = TRUE,
warnings = FALSE)
## Transforma os preços em Retornos Mensais
itau <- ITUB4.SA$ITUB4.SA.Adjusted %>%
to.monthly(indexAt = "last",
OHLC = FALSE) %>%
Return.calculate(method = "log") %>%
na.omit()
ibov <- BVSP$BVSP.Adjusted %>%
to.monthly(indexAt = "last",
OHLC = FALSE) %>%
Return.calculate(method = "log") %>%
na.omit()
returns <- merge(itau, ibov, all = TRUE) # Junta em um data.frame os retornos do Itaú e do IBOVESPA
O primeiro gráfico que podemos utilizar é o chart.RollingMean(). Ele permite que façamos uma visualização do retorno médio do ativo ao longo do tempo.
chart.RollingMean(itau)
Logo em seguida, podemos utilizar a função charts.PerformanceSummary(), para visualizar a série do retorno acumulado dos ativos desde a data de referência, o retorno mensal dos ativos e o Drawndown.
charts.PerformanceSummary(returns,
colorset = redfocus,
legend.loc = "topleft"
)
Outro gráfico muito útil é o charts.RollingRegression(), que nos retorna um gráfico de regressão ao longo do tempo do seu ativo de escolha em relação a outro qualquer ativo ou Benchmark, permitindo visualizar o Alpha, o Beta e o R².
charts.RollingRegression(Ra = returns$ITUB4.SA.Adjusted, # Retorno da variável dependente
Rb = returns$BVSP.Adjusted, # Retorno da variável independente
width = 12, # Período para aplicar a janela da rolling regression
colorset = redfocus,
legend.loc = "topright"
)
Por fim, para visualizar de maneira geral o risco do ativo, podemos utilizar a função charts.RollingPerformance(), que exibe o desvio-padrão, o Índice de Sharpe, bem como também retorno anual dos ativos.
charts.RollingPerformance(R = returns,
width = 12,
Rf = 0, # Retorno do ativo livre de risco. Utilizamos 0 aqui apenas para fins didáticos.
colorset = redfocus,
legend.loc = "topleft"
)
De forma rápida e condensada, conseguimos visualizar a performance e o risco dos ativos. O pacote também oferece diversos outros cálculos e gráficos para a avaliação de ativos financeiros.
________________________
(*) Para entender mais sobre Mercado Financeiro e aprender como realizar a coleta, tratamento e visualização de dados financeiros, confira nosso curso de R para o Mercado Financeiro.



