Category

Macroeconometria

Estimando a volatilidade do câmbio a partir de um modelo GARCH

By | Macroeconometria

A taxa de câmbio BRL/USD tem sofrido forte deterioração ao longo desse ano. Em grande medida, isso reflete uma piora no cenário externo, com maior aversão a risco em relação a países emergentes como o Brasil. Por outro lado, o cenário eleitoral polarizado também tem dado sua parcela de contribuição para esse movimento de depreciação experimentado pelo câmbio. De forma a verificar se os níveis de volatilidade verificados esse ano são, de fato, maiores do que aqueles observados no passado recente, vamos estimar um modelo GARCH, como é visto no nosso Curso de Econometria Financeira usando o R. A partir desse modelo, podemos obter a volatilidade da taxa de câmbio.

Uma importante medida em finanças é o risco associado a um ativo e a volatilidade de ativos é talvez a medida de risco mais utilizada. Ainda que a volatilidade seja bem definida, ela não é diretamente observada na prática. Nós observamos os preços dos ativos e seus derivativos. A volatilidade deve ser, então, estimada com base nesses preços observados. Ainda que a volatilidade não seja diretamente observada, ela apresenta algumas características comuns associadas aos retornos dos ativos. Listamos abaixo algumas delas:

  • A volatilidade é alta em certos períodos e baixa em outros, configurando o que a literatura chama de volatility clusters;
  • A volatilidade evolui de maneira contínua, de modo que saltos não são comuns;
  • A volatilidade costuma variar em um intervalo fixo;
  • A volatilidade costuma reagir de forma diferente a um aumento muito grande nos preços e a um decréscimo igualmente muito grande, com o último representando maior impacto.

Essas características implicam que, de modo geral, a volatilidade é uma série estacionária. Ademais, essas características determinam a forma como os modelos serão construídos. De fato, alguns modelos de volatilidade são formatados justamente para corrigir a inabilidade dos atualmente existentes em capturar algumas das características mencionadas acima. Na prática, estima-se a volatilidade de um ativo com base nos seus preços ou derivativos. Tipicamente, três tipos de volatilidade são consideradas:

  • Volatilidade como o desvio-padrão condicional dos retornos diários;
  • Volatilidade implícita, obtida a partir de fórmulas de precificação (como Black-Scholes), com base nos preços do mercado de opções, é possível deduzir a volatilidade do preço da ação. Um exemplo desse tipo de procedimento é o VIX Index;
  • Volatilidade realizada, obtida com base em dados financeiros de alta frequência, como, por exemplo, retornos intraday de 5 minutos.

Com efeito, para estimar a volatilidade da taxa de câmbio BRL/USD, primeiro, precisamos pegar a série via pacote BETS no Sistema de Séries Temporais do Banco Central. Feito isso, podemos calcular o log retorno da série, estimar um modelo GARCH(1,1) para os mesmos, extraindo assim a série de volatilidade. O gráfico abaixo ilustra o comportamento da volatilidade ao longo do tempo. A série de câmbio é diária, para o intervalo de 1 de janeiro de 2014 a 5 de outubro de 2018.

O pico de volatilidade nesse intervalo ocorre dois dias depois do Joesley Day, quando havia um sentimento muito forte no mercado de que Michel Temer deixaria o Palácio do Planalto. E com ele, naturalmente, a agenda de reformas. De lá para cá, a série tem apresentado picos menores, associados a eventos específicos.

Para quem deseja se aprofundar nesse tipo de análise de séries temporais financeiras, recomendo o nosso Curso de Econometria Financeira usando o R. Para interessados em econometria de modo geral, veja também nossos Cursos Aplicados de R.

Gerando previsões combinadas para a inflação a partir dos grupos do IPCA

By | Macroeconometria

A inflação cheia medida pelo IPCA em um período t qualquer nada mais é do que a soma da contribuição da inflação em cada um dos seus nove grupos, de acordo com os pesos dos mesmos no índice. Em outros termos,

(1)   \begin{align*} \pi_t = \sum_{i=1}^{9} \pi_{t,i}^{g} p_{t,i}^{g} \end{align*}

onde \pi_t é a inflação cheia, \pi_{t,i}^{g} é a inflação em t no grupo i e p_{t,i}^{g} é o peso em t do grupo i no índice cheio.

Com o uso do R, podemos baixar com o pacote sidrar, as variações e os pesos desses nove grupos do IPCA diretamente do site do SIDRA/IBGE, conforme o código abaixo.


## Carregar pacotes
library(sidrar)
## Baixar e tratar os dados
tab1 = get_sidra(api='/t/2938/n1/all/v/63,66/p/all/c315/7170,7445,7486,7558,7625,7660,7712,7766,7786/d/v63%202,v66%204')
tab2 = get_sidra(api='/t/1419/n1/all/v/63,66/p/all/c315/7170,7445,7486,7558,7625,7660,7712,7766,7786/d/v63%202,v66%204')

Uma vez que tenhamos baixado os dados, é preciso organizá-los, transformando-os em uma matriz legível. Isso é feito com o código a seguir.


series = c(7170, 7445, 7486, 7558, 7625, 7660,
7712, 7766, 7786)

names = c('Alimentos', 'Habitação', 'Art de Resid',
'Vestuário', 'Transporte', 'Saúde e cuid pessoais',
'Despesas Pessoas', 'Educação', 'Comunicação')

var1 = matrix(NA, ncol=length(series), 
nrow=nrow(tab1)/length(series)/2)

peso1 = matrix(NA, ncol=length(series), 
nrow=nrow(tab1)/length(series)/2)

var2 = matrix(NA, ncol=length(series), 
nrow=nrow(tab2)/length(series)/2)

peso2 = matrix(NA, ncol=length(series), 
nrow=nrow(tab2)/length(series)/2)

for(i in 1:length(series)){

var1[,i] = tab1$Valor[tab1$`Variável (Código)`==63&
tab1$`Geral, grupo, subgrupo, item e subitem (Código)`==series[i]]

var2[,i] = tab2$Valor[tab2$`Variável (Código)`==63&
tab2$`Geral, grupo, subgrupo, item e subitem (Código)`==series[i]]

peso1[,i] = tab1$Valor[tab1$`Variável (Código)`==66&
tab1$`Geral, grupo, subgrupo, item e subitem (Código)`==series[i]]

peso2[,i] = tab2$Valor[tab2$`Variável (Código)`==66&
tab2$`Geral, grupo, subgrupo, item e subitem (Código)`==series[i]]
}

variacao = ts(rbind(var1, var2), start=c(2006,07), freq=12)
peso = ts(rbind(peso1, peso2), start=c(2006,07), freq=12)

colnames(variacao) = names
colnames(peso) = names

Pronto! Agora, temos uma matriz que contém a variação dos nove grupos, desde julho de 2006; e outra que contém os pesos desses grupos para o mesmo período. Desse modo, a inflação cheia será a soma das variações vezes os respectivos pesos. Isto é,


ipca = ts(round(rowSums(variacao*peso/100),2), 
start=c(2006,07), freq=12)

O gráfico a seguir ilustra...

Uma vez entendido o processo, fica fácil agora gerar previsões para a inflação cheia a partir dos nove grupos, não é mesmo? Basta que se gere previsões de n passos para cada um dos grupos e depois some essas previsões, ponderando pelos respectivos pesos, de modo a obter uma previsão da inflação cheia. Legal, né? 🙂

Saiba mais sobre modelagem e previsão com o R em nossos cursos de Macroeconometria usando o R, Séries Temporais usando o R e Construção de Cenários e previsões usando o R.

Usando swaps para reagir a choques cambiais: evidências para o Brasil

By | Macroeconometria

Nas últimas duas edições do Clube do Código, fizemos exercícios de modo a compreender a origem do choque cambial que tem afetado a economia brasileira, bem como a reação do Banco Central ao mesmo. Verificamos que o choque no início do ano sobre a volatilidade no mercado internacional afetou a taxa de câmbio BRL/USD, gerando um overshooting cambial. Ademais, verificamos que na ocorrência de choques sobre o nível ou mesmo sobre a primeira diferença do câmbio, o Banco Central não parece fazer mudanças na taxa básica de juros. Sua reação ocorre apenas sobre a volatilidade dessa variável. Uma possível explicação para isso é que o Banco Central tem preferido corrigir excessos no mercado de câmbio por meio de outros instrumentos, como os famosos swaps cambiais.

Como se sabe, swaps são contratos que envolvem troca de (posição de) risco e rentabilidade. Swaps de juros, por exemplo, envolvem troca de taxas pré-fixadas (conhecidas, portanto, ex-ante) por taxas pós-fixadas (sujeitas à oscilações, portanto). Já os swaps cambiais envolvem troca de variação cambial por taxas de juros DI (pós-fixadas), equivalente, nesse aspecto, à venda de dólar no mercado futuro, dado que o banco central oferece ao investidor proteção contra oscilações da moeda, tornando desnecessária a compra de dólar. Há ainda os "swaps cambiais reversos", que envolvem operação contrária à descrita anteriormente (troca de taxas de juros por variação cambial), sendo equivalente, portanto, à compra de moeda no futuro, dado que quem assume o risco da variação cambial é o investidor.O gráfico acima traz a posição líquida de swaps cambiais na carteira do Banco Central. Os dados estão disponíveis em termos diários até 30 de maio. Nessa data, o Banco Central tinha US$ 30,3 bilhões em carteira.

Tipicamente, por suposto, o banco central faz venda de "swaps cambiais" quando há pressão por desvalorização do real frente o dólar, como o momento atual, dado que visa ofertar "proteção" (hedge) aos investidores. O objetivo da operação, na prática, é "deslocar" a curva de oferta. O banco central "ganha" se a taxa de juros DI for superior à variação cambial. Já o "swap cambial reverso" ocorre em momentos de apreciação do real frente o dólar: daí a troca de juros por variação cambial, isto é, o banco central "ganha" se a variação cambial for superior à taxa de juros.

Isso dito, estendemos o modelo BVAR estimado na última edição do Clube do Código, de modo a compreender o efeito de um choque cambial, tendo agora o Banco Central dois instrumentos: taxa básica de juros e swaps cambiais. Abaixo, funções impulso-resposta selecionadas ilustram o efeito de um choque no câmbio (em nível), no desvio da inflação em relação à meta e no hiato do produto.

Como se pode observar, de fato, o Banco Central reage ao choque cambial com a oferta líquida de swaps cambiais no mercado. Membros do Clube do Código, como sempre, têm acesso a um pdf detalhado com todos os códigos, explicações e referências, além de acesso aos scripts do exercício. Essa nova edição estará disponível no próximo domingo, 8/7. 

Como o Banco Central reage a choques cambiais?

By | Macroeconometria

Na edição 42 do Clube do Código, discutimos a relação entre o Índice de Volatilidade VIX e a taxa de câmbio BRL/USD. Verificamos que existe uma causalidade - no sentido de Granger - na direção do índice de volatilidade para o câmbio, como esperado, bem como observamos que um choque naquele causa uma reação neste. De forma a complementar o entendimento do momento atual vivido pela economia brasileira, resolvemos verificar na edição 43 como o Banco Central reage a um choque cambial. Mais especificamente, vamos verificar se o Banco Central reage a um choque na volatilidade da taxa de câmbio.

Segundo a teoria normativa de política monetária, Bancos Centrais sob regimes de câmbio flutuante devem reagir a choques cambiais. Ball (2002), por exemplo, propõe uma regra de Taylor na qual a taxa de juros reage a choques cambiais

(1)   \begin{align*} r = r_n + e(\pi - \pi^M) + f y + h \varepsilon_3 \end{align*}

onde \varepsilon_3 é um choque cambial e h é um parâmetro positivo. Isto é, a taxa de juros deve reagir a choques cambiais temporários que incidem sobre a economia.

De modo a verificar se é este o caso em termos empíricos, resolvemos estimar um BVAR com Minnesota prior, extraindo do modelo as funções de impulso na volatilidade do câmbio, no desvio da inflação em relação à meta e no hiato do produto e a resposta na taxa de juros SELIC. De forma a implementar o modelo, coletamos a taxa SELIC, a inflação acumulada em 12 meses medida pelo IPCA, o PIB mensal e a taxa de câmbio R$/US$ diretamente do Banco Central através do pacote BETS para o período de janeiro de 2007 a abril de 2018. Ademais, construímos a série de volatilidade do câmbio através da estimação de um modelo GARCH(1,1).

Para estimar o nosso modelo BVAR, vamos utilizar uma Minnesota prior, considerando os coeficientes autorregressivos das variáveis como informação prévia. A prévia de Minnesota envolve, basicamente, substituir \Sigma, a matriz de covariância dos termos de erro, por uma estimativa, isto é, \hat{\Sigma}. O Minnesota prior original é ainda mais simples ao assumir que \Sigma é uma matriz diagonal. Uma vez estimado nosso modelo, podemos extrair as funções de impulso na volatilidade do câmbio, no desvio da inflação e no hiato do produto e a resposta da taxa Selic.

No presente exercício, procuramos verificar como o Banco Central reage, por meio de mudanças na taxa básica de juros, a choques ocorridos em variáveis macroeconômicas selecionadas. Em particular, devido à conjuntura atual, estávamos interessados em verificar como o Banco Central reage a um choque na taxa de câmbio BRL/USD. Para isso, utilizamos tanto o câmbio em nível quanto em primeira-diferença, obtendo como consequência resultados contra-intuitivos. Ao invés de uma resposta positiva a um choque cambial, o que observamos foi uma resposta neutra ou levemente negativa.

Uma possível explicação para isso é que no período do exercício, o Banco Central preferiu utilizar outros instrumentos em meio a choques na taxa de câmbio, como, por exemplo, ofertando swaps cambiais. Soou razoável, nesse aspecto, verificar como o Banco Central reage à volatilidade da taxa de câmbio. Isso porque, um aumento grande da volatilidade dessa variável têm impactos não desprezíveis sobre o ambiente econômico. Os resultados encontrados sugerem que a autoridade monetária reage a aumentos de volatilidade no câmbio, ainda que de forma defasada. Membros do Clube do Código, como sempre, têm acesso a um pdf detalhado com todos os códigos, explicações e referências, além de acesso aos scripts do exercício. 

 

 

Vítor Wilher

Mestre em Economia | Cientista de Dados

Vítor Wilher é Bacharel e Mestre em Economia, pela Universidade Federal Fluminense, tendo se especializado na construção de modelos macroeconométricos, política monetária e análise da conjuntura macroeconômica doméstica e internacional. Tem, ademais, especialização em Data Science pela Johns Hopkins University. Sua dissertação de mestrado foi na área de política monetária, titulada "Clareza da Comunicação do Banco Central e Expectativas de Inflação: evidências para o Brasil", defendida perante banca composta pelos professores Gustavo H. B. Franco (PUC-RJ), Gabriel Montes Caldas (UFF), Carlos Enrique Guanziroli (UFF) e Luciano Vereda Oliveira (UFF). Já trabalhou em grandes empresas, nas áreas de telecomunicações, energia elétrica, consultoria financeira e consultoria macroeconômica. É o criador da Análise Macro, startup especializada em treinamento e consultoria em linguagens de programação voltadas para data analysis, sócio da MacroLab Consultoria, empresa especializada em cenários e previsões e fundador do hoje extinto Grupo de Estudos sobre Conjuntura Econômica (GECE-UFF). É também Visiting Professor da Universidade Veiga de Almeida, onde dá aulas nos cursos de MBA da instituição, Conselheiro do Instituto Millenium e um dos grandes entusiastas do uso do no ensino. Leia os posts de Vítor Wilher aquiCaso queira, mande um e-mail para ele: vitorwilher@analisemacro.com.br

Medindo o efeito da volatilidade sobre a taxa de câmbio R$/US$

By | Macroeconometria

No último comentário de conjuntura, levantei a hipótese de que o choque no índice de volatilidade VIX no final de janeiro, início de fevereiro, teria iniciado o processo de overshooting que estamos observando com a taxa de câmbio R$/US$. De modo a melhor testar essa hipótese, a 42ª edição do Clube do Código traz um exercício que procura verificar o impacto no câmbio de um choque no índice de volatilidade por meio de funções de impulso-resposta. Para que isso fosse possível, primeiro tivemos que tratar os dados, de modo a torná-los comparáveis.

Após o devido tratamento, as séries ficaram da forma abaixo.

Com as séries devidamente tratadas, nós investigamos, primeiro, a direção de causalidade entre elas. Ao aplicar o procedimento de Toda-Yamamoto, verificamos, como esperado, que o índice de volatilidade ajuda a explicar a taxa de câmbio, enquanto não encontramos evidências sobre o caso contrário. Isso feito, verificamos a existência de cointegração entre as séries de modo a construir um modelo de correção de erros. Com efeito, verificamos as funções de impulso-resposta, de modo a investigar a resposta do câmbio a um impulso na volatilidade. O gráfico abaixo ilustra.

Há, desse modo, evidências de que um choque no índice de volatilidade tem efeitos na taxa de câmbio. Dado que a série não é estacionária, esse choque tende a ser incorporado à série. Tal evidência, por suposto, ajuda a explicar o comportamento recente da série, em particular o seu overshooting. Por fim, como de hábito, os códigos estarão disponíveis daqui a pouco para os membros do Clube do Código em um pdf detalhado.

Cadastre-se na newsletter
e receba nossas novidades em primeira mão!