Tag

portfólios Archives - Análise Macro

Calculando o Historical VaR

By | mercado financeiro

O Historical Value at Risk é um método de calculo para mensurar da perda monetária de um determinado portfólio, utilizando como base os valores passados dos ativos e de seus respectivos retornos, criando uma série de Profits e Losses (P&L) que é tomada a um dado nível de intervalo para mensurar a perda potencial.

Assim como o Gaussian Value at Risk, o método Historical é uma das formas mais simples para se calcular o VaR. A diferença é que para o segundo método é necessário que haja mais dados. Neste post, iremos coletar dados de 4 ações para compor nosso portfólio, com dados diários de 1 de janeiro de 2013 até o dia atual.

Primeiro carregamos os pacotes, coletamos os preços e transformamos em retornos.

library(tidyquant)
library(timetk)
library(tidyverse)

 


# Define os ativos que irão ser coletados

tickers <- c("PETR4.SA", "ITUB4.SA", "ABEV3.SA", "JBSS3.SA")

# Define a data de início da coleta

start <- "2012-12-01"

# Realiza a coleta dos preços diários

prices <- getSymbols(tickers,
auto.assign = TRUE,
warnings = FALSE,
from = start,
src = "yahoo") %>%
map(~Cl(get(.))) %>%
reduce(merge) %>%
`colnames<-`(tickers)

# Calcula os retornos mensais

asset_returns <- Return.calculate(prices,
method = "log") %>%
na.omit()

 

Estaremos então interessados em conhecer o valor diário dos nossos ativos dentro do nosso portfólio. Podemos fazer isso através da função Return.portfolio(). A função calcula o retorno do nosso portfólio com base nos retornos dos nossos ativos. Por padrão, a função considera que temos um portfólio com pesos iguais (que é o que utilizaremos aqui, cada ativo terá o peso de 25%). Se utilizarmos o argumento verbose = TRUE, a função também calcula o peso e os valores dos ativos ao longo do tempo.

Suponha então que nosso portfólio possuía um valor monetário de 4563 no primeiro dia, a função retornará uma lista com os retornos do portfólio, os pesos dos ativos e os valores monetários ao longo do tempo.


# Calcula o retorno do portfolio

portfolio_returns <- Return.portfolio(asset_returns, verbose = TRUE, value = 4563)

# Calcular o valor

value <- portfolio_returns$EOP.Value * asset_returns

&nbsp;

p_l <- value[,1] + value[,2] + value[,3] + value[,4]

p_l <- `colnames<-`(p_l, "pl")

var_01_historical <- quantile(-p_l$pl, 0.99)

var_05_historical <- quantile(-p_l$pl, 0.95)

 

Calculamos o P&L como a soma dos valores diários dos ativos ponderados pelos seus respectivos retornos. Por fim, calculamos o quartil para o intervalo de confiança em 99% ou 95%.

 

________________________

(*) Para entender mais sobre Mercado Financeiro e medidas de risco, confira nosso curso de R para o Mercado Financeiro.
________________________

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais
e conteúdos exclusivos sobre Análise de Dados!

Assinar Gratuitamente