Tag

dívida bruta Archives - Análise Macro

Comportamento das variáveis fiscais em 2020 e o que esperar de 2021

By | Indicadores

No último dia 29 de janeiro, o Banco Central divulgou as Estatísticas Fiscais referentes à dezembro de 2020. Com efeito, ficamos sabendo como se comportaram as principais variáveis fiscais ao longo de 2020, um ano repleto de desafios por conta da pandemia do coronavírus. Nesse Comentário Semanal do boletim Focus, nós trazemos uma edição especial focada em variáveis fiscais.

Para começar, como de praxe, nós carregamos os pacotes que utilizamos.


library(rbcb)
library(scales)
library(tidyverse)

A seguir, nós buscamos dois grupos de dados. Para começar, nós pegamos os dados referentes às variáveis efetivamente observadas. O código a seguir pega os dados diretamente do Sistema de Séries Temporais do Banco Central.


## Coleta de dados reais
series = list('DBGG' = 13762,
'DLSP' = 4513,
'NFSP Primário' = 5793,
'NFSP Nominal' = 5727)

data_variaveis = get_series(series, start_date = '2019-01-01') %>%
purrr::reduce(inner_join) %>%
gather(variavel, valor, -date)

A seguir, nós pegamos os dados referentes às expectativas contidas para essas variáveis dentro do boletim Focus.


## Coleta de dados de expectativas
data_expectativas = get_annual_market_expectations('Fiscal',
start_date = '2019-01-01')

data_expectativas$indic_detail = ifelse(data_expectativas$indic_detail == "Resultado Primário",
'Resultado Primário',
data_expectativas$indic_detail)

data_expectativas$indic_detail = ifelse(data_expectativas$indic_detail ==
unique(data_expectativas$indic_detail)[3],
'DLSP',
data_expectativas$indic_detail)

data_expectativas$indic_detail = ifelse(data_expectativas$indic_detail ==
unique(data_expectativas$indic_detail)[4],
'DBGG',
data_expectativas$indic_detail)

De posse dos dados, nós podemos olhar o que ocorreu com as variáveis observadas.

O ano de 2020 terminou com a Dívida Bruta muito próxima dos 90% do PIB (89,3%) e com a Dívida Líquida em 63%. Em dezembro de 2019, a DBGG estava em 74,3%, enquanto a DLSP estava em 54,6% do PIB. Isto é, houve um aumento de 15 pontos percentuais na DBGG ao longo de 2020.

A deterioração do fluxo explica a maior parte dessa evolução. As Necessidades de Financiamento do Setor Público (NFSP) saíram de 0,84% em dezembro de 2019 para 9,49% do PIB em dezembro de 2020, no seu corte primário, que não inclui gastos com juros. No seu corte nominal, que inclui gastos financeiros, houve uma variação de 7,91 pontos percentuais: de 5,79% para 13,7% do PIB.

Ao longo de 2021, diga-se, os agentes de mercado esperam uma certa estabilidade nas variáveis de estoque, enquanto para o fluxo, o resultado nominal esperado está em -6,59% do PIB e o primário em -2,72%.

 

____________________

(*) No nosso Curso de Análise de Conjuntura usando o R, nós estressamos a coleta e tratamento de dados fiscais com o R;

(**) O código de R desse artigo está disponível para os membros do novo Clube AM. Para saber mais, clique aqui.

Reformas dos últimos anos permitem melhor enfrentamento ao coronavírus

By | Comentário de Conjuntura

A pandemia do coronavírus vai obrigar o estado brasileiro a gastar algo próximo ao que economizou com a reforma da previdência no ano passado. Se os números divulgados pelo atual ministro da economia em uma live com o pessoal da XP nesse final de semana estiverem corretos - o que eu particularmente tenho dúvidas. E, diga-se, deve mesmo gastar. Estamos lidando com um choque humanitário, onde a reação de política pública deve se concentrar em preservar as pessoas. Seja aumentando o gasto com saúde, seja ampliando de reforma rápida a rede de proteção social.

Proteger as pessoas, nesse momento, diga-se, é fazer um investimento no futuro. Preservar capital humano, permitindo que a retomada do organismo econômico seja o mais célere possível.

A calamidade pública imposta pela chegada do Covid-19 ao Brasil acionou as válvulas de escape da lei de responsabilidade fiscal e da emenda do teto de gastos. Isso liberou o estado brasileiro a fazer gastos extraordinários para tentar conter a pandemia no país.

O aumento do gasto no curto prazo, seja lá qual for a sua dimensão, será financiado via emissão de títulos. As pessoas físicas e jurídicas comprarão os títulos emitidos, liberando recursos para que o governo possa realizar os gastos necessários com saúde e proteção social.

A consequência disso será tanto o aumento da dívida pública quanto o aumento do seu custo e encurtamento do prazo. Isto é, a dívida vai ficar mais alta e mais difícil de ser paga. Isso implica que o ajuste fiscal no período t+k, onde k representa a quantidade de trimestres que levará para os efeitos da pandemia passar, deverá ser ainda maior do que o que vinha sendo implementado ao longo dos últimos três anos.

Para ilustrar esse ponto, vamos ver o que aconteceu com os yields de duas NTN-B, uma com vencimento em 2045 e outra com vencimento em 2024. Para isso, nós usamos o pacote GetTDData para coletar os dados, o pacote ggplot2 para visualização e outros pacotes da família tidyverse para tratamento.


library(GetTDData)
library(ggplot2)
library(dplyr)
library(magrittr)
library(scales)
library(gridExtra)

ntnb <- download.TD.data('NTN-B')
ntnb45 <- read.TD.files(dl.folder = 'TD Files',
maturity = '150545')

g1 = filter(ntnb45, ref.date > '2019-01-01') %>%
ggplot(aes(x=ref.date, y=yield.bid*100))+
geom_line()+
scale_x_date(breaks = date_breaks("2 month"),
labels = date_format("%b/%Y"))+
theme(axis.text.x=element_text(angle=45, hjust=1),
plot.title = element_text(size=10))+
labs(x='', y='% a.a.',
title='NTN-B 2045')

ntnb24 <- read.TD.files(dl.folder = 'TD Files',
maturity = '150824')

g2 = filter(ntnb24, ref.date > '2019-01-01') %>%
ggplot(aes(x=ref.date, y=yield.bid*100))+
geom_line()+
scale_x_date(breaks = date_breaks("2 month"),
labels = date_format("%b/%Y"))+
theme(axis.text.x=element_text(angle=45, hjust=1),
plot.title = element_text(size=10))+
labs(x='', y='% a.a.',
title='NTN-B 2024')

grid.arrange(g1, g2,
ncol=2, nrow=1)

Como é possível observar nos gráficos, houve um salto nos yields. Esse movimento fez com que o Tesouro entrasse comprador no mercado, sem data de saída, de modo a garantir a liquidez do sistema.

Um ponto importante aqui é que os juros associados aos títulos públicos estavam caindo antes da pandemia, refletindo a queda geral de juros que tivemos no país nos últimos anos. Houve uma queda do juro de equilíbrio da economia brasileira, refletindo em particular a emenda do teto de gastos, que garantiu maior solvência do setor público no médio/longo prazo. Sobre isso, inclusive, publicamos exercício no Clube do Código.

Em outras palavras, se ainda estivéssemos vivendo em um país sem teto de gastos e sem reforma da previdência, é provável que o "salto nos yields" fosse ainda maior, o que tornaria a tarefa de reagir à pandemia ainda mais complexa. No limite, o estado brasileiro teria que emitir moeda para fazer frente ao necessário aumento de gastos.

Feitas essas ressalvas, volto ao ponto da fragilidade fiscal. Mesmo com todas as medidas feitas até aqui, ainda estamos em um ponto bastante delicado. Para ilustrar, considere o nível de endividamento do setor público, com os dados do Banco Central coletados através do pacote BETS.


library(BETS)
library(tidyr)
dbgg = BETSget(13762, data.frame=TRUE)

drop_na(dbgg) %>%
ggplot(aes(x=date, y=value))+
geom_line()+
scale_x_date(breaks = date_breaks("1 year"),
labels = date_format("%Y"))+
theme(axis.text.x=element_text(angle=45, hjust=1),
plot.title = element_text(size=10))+
labs(x='', y='% PIB',
title='Dívida Bruta do Governo Geral')

Observe que tivemos um aumento de dívida bastante pronunciado desde 2014. Somente na margem, com diversas medidas tomadas, como a devolução do valor emprestado ao BNDES, que a dívida bruta ensaiava sua redução. Nosso nível de endividamento é consideravelmente elevado, se comparado a países com mesma renda per capita.

Em termos de fluxo, por suposto, as coisas estavam melhorando, ainda que permanecesse a geração de déficit primário, quando o setor público não consegue gerar receitas o suficiente para pagar suas despesas essenciais.


primario = BETSget(5793, data.frame=TRUE)

drop_na(primario) %>%
ggplot(aes(x=date, y=-value))+
geom_line()+
geom_hline(yintercept=0, colour='red', linetype='dashed')+
scale_x_date(breaks = date_breaks("1 year"),
labels = date_format("%Y"))+
theme(axis.text.x=element_text(angle=45, hjust=1),
plot.title = element_text(size=10))+
labs(x='', y='% PIB',
title='Resultado Primário')

Em síntese, nosso quadro fiscal é muito pior do que às vésperas da crise de 2008. E a crise atual é muito mais severa do que a crise de 2008. Como já dito e insisto, o estado brasileiro deve fazer tudo o que for necessário para conter os efeitos da pandemia. Mas quando tudo passar, não se engane, estaremos desafiados à aumentar em muitos graus o esforço reformista. Sem ele, estaríamos ainda mais vulneráveis do que estamos hoje.

________________________

(*) Aprenda R nos nossos Cursos Aplicados de R.

(**) Um pdf com os códigos estará disponível amanhã no Clube do Código.


A dramática situação das contas públicas

By | Política Fiscal

Desde 2014, o Brasil tem convivido com déficit primário nas contas públicas. Isto é, as receitas de impostos e outras fontes não têm sido suficientes para pagar gastos primários (não financeiros) do governo. No acumulado em 12 meses até junho, por exemplo, o resultado primário ficou negativo em R$ 89,8 bilhões ou 1,34% do PIB. O resultado de sucessivos déficits primários foi a expansão da dívida bruta, que passou de 52,62% do PIB em janeiro de 2014 para 77,19% em junho desse ano. Abaixo um gráfico dessas duas variáveis ajuda a entender a deterioração das contas públicas.

Sem um ajuste fiscal sério das contas públicas, que transforme esse déficit primário em um superávit capaz de estabilizar a trajetória da dívida, caminharemos para uma situação de dominância fiscal em breve. No nosso Curso de Análise de Conjuntura usando o R, a propósito, ensinamos nossos alunos a lidar com variáveis fiscais por intermédio do uso do R. Assim, o aluno aprende a coletar e tratar essas variáveis sem necessidade de utilizar qualquer outro programa, como o Excel.

A Dívida Brasileira desde o Império

By | Política Fiscal

O Roberto Ellery publicou um post no seu blog mostrando grande preocupação com o comportamento da Dívida Bruta brasileira. Para isso, utilizou dados do livro da Carmen M. Reinhart sobre o endividamento brasileiro desde o Império. Achei interessante divulgar porque, como todo mundo sabe, encontrar dados longos para variáveis macroeconômicas desse país é um enorme sacrifício. Abaixo o código para baixar os dados da relação Dívida/PIB.


library(XLConnect)
library(ggplot2)
library(scales)

#### Dívida segundo Carmen M. Reinhart
url = 'http://www.carmenreinhart.com/user_uploads/data/7_data.xls'
temp = tempfile()
download.file(url, destfile=temp, mode='wb')
data = loadWorkbook(temp)

divida = readWorksheet(data, sheet = 'Brazil', header = TRUE, 
 startRow = 59)[,7]

time = seq(as.Date('1861-01-01'), as.Date('2010-01-01'), 
 by='1 year')

df = data.frame(time=time, divida=divida)

ggplot(df, aes(x=time))+
 geom_bar(aes(y=divida), 
 stat='identity', colour='darkblue', fill='darkblue',
 width=50)+
 scale_x_date(breaks = date_breaks("10 years"),
 labels = date_format("%Y"))+
 theme_bw()+xlab('')+ylab('% PIB')+
 labs(title='Dívida Bruta do Governo Brasileiro',
 caption='Fonte: Carmen M. Reinhart.')

E abaixo o gráfico...

 

A Análise de Dados está presente em praticamente todas as áreas do conhecimento. Estar pronto para coletar, tratar, analisar e apresentar dados é condição mais do que necessária no mundo atual.

 

Pensando nisso, preparamos cursos aplicados e super didáticos utilizando o R, a linguagem padrão da análise de dados. Clique na figura ao lado e conheça nossos cursos!

Vítor Wilher

Data Scientist

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

Usando um VECM para projetar a Dívida Bruta

By | Macroeconometria

A trajetória da Dívida Bruta brasileira tem sido objeto de preocupação entre analistas e investidores. Exemplo disso foi o rebaixamento da nota de crédito do país pelas três principais agências de classificação de risco. Mas o que está por trás do aumento da relação Dívida/PIB? Quais são os determinantes do endividamento público? Como podemos modelar essa relação ao longo do tempo? Melhor: como podemos prever essa relação para os próximos meses? São essas e outras questões que abordamos em uma das seções do nosso Curso de Macroeconometria usando o R e na edição 33 do Clube do Código. Para isso, construímos um Modelo Vetor de Correção de Erros (VECM).

Com o código abaixo, nós coletamos os dados que utilizaremos, bem como fazemos os tratamentos necessários para tornar os dados comparáveis.


### Coletar os dados
dbgg = window(BETS.get(13762), start=c(2007,01))
selic = window(BETS.get(4189), start=c(2007,01))
inflacao = window(BETS.get(13522), start=c(2007,01))
pib = BETS.get(22099)
nfsp = window(BETS.get(5793), start=c(2007,01))
cambio = window(BETS.get(3697), start=c(2007,01))
### Construir variáveis
dpib = (((pib+lag(pib,-1)+lag(pib,-2)+lag(pib,-3))/4)/
((lag(pib,-4)+lag(pib,-5)+lag(pib,-6)+lag(pib,-7))/4)-1)*100
juroreal = (((1+(selic/100))/(1+(inflacao/100)))-1)*100
### Juntar os dados mensais
data = ts.intersect(dbgg, juroreal, nfsp, cambio)
### Trimestralizar
data = ts(aggregate(data, nfrequency=4, FUN=mean),
start=c(2007,01), freq=4)
### Juntar todos os dados
data = ts.intersect(data, dpib)
colnames(data) = c('dbgg', 'juroreal', 'nfsp', 'cambio', 'dpib')

Abaixo, visualizamos as séries.

Com os dados coletados e tratados, podemos iniciar o nosso exercício.

 

Construindo um Vetor de Correção de Erros

 

De forma a gerar um modelo para a Dívida Bruta, nós vamos construir um Vetor de Correção de Erros (VECM), uma vez que todas as séries são não estacionárias. Para isso, vamos nos basear no exercício realizado por Johansen e Juselius (1992), onde os autores utilizam um contexto de cointegração multivariada. Para começar, podemos especificar, como em Pfaff (2008) uma versão de um VECM, onde y_t, um vetor (Kx1) de séries no período t entram com defasagem t-p:

(1)   \begin{align*} y_t& = \tau_1 \Delta y_{t-1} + ... + \tau_{p-1} \Delta y_{t-p+1} + \Pi y_{t-p} + \mu + \Phi D_t + \varepsilon_t \\ \tau_i& = - (I - \Pi_1 - ... - \Pi_i) \quad \text{para} \quad i = 1,...,p-1 \\ \Pi& = - (I - \Pi_1 - ... - \Pi_p) \end{align*}

onde \Pi_i(i=1,...,p) é uma matriz (KxK) de coeficientes das variáveis endógenas defasadas, \mu é um vetor (Kx1) de constantes, D_t é um vetor de variáveis não estocásticas, I é a matriz identidade (KxK), \tau_i(i=1,...,p) é a matriz que contém os impactos cumulativos de longo prazo e, por fim, \varepsilon_t é o vetor (Kx1) de termos de erros, supostamente i.i.d. tal que \varepsilon_t \sim \mathcal{N}(0,\Sigma).

Uma vez especificado o modelo, passamos agora à fase prática. Existe, afinal, cointegração entre as séries envolvidas? Utilizamos o teste de Johansen abaixo para verificar.


### Selecionar Defasagem
def = VARselect(data,lag.max=12,type="both")
### Teste de Cointegração Máximo AutoValor
jo.eigen = ca.jo(data, type='eigen', K=5, ecdet='const', 
 spec='transitory')

Não podemos rejeitar a existência de três vetores de cointegração pelo teste do máximo autovalor. Com efeito, montamos o VECM e geramos as previsões. Abaixo um gráfico que ilustra a projeção da Dívida Bruta do 2º trimestre de 2017 ao quarto trimestre de 2018. Pelo modelo estimado, a Dívida Bruta chega a 85% no final do período.

 

 

 

 

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

Assinar Gratuitamente