Calculando o Historical VaR

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

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Análise de impacto fiscal sobre o dolár com Python

Usamos uma cesta de 12 moedas para construir um cenário contrafactual da taxa de câmbio após o último anúncio de pacote fiscal, com base em modelagem Bayesiana. No período, o dolár depreciou quase 5% e passou os R$ 6,15, enquanto que na ausência da intervenção a moeda deveria estar cotada em R$ 5,78.

Resultado IBC-br - Outubro/2024

A Análise Macro apresenta os resultados da IBC-br de Outubro de 2024, com gráficos elaborados em Python para coleta, tratamento e visualização de dados. Todo o conteúdo, disponível exclusivamente no Clube AM, foi desenvolvido com base nos métodos ensinados nos cursos da Análise Macro, permitindo aos assinantes acesso aos códigos e replicação das análises.

Resultado PMC - Outubro/2024

A Análise Macro apresenta os resultados da PMC de Outubro de 2024, com gráficos elaborados em Python para coleta, tratamento e visualização de dados. Todo o conteúdo, disponível exclusivamente no Clube AM, foi desenvolvido com base nos métodos ensinados nos cursos da Análise Macro, permitindo aos assinantes acesso aos códigos e replicação das análises.

Boletim AM

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

Boletim AM

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

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.