O principal objetivo deste relatório visa estimar a sustentabilidade da Dívida Pública utilizando indicadores fiscais durante o período de 2003.01 - 2023.12, através de duas abordagens metodológicas.
Primeiramente descrevemos as bases de dados utilizadas. Em seguida, realizamos tratamentos nos dados e apresentamos uma análise estatística descritiva. Estimamos um modelo de MQO para calcular elasticidades e, posteriormente, um modelo VEC para analisar as trajetórias da dívida pública. Por fim, foram apresentadas as conclusões.
O trabalho é baseado 100% na metodologia abordada na tese de doutorado “Sustentabilidade da Dívida Pública, Regras Fiscais e Multiplicadores: Teoria, Experiência Internacional e o Caso Brasileiro’’, defendida por Helder Lara Ferreira Filho, em 07/06/2023, e contempla o trabalho de conclusão do curso de Econometria, ministrada pelo grande Professor Sinézio Fernandes Maia.
As seguintes bases de dados foram utilizadas ao longo do trabalho:
Receita Primária do Governo Central (dados mensais)
Receita Primária do Governo Central, incluindo juros nominais (dados mensais)
Despesa Primária do Governo Central (dados mensais)
Despesa Primária do Governo Central, incluindo juros nominais (dados mensais)
Resultado primario - NFSP sem desvalorização cambial (% PIB) - Fluxo mensal corrente - Resultado primário - Total - Setor público consolidado [ACUMULADO]
PIB acumulado dos últimos 12 meses - Valores correntes (R$ milhões)
Taxa Selic Acumulada no Mês
IPCA - Índice de Preços ao Consumidor Amplo (acumulada nos últimos 12 meses, com dados do Banco Central)
YVAR - Desvio do produto em relação ao produto potencial (yvar, com dados do IBC-Br do Banco Central)
GVAR - desvio dos gastos primários do governo central em relação à sua tendência (gvar, em proporção do PIB, com dados da Secretaria do Tesouro Nacional e do Banco Central)
Índice de commodities excluindo os combustíveis em relação à sua tendência (com dados do Fundo Monetário Internacional)
#Criando pasta para salvar planilhas que serão baixadas
dir.create("sustentabilidade")
## Warning in dir.create("sustentabilidade"): 'sustentabilidade' already exists
#Baixando planilhas do BCB:
divida_liquida_setor_publico <- rbcb::get_series(4503, start_date = "2003-01-01", end_date = "2023-12-01")
write.table(divida_liquida_setor_publico, file = "sustentabilidade/divida_liquida_setor_publico.txt", sep = ";")
despesa_primaria <- rbcb::get_series(7547, start_date = "2003-01-01", end_date = "2023-12-01")
write.table(despesa_primaria, file = "sustentabilidade/despesa_primaria.txt", sep = ";")
juros_nominais <- rbcb::get_series(4390, start_date = "2003-01-01", end_date = "2023-12-01")
write.table(juros_nominais, file = "sustentabilidade/juros_nominais.txt", sep = ";")
receita_primaria <- rbcb::get_series(7544, start_date = "2003-01-01", end_date = "2023-12-01")
write.table(receita_primaria, file = "sustentabilidade/receita_primaria.txt", sep = ";")
resultado_primario_nfsp <- rbcb::get_series(5364, start_date = "2002-01-01", end_date = "2023-12-01")
write.table(resultado_primario_nfsp, file = "sustentabilidade/resultado_primario_nfsp.txt", sep = ";")
pib <- rbcb::get_series(4382, start_date = "2003-01-01", end_date = "2023-12-01")
write.table(pib, file = "sustentabilidade/pib.txt", sep = ";")
inflacao_acum <- rbcb::get_series(13522, start_date = "2003-01-01", end_date = "2023-12-01")
write.table(inflacao_acum, file = "sustentabilidade/inflacao_acum.txt", sep = ";")
#Dívida Líquida do Setor Público (DLSP, % PIB)
divida_liquida_setor_publico <- read.table("sustentabilidade/divida_liquida_setor_publico.txt", sep = ";")
names(divida_liquida_setor_publico)[2] <- "valor"
divida_liquida_setor_publico = divida_liquida_setor_publico$valor
divida_liquida_setor_publico_ts <- ts(divida_liquida_setor_publico, frequency = 12, start = c(2003, 1), end = c(2023, 12))
plot(divida_liquida_setor_publico_ts, main = "Dívida Líquida do Setor Público (% PIB)", ylab = "% PIB", xlab = "Tempo")
#Receita Primária do Governo Central (dados mensais)
#7544
receita_primaria <- read.table("sustentabilidade/receita_primaria.txt", sep = ";")
names(receita_primaria)[2] <- "valor"
receita_primaria_ts <- ts(receita_primaria$valor, frequency = 12, start = c(2003, 1), end = c(2023, 12))
plot(receita_primaria_ts, main = "Receita Primária do Governo Central", ylab = "Valor", xlab = "Tempo")
#Despesa Primária do Governo Central (dados mensais)
#7547
despesa_primaria <- read.table("sustentabilidade/despesa_primaria.txt", sep = ";")
names(despesa_primaria)[2] <- "valor"
despesa_primaria_ts <- ts(despesa_primaria$valor, frequency = 12, start = c(2003, 1), end = c(2023, 12))
plot(despesa_primaria_ts, main = "Despesa Primária do Governo Central", ylab = "Valor", xlab = "Tempo")
#Resultado primario - NFSP sem desvalorização cambial - Fluxo mensal corrente (u.m.c.) - Resultado primário - Total - Setor público consolidado
resultado_primario_nfsp <- read.table("sustentabilidade/resultado_primario_nfsp.txt", sep = ";")
names(resultado_primario_nfsp)[2] <- "valor"
resultado_primario_nfsp_ts <- ts(resultado_primario_nfsp$valor, frequency = 12, start = c(2002, 1), end = c(2023, 12))
plot(resultado_primario_nfsp_ts, main = "Resultado Primário - NFSP sem Desvalorização Cambial", ylab = "Valor", xlab = "Tempo")
# ACUMULANDO O nfsp
resultado_primario_nfsp_acum=NULL
i=NULL
n=length(resultado_primario_nfsp_ts)-12
for (i in 1:n){
resultado_primario_nfsp_acum[i]=sum(resultado_primario_nfsp_ts[(i+1):(i+12)])*(-1)
}
resultado_primario_nfsp_acum_ts <- ts(resultado_primario_nfsp_acum,frequency = 12,start = c(2003,1),)
resultado_primario_nfsp_acum_ts <- ts(resultado_primario_nfsp_acum, frequency = 12, start = c(2003, 1), end = c(2023, 12))
resultado_primario_nfsp_acum_ts <- ts(resultado_primario_nfsp_acum, frequency = 12, start = c(2003, 1), end = c(2023, 12))
plot(resultado_primario_nfsp_acum_ts, main = "Resultado Primário - NFSP sem Desvalorização Cambial Acumulado", ylab = "Valor", xlab = "Tempo")
#PIB acumulado dos últimos 12 meses - Valores correntes (R$ milhões)
#4382
pib <- read.table("sustentabilidade/pib.txt", sep = ";")
names(pib)[2] <- "valor"
pib_ts <- ts(pib$valor, frequency = 12, start = c(2003, 1), end = c(2023, 12))
plot(pib_ts, main = "PIB Real", ylab = "Valor", xlab = "Tempo")
#Despesa Primária do Governo Central, incluindo juros nominais (dados mensais)
#Selic acumulada no mes
#4390
juros_nominais <- read.table("sustentabilidade/juros_nominais.txt", sep = ";")
names(juros_nominais)[2] <- "valor"
juros_nominais_ts <- ts(juros_nominais$valor, frequency = 12, start = c(2003, 1), end = c(2012, 12))
plot(juros_nominais_ts, main = "Juros Nominais", ylab = "Valor", xlab = "Tempo")
# Adicione a despesa primária ao valor dos juros nominais
despesa_primaria_juros <- despesa_primaria_ts + juros_nominais_ts
# Transforme em uma série temporal (ts)
despesa_primaria_juros_ts <- ts(despesa_primaria_juros, frequency = 12, start = c(2003, 1), end = c(2023, 12))
plot(despesa_primaria_juros_ts, main = "Despesa Primária do Governo Central (Incluindo Juros Nominais)", ylab = "Valor", xlab = "Tempo")
#Receita Primária do Governo Central, incluindo juros nominais (dados mensais):
receita_primaria_juros <- receita_primaria_ts + juros_nominais_ts
receita_primaria_juros_ts <- ts(receita_primaria_juros, frequency = 12, start = c(2003, 1), end = c(2023, 12))
plot(receita_primaria_juros_ts, main = "Receita Primária do Governo Central (Incluindo Juros Nominais)", ylab = "Valor", xlab = "Tempo")
#inflação (acumulada nos últimos 12 meses, com dados do Banco Central)
#433 IPCA - Índice de Preços ao Consumidor Amplo
inflacao_acum <- read.table("sustentabilidade/inflacao_acum.txt", sep = ";")
names(inflacao_acum)[2] <- "valor"
inflacao_acum = inflacao_acum$valor
inflacao_acum_ts <- ts(inflacao_acum, frequency = 12, start = c(2003, 1), end = c(2023, 12))
plot(inflacao_acum_ts, main = "Inflação (IPCA)", ylab = "Valor", xlab = "Tempo")
#YVAR - Desvio do produto em relação ao produto potencial (yvar, com dados do IBC-Br do Banco Central)
#Portanto, calcularemos o DESVIO DO PRODUTO EM RELAÇÃO AO PRODUTO POTENCIAL
#Carregar:
PibR = read.table("sustentabilidade/pibR.txt", sep = ";")
pib_ts<-ts(PibR,frequency=12,start=c(2003,1), end=c(2023,12))
plot(pib_ts, main = "PIB Real", ylab = "Valor", xlab = "Tempo")
library(mFilter)
#Aplicando o filtro HP para calcular o hiato do PIB
Pib.hp<-hpfilter(na.omit(pib_ts, type='lambda', freq=14400))
hiato<-Pib.hp$cycle
hiato<-hiato/pib_ts*100
write.table(hiato, file = "sustentabilidade/hiato.txt", sep = ";")
hiato <- read.table("sustentabilidade/hiato.txt", sep = ";")
names (hiato)
## [1] "pib_ts"
hiato <- ts(hiato, frequency = 12, start = c(2003, 1), end = c(2023, 12))
names(hiato)[1] <- "data"
names(hiato)[2] <- "valor"
hiato_ts <- ts(hiato, frequency = 12, start = c(2003, 1), end = c(2023, 12))
plot(hiato_ts, main = "Hiato do PIB", ylab = "Hiato (%)", xlab = "Tempo")
#GVAR - Desvio dos gastos primários do governo central em relação à sua tendência (gvar, em proporção do PIB, com dados da Secretaria do Tesouro Nacional e do Banco Central)
# Aplicar o filtro Hodrick-Prescott (HP) para encontrar a tendência
despesa_hp <- hpfilter(despesa_primaria_ts, type = "lambda", freq = 14400)
# Calcular o ciclo, que é a diferença entre a série real e a tendência
gvar_ciclo <- despesa_hp$cycle
# Normalizar em proporção ao PIB, assumindo que você tem uma série `pib`
gvar <- (gvar_ciclo / pib_ts) * 100
# Transformar em série temporal
gvar_ts <- ts(gvar, frequency = 12, start = c(2003, 1), end = c(2023, 12))
#Gvar = desvio dos gastos primários do governo central em relação à sua tendência
gvart = read.table("sustentabilidade/gvar.txt", sep = ";")
# Plote para visualizar
plot(gvar_ts, main = "Desvio dos Gastos Primários do Governo Central em Relação à Tendência", ylab = "Gvar (% do PIB)", xlab = "Tempo")
# Índice de commodities excluindo os combustíveis em relação à sua tendência (com dados do Fundo Monetário Internacional)
#Carregar p planilha de Non-Fuel Commodities Price Index baixada no site do FMI
#https://data.imf.org/?sk=471dddf8-d8a7-499a-81ba-5b332c01f8b9
commodities <- read.table("sustentabilidade/commodities.csv", sep = ";")
#Verificar estrutura antes de aplicar o filtro HP
names(commodities)
## [1] "Country.Name" "Country.Code" "Commodity.Name" "Commodity.Code"
## [5] "Unit.Name" "Unit.Code" "Attribute" "X2003"
## [9] "X2003Q1" "X2003M1" "X2003M2" "X2003M3"
## [13] "X2003Q2" "X2003M4" "X2003M5" "X2003M6"
## [17] "X2003Q3" "X2003M7" "X2003M8" "X2003M9"
## [21] "X2003Q4" "X2003M10" "X2003M11" "X2003M12"
## [25] "X2004" "X2004Q1" "X2004M1" "X2004M2"
## [29] "X2004M3" "X2004Q2" "X2004M4" "X2004M5"
## [33] "X2004M6" "X2004Q3" "X2004M7" "X2004M8"
## [37] "X2004M9" "X2004Q4" "X2004M10" "X2004M11"
## [41] "X2004M12" "X2005" "X2005Q1" "X2005M1"
## [45] "X2005M2" "X2005M3" "X2005Q2" "X2005M4"
## [49] "X2005M5" "X2005M6" "X2005Q3" "X2005M7"
## [53] "X2005M8" "X2005M9" "X2005Q4" "X2005M10"
## [57] "X2005M11" "X2005M12" "X2006" "X2006Q1"
## [61] "X2006M1" "X2006M2" "X2006M3" "X2006Q2"
## [65] "X2006M4" "X2006M5" "X2006M6" "X2006Q3"
## [69] "X2006M7" "X2006M8" "X2006M9" "X2006Q4"
## [73] "X2006M10" "X2006M11" "X2006M12" "X2007"
## [77] "X2007Q1" "X2007M1" "X2007M2" "X2007M3"
## [81] "X2007Q2" "X2007M4" "X2007M5" "X2007M6"
## [85] "X2007Q3" "X2007M7" "X2007M8" "X2007M9"
## [89] "X2007Q4" "X2007M10" "X2007M11" "X2007M12"
## [93] "X2008" "X2008Q1" "X2008M1" "X2008M2"
## [97] "X2008M3" "X2008Q2" "X2008M4" "X2008M5"
## [101] "X2008M6" "X2008Q3" "X2008M7" "X2008M8"
## [105] "X2008M9" "X2008Q4" "X2008M10" "X2008M11"
## [109] "X2008M12" "X2009" "X2009Q1" "X2009M1"
## [113] "X2009M2" "X2009M3" "X2009Q2" "X2009M4"
## [117] "X2009M5" "X2009M6" "X2009Q3" "X2009M7"
## [121] "X2009M8" "X2009M9" "X2009Q4" "X2009M10"
## [125] "X2009M11" "X2009M12" "X2010" "X2010Q1"
## [129] "X2010M1" "X2010M2" "X2010M3" "X2010Q2"
## [133] "X2010M4" "X2010M5" "X2010M6" "X2010Q3"
## [137] "X2010M7" "X2010M8" "X2010M9" "X2010Q4"
## [141] "X2010M10" "X2010M11" "X2010M12" "X2011"
## [145] "X2011Q1" "X2011M1" "X2011M2" "X2011M3"
## [149] "X2011Q2" "X2011M4" "X2011M5" "X2011M6"
## [153] "X2011Q3" "X2011M7" "X2011M8" "X2011M9"
## [157] "X2011Q4" "X2011M10" "X2011M11" "X2011M12"
## [161] "X2012" "X2012Q1" "X2012M1" "X2012M2"
## [165] "X2012M3" "X2012Q2" "X2012M4" "X2012M5"
## [169] "X2012M6" "X2012Q3" "X2012M7" "X2012M8"
## [173] "X2012M9" "X2012Q4" "X2012M10" "X2012M11"
## [177] "X2012M12" "X2013" "X2013Q1" "X2013M1"
## [181] "X2013M2" "X2013M3" "X2013Q2" "X2013M4"
## [185] "X2013M5" "X2013M6" "X2013Q3" "X2013M7"
## [189] "X2013M8" "X2013M9" "X2013Q4" "X2013M10"
## [193] "X2013M11" "X2013M12" "X2014" "X2014Q1"
## [197] "X2014M1" "X2014M2" "X2014M3" "X2014Q2"
## [201] "X2014M4" "X2014M5" "X2014M6" "X2014Q3"
## [205] "X2014M7" "X2014M8" "X2014M9" "X2014Q4"
## [209] "X2014M10" "X2014M11" "X2014M12" "X2015"
## [213] "X2015Q1" "X2015M1" "X2015M2" "X2015M3"
## [217] "X2015Q2" "X2015M4" "X2015M5" "X2015M6"
## [221] "X2015Q3" "X2015M7" "X2015M8" "X2015M9"
## [225] "X2015Q4" "X2015M10" "X2015M11" "X2015M12"
## [229] "X2016" "X2016Q1" "X2016M1" "X2016M2"
## [233] "X2016M3" "X2016Q2" "X2016M4" "X2016M5"
## [237] "X2016M6" "X2016Q3" "X2016M7" "X2016M8"
## [241] "X2016M9" "X2016Q4" "X2016M10" "X2016M11"
## [245] "X2016M12" "X2017" "X2017Q1" "X2017M1"
## [249] "X2017M2" "X2017M3" "X2017Q2" "X2017M4"
## [253] "X2017M5" "X2017M6" "X2017Q3" "X2017M7"
## [257] "X2017M8" "X2017M9" "X2017Q4" "X2017M10"
## [261] "X2017M11" "X2017M12" "X2018" "X2018Q1"
## [265] "X2018M1" "X2018M2" "X2018M3" "X2018Q2"
## [269] "X2018M4" "X2018M5" "X2018M6" "X2018Q3"
## [273] "X2018M7" "X2018M8" "X2018M9" "X2018Q4"
## [277] "X2018M10" "X2018M11" "X2018M12" "X2019"
## [281] "X2019Q1" "X2019M1" "X2019M2" "X2019M3"
## [285] "X2019Q2" "X2019M4" "X2019M5" "X2019M6"
## [289] "X2019Q3" "X2019M7" "X2019M8" "X2019M9"
## [293] "X2019Q4" "X2019M10" "X2019M11" "X2019M12"
## [297] "X2020" "X2020Q1" "X2020M1" "X2020M2"
## [301] "X2020M3" "X2020Q2" "X2020M4" "X2020M5"
## [305] "X2020M6" "X2020Q3" "X2020M7" "X2020M8"
## [309] "X2020M9" "X2020Q4" "X2020M10" "X2020M11"
## [313] "X2020M12" "X2021" "X2021Q1" "X2021M1"
## [317] "X2021M2" "X2021M3" "X2021Q2" "X2021M4"
## [321] "X2021M5" "X2021M6" "X2021Q3" "X2021M7"
## [325] "X2021M8" "X2021M9" "X2021Q4" "X2021M10"
## [329] "X2021M11" "X2021M12" "X2022" "X2022Q1"
## [333] "X2022M1" "X2022M2" "X2022M3" "X2022Q2"
## [337] "X2022M4" "X2022M5" "X2022M6" "X2022Q3"
## [341] "X2022M7" "X2022M8" "X2022M9" "X2022Q4"
## [345] "X2022M10" "X2022M11" "X2022M12" "X2023"
## [349] "X2023Q1" "X2023M1" "X"
#Está tudo completamente bagunçado.
##Tratando os dados da planilha de commodities
# Carregar bibliotecas necessárias
library(readr)
library(tidyr)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(zoo) # Para manipular datas mensais
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
# Filtrar apenas o índice "Non-Fuel index", removendo espaços extras
non_fuel_data <- commodities %>%
filter(trimws(`Commodity.Name`) == "Non-Fuel index")
# Converter os dados para o formato longo, mantendo apenas a data e o valor
non_fuel_long <- non_fuel_data %>%
pivot_longer(cols = -c(`Country.Name`, `Country.Code`, `Commodity.Name`, `Commodity.Code`, `Unit.Name`, `Unit.Code`, `Attribute`),
names_to = "date",
values_to = "valor") %>%
select(date, valor) %>%
drop_na()
# Remover o prefixo "X" das datas
non_fuel_long$date <- gsub("^X", "", non_fuel_long$date)
# Filtrar apenas os períodos mensais (por exemplo, "2003M1", "2023M1")
non_fuel_long <- non_fuel_long %>%
filter(grepl("^\\d{4}M\\d{1,2}$", date))
# Converter as datas de strings no formato `YYYYMmm` para objetos `Date`
non_fuel_long$date <- as.Date(as.yearmon(non_fuel_long$date, format = "%YM%m"))
# Ordenar os dados por data
non_fuel_long <- non_fuel_long %>%
arrange(date)
# Visualizar os dados transformados
head(non_fuel_long)
## # A tibble: 6 × 2
## date valor
## <date> <dbl>
## 1 2003-01-01 55.3
## 2 2003-02-01 55.9
## 3 2003-03-01 55.5
## 4 2003-04-01 55.7
## 5 2003-05-01 56.3
## 6 2003-06-01 56.2
commodities <- non_fuel_long
commodities_ts <- ts(commodities$valor, frequency = 12, start = c(2003, 1), end = c(2023, 12))
plot(commodities_ts, main = "Índice de Commodities Excluindo Combustíveis", ylab = "Valor", xlab = "Tempo")
#Em relação a sua tendência. Significa que precisamos aplicar um filtro HP para encontrar a tendência
#Aplicar o filtro Hodrick-Prescott
library(mFilter)
commodities_hp <- hpfilter(commodities_ts, type = "lambda", freq = 14400)
# Calcular o desvio em relação à tendência
commodities_ciclo <- commodities_hp$cycle
# Índice de commodities excluindo os combustíveis em relação à sua tendência:
commodities_desvio <- commodities_ciclo
commodities_desvio_ts <- ts(commodities_desvio, frequency = 12, start = c(2003, 1), end = c(2023, 12))
plot(commodities_desvio_ts, main = "Índice de Commodities Excluindo Combustíveis em Relação à Tendência", ylab = "Valor", xlab = "Tempo")
# Carregar o pacote 'dplyr' para facilitar a manipulação de dados
library(dplyr)
# Verificar o comprimento de cada variável
length(resultado_primario_nfsp_acum)
## [1] 252
length(hiato)
## [1] 252
length(gvar)
## [1] 252
length(divida_liquida_setor_publico)
## [1] 252
length(inflacao_acum)
## [1] 252
length(commodities_desvio)
## [1] 252
# Corrigir os nomes
names(hiato_ts) <- "valor"
names(gvar_ts) <- "valor"
rp <- resultado_primario_nfsp_acum_ts
yvar <- hiato_ts
gvar <- gvar_ts
div <- divida_liquida_setor_publico_ts
infl <- inflacao_acum_ts
comm <- commodities_desvio_ts
df <- data.frame(
rp = as.numeric(resultado_primario_nfsp_acum_ts),
yvar = as.numeric(hiato_ts),
gvar = as.numeric(gvar_ts),
div = as.numeric(divida_liquida_setor_publico_ts),
infl = as.numeric(inflacao_acum_ts),
comm = as.numeric(commodities_desvio_ts)
)
# Difinir explicitamente os nomes das colunas
names(df) <- c("rp", "yvar", "gvar", "div", "infl", "comm")
# Verificar a estrutura do dataframe
str(df)
## 'data.frame': 252 obs. of 6 variables:
## $ rp : num 39.5 40.6 40.3 42.6 43.1 ...
## $ yvar: num 1.888 1.018 0.578 0.307 0.12 ...
## $ gvar: num 0.0228 -0.0225 -0.0446 -0.041 -0.0235 ...
## $ div : num 37.6 37.8 36.2 32.6 33.3 ...
## $ infl: num 14.5 15.8 16.6 16.8 17.2 ...
## $ comm: num 1.896 1.892 0.805 0.269 0.173 ...
# Remover as observações NA
df <- na.omit(df)
# Verificar a estrutura do dataframe após a remoção de NA
str(df)
## 'data.frame': 252 obs. of 6 variables:
## $ rp : num 39.5 40.6 40.3 42.6 43.1 ...
## $ yvar: num 1.888 1.018 0.578 0.307 0.12 ...
## $ gvar: num 0.0228 -0.0225 -0.0446 -0.041 -0.0235 ...
## $ div : num 37.6 37.8 36.2 32.6 33.3 ...
## $ infl: num 14.5 15.8 16.6 16.8 17.2 ...
## $ comm: num 1.896 1.892 0.805 0.269 0.173 ...
# Verificar o resumo estatístico do dataframe
summary(df)
## rp yvar gvar div
## Min. :-114.780 Min. :-4.15296 Min. :-0.4898151 Min. :18.79
## 1st Qu.: -14.453 1st Qu.:-1.24520 1st Qu.:-0.0572579 1st Qu.:25.39
## Median : 21.045 Median : 0.12348 Median :-0.0204882 Median :30.39
## Mean : 9.824 Mean :-0.06593 Mean :-0.0001417 Mean :32.04
## 3rd Qu.: 39.630 3rd Qu.: 1.05004 3rd Qu.: 0.0297965 3rd Qu.:38.82
## Max. : 48.960 Max. : 4.61393 Max. : 0.7611733 Max. :52.11
## infl comm
## Min. : 1.880 Min. :-50.4903
## 1st Qu.: 4.332 1st Qu.: -5.3243
## Median : 5.770 Median : -0.2079
## Mean : 6.208 Mean : 0.0000
## 3rd Qu.: 7.027 3rd Qu.: 4.0639
## Max. :17.240 Max. : 46.3078
#Plot em um unico cbind
plot.ts(cbind(df$rp, df$yvar, df$gvar, df$div, df$infl, df$comm), main = "Séries Temporais das Variáveis", ylab = "Valor", xlab = "Tempo")
#Colocar tudo com 4 casas decimais
options(digits = 4)
#Exibir DataFrame
df
## rp yvar gvar div infl comm
## 1 39.48 1.887958 0.022803 37.57 14.47 1.89593
## 2 40.60 1.018266 -0.022463 37.78 15.85 1.89168
## 3 40.33 0.578012 -0.044557 36.21 16.57 0.80513
## 4 42.57 0.307461 -0.040985 32.64 16.77 0.26874
## 5 43.12 0.120079 -0.023501 33.28 17.24 0.17257
## 6 40.96 0.556479 -0.010663 33.05 16.57 -0.58312
## 7 41.03 0.840737 0.035931 33.89 15.43 -2.44656
## 8 42.81 0.904608 -0.014266 34.42 15.07 -2.56692
## 9 40.04 1.047504 -0.033108 33.91 15.14 0.46331
## 10 39.66 1.651704 0.016607 33.18 13.98 2.22388
## 11 39.89 1.814187 -0.009691 33.58 11.02 1.25256
## 12 39.59 1.805011 0.290163 33.69 9.30 1.44971
## 13 40.61 1.423383 -0.022560 33.63 7.71 2.91506
## 14 40.24 0.814458 -0.048830 33.43 6.69 3.12720
## 15 41.29 0.919213 -0.030337 32.90 5.89 4.47786
## 16 39.16 0.977662 -0.035395 32.70 5.26 4.04282
## 17 39.66 0.997455 -0.040402 33.14 5.15 2.83461
## 18 42.97 1.059408 -0.024365 32.61 6.06 1.39893
## 19 43.17 0.852824 0.022777 32.04 6.81 0.09706
## 20 44.16 0.854465 -0.027975 31.59 7.18 -2.64623
## 21 43.73 0.931256 -0.023244 31.04 6.70 -2.84173
## 22 43.42 0.758162 -0.015381 31.04 6.86 -2.97805
## 23 42.23 0.704243 -0.020912 30.56 7.24 -2.46976
## 24 45.45 0.520161 0.308617 30.72 7.60 -1.54400
## 25 46.18 0.343789 -0.029622 30.53 7.41 -1.31270
## 26 44.30 0.105380 -0.020065 30.45 7.39 -0.20466
## 27 45.18 -0.205377 -0.042573 30.49 7.54 1.39071
## 28 48.96 -0.715073 -0.084461 29.66 8.07 -1.04512
## 29 48.19 -0.892965 -0.042933 29.58 8.05 -1.51474
## 30 47.97 -0.617412 -0.012918 29.86 7.27 -3.79253
## 31 48.28 -0.788761 -0.005272 30.05 6.57 -5.39715
## 32 48.34 -0.634381 -0.015772 30.14 6.02 -6.16793
## 33 47.42 -0.818182 -0.025885 30.18 6.04 -6.78617
## 34 47.78 -1.264977 -0.019291 30.18 6.36 -7.32557
## 35 47.32 -1.527325 -0.006583 30.26 6.22 -8.10758
## 36 46.05 -1.550726 0.345239 30.60 5.69 -6.82295
## 37 41.68 -1.792981 0.026192 30.78 5.70 -4.62239
## 38 41.19 -2.001975 -0.073383 30.83 5.51 -4.19122
## 39 40.04 -2.217818 -0.078154 30.83 5.32 -4.64989
## 40 39.90 -2.527622 -0.096160 30.50 4.63 -0.22591
## 41 39.73 -2.275876 -0.035607 30.38 4.23 6.25113
## 42 39.99 -1.962318 -0.034445 30.49 4.03 0.74432
## 43 39.02 -1.764860 0.013966 30.45 3.97 2.09581
## 44 40.26 -1.424317 -0.044117 30.45 3.84 1.47321
## 45 38.83 -1.299534 0.053328 30.50 3.70 -0.63144
## 46 39.36 -1.089944 -0.018697 30.28 3.26 -0.83959
## 47 39.57 -0.937569 -0.006681 30.24 3.02 -0.16708
## 48 38.75 -1.064565 0.314578 30.54 3.14 0.27210
## 49 42.70 -1.047185 -0.056503 30.20 2.99 0.35205
## 50 42.91 -1.057185 -0.087102 30.23 3.02 2.43999
## 51 41.88 -0.881675 0.011091 30.41 2.96 3.82688
## 52 40.99 -0.490354 -0.072157 29.95 3.00 8.52626
## 53 41.48 -0.205298 -0.040768 30.34 3.18 7.62032
## 54 40.70 0.095075 -0.031761 30.09 3.69 4.12708
## 55 40.81 0.340439 0.003241 30.18 3.74 3.12674
## 56 38.83 0.258933 -0.024072 29.66 4.18 -1.42610
## 57 38.75 0.320507 0.041937 30.15 4.15 0.98676
## 58 38.87 0.449708 -0.035875 30.24 4.12 3.55401
## 59 40.17 0.329483 -0.012502 29.73 4.19 3.82579
## 60 39.62 -0.163463 0.352710 30.02 4.46 4.21693
## 61 40.94 -0.314221 -0.023206 29.21 4.56 10.39633
## 62 41.53 -0.268931 -0.107933 29.40 4.61 16.02494
## 63 43.82 -0.453568 -0.085618 28.65 4.73 21.24849
## 64 42.88 -0.351336 -0.078916 28.60 5.04 20.35203
## 65 42.74 -0.714792 -0.067954 28.88 5.58 21.34312
## 66 42.99 -0.752723 -0.054160 28.74 6.06 21.02614
## 67 44.24 -0.458879 0.048526 28.58 6.37 19.70469
## 68 44.83 -0.126555 -0.050025 27.85 6.17 11.40149
## 69 46.17 0.579127 0.005383 25.90 6.25 4.97896
## 70 47.41 0.861356 -0.043176 24.27 6.41 -9.92091
## 71 44.19 0.884446 0.022932 22.82 6.39 -18.36351
## 72 40.58 0.736299 0.220410 23.42 5.90 -20.83853
## 73 34.72 0.091828 0.026958 24.02 5.84 -18.91856
## 74 32.76 -0.672660 -0.112520 24.00 5.90 -20.07012
## 75 30.45 -0.733894 -0.082101 24.17 5.61 -21.37404
## 76 27.14 -1.442558 -0.057761 24.94 5.53 -18.92502
## 77 24.60 -2.056087 -0.045803 26.11 5.20 -14.76818
## 78 21.86 -2.630768 -0.038067 26.53 4.80 -13.90703
## 79 18.75 -3.104898 0.020741 27.25 4.50 -15.16523
## 80 17.05 -3.364858 -0.031876 27.34 4.36 -12.94567
## 81 12.65 -3.649087 0.037158 28.38 4.34 -15.66518
## 82 10.83 -3.716412 -0.035505 28.33 4.17 -13.11266
## 83 15.18 -3.553984 -0.004595 27.96 4.22 -9.60116
## 84 23.33 -3.080806 0.156099 27.98 4.31 -7.58065
## 85 26.04 -3.173259 -0.034792 26.80 4.59 -5.30003
## 86 25.76 -3.269471 -0.104749 27.15 4.83 -7.80481
## 87 22.68 -2.843532 0.057074 27.37 5.17 -3.71119
## 88 24.68 -2.533854 -0.040341 27.09 5.26 2.24809
## 89 24.04 -2.126972 -0.031710 26.65 5.22 -3.97862
## 90 23.49 -1.357513 -0.071240 26.53 4.84 -9.78484
## 91 23.10 -0.551745 0.036146 26.74 4.60 -10.27977
## 92 22.72 0.271782 -0.032600 26.63 4.49 -5.74835
## 93 32.96 0.615193 0.576190 26.16 4.70 -2.12806
## 94 31.28 0.494346 -0.023978 25.84 5.20 3.17489
## 95 28.45 0.513401 -0.007322 25.75 5.63 5.71843
## 96 31.52 0.568341 0.103334 25.76 5.91 11.68794
## 97 31.28 0.383891 0.042880 25.47 5.99 15.62267
## 98 32.54 0.368108 -0.140544 25.51 6.01 20.41011
## 99 36.40 0.081209 -0.074308 25.60 6.30 17.53575
## 100 34.98 -0.064811 -0.003467 25.57 6.51 21.21938
## 101 36.87 0.311090 -0.072552 25.52 6.55 16.22573
## 102 39.85 0.873357 -0.024023 25.51 6.71 14.07352
## 103 43.13 1.210317 0.052521 25.37 6.87 14.82920
## 104 42.79 1.434143 -0.052107 25.20 7.23 15.26238
## 105 36.62 1.290492 -0.003621 23.22 7.31 10.41153
## 106 37.48 1.233395 -0.025735 24.28 6.97 1.49562
## 107 38.42 1.096947 -0.050750 23.40 6.64 -0.01316
## 108 35.80 1.082214 0.182191 23.06 6.50 -3.99186
## 109 37.52 0.990408 0.021183 23.83 6.22 -0.94452
## 110 37.73 0.978324 -0.142186 24.11 5.85 2.83739
## 111 36.55 1.336777 -0.035562 23.27 5.24 2.99807
## 112 35.15 1.057632 0.044723 22.50 5.10 2.77661
## 113 33.77 1.109308 -0.064864 21.65 4.99 -2.73090
## 114 30.81 1.397577 -0.036773 21.61 4.92 -5.21084
## 115 28.42 1.562329 0.045419 21.33 5.20 -2.17051
## 116 27.92 1.794193 -0.038471 21.36 5.24 -2.87750
## 117 26.13 1.635038 -0.008730 21.29 5.28 -0.69208
## 118 25.37 1.774004 -0.016104 21.12 5.45 0.25001
## 119 21.98 1.645859 -0.001410 20.79 5.53 -0.54662
## 120 26.86 1.196291 0.084639 20.82 5.84 1.29601
## 121 27.12 1.019722 0.033345 20.89 6.15 4.63428
## 122 23.77 0.814783 -0.142175 21.38 6.31 4.96319
## 123 21.95 0.871527 -0.071057 21.22 6.59 2.60792
## 124 20.57 1.326575 0.105154 21.08 6.49 1.42349
## 125 21.20 1.538827 -0.089816 20.43 6.50 0.64795
## 126 21.74 1.860526 -0.023202 20.14 6.70 -2.76872
## 127 20.89 2.490780 0.053073 19.65 6.27 -3.58521
## 128 20.07 2.755706 -0.051143 19.38 6.09 -1.86656
## 129 17.65 3.107403 0.065061 20.42 5.86 -3.37277
## 130 16.08 3.234999 0.029150 20.46 5.84 -3.58817
## 131 23.69 3.383956 -0.007792 19.36 5.77 -2.96701
## 132 20.54 3.350088 0.052713 19.23 5.91 -1.49450
## 133 17.53 3.506977 0.110402 18.79 5.59 -0.31996
## 134 18.76 3.764056 -0.140824 19.32 5.68 3.01097
## 135 18.70 3.539647 -0.071800 19.74 6.15 7.19245
## 136 19.91 3.394357 -0.036912 19.63 6.28 9.43090
## 137 16.32 3.573645 -0.040483 19.92 6.37 6.70948
## 138 14.61 3.584077 -0.057090 20.38 6.52 5.32901
## 139 13.13 4.107984 0.037590 20.49 6.50 6.17309
## 140 10.24 4.332276 0.053447 21.04 6.51 3.85013
## 141 7.07 4.487741 0.100044 20.80 6.75 1.30827
## 142 6.50 4.613933 -0.012988 20.94 6.59 0.26242
## 143 -1.44 4.574960 0.003677 20.76 6.56 -0.21121
## 144 -6.24 4.377545 0.068888 20.78 6.41 -1.06419
## 145 -6.19 3.535062 0.029032 20.82 7.14 -2.56882
## 146 -7.15 2.545121 -0.167881 20.46 7.70 -4.23038
## 147 -7.85 1.910424 -0.134824 19.49 8.13 -6.34131
## 148 -8.67 1.517351 -0.035231 20.29 8.17 -4.78146
## 149 -7.77 0.989542 -0.108344 20.13 8.47 -2.80229
## 150 -9.21 0.721132 -0.072550 20.96 8.89 -3.76472
## 151 -10.22 0.471477 0.012491 20.31 9.56 -6.14878
## 152 -8.69 0.575994 -0.147998 19.62 9.53 -7.80209
## 153 -4.96 0.208307 -0.103726 18.88 9.49 -7.85345
## 154 -7.90 -0.367747 0.008668 19.84 9.93 -6.94283
## 155 -10.09 -1.090050 -0.052038 20.52 10.48 -11.36745
## 156 -21.42 -1.767459 0.761173 21.90 10.67 -12.51541
## 157 -20.07 -2.894777 0.075816 21.52 10.71 -12.35822
## 158 -24.28 -3.372519 -0.117014 23.22 10.36 -9.18577
## 159 -26.35 -3.561183 -0.127446 25.40 9.39 -4.60353
## 160 -27.10 -3.746563 -0.110064 25.99 9.28 -2.11385
## 161 -29.21 -4.101846 -0.135552 26.10 9.32 -1.51142
## 162 -29.24 -3.898283 -0.139504 28.55 8.84 -0.44153
## 163 -29.72 -4.152958 0.053023 29.67 8.74 1.83251
## 164 -32.46 -4.080968 -0.131206 29.79 8.97 1.38727
## 165 -36.08 -3.718121 -0.015370 30.67 8.48 0.57205
## 166 -26.54 -3.654403 -0.188127 30.92 7.87 -0.80546
## 167 -29.90 -3.277016 0.054515 30.92 6.99 1.83567
## 168 -28.93 -3.057642 0.538413 33.34 6.29 1.94252
## 169 -27.58 -2.907528 -0.089489 33.85 5.35 5.46774
## 170 -27.47 -2.903825 -0.153002 34.70 4.76 7.92593
## 171 -27.42 -2.622950 -0.116097 35.07 4.57 5.29784
## 172 -26.97 -2.494969 -0.150584 35.00 4.08 3.19813
## 173 -29.04 -2.262645 -0.023007 35.53 3.60 2.60696
## 174 -30.72 -1.712749 -0.029104 35.92 3.00 1.43207
## 175 -31.20 -1.552263 0.003540 37.27 2.71 3.20048
## 176 -28.71 -1.367941 -0.077913 37.70 2.46 3.33236
## 177 -27.54 -1.244893 0.045789 38.32 2.54 2.73971
## 178 -34.03 -1.246134 -0.108440 38.01 2.70 1.94529
## 179 -27.02 -1.132636 -0.023090 38.32 2.80 2.51638
## 180 -19.69 -1.143702 0.452119 38.48 2.95 2.75283
## 181 -18.34 -0.888422 -0.008056 38.80 2.86 7.03504
## 182 -16.97 -0.818290 -0.085150 38.88 2.84 6.99409
## 183 -19.26 -0.534192 0.107819 39.07 2.68 6.20912
## 184 -21.17 -0.067754 0.096635 38.33 2.76 6.07430
## 185 -17.05 -0.368937 0.003814 37.61 2.86 6.02020
## 186 -15.75 -1.073265 0.051434 37.59 4.39 3.40460
## 187 -13.38 -0.833925 0.162254 38.28 4.48 -0.98313
## 188 -14.49 -0.194206 0.159632 37.10 4.19 -4.50381
## 189 -14.85 -0.292749 0.259126 38.17 4.53 -4.38853
## 190 -14.42 -0.208183 0.123725 39.43 4.56 -2.84291
## 191 -16.83 0.386963 0.255124 39.03 4.05 -5.86625
## 192 -18.08 0.453318 0.630666 39.46 3.75 -5.25311
## 193 -18.47 0.394946 0.207500 40.12 3.78 -4.10467
## 194 -17.84 0.368984 0.198382 40.15 3.89 -3.49583
## 195 -16.67 -0.317310 0.354810 39.95 4.58 -4.52004
## 196 -16.08 -0.648983 0.412288 39.91 4.94 -3.34465
## 197 -16.73 -0.155936 0.302496 40.13 4.66 -6.00039
## 198 -16.55 -0.121192 0.317928 40.75 3.37 -4.15231
## 199 -16.42 0.101928 0.516980 41.31 3.22 -3.33689
## 200 -15.74 0.264523 0.447663 40.09 3.43 -7.36007
## 201 -14.79 0.730887 -0.489815 40.42 2.89 -8.56990
## 202 -14.61 0.982118 -0.477542 41.02 2.54 -10.16944
## 203 -14.44 0.723651 -0.456272 40.59 3.27 -10.26278
## 204 -9.71 -0.093822 -0.424769 41.66 4.31 -8.90578
## 205 -8.64 -0.002127 -0.382819 40.14 4.19 -7.43048
## 206 -9.43 0.126881 -0.344288 39.47 4.01 -11.61092
## 207 -10.06 0.318395 -0.288907 37.11 3.30 -16.40100
## 208 -27.75 -0.177289 -0.287973 37.77 2.40 -19.51742
## 209 -48.39 -0.507610 -0.271333 39.73 1.88 -17.83631
## 210 -77.32 -0.836642 -0.218870 42.28 2.13 -15.17894
## 211 -89.47 -1.250486 -0.209118 44.40 2.31 -14.11153
## 212 -101.07 -1.602970 -0.019930 44.87 2.44 -10.22863
## 213 -107.71 -2.077733 -0.171960 45.53 3.14 -10.67073
## 214 -108.72 -2.860358 -0.167025 45.39 3.92 -9.71893
## 215 -108.99 -3.433477 -0.138073 47.14 4.31 -7.87368
## 216 -114.21 -4.117030 -0.123753 47.98 4.52 -4.12616
## 217 -114.78 -3.747167 -0.109557 46.72 4.56 0.91741
## 218 -113.06 -3.693407 -0.085098 46.74 5.20 2.31249
## 219 -108.69 -3.125926 -0.043833 45.90 6.10 3.57083
## 220 -88.80 -1.513071 -0.059358 45.56 6.76 9.35679
## 221 -68.17 -0.700317 -0.045182 45.74 8.06 17.81337
## 222 -46.04 0.033720 -0.030577 47.01 8.35 15.55799
## 223 -34.79 0.266847 -0.024802 46.53 8.99 14.98178
## 224 -18.87 0.652599 0.166785 46.45 9.68 10.43771
## 225 -7.21 0.542047 -0.014959 45.54 10.25 4.64976
## 226 -3.07 0.159772 -0.003634 44.68 10.67 8.52905
## 227 1.51 0.151185 -0.011042 44.67 10.74 9.15492
## 228 8.87 0.132054 -0.029973 44.71 10.06 12.96216
## 229 14.32 -0.139081 -0.002951 44.78 10.38 22.30310
## 230 16.44 -0.931949 0.017200 45.78 10.54 29.54302
## 231 16.30 -2.116304 0.024471 47.32 11.30 42.76863
## 232 17.69 -2.502564 0.020591 47.12 12.13 46.30778
## 233 15.89 -2.048498 0.016299 47.84 11.73 40.56976
## 234 26.53 -1.824741 0.021348 46.77 11.89 36.63330
## 235 30.22 -0.334730 0.029135 46.41 10.07 24.33576
## 236 24.57 0.824411 0.227735 47.11 8.73 25.28860
## 237 24.12 1.776324 0.047631 47.01 7.17 22.81847
## 238 22.62 1.948396 -0.007975 47.01 6.47 25.71825
## 239 18.43 2.151769 -0.010798 46.80 5.90 31.93254
## 240 17.07 2.120454 -0.021140 47.01 5.79 37.70934
## 241 15.20 2.154914 0.012043 46.34 5.77 45.46553
## 242 11.56 1.786253 0.012072 46.91 5.60 -50.49027
## 243 9.54 1.724830 0.038861 47.16 4.65 -46.40322
## 244 7.12 1.509681 0.005023 47.19 4.18 -43.33182
## 245 5.49 1.566187 0.060209 47.79 3.94 -39.66031
## 246 -1.69 1.819502 0.017960 49.11 3.16 -35.51227
## 247 -7.97 1.800143 0.024126 49.73 3.99 -31.99829
## 248 -6.97 1.743593 0.209697 50.06 4.61 -29.57498
## 249 -10.22 1.632610 -0.006306 50.40 5.19 -25.39769
## 250 -11.73 1.672401 -0.024926 50.36 4.82 -18.06324
## 251 -13.38 1.775867 0.031735 50.70 4.68 -11.99462
## 252 -25.81 1.535193 -0.017931 52.11 4.62 -8.65547
### Análise Estatística Descritiva - de cada uma das variáveis do modelo:
summary(rp)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -114.78 -14.45 21.04 9.82 39.63 48.96
summary(yvar)
## pib_ts
## Min. :-4.153
## 1st Qu.:-1.245
## Median : 0.123
## Mean :-0.066
## 3rd Qu.: 1.050
## Max. : 4.614
summary(gvar)
## pib_ts
## Min. :-0.4898
## 1st Qu.:-0.0573
## Median :-0.0205
## Mean :-0.0001
## 3rd Qu.: 0.0298
## Max. : 0.7612
summary(div)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 18.8 25.4 30.4 32.0 38.8 52.1
summary(infl)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.88 4.33 5.77 6.21 7.03 17.24
summary(comm)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -50.49 -5.32 -0.21 0.00 4.06 46.31
# Medida central (média, mediana) - de cada uma das variáveis do modelo
mean(df$rp)
## [1] 9.824
median(df$rp)
## [1] 21.04
mean(df$yvar)
## [1] -0.06593
median(df$yvar)
## [1] 0.1235
mean(df$gvar)
## [1] -0.0001417
median(df$gvar)
## [1] -0.02049
mean(df$div)
## [1] 32.04
median(df$div)
## [1] 30.4
mean(df$infl)
## [1] 6.208
median(df$infl)
## [1] 5.77
mean(df$comm)
## [1] -1.269e-16
median(df$comm)
## [1] -0.2079
# Variância e desvio padrão - de cada uma das variáveis do modelo
var(df$rp)
## [1] 1279
sd(df$rp)
## [1] 35.76
#var(df$yvar)
#sd(df$yvar)
#var(df$gvar)
#sd(df$gvar)
var(df$div)
## [1] 80.08
sd(df$div)
## [1] 8.949
var(df$infl)
## [1] 8.323
sd(df$infl)
## [1] 2.885
var(df$comm)
## [1] 174.3
sd(df$comm)
## [1] 13.2
# Curtose e assimetria - de cada uma das variáveis do modelo
library(moments)
kurtosis(df$rp)
## [1] 5.195
skewness(df$rp)
## [1] -1.416
#kurtosis(df$yvar)
#skewness(df$yvar)
#kurtosis(df$gvar)
#skewness(df$gvar)
kurtosis(df$div)
## [1] 2.104
skewness(df$div)
## [1] 0.4213
kurtosis(df$infl)
## [1] 5.897
skewness(df$infl)
## [1] 1.541
kurtosis(df$comm)
## [1] 6.229
skewness(df$comm)
## [1] 0.1303
# Análise de estabilidade e tendências - de cada uma das variáveis do modelo
acf(df$rp)
pacf(df$rp)
#acf(df$yvar)
#pacf(df$yvar)
#acf(df$gvar)
#pacf(df$gvar)
acf(df$div)
pacf(df$div)
acf(df$infl)
pacf(df$infl)
acf(df$comm)
pacf(df$comm)
Aplicamos as defasagens em todas nossas variáveis do modelo, com excessão de commodities, conforme foi feito no trabalho de Helder, no qual estamos nos referenciando.
##APLICANDO DEFASGAENS
# Carregar o pacote 'dplyr' para manipulação de dados
library(dplyr)
# Adicionar defasagens no dataframe
# Atualizar o dataframe com defasagens apenas nas variáveis especificadas
df_lagged <- df %>%
mutate(
rp_lag1 = lag(rp, 1),
yvar_lag1 = lag(yvar, 1),
gvar_lag1 = lag(gvar, 1),
div_lag1 = lag(div, 1),
infl_lag1 = lag(infl, 1)
) %>%
na.omit() # Remover linhas com NA resultantes das defasagens
# Verificar a estrutura do novo dataframe com defasagens
str(df_lagged)
## 'data.frame': 251 obs. of 11 variables:
## $ rp : num 40.6 40.3 42.6 43.1 41 ...
## $ yvar : num 1.018 0.578 0.307 0.12 0.556 ...
## $ gvar : num -0.0225 -0.0446 -0.041 -0.0235 -0.0107 ...
## $ div : num 37.8 36.2 32.6 33.3 33 ...
## $ infl : num 15.8 16.6 16.8 17.2 16.6 ...
## $ comm : num 1.892 0.805 0.269 0.173 -0.583 ...
## $ rp_lag1 : num 39.5 40.6 40.3 42.6 43.1 ...
## $ yvar_lag1: num 1.888 1.018 0.578 0.307 0.12 ...
## $ gvar_lag1: num 0.0228 -0.0225 -0.0446 -0.041 -0.0235 ...
## $ div_lag1 : num 37.6 37.8 36.2 32.6 33.3 ...
## $ infl_lag1: num 14.5 15.8 16.6 16.8 17.2 ...
## - attr(*, "na.action")= 'omit' Named int 1
## ..- attr(*, "names")= chr "1"
Aplicamos as dummies ao modelo, conforme foi feito no trabalho de Helder, no qual estamos nos referenciando:
“2020” (ano extraordinário com a pandemia do COVID)
“teto” (de 2017 a 2019, quando foi efetivo, antes da pandemia, em que despesas foram excepcionalizadas)
“setembro de 2010” (quando houve a capitalização da Petrobras)
“pedaladas” (entre 2011 e 2014, quando foram mais significativas as pedaladas fiscais)
##ADICIONAR DUMMIES
start_year <- 2003
start_month <- 1
num_points <- length(df_lagged$rp)
# Criar sequência de datas
dates <- seq(from=as.Date(paste(start_year, start_month, "1", sep="-")),
length.out=num_points,
by="month")
# Adicionar ao dataframe
df_lagged$ano <- format(dates, "%Y")
df_lagged$mes <- format(dates, "%m")
# Converter para numérico
df_lagged$ano <- as.numeric(df_lagged$ano)
df_lagged$mes <- as.numeric(df_lagged$mes)
# Criar variáveis dummy
df_lagged$dummy_2020 <- ifelse(df_lagged$ano == 2020, 1, 0)
df_lagged$dummy_teto <- ifelse(df_lagged$ano >= 2017 & df_lagged$ano <= 2019, 1, 0)
df_lagged$dummy_set10 <- ifelse(df_lagged$ano == 2010 & df_lagged$mes == 9, 1, 0)
df_lagged$dummy_pedaladas <- ifelse(df_lagged$ano >= 2011 & df_lagged$ano <= 2014, 1, 0)
head(df_lagged)
## rp yvar gvar div infl comm rp_lag1 yvar_lag1 gvar_lag1
## 2 40.60 1.0183 -0.02246 37.78 15.85 1.8917 39.48 1.8880 0.02280
## 3 40.33 0.5780 -0.04456 36.21 16.57 0.8051 40.60 1.0183 -0.02246
## 4 42.57 0.3075 -0.04098 32.64 16.77 0.2687 40.33 0.5780 -0.04456
## 5 43.12 0.1201 -0.02350 33.28 17.24 0.1726 42.57 0.3075 -0.04098
## 6 40.96 0.5565 -0.01066 33.05 16.57 -0.5831 43.12 0.1201 -0.02350
## 7 41.03 0.8407 0.03593 33.89 15.43 -2.4466 40.96 0.5565 -0.01066
## div_lag1 infl_lag1 ano mes dummy_2020 dummy_teto dummy_set10 dummy_pedaladas
## 2 37.57 14.47 2003 1 0 0 0 0
## 3 37.78 15.85 2003 2 0 0 0 0
## 4 36.21 16.57 2003 3 0 0 0 0
## 5 32.64 16.77 2003 4 0 0 0 0
## 6 33.28 17.24 2003 5 0 0 0 0
## 7 33.05 16.57 2003 6 0 0 0 0
Com dummies e variáveis defasadas (com exceção de commodities), O modelo de regressão linear múltipla foi estimado utilizando exatamente a mesma metodologia abordada no trabalho de Helder:
#RODANDO MQO DEFINITIVO
# Modelo de MQO com dummies e variáveis defasadas (com exceção de commodities)
modelo_final <- lm(rp_lag1 ~ yvar_lag1 + gvar_lag1 + div_lag1 + infl_lag1 + comm + dummy_2020 + dummy_teto + dummy_set10 + dummy_pedaladas, data = df_lagged)
summary(modelo_final)
##
## Call:
## lm(formula = rp_lag1 ~ yvar_lag1 + gvar_lag1 + div_lag1 + infl_lag1 +
## comm + dummy_2020 + dummy_teto + dummy_set10 + dummy_pedaladas,
## data = df_lagged)
##
## Residuals:
## Min 1Q Median 3Q Max
## -96.5 -11.0 6.4 15.9 48.2
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 75.613 9.630 7.85 1.3e-13 ***
## yvar_lag1 6.255 1.062 5.89 1.3e-08 ***
## gvar_lag1 0.819 11.349 0.07 0.943
## div_lag1 -1.411 0.248 -5.69 3.6e-08 ***
## infl_lag1 -1.135 0.654 -1.74 0.084 .
## comm 0.320 0.134 2.38 0.018 *
## dummy_2020 -67.062 9.058 -7.40 2.2e-12 ***
## dummy_teto -32.799 5.468 -6.00 7.3e-09 ***
## dummy_set10 -5.741 26.523 -0.22 0.829
## dummy_pedaladas -26.733 6.133 -4.36 1.9e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 25.4 on 241 degrees of freedom
## Multiple R-squared: 0.513, Adjusted R-squared: 0.495
## F-statistic: 28.2 on 9 and 241 DF, p-value: <2e-16
# Verificar os coeficientes do modelo final
coeficientes_final <- coef(modelo_final)
print(coeficientes_final)
## (Intercept) yvar_lag1 gvar_lag1 div_lag1 infl_lag1
## 75.6134 6.2546 0.8188 -1.4111 -1.1347
## comm dummy_2020 dummy_teto dummy_set10 dummy_pedaladas
## 0.3196 -67.0622 -32.7994 -5.7409 -26.7327
# Resumo detalhado do modelo, incluindo erro padrão, estatística t e p-valor
resumo_modelo_final <- summary(modelo_final)
print(resumo_modelo_final)
##
## Call:
## lm(formula = rp_lag1 ~ yvar_lag1 + gvar_lag1 + div_lag1 + infl_lag1 +
## comm + dummy_2020 + dummy_teto + dummy_set10 + dummy_pedaladas,
## data = df_lagged)
##
## Residuals:
## Min 1Q Median 3Q Max
## -96.5 -11.0 6.4 15.9 48.2
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 75.613 9.630 7.85 1.3e-13 ***
## yvar_lag1 6.255 1.062 5.89 1.3e-08 ***
## gvar_lag1 0.819 11.349 0.07 0.943
## div_lag1 -1.411 0.248 -5.69 3.6e-08 ***
## infl_lag1 -1.135 0.654 -1.74 0.084 .
## comm 0.320 0.134 2.38 0.018 *
## dummy_2020 -67.062 9.058 -7.40 2.2e-12 ***
## dummy_teto -32.799 5.468 -6.00 7.3e-09 ***
## dummy_set10 -5.741 26.523 -0.22 0.829
## dummy_pedaladas -26.733 6.133 -4.36 1.9e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 25.4 on 241 degrees of freedom
## Multiple R-squared: 0.513, Adjusted R-squared: 0.495
## F-statistic: 28.2 on 9 and 241 DF, p-value: <2e-16
# Acesso direto aos coeficientes, erros padrão, valores t e p
coeficientes_detalhados_final <- resumo_modelo_final$coefficients
print(coeficientes_detalhados_final)
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 75.6134 9.6300 7.85187 1.345e-13
## yvar_lag1 6.2546 1.0623 5.88785 1.306e-08
## gvar_lag1 0.8188 11.3487 0.07215 9.425e-01
## div_lag1 -1.4111 0.2478 -5.69438 3.588e-08
## infl_lag1 -1.1347 0.6540 -1.73503 8.401e-02
## comm 0.3196 0.1342 2.38134 1.803e-02
## dummy_2020 -67.0622 9.0584 -7.40333 2.214e-12
## dummy_teto -32.7994 5.4683 -5.99809 7.261e-09
## dummy_set10 -5.7409 26.5227 -0.21645 8.288e-01
## dummy_pedaladas -26.7327 6.1327 -4.35905 1.935e-05
# Outros parâmetros como R² e estatísticas F
r_squared_final <- resumo_modelo_final$r.squared
ajustado_r_squared_final <- resumo_modelo_final$adj.r.squared
estatistica_f_final <- resumo_modelo_final$fstatistic
# Exibir os valores coletados
print(paste("R²: ", r_squared_final))
## [1] "R²: 0.512999139773806"
print(paste("R² Ajustado: ", ajustado_r_squared_final))
## [1] "R² Ajustado: 0.494812385657475"
print(paste("Estatística F: ", estatistica_f_final[1], " com ", estatistica_f_final[2], " e ", estatistica_f_final[3], " graus de liberdade."))
## [1] "Estatística F: 28.20729507269 com 9 e 241 graus de liberdade."
print(paste("Valor-p da estatística F: ", pf(estatistica_f_final[1], estatistica_f_final[2], estatistica_f_final[3], lower.tail = FALSE)))
## [1] "Valor-p da estatística F: 3.89554060177318e-33"
Os resíduos variam de -96.5 a 48.2, com a mediana em 6.4, indicando uma leve assimetria.
7.1 Interpretação dos Coeficientes:
(Intercept): Um valor base de 75.613 para a receita primária (% do PIB), na ausência dos efeitos das variáveis explicativas.
yvar_lag1: Um aumento de 1% em yvar_lag1 está associado a um aumento de 6.255% na receita primária (% do PIB). Este coeficiente é estatisticamente significativo (p < 0.001).
gvar_lag1: Não tem efeito significativo sobre a receita primária (p = 0.943).
div_lag1: Um aumento de 1% em div_lag1 está associado a uma redução de 1.411% na receita primária (% do PIB). Este coeficiente é estatisticamente significativo (p < 0.001).
infl_lag1: Um aumento de 1% na inflação está associado a uma redução de 1.135% na receita primária (% do PIB). Este coeficiente é marginalmente significativo (p = 0.084).
comm: Um aumento de 1% na variável comm está associado a um aumento de 0.320% na receita primária (% do PIB). Este coeficiente é estatisticamente significativo (p < 0.05).
dummy_2020: O ano de 2020 está associado a uma redução de 67.062% na receita primária (% do PIB), refletindo possivelmente o impacto da pandemia de COVID-19. Este coeficiente é altamente significativo (p < 0.001).
dummy_teto: A introdução do teto de gastos está associada a uma redução de 32.799% na receita primária (% do PIB). Este coeficiente é altamente significativo (p < 0.001).
dummy_set10: Não tem efeito significativo sobre a receita primária (p = 0.829).
dummy_pedaladas: A prática das pedaladas fiscais está associada a uma redução de 26.733% na receita primária (% do PIB). Este coeficiente é altamente significativo (p < 0.001).
7.2 Medidas de Ajuste do Modelo:
Erro Padrão Residual: O valor de 25.4 sugere uma variação considerável nos resíduos, indicando que os valores preditos pelo modelo não capturam perfeitamente todos os valores observados da receita primária.
R² e R² Ajustado: Com valores de 0.513 e 0.495, respectivamente, o modelo explica uma proporção moderada da variabilidade na receita primária, mas há uma parte significativa da variação que não é capturada pelas variáveis explicativas incluídas.
Estatística F: O modelo é estatisticamente significativo, indicando que as variáveis independentes, em conjunto, têm um impacto significativo na receita primária.
Os resultados indicam que várias variáveis explicativas têm impacto significativo na receita primária do governo central. Em particular, o ano de 2020 e a introdução do teto de gastos tiveram efeitos negativos significativos, refletindo grandes eventos econômicos e políticos.
Focaremos especificamente no coeficiente associado à variável “div_lag1”, que representa a dívida pública defasada para analisar se há uma reação significativa a elevações da dívida pública no Brasil.
O coeficiente estimado para “div_lag1” é -1.411, indicando que, ceteris paribus, um aumento de 1% na dívida pública (defasada) está associado a uma redução de 1.411% na receita primária (% do PIB). Este coeficiente é altamente significativo, com um valor p de 3.6e-08, sugerindo que podemos rejeitar a hipótese nula de que o coeficiente é zero com um alto nível de confiança.
Dada a significância estatística do coeficiente associado à variável “div_lag1” (dívida pública defasada), podemos concluir que há uma reação significativa a elevações da dívida pública no Brasil. Especificamente, os resultados sugerem que aumentos na dívida pública estão associados a uma redução na receita primária, o que pode indicar um efeito adverso do endividamento público sobre as finanças governamentais.
Em resumo, os resultados indicam que há uma reação negativa significativa entre a dívida pública e a receita primária, o que pode levantar preocupações sobre a sustentabilidade da política fiscal atual no Brasil. A política fiscal pode não ser sustentável se essas tendências persistirem, exigindo atenção e possíveis ajustes para garantir a estabilidade fiscal a longo prazo.
Aqui, faremos conforme o trabalho de Helder também, utilizando as seguintes variáveis de interesse:
##TESTES PARA DECIDIRMOS SE OPTAREMOS POR VAR OU VEC
#AS VARIAVEIS UTILZADAS FORAM:
# rp: Receita Primária do Governo Central(% PIB)
#rp_SA: Receita Primária do Governo Central, somados os juros nominais (% PIB)
#dn: Despesa Primária do Governo Central (% PIB)
#dn_SA: Despesa Primária do Governo Central, somados os juros nominais (% PIB)
rec <- receita_primaria_ts
rec_SA <- receita_primaria_juros_ts
dn <- despesa_primaria_ts
dn_SA <- despesa_primaria_juros_ts
#Criar dataframe df2
df2 <- data.frame(
rec = as.numeric(rec),
rec_SA = as.numeric(rec_SA),
dn = as.numeric(dn),
dn_SA = as.numeric(dn_SA)
)
8.1 Teste de Raíz Unitária
# Carregar pacotes necessários
library(urca)
library(vars)
## Loading required package: MASS
##
## Attaching package: 'MASS'
## The following object is masked from 'package:dplyr':
##
## select
## Loading required package: strucchange
## Loading required package: sandwich
## Loading required package: lmtest
library(tseries)
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
# Testes de raiz unitária para cada série
# Receita Primária do Governo Central (% PIB)
adf.test(df2$rec, k = trunc((length(df2$rec) - 1)^(1/3)))
##
## Augmented Dickey-Fuller Test
##
## data: df2$rec
## Dickey-Fuller = -1.8, Lag order = 6, p-value = 0.7
## alternative hypothesis: stationary
# Receita Primária do Governo Central, somados os juros nominais (% PIB)
adf.test(df2$rec_SA, k = trunc((length(df2$rec_SA) - 1)^(1/3)))
##
## Augmented Dickey-Fuller Test
##
## data: df2$rec_SA
## Dickey-Fuller = -2.3, Lag order = 6, p-value = 0.5
## alternative hypothesis: stationary
# Despesa Primária do Governo Central (% PIB)
adf.test(df2$dn, k = trunc((length(df2$dn) - 1)^(1/3)))
##
## Augmented Dickey-Fuller Test
##
## data: df2$dn
## Dickey-Fuller = -1.4, Lag order = 6, p-value = 0.8
## alternative hypothesis: stationary
# Despesa Primária do Governo Central, somados os juros nominais (% PIB)
adf.test(df2$dn_SA, k = trunc((length(df2$dn_SA) - 1)^(1/3)))
##
## Augmented Dickey-Fuller Test
##
## data: df2$dn_SA
## Dickey-Fuller = -2.6, Lag order = 6, p-value = 0.3
## alternative hypothesis: stationary
A série não é estacionária para nenhuma das variáveis.
8.2 Teste de cointegração de Johansen
## Teste de cointegração de Johansen
johansen = ca.jo(df2, type = "trace", ecdet = "const", K = 2)
summary(johansen)
##
## ######################
## # Johansen-Procedure #
## ######################
##
## Test type: trace statistic , without linear trend and constant in cointegration
##
## Eigenvalues (lambda):
## [1] 3.158e-01 2.315e-01 6.000e-02 1.649e-02 1.071e-17
##
## Values of teststatistic and critical values of test:
##
## test 10pct 5pct 1pct
## r <= 3 | 4.16 7.52 9.24 12.97
## r <= 2 | 19.63 17.85 19.96 24.60
## r <= 1 | 85.47 32.00 34.91 41.07
## r = 0 | 180.36 49.65 53.12 60.16
##
## Eigenvectors, normalised to first column:
## (These are the cointegration relations)
##
## rec.l2 rec_SA.l2 dn.l2 dn_SA.l2 constant
## rec.l2 1.000 1.000 1.000e+00 1.000e+00 1.000e+00
## rec_SA.l2 1.994 -1.637 -1.423e+01 1.140e+00 -1.998e+00
## dn.l2 -1.014 -1.009 -6.205e+00 4.385e+00 -8.487e-01
## dn_SA.l2 -2.582 1.980 -2.738e+00 -6.311e+00 2.900e+00
## constant -15488.250 -3613.430 1.206e+06 -1.241e+05 3.395e+05
##
## Weights W:
## (This is the loading matrix)
##
## rec.l2 rec_SA.l2 dn.l2 dn_SA.l2 constant
## rec.d -0.18932 -0.34338 0.004610 -0.005930 4.919e-18
## rec_SA.d -0.22595 0.07236 0.007510 0.001442 3.792e-18
## dn.d 0.24369 -0.02545 0.005992 -0.005502 -3.634e-18
## dn_SA.d 0.01479 -0.11452 0.006571 0.001958 3.526e-18
Conclui-se que existem duas relações de cointegração entre as variáveis analisadas
8.3 Teste de causalidade de Granger
# Teste de causalidade de Granger
grangertest(rec_SA ~ dn_SA, order = 1, data = df2)
## Granger causality test
##
## Model 1: rec_SA ~ Lags(rec_SA, 1:1) + Lags(dn_SA, 1:1)
## Model 2: rec_SA ~ Lags(rec_SA, 1:1)
## Res.Df Df F Pr(>F)
## 1 248
## 2 249 -1 34.1 1.6e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
grangertest(dn_SA ~ rec_SA, order = 1, data = df2)
## Granger causality test
##
## Model 1: dn_SA ~ Lags(dn_SA, 1:1) + Lags(rec_SA, 1:1)
## Model 2: dn_SA ~ Lags(dn_SA, 1:1)
## Res.Df Df F Pr(>F)
## 1 248
## 2 249 -1 0 0.95
grangertest(rec ~ dn, order = 1, data = df2)
## Granger causality test
##
## Model 1: rec ~ Lags(rec, 1:1) + Lags(dn, 1:1)
## Model 2: rec ~ Lags(rec, 1:1)
## Res.Df Df F Pr(>F)
## 1 248
## 2 249 -1 87.5 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
grangertest(dn ~ rec, order = 1, data = df2)
## Granger causality test
##
## Model 1: dn ~ Lags(dn, 1:1) + Lags(rec, 1:1)
## Model 2: dn ~ Lags(dn, 1:1)
## Res.Df Df F Pr(>F)
## 1 248
## 2 249 -1 3.45 0.065 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Há causalidade entre rec_sa/rec e dn_sa/dn, mas não há o contrário.
data_vec <- df2[, c("rec", "rec_SA", "dn", "dn_SA")]
vecm <- ca.jo(data_vec, type="eigen", ecdet="none", K=2, spec="longrun")
vec_fit <- vec2var(vecm, r=2) # Usando o objeto 'ca.jo' diretamente
summary(vec_fit)
## Length Class Mode
## deterministic 4 -none- numeric
## A 2 -none- list
## p 1 -none- numeric
## K 1 -none- numeric
## y 1008 -none- numeric
## obs 1 -none- numeric
## totobs 1 -none- numeric
## call 3 -none- call
## vecm 1 ca.jo S4
## datamat 3250 -none- numeric
## resid 1000 -none- numeric
## r 1 -none- numeric
9.1 Previsões
pred <- predict(vec_fit, n.ahead=10)
print(pred)
## $rec
## fcst lower upper CI
## [1,] 48975 23690.5 74260 25285
## [2,] 42516 8123.6 76909 34393
## [3,] 42702 4169.6 81234 38532
## [4,] 42637 -811.5 86086 43449
## [5,] 41843 -5728.0 89414 47571
## [6,] 42079 -9183.8 93343 51263
## [7,] 42042 -12750.5 96834 54792
## [8,] 42024 -16046.9 100094 58071
## [9,] 42092 -19081.8 103266 61174
## [10,] 42120 -22011.6 106252 64132
##
## $rec_SA
## fcst lower upper CI
## [1,] 43353 19602 67104 23751
## [2,] 38438 8651 68225 29787
## [3,] 41033 6951 75114 34081
## [4,] 40482 2000 78965 38483
## [5,] 40498 -1687 82682 42184
## [6,] 40685 -4934 86304 45619
## [7,] 40668 -8164 89499 48831
## [8,] 40728 -11104 92559 51831
## [9,] 40780 -13890 95450 54670
## [10,] 40822 -16547 98192 57369
##
## $dn
## fcst lower upper CI
## [1,] 30943 5466 56421 25478
## [2,] 28978 -1238 59193 30215
## [3,] 30879 -4289 66047 35168
## [4,] 30157 -9891 70205 40048
## [5,] 30200 -13811 74212 44012
## [6,] 30441 -17353 78236 47795
## [7,] 30357 -20943 81658 51301
## [8,] 30435 -24126 84995 54560
## [9,] 30480 -27169 88129 57649
## [10,] 30510 -30068 91088 60578
##
## $dn_SA
## fcst lower upper CI
## [1,] 31885 11776 51993 20109
## [2,] 29172 5296 53049 23876
## [3,] 30608 3100 58115 27507
## [4,] 29592 -1366 60551 30959
## [5,] 29734 -4107 63575 33841
## [6,] 29779 -6788 66346 36567
## [7,] 29744 -9359 68846 39102
## [8,] 29796 -11676 71269 41473
## [9,] 29829 -13891 73550 43721
## [10,] 29862 -15996 75719 45857
plot(pred)
9.2 Análise de Impulso-Resposta
#Análise de Impulso-Resposta
irf <- irf(vec_fit, impulse="rec", response=c("rec", "rec_SA", "dn", "dn_SA"), n.ahead=10)
print(irf)
##
## Impulse response coefficients
## $rec
## rec rec_SA dn dn_SA
## [1,] 12901 5079 9248 3638
## [2,] 9645 1941 5924 1031
## [3,] 7934 2191 8042 2022
## [4,] 9115 2473 8373 1941
## [5,] 8510 2194 8022 1740
## [6,] 8455 2275 8270 1836
## [7,] 8540 2278 8243 1803
## [8,] 8466 2258 8222 1792
## [9,] 8473 2268 8246 1800
## [10,] 8476 2266 8239 1795
## [11,] 8469 2265 8239 1795
##
##
## Lower Band, CI= 0.95
## $rec
## rec rec_SA dn dn_SA
## [1,] 10076 2607.12 5664 1562.38
## [2,] 6028 -566.66 2927 -788.11
## [3,] 4879 -19.12 4931 205.76
## [4,] 5591 53.64 5052 -56.54
## [5,] 5138 -280.96 4822 -157.82
## [6,] 5145 -191.26 4973 -75.70
## [7,] 5178 -190.90 4927 -118.67
## [8,] 5139 -240.03 4920 -146.09
## [9,] 5147 -221.18 4931 -128.66
## [10,] 5147 -221.81 4924 -137.75
## [11,] 5144 -231.38 4925 -142.06
##
##
## Upper Band, CI= 0.95
## $rec
## rec rec_SA dn dn_SA
## [1,] 15735 7739 12547 5870
## [2,] 13049 4223 8867 2767
## [3,] 10919 4637 11046 3910
## [4,] 12055 5139 11507 3956
## [5,] 11680 4704 11186 3710
## [6,] 11530 4863 11244 3852
## [7,] 11628 4834 11291 3807
## [8,] 11595 4794 11255 3798
## [9,] 11592 4819 11273 3815
## [10,] 11599 4806 11273 3804
## [11,] 11595 4804 11272 3805
plot(irf)
O gráfico de resposta a impulso ortogonal mostra o impacto de um choque positivo na receita primária do governo central (rec) sobre a própria receita primária (rec), receita primária somada aos juros nominais (rec_SA), despesa primária (dn) e despesa primária somada aos juros nominais (dn_SA) ao longo de 10 períodos.
Observa-se que um choque positivo na receita primária leva a um aumento inicial na receita primária e na receita primária somada aos juros nominais, seguido por uma estabilização. Da mesma forma, a despesa primária e a despesa primária somada aos juros nominais também respondem positivamente ao choque inicial, mas essa resposta se estabiliza rapidamente. Os intervalos de confiança de 95% (em linhas vermelhas tracejadas) indicam que esses efeitos são estatisticamente significativos no curto prazo, mas a significância diminui com o tempo.
Esses resultados sugerem que a política fiscal brasileira é inicialmente reativa a aumentos de receita, mas possui mecanismos de ajuste que estabilizam os efeitos dos choques na receita ao longo do tempo, o que é crucial para a sustentabilidade fiscal.
Os resultados das análises realizadas revelam que a receita primária do governo central é substancialmente influenciada por diversas variáveis econômicas. A análise de impulso-resposta destacou que choques positivos na receita primária resultam em aumentos iniciais significativos tanto na própria receita primária quanto na receita primária ajustada pelos juros nominais. Além disso, esses choques também impactam as despesas primárias, refletindo a complexidade das interações fiscais. No entanto, os efeitos tendem a se estabilizar ao longo do tempo, sugerindo a presença de mecanismos de ajuste fiscal que mitigam os impactos de curto prazo. Essa estabilização é crucial para evitar flutuações extremas e manter a previsibilidade das finanças públicas.
A relação negativa e significativa observada entre a dívida pública e a receita primária indica que aumentos na dívida pública podem diminuir a capacidade do governo de arrecadar receitas. Este é um sinal de alerta importante para a sustentabilidade fiscal, pois um elevado endividamento pode restringir a capacidade do governo de financiar suas operações e investir em áreas essenciais. O governo brasileiro deve, portanto, manter um rigoroso controle sobre os níveis de dívida pública, adotando políticas que aumentem a eficiência na arrecadação de receitas e limitem o crescimento da dívida. Políticas fiscais prudentes são necessárias para garantir que os níveis de endividamento não comprometam a capacidade do governo de cumprir suas obrigações futuras.
Ademais, a análise sugere que a política fiscal brasileira, embora resiliente, precisa de ajustes contínuos para manter a sustentabilidade a longo prazo. A capacidade de ajuste fiscal é evidenciada pela estabilização das variáveis após choques iniciais, mas a dependência de mecanismos de ajuste em vez de reformas estruturais pode não ser suficiente a longo prazo. A sustentabilidade fiscal de longo prazo depende de um monitoramento constante e de políticas que possam responder adequadamente às mudanças econômicas e financeiras. Reformas fiscais que aumentem a transparência, melhorem a gestão da dívida e incentivem a responsabilidade fiscal são fundamentais para garantir a sustentabilidade das finanças públicas.
Em resumo, a política fiscal brasileira demonstra uma capacidade notável de resiliência e ajuste frente aos choques econômicos, como evidenciado pelas análises realizadas. No entanto, para assegurar a sustentabilidade fiscal a longo prazo, é imperativo que haja um compromisso contínuo com o monitoramento rigoroso das finanças públicas, transparência nas ações fiscais e a implementação de reformas estruturais abrangentes. Essas reformas devem incluir melhorias na gestão da dívida pública, aumentos na eficiência da arrecadação de receitas e a promoção de uma maior responsabilidade fiscal. A capacidade de responder eficazmente a choques econômicos, juntamente com uma política fiscal estável e previsível, será crucial para o desenvolvimento econômico sustentável do Brasil nas próximas décadas. Garantir a sustentabilidade fiscal não apenas promove a estabilidade macroeconômica, mas também cria um ambiente propício para investimentos, crescimento econômico e melhoria do bem-estar da população brasileira.