Usando um VECM para projetar a Dívida Bruta

[et_pb_section admin_label="section"][et_pb_row admin_label="row"][et_pb_column type="4_4"][et_pb_text admin_label="Texto" background_layout="light" text_orientation="justified" text_font="Verdana||||" text_font_size="18" use_border_color="off" border_color="#ffffff" border_style="solid"]

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.

 

 

 

 

[/et_pb_text][/et_pb_column][/et_pb_row][/et_pb_section]

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

A Abordagem do Estudo de Eventos usando Python

A maioria das pesquisas em finanças está dedicada a investigar o efeito de um anúncio da companhia ou de um evento, sistêmico ou não, sobre o preço de uma ação. Esses estudos são conhecidos como “estudos de eventos”. Neste contexto, apresentaremos uma breve introdução à metodologia e demonstraremos como aplicá-la por meio de exemplos reais utilizando a linguagem de programação Python.

Como coletar dados do Eurostat usando a API com o Python?

Neste artigo mostramos como pesquisar e como coletar os dados do portal Eurostat através do sistema de API usando a linguagem Python. Este processo permite automatizar rotinas de extração de dados, eliminando trabalho manual e repetitivo de atualização de bases de dados econômicos.

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.