All Posts By

Vitor Wilher

Inflação no Atacado e o avanço das commodities

By | Comentário de Conjuntura

A inflação segue sendo uma preocupação importante para a conjuntura brasileira, a despeito de um hiato do produto ainda bastante aberto. O IPCA-15 de julho, por exemplo, teve avanço de 0,72%, reagindo, sobretudo, à alta da energia elétrica. Julho é um mês que, sazonalmente, a inflação mensal deveria começar a apresentar algum arrefecimento. A verdade, como temos discutido nesse espaço já há alguns meses, é que a inflação atual está longe de ser fruto de apenas um ou outro choque. Os núcleos e o índice de difusão mostram, de fato, que a inflação atual já é um processo bastante consolidado e que, se houve choques primários no passado, isso se reverberou sobre os demais preços da economia.

Um importante fruto de tensão para os preços ao consumidor, nesse aspecto, como notado pelo Diogo Wolff, no Relatório AM publicado ontem nesse espaço, vem do atacado. O Índice de Preços ao Produtor Amplo (IPA) tem mostrado uma inflação acumulada em 12 meses próxima a 50% nos últimos meses.

Por trás desse aumento consistente do IPA está um avanço forte nos preços das commodities em reais, seja porque houve de fato um aumento de diversas matérias-primas ao longo da pandemia, seja porque o câmbio R$/US$ se depreciou no período.

Tanto o IPA de produtos agrícolas quanto o IPA de produtos industrais apresentaram no período avanços consistentes, fruto em grande parte do aumento das commodities.

A reversão da inflação, por suposto, parece ainda bastante distante do cenário base, ao considerar toda essa pressão vinda do atacado. O hiato do produto aberto, diga-se, dificulta o repasse integral para o varejo, mas é ingênuo imaginar que isso não está ocorrendo.

Sobre isso, em breve, divulgaremos estudo sobre efeito de choques no atacado na inflação ao consumidor, no âmbito do Clube AM.

________________

Os códigos do exercício estarão disponíveis na plataforma do Clube AM.

Modelo preditivo para Serviços e índices de mobilidade do Google e da Apple

By | Comentário de Conjuntura

Ontem, no Relatório AM, falamos um pouco sobre o setor de serviços. Como se sabe, o setor de serviços foi de fato o mais impacto pelas medidas de restrição de mobilidade impostas pelos governos. Imagina-se, por suposto, que a volta à normalidade pré-pandemia tenha impactos positivos sobre esse setor. De modo a vislumbrar essa volta, vamos analisar nesse Comentário de Conjuntura os índices de mobilidade do Google e da Apple, com base no pacote covid19mobility.


library(tidyverse)
library(lubridate)

## Mobility Index

remotes::install_github("covid19r/covid19mobility")

library(covid19mobility)

### Apple Mobility Trends

amt_country = refresh_covid19mobility_apple_country()

amt_country %>%
filter(location == 'Brazil') %>%
select(date, data_type, value) %>%
spread(data_type, value) %>%
drop_na() %>%
group_by(date = floor_date(date, 'month')) %>%
summarise(across(everything(), list(mean))) %>%
gather(variavel, valor, -date) %>%
ggplot(aes(x=date, y=valor, colour=variavel))+
geom_hline(yintercept=100, colour='black', linetype='dashed')+
geom_line(size=.8)+
facet_wrap(~variavel, scales='free')+
theme(legend.position = 'none',
axis.text.x.bottom = element_text(size=7, face='bold'))+
labs(x='', y='',
title='Apple Mobility Trends',
caption='Fonte: analisemacro.com.br')

O AMT mostra uma reversão da queda na mobilidade vista ao longo de 2020. O índice base refere-se ao nível pré-pandemia. Como se pode ver pelo gráfico, o item trânsito ainda está aquém do nível pré-pandemia para o agregado do Brasil. Possivelmente, isso explica o fato dos serviços ainda estarem atrás na recuperação do comércio e da indústria.

Outro índice de mobilidade, talvez mais abrangente, seja o do Google. A seguir, ilustramos.


### Google Mobility Trends

gmt = refresh_covid19mobility_google_country()

gmt %>%
filter(location == "Brazil") %>%
select(date, data_type, value) %>%
drop_na() %>%
ggplot(aes(x=date, y=value, colour = data_type))+
geom_hline(yintercept=0, colour='black', linetype='dashed')+
geom_line()+
facet_wrap(~data_type, scales='free')+
theme(legend.position = 'none',
strip.text = element_text(size=7, face='bold'),
axis.text.x.bottom = element_text(size=7, face='bold'))+
labs(x='', y='',
title='Google Mobility Trends',
caption='Fonte: analisemacro.com.br')

O gráfico acima mostra uma recuperação de lazer e varejo, o item que mais sofreu com as restrições de mobilidade. Esse item é composto por restaurantes, shoppings e similares. As estações de transporte público também estão abaixo do nível pré-pandemia.

A tendência desses índices, por suposto, mostra uma recuperação da mobilidade nos últimos meses, em linha com a recuperação da economia. Os serviços, setor mais impactado, deve acompanhar essa recuperação, mas com alguma defasagem, dado o impacto que sofreu ao longo do ano passado.

De forma a construir uma projeção dos serviços, o Vítor Pestana, Cientista de Dados da área de Produtos aqui na Análise Macro está desenvolvendo um modelo do tipo ARIMAX, onde as co-variáveis são compostas por termos de busca do Google Trends. A seguir, mostramos alguns desses termos.


lazer <- c("restaurante","bar", "cinema", "show", "parque", "academia")
viagem <- c("hotel", "passagem de avião", "passagem de onibus", "aluguel de carro")
emprego <- c("seguro desemprego", "vaga", "currículo","empréstimo")
transporte <- c("onibus", "logistica", "frete", "estrada")
outros <- c("tempo")

Com os termos selecionados, é preciso extrair a informação da API do Google Trends por meio do pacote gtrends. O pacote extrai os dados de forma relativa, ou seja, se for feita uma busca com mais de um termo ao mesmo tempo, os dados serão padronizados em relação ao volume máximo de um dos índices. Por isso, estamos utilizando uma função que extrai os volume de pesquisas termo por termo.


gtrends_clean_mensal <- function(x) {

lista = list()

for (i in x) {

df = gtrends(keyword = i,
geo = "BR", time='all', onlyInterest=TRUE)
df = df$interest_over_time %>%
select(date, hits, keyword)

lista[[i]] = df
}

# diferença em 12 meses

data = bind_rows(lista) %>%
pivot_wider(names_from = keyword, values_from = hits) %>%
mutate_at(vars(-("date")), funs(. - lag(.,12))) %>%
na.omit()

return(data)
}

df_limpo = gtrends_clean_mensal(termos)

Como nosso N é muito reduzido, dado que a PMS começa em 2011, é necessário utilizar algum procedimento para diminuir o número de variáveis. Assim, utilizaremos o *framework* da Análise de Componentes Principais. Iremos selecionar, portanto, os componentes principais de forma que a variância explicada seja ao menos igual a 75%.

A partir disso, rodamos o nosso modelo ARIMAX em uma amostra de treino, avaliamos a acurácia do modelo e geramos as previsões para h períodos. O modelo ainda está em fase de desenvolvimento, mas mostra a validade do uso desse tipo de informação, cada vez mais utilizada para treinar modelos preditivos.

_______________________

(**) Membros do Clube AM têm acesso a detalhes do código que estamos desenvolvendo.

Crise Hídrica: uma análise da quantidade de água que chega às usinas

By | Comentário de Conjuntura

Tem sido noticiado pela imprensa, uma vez mais, o risco de desabastecimento de energia elétrica no país. A causa para isso seria o menor volume de chuvas, que estaria impactando o nível dos reservatórios, utilizados para a geração de energia pelas usinas hidrelétricas. A quantidade de água que chega em uma usina, utilizada para a geração de energia, é chamada de energia natural afluente, ou simplesmente ENA. Em modelos de previsão para o preço de curto prazo no mercado de energia, essa variável assume importância fundamental. O Operador Nacional do Sistema Elétrico (ONS), inclusive, disponibiliza uma série histórica bastante consistente para a ENA. Nesse Comentário de Conjuntura, analisamos o comportamento da ENA, tendo como foco comparativo o ano de 2021 com a série histórica.

O script começa importando os dados para o RStudio como abaixo.


library(tidyverse)
library(lubridate)
library(fpp3)

data = read_csv2('ena.csv') %>%
mutate(date = yearmonth(parse_date_time(date, orders = "%d/%m/%Y %H-%M"))) %>%
as_tsibble(index = date)

Um primeiro gráfico com as séries é disponibilizado abaixo.


data %>%
gather(variavel, valor, -date) %>%
ggplot(aes(x=date, y=valor, colour=variavel))+
geom_line()+
facet_wrap(~variavel, scales='free')+
theme(legend.position = 'none',
plot.title=element_text(size=9, face='bold'))+
labs(x='', y='',
title='Energia Natural Afluente (MWmed)',
caption='Fonte: analisemacro.com.br')

Observe, primeiro, que estamos vendo a ENA pelos quatro subsistemas: norte, nordeste, sul e sudeste/centro-oeste. Segundo, as séries apresentam uma sazonalidade bastante pronunciada. Por isso, é importante visualizar essa sazonalidade mais de perto. Isso é feito a seguir.


data %>%
gather(variavel, valor, -date) %>%
gg_season()+
facet_wrap(~variavel, scales='free')+
theme(legend.position = 'none',
plot.title = element_text(size=9, face='bold'))+
labs(x='', y='',
title='Sazonalidade da Energia Natural Afluente (MWmed)',
caption='Fonte: analisemacro.com.br')

Os subsistemas nordeste, sudeste e norte apresentam uma sazonalidade bastante pronunciada, correlacionada ao início do período seco. Já o subsistema sul não tem uma tendência muito clara, a partir dessa visualização.

A seguir, nós comparamos a média histórica com o dado de 2021.

Para começar, nós olhamos para o subsistema sudeste/centro-oeste. As linhas vermelhas representam a média de ENA nos respectivos meses, enquanto a bolinha azul representa o ocorrido em 2021. Observa-se que 2021 está, de fato, abaixo da média histórica para o subsistema sudeste/centro-oeste.

No subsistema nordeste, a situação é similar, à exceção do mês de março, onde a ENA ficou dentro da média histórica.

No susbsistema norte, a situação já é bastante confortável. As ocorrências de 2021 estão acima da média histórica.

No subsistema sul, a vazão começou boa no início do ano, mas tem se mantido abaixo da média histórica a partir de março, o que também indica alguma preocupação.

A análise dos gráficos, de modo geral, gera preocupação. Em particular, o subsistema sudeste/centro-oeste, o principal do país, tem apresentado uma vazão abaixo da média histórica nos meses de 2021, o que gera o sinal de alerta para as autoridades responsáveis pela operação do sistema.

Menor vazão para as usinas hidrelétricas vai implicar, necessariamente, em maior acionamento das termelétricas, o que tem impacto direto no preço da energia elétrica para o consumidor, já que a água é, por definição, o insumo mais barato para a produção de energia.

________________

(*) O script completo desse exercício estará disponível no Clube AM essa semana. 

Um modelo preditivo para o desemprego medido pela PNAD

By | Comentário de Conjuntura

Amanhã, o IBGE divulga a taxa de desemprego medida pela PNAD Contínua referente ao mês de abril. Sazonalmente, o desemprego aumenta entre janeiro e março e começa a se reduzir a partir de abril. É o que deve ocorrer nesse ano, visto o que tem acontecido com o nível de atividade. Nesse Comentário de Conjuntura, nós atualizamos nosso modelo VEC de previsão para a taxa de desemprego, que é ensinado no Curso de Previsão Macroeconométrica usando o R.

No nosso modelo, utilizamos as seguintes variáveis explicativas: pesquisas no google trends, o índice antecedente de emprego da FGV, o índice de incerteza econômica também da FGV, o IBC-Br e a taxa básica de juros. A seguir, um gráfico com todas elas, mais o desemprego medido pela PNAD Contínua.

Uma vez coletadas as séries, procedemos o teste de johansen para verificar a existência de vetor de cointegração entre elas. O teste revela a existência de 2 vetores, o que nos leva a construir o modelo VEC.

A amostra é ainda dividida em treino e teste de forma a avaliar a acurácia do modelo, de acordo com as medidas convenientes. O modelo erra mais do que o desejado na amostra de teste, composta pelo período da pandemia. Um problema que econometristas de todo o mundo vem enfrentando nos dias atuais.

Feito o treino/teste, passamos para a previsão para os próximos meses. A tabela abaixo resume.

Previsões para a Taxa de Desemprego
Lower Média Upper
Abr/21 14.2 14.4 14.6
Mai/21 13.8 14.1 14.4
Jun/21 13.4 13.8 14.3
Jul/21 13.1 13.8 14.4
Ago/21 12.8 13.6 14.5
Set/21 12.3 13.4 14.6

A previsão para abril fica entre 14,2% e 14,6% da PEA, centrado em 14,4%. A expectativa é, por suposto, que o desemprego passe a ceder nos meses que seguem. Espera-se que nos próximos seis meses, haja um recuo de 1 ponto percentual na taxa, o que em termos absolutos significa menos 1 milhão de pessoas desempregadas.


Se confirmado, seria a melhor notícia dos últimos tempos...

____________________

(*) Para quem quiser ter acesso a todos os códigos desse e de todos os exercícios que publicamos ao longo da semana, visite o Clube AM.

Explicando o juro neutro da economia brasileira

By | Comentário de Conjuntura

No Comentário de Conjuntura da semana passada, falei sobre os dilemas aos quais está submetido o Banco Central. A inflação tem se mostrado mais resistente do que o inicialmente diagnosticado pela autoridade monetária, o que exigiu uma mudança na comunicação. Sai a tal normalização parcial para uma normalização até o juro neutro. E aqui, temos uma questão bastante relevante: o juro neutro da economia é uma variável não observável, que deve ser estimada. Mais do que isso, quais seriam as variáveis que afetam o juro de equilíbrio? Nesse Comentário de Conjuntura apresentamos um modelo explicativo para o juro de equilíbrio da economia brasileira.

O juro neutro é aquele que equilibra poupança e investimento em uma economia com `hiato do produto` nulo e inflação igual à meta. Em uma pequena economia aberta sem restrições a mobilidade de capital e com ativos substitutos, a taxa de juros doméstica é igual a taxa internacional. Quando não é o caso, deve-se adicionar à taxa de juros internacional (r_t^{*}), o risco país (\gamma_t) e o risco cambial (\tau_t), de modo que:

(1)   \begin{align*} \bar{r_t} = r_t^{*} + \gamma_t + \tau_t  \end{align*}

Com base em 1, procuramos estimar um modelo descritivo para a taxa de juros de equilíbrio da economia brasileira. Para isso, vamos estimar o seguinte modelo:

(2)   \begin{align*} \bar{r_t} = \beta_0 + \beta_1 r_t^{*} + \beta_2 \gamma_t + \beta_3 \tau_t + \beta_4 D_{Teto} + \varepsilon_t,  \end{align*}

onde D_{Teto} é uma *dummy* que assume 1 a partir de dezembro de 2016 e 0 nos meses anteriores da amostra. \varepsilon_t é supostamente um *ruído branco*. Para estimar 2, vamos utilizar uma amostra entre janeiro de 2004 e maio de 2021, totalizando 209 observações. Vamos considerar como *proxy* para o juro neutro, o juro estrutural implícito nas expectativas do boletim Focus. O juro internacional será representado pela taxa de juros efetiva praticada nos Estados Unidos (**fed funds**), para o risco país vamos considerar o EMBI e para o risco cambial vamos considerar o **cupom cambial**, que leva em consideração a expectativa de desvalorização/valorização cambial dos agentes. Ademais, para estimar 2, vamos considerar o método de mínimos quadrados ordinários (OLS), mínimos quadrados em dois estágios (TSLS) e o método dos momentos generalizado (GMM).^[Os instrumentos utilizados são as quatro defasagens de cada uma das variáveis utilizadas.] O restante desse Comentário cuida da coleta/tratamento dos dados, bem como da construção dos modelos.

(*) Aprenda a fazer esse tipo de análise através dos nossos Cursos Aplicados de R.

A tabela a seguir resume a estimação do modelo pelos três métodos descritos acima. À exceção do risco cambial, todas as demais variáveis se mostraram estatisticamente significativa para explicar o juro de equilíbrio. Em particular, o modelo sugere que o risco país é relevante para explicar o juro neutro. Assim, quanto maior for a instabilidade do ambiente político econômico, maior será o risco país e, portanto, maior será o juro de equilíbrio da economia.

Explicando o juro neutro da economia brasileira
Variável Dependente: Juro Neutro
OLS TSLS GMM
(1) (2) (3)
Intercepto 3.11*** (0.19) 2.98*** (0.24) 3.64*** (0.45)
Juro Internacional 0.39*** (0.03) 0.39*** (0.04) 0.20* (0.10)
Risco País 0.01*** (0.001) 0.01*** (0.001) 0.005*** (0.001)
Risco Cambial 0.01 (0.01) 0.01 (0.02) 0.01 (0.01)
DTeto -1.89*** (0.13) -1.89*** (0.13) -1.29*** (0.25)
J-Test 14.04
J-Test (p-valor) 0.12
Observations 209 205 205
R2 0.73 0.72
Adjusted R2 0.72 0.71
Residual Std. Error 0.78 (df = 204) 0.78 (df = 200)
F Statistic 136.11*** (df = 4; 204) 128.73*** (df = 4; 200)
Nota: *p<0.1; **p<0.05; ***p<0.01

Outro resultado interessante que o modelo estimado sugere é que a dummy que representa o teto de gastos se mostrou igualmente relevante para explicar o juro de equilíbrio da economia.
____________________

(*) Para quem quiser ter acesso a todos os códigos desse e de todos os exercícios que publicamos ao longo da semana, visite o Clube AM.

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

Assinar Gratuitamente
{"cart_token":"","hash":"","cart_data":""}