As pedaladas fiscais foram para o R

No Clube do Código dessa semana, vamos destrinchar a Nota à Imprensa de Política Fiscal do Banco Central do Brasil (BCB) de março de 2016, que fez referência às pedaladas fiscais. De forma a cumprir acordo com o Tribunal de Contas da União (TCU), o BCB incorporou os passivos do Tesouro Nacional junto a bancos públicos no estoque de endividamento e no resultado nominal e primário do setor público. Para fazer essa análise, importamos os dados diretamente do BCB.

Antes de mais nada, vamos carregar os pacotes que vamos usar. O código abaixo faz isso.

#### Carregar pacotes
library(XLConnect)
library(stargazer)

Para esse exercício, vamos utilizar a Nota à Imprensa de Política Fiscal do Banco Central do Brasil referente à março de 2016. Vamos importar as planilhas Quadro 43, Quadro 44 e Quadro 45 referentes ao Equacionamento de passivos - evidenciação dos impactos, na forma do Acórdão TCU nº 3.297/2015, de 9.12.2015. Fazemos isso com o código abaixo.

temp <- tempfile()

url <- 'http://www.bcb.gov.br/ftp/NotaEcon/NI201603pfp.zip'

download.file(url, temp)

data <- unzip(temp, files='Notimp3.xls')

data <- loadWorkbook(data)

estoque <- readWorksheet(data, sheet='Quadro 43', startRow = 12)[,-c(1:3)]

primario <- readWorksheet(data, sheet='Quadro 44', startRow = 12)[,-c(1:3)]

nominal <- readWorksheet(data, sheet='Quadro 45', startRow = 12)[,-c(1:3)]

Observe que não importamos as três primeiras colunas de cada planilha. Agora, vamos tratar os missing values e renomear as colunas.

estoque <- estoque[complete.cases(estoque),]

primario <- primario[complete.cases(primario),]

nominal <- nominal[complete.cases(nominal),]

colnames(estoque) <- c('BB Equa Agro', 'BB Títulos a receber', 'BB Total', 
 'Finame PSI', 'Finame Demais', 'Finame Total', 
 'CEF Tarifas', 'CEF BF', 'CEF AS', 'CEF SD', 'CEF Demais',
 'CEF Total', 'FGTS CS', 'FGTS MCMV', 'FGTS Canc Juros',
 'FGTS Total', 'Pedaladas Total', 'DL divulgada SPC', 
 'DL divulgada GF','DL com passivos SPC', 
 'DL com passivos GF')

colnames(primario) <- c('BB Equa Agro', 'BB Títulos a receber', 'BB Total', 
 'Finame PSI', 'Finame Demais', 'Finame Total', 
 'CEF Tarifas', 'CEF BF', 'CEF AS', 'CEF SD', 'CEF Demais',
 'CEF Total', 'FGTS CS', 'FGTS MCMV', 'FGTS Canc Juros',
 'FGTS Total', 'Pedaladas Total', 'Primario divulgado SPC', 
 'Primário divulgado GF','Primário com passivos SPC', 
 'Primário com passivos GF')

colnames(nominal) <- c('BB Equa Agro', 'BB Títulos a receber', 'BB Total', 
 'Finame PSI', 'Finame Demais', 'Finame Total', 
 'CEF Tarifas', 'CEF BF', 'CEF AS', 'CEF SD', 'CEF Demais',
 'CEF Total', 'FGTS CS', 'FGTS MCMV', 'FGTS Canc Juros',
 'FGTS Total', 'Pedaladas Total', 'Nominal divulgado SPC', 
 'Nominal divulgado GF','Nominal com passivos SPC', 
 'Nominal com passivos GF')

Transformamos agora em série temporal.

estoque <- ts(estoque, start=c(2001,12), freq=12)

primario <- ts(primario, start=c(2002,01), freq=12)

nominal <- ts(nominal, start=c(2002,01), freq=12)

Por fim, acumulamos o primario e o nominal em 12 meses, para melhor visualizar os dados.

primario12 <- primario+lag(primario,-1)+lag(primario,-2)+lag(primario,-3)+
 lag(primario,-4)+lag(primario,-5)+lag(primario,-6)+lag(primario,-7)+
 lag(primario,-8)+lag(primario,-9)+lag(primario,-10)+lag(primario,-11)

colnames(primario12) <- colnames(primario)

nominal12 <- nominal+lag(nominal,-1)+lag(nominal,-2)+lag(nominal,-3)+
 lag(nominal,-4)+lag(nominal,-5)+lag(nominal,-6)+lag(nominal,-7)+
 lag(nominal,-8)+lag(nominal,-9)+lag(nominal,-10)+lag(nominal,-11)

colnames(nominal12) <- colnames(nominal)

Efeito das Pedaladas nas Contas Públicas

A Nota à Imprensa recém divulgada pelo Banco Central do Brasil, destrinchada na seção anterior, coloca luz sobre o que convencionou-se chamar de pedaladas fiscais. Entre outras, foram ações deliberadas de atraso de repasse do Tesouro Nacional para Bancos Públicos, configurando, na prática, em empréstimos destes com aquele. Tal iniciativa causou efeito sobre os fluxos e estoques das finanças públicas. Comecemos, nesse aspecto, a avaliar o montante desses atrasos desde o início da série divulgada pelo BCB.

grafico01

O gráfico abaixo traz a distribuição média mensal do total das pedaladas em relação a quatro grandes grupos, a partir de 2008: (i) Banco do Brasil; (ii) FINAME (BNDES); (iii) CEF; (iv) FGTS. Em média, o Banco do Brasil representou 38,67% das pedaladas, seguido pelo Finame BNDES com 24,92%, pelo FGTS com 23,94% e pela Caixa Econômica com 12,45%.

grafico02

A tabela abaixo resume algumas estatísticas descritivas de todos os atrasos para a amostra total.

Estatísticas Descritivas das Pedaladas Fiscais (Rmilhões)
Statistic N Mean St. Dev. Min Max
BB Equa Agro 169 2,456.57 3,490.63 5.82 13,459.43
BB Títulos a receber 169 793.57 572.30 197.12 2,278.63
BB Total 169 3,250.13 4,036.53 237.41 15,591.65
Finame PSI 169 3,444.99 5,839.78 0.00 20,915.35
Finame Demais 169 186.20 160.39 0.00 685.81
Finame Total 169 3,631.19 5,899.90 0.00 21,335.51
CEF Tarifas 169 819.05 548.04 296.04 2,762.99
CEF BF 169 42.91 231.21 0.00 2,018.36
CEF AS 169 40.26 191.78 0.00 1,583.63
CEF SD 169 116.66 425.80 0.00 2,667.23
CEF Demais 169 94.92 58.13 38.65 281.76
CEF Total 169 1,113.79 1,046.34 363.14 7,367.65
FGTS CS 169 1,751.40 3,505.13 0.00 10,937.23
FGTS MCMV 169 1,718.89 2,723.68 -0.001 8,800.74
FGTS Canc Juros 169 285.80 294.05 0.00 831.05
FGTS Total 169 3,756.09 6,376.78 0.00 20,435.57
Pedaladas Total 169 11,751.20 17,027.37 635.43 58,683.66

Os atrasos para pagamento do Bolsa Família foram em média de R$ 42,91 milhões enquanto que para o Finame PSI foram de R$ 3,4 bilhões. A figura 3 abaixo traz o efeito das pedaladas sobre a Dívida Líquida. A diferença entre o que foi divulgado e o real endividamento passa a ser relevante a partir de 2012.

grafico03

Além do efeito sobre o endividamento, o resultado primário também foi prejudicado, como pode ser visto na figura 4 abaixo. O resultado divulgado pelo Tesouro era frequentemente melhor do que o de fato ocorreu, com a incorporação dos passivos junto aos bancos públicos.

grafico04

_________________________________________________________________

Gostou? Tenha acesso completo a esse e outros estudos. Entre para o Clube do Código.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Criando um Simples Assistente de Pesquisa com LangGraph

O exercício utiliza o LangGraph para criar personas fictícias de analistas econômicos, entrevistá-las com um especialista fictício e, a partir dessas interações, gerar relatórios técnicos usando LLMs, buscas na web e execução paralela.

Construindo Corrective RAG (CRAG) com LangGraph

Este post explica o conceito de Agentic CRAG (Corrective Retrieval-Augmented Generation) e sua aplicação na análise das atas do COPOM. Mostramos como combinar recuperação de informações, avaliação de relevância, correção de consultas e busca externa em um fluxo estruturado com LangGraph.

Criando Personas de Analistas com LangGraph

Este post apresenta um estudo de caso sobre a criação de um assistente de pesquisa com o LangGraph, integrando o conceito de human-in-the-loop. O sistema gera personas de analistas a partir de um tema, recebe feedback humano e ajusta as respostas de forma iterativa, garantindo resultados mais precisos e personalizados.

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.