Category

Comentário de Conjuntura

Análise do PIB com o R

By | Comentário de Conjuntura

A quarta versão do nosso Curso de Análise de Conjuntura usando o R abre inscrições no próximo dia 23/06. A ideia dessa versão é apresentar aos alunos uma forma mais simples e direta de automatizar a coleta, tratamento e visualização de dados macroeconômicos. Além disso, foi incluída uma seção sobre construção de cenários macroeconômicos.  Nesse Comentário de Conjuntura, apresentamos os dados do PIB do primeiro trimestre de 2020 como exemplo dessa nova metodologia.

Os números índices sem ajuste sazonal do PIB e dos seus componentes de demanda e oferta são coletados a partir do código abaixo.


library(tidyverse)
library(lubridate)
library(tstools)
library(sidrar)
library(zoo)
library(scales)
library(gridExtra)
library(timetk)

## Dados sem ajuste sazonal
tabela = get_sidra(api='/t/1620/n1/all/v/all/p/all/c11255/90687,90691,90696,90707,93404,93405,93406,93407,93408/d/v583%202') %>%
mutate(date = as.yearqtr(`Trimestre (Código)`, format='%Y%q')) %>%
select(date, `Setores e subsetores`, Valor) %>%
spread(`Setores e subsetores`, Valor) %>%
rename(`Consumo do Governo` = `Despesa de consumo da administração pública`) %>%
as_tibble()

Também são importados diretamente do SIDRA os números índices com ajuste sazonal, com código similar ao código acima. A partir desses números índices, nós calculamos três métricas de crescimento: o crescimento marginal, o crescimento interanual e o crescimento acumulado em quatro trimestres. A seguir, apresentamos os gráficos referentes a essa última métrica.

A seguir, colocamos a variação na margem do PIB e dos seus componentes.

E por fim, também colocamos a variação interanual.

Também é possível criar gráficos referentes à mesma série. Para ilustrar, coloco a seguir os dados referentes ao PIB.

No geral, a despeito da queda na margem do PIB e dos seus componentes, a avaliação é que o efeito maior da pandemia será sentido no 2º trimestre, quando houve um aumento das medidas de isolamento.

____________________

(*) Você aprende a coletar, tratar e visualizar dados macroeconômicos no nosso Curso de Análise de Conjuntura usando o R.


____________________

Efeitos da pandemia sobre o PIB ainda são incertos

By | Comentário de Conjuntura

A média das previsões para o crescimento do PIB em 2020, disponível no boletim Focus do Banco Central, se aproximou de -6%. Mesmo há quase três meses imersos na maior pandemia da nossa geração, esse pode não ser ainda o fundo do poço. O desvio-padrão das previsões continua bastante elevado, refletindo a incerteza que domina o ambiente econômico. Os dados do Focus são coletados a partir do pacote rbcb como abaixo.


library(rbcb)

pibe = get_annual_market_expectations('PIB Total',
start_date = '2015-01-01')

O gráfico que reflete o intervalo das previsões é colocado abaixo.

Como se pode ver, a média de -5,92% situa-se entre uma mínima de -11% e uma máxima de 1,89%, com um desvio-padrão de 1,73 pontos. Abriu-se uma boca de jacaré nas previsões do boletim Focus. A seguir, o comportamento do desvio-padrão.

desvio-padrão, que ficava em torno de 0,5, deu um salto em março, refletindo a incerteza que tomou conta do ambiente econômico global. Esse aumento de incerteza, diga-se, foi captado pelo índice da FGV, como pode ser visto abaixo.

Ao que parece, ainda estamos longe de saber os efeitos da pandemia sobre a economia brasileira.

____________________

(*) Você aprende a coletar, tratar e visualizar dados macroeconômicos no nosso Curso de Análise de Conjuntura usando o R.


_____________________

Coleta do Índice Cielo do Varejo Ampliado com o R

By | Comentário de Conjuntura

Dada a defasagem na divulgação dos dados de nível de atividade e diante de uma das maiores crises da nossa geração, torna-se cada vez mais importante para economistas e analistas de mercado a busca por índices de alta frequência, bem como índices antecedentes. Dentro desse contexto, passou a ganhar bastante relevância, em particular para o acompanhamento do varejo brasileiro, o índice cielo do varejo ampliado (icva). Nesse Comentário de Conjuntura, eu mostro como fazer a coleta, tratamento e visualização desses dados.

Para começar, nós carregamos alguns pacotes.


require(tidyverse)
require(readxl)
require(scales)

A seguir, nós fazemos o download e leitura da planilha excel que está disponível no site da Cielo.


url = 'https://apicatalog.mziq.com/filemanager/v2/d/4d1ebe73-b068-4443-992a-3d72d573238c/3e864198-0b72-c970-1771-80cd8c338a30?origin=2'
download.file(url, destfile='icva.xlsx', mode='wb')
icva = read_excel('icva.xlsx')
colnames(icva) = c('date', 'nominal', 'nominal_sa', 'real', 'real_sa')

Uma vez coletados os dados, nós transformamos os mesmos para uma melhor visualização com o pacote ggplot2.


icva_long =
icva %>%
gather(metrica, values, -date) %>%
group_by(metrica)

Por fim, podemos gerar um gráfico com o código abaixo.


ggplot(icva_long, aes(x=date, y=values*100, colour=metrica))+
geom_line()+
theme(legend.title = element_blank(),
legend.position = 'top')+
geom_hline(yintercept=0, colour='black', linetype='dashed')+
scale_x_datetime(breaks = pretty_breaks(n=8))+
labs(x='', y='%',
title='Índice Cielo do Varejo Ampliado',
caption='Fonte: analisemacro.com.br com dados da Cielo')

Como é possível verificar, o ICVA chegou a cair 37% em abril na série real com ajuste sazonal.

____________________

(*) Você aprende a coletar, tratar e visualizar dados macroeconômicos no nosso Curso de Análise de Conjuntura usando o R.


_____________________

Rolling Regression e Inércia Inflacionária no R

By | Comentário de Conjuntura

No nosso Curso de Macroeconometria II, nós vemos diversas técnicas econométricas aplicadas a variáveis macroeconômicas reais. Para ilustrar, vamos considerar nesse comentário de conjuntura o comportamento da inércia inflacionária no período recente através da técnica de rolling regression. A abordagem de regressão recursiva é frequentemente usada na análise de séries temporais para avaliar a estabilidade dos parâmetros do modelo em relação ao tempo.

Para isso, vamos precisar carregar alguns pacotes e coletar o dado da inflação mensal diretamente do Banco Central com o pacote BETS. Você também pode usar outros pacotes para isso, como o rbcb ou o Quandl ou ainda a própria API do Banco Central.


library(BETS)
library(lmtest)
library(forecast)
library(ggplot2)
library(scales)

### Importando a inflação mensal
ipca = BETSget(433, from='1999-06-01')

Eu peguei a inflação mensal a partir de junho de 1999, quando foi o publicado o decreto executivo sobre o regime de metas para inflação. Uma vez coletada a inflação, nós podemos construir nossa rolling regression. A ideia básica da regressão recursiva é tomar uma janela de observações e andar com ela ao longo da amostra disponível. Por exemplo, podemos criar uma janela com de 48 meses e estimar o nosso modelo para as primeiras 48 observações. Guardamos o parâmetro que interessa do modelo e andamos com a nossa janela, até chegar a última observação disponível.

Para fazer isso na prática, nós vamos precisar criar um loop, que basicamente automatiza o processo de andar com a nossa janela. Para não termos que repetir o processo acima n vezes.

Para fazer isso, primeiro, vamos setar algumas coisas, como o número de parâmetros a serem guardados e o tamanho da janela da rolling regression. Além disso, vamos criar matrizes para guardar os parâmetros estimados e os seus desvios-padrão.


### Criando matrizes que guardarão coeficientes e desvios-padrões
p <- 2 # Parâmetros a serem guardados
janela <- 48 # número de meses da janela
coefs <- matrix(NA, ncol = p, nrow = length(ipca)-janela)
dps <- matrix(NA, ncol = p, nrow = length(ipca)-janela)
colnames(coefs) <- c('AR(1)', 'Intercepto')
colnames(dps) <- c('AR(1)', 'Intercepto')

Uma vez que esteja tudo preparado para receber os valores, nós precisaremos estimar o nosso modelo. A ideia aqui é basicamente estimar um modelo AR(1), guardando assim o coeficiente autorregressivo que irá medir a inércia inflacionária ao longo do tempo.


### Loop para rodar o AR(1)
for (i in 1:nrow(coefs)){
ar1 <- Arima(ipca[(1+i-1):(janela+i-1)],
order=c(1,0,0))
coefs[i,] <- coef(ar1)
dps[i,] <- coeftest(ar1)[,2]
}

Uma vez estimado o modelo e guardado os parâmetros, nós podemos criar um gráfico como abaixo, que ilustrar o comportamento da inércia inflacionária ao longo do tempo. Isto é, o comportamento do coeficiente autorregressivo do nosso modelo AR(1).

Como se pode ver, há um recuo da inércia inflacionária a partir do início de 2018.

_____________________

(*) Isso e muito mais você irá aprender no nosso Curso de Macroeconometria II.


_____________________

Análise dos títulos do Tesouro Direto com o R

By | Comentário de Conjuntura

A forte aversão a risco que tomou conta do mercado nas últimas semanas não deixou impune o mercado de títulos públicos. Uma análise dos yields associados aos principais títulos negociados pelo chamado Tesouro Direto mostra o stress que tem tomado conta dos investidores. Para ilustrar, vamos utilizar o pacote GETTDData para coletar os dados diretamente do Tesouro Direto, bem como outros pacotes do R para tratamento e visualização dos dados.


library(tidyverse)
library(tidyquant)
library(timetk)
library(scales)
library(quantmod)
library(GetTDData)
library(ecoseries)
library(RColorBrewer)

Com os pacotes carregados no meu arquivo .Rmd, posso começar a coletar os dados. Eu começo pelas NTN-B, agora nomeadas como Tesouro IPCA. O código abaixo faz o download e a leitura das planilhas.


download.TD.data('NTN-B')
ntnb <- read.TD.files(dl.folder = 'TD Files',
asset.codes = 'NTN-B')

A seguir, nós podemos visualizar alguns dos títulos que acabamos de coletar tendo como referência janeiro do ano passado.


filter(ntnb, ref.date > '2019-01-01') %>%
ggplot(aes(x=ref.date, y=yield.bid*100, colour=asset.code))+
geom_line()+
geom_hline(yintercept=0, colour='black', linetype='dashed')+
scale_x_date(breaks = date_breaks("1 month"),
labels = date_format("%b/%Y"))+
theme(axis.text.x=element_text(angle=45, hjust=1))+
labs(x='', y='% a.a.',
title='NTN-B',
caption='Fonte: Tesouro Direto')

Como se vê pelo gráfico, há um nítido salto nos yields, provocado pelo aumento da incerteza. Como proxy, aliás, para esse aumento de incerteza, podemos visualizar o comportamento do risco-país. Podemos coletá-lo a partir do site do IPEADATA com o pacote ecoseries. O código a seguir ilustra.


embi = series_ipeadata('40940', periodicity = 'D')$serie_40940
filter(embi, data > '2019-01-01') %>%
ggplot(aes(x=data, y=valor))+
annotate("rect", fill = "gray", alpha = 0.5,
xmin = as.Date('2020-02-15'),
xmax = as.Date('2020-04-28'),
ymin = -Inf, ymax = Inf)+
geom_line()+
scale_x_date(breaks = date_breaks("1 month"),
labels = date_format("%b/%Y"))+
theme(axis.text.x=element_text(angle=45, hjust=1))+
labs(x='', y='Índice',
title='EMBI+ Risco-Brasil',
caption='Fonte: IPEADATA')

De fato, houve um salto no risco-Brasil de meados de fevereiro para cá, o que reflete os desdobramentos da pandemia do coronavírus e também, infelizmente, o aumento da incerteza doméstica.

_____________________

(*) Isso e muito mais você irá aprender no nosso Novo Curso Mercado Financeiro e Gestão de Portfólios.


Cadastre-se em nossa lista VIP para descontos e conteúdos exclusivos!

Quero participar
{"cart_token":"","hash":"","cart_data":""}