1 Instruções

1.1 Questão 1

Elabore um texto dissertativo sobre o Modelo da Regra de Taylor que contemple o Working Paper 01, 18 e 24 do Banco Central e o Capítulo 06 de Afonso Celso Pastore (2015): Inflação e Crises: O Papel da Moeda. Aponte os diferentes modelos abordados, os sentidos de causalidades destacados no modelo e os argumentos que poderão ser utilizados para concluir suas estimações.

1.2 Questão 2

De acordo com seus argumentos, teóricos e empíricos, selecione modelos críveis para a elaboração e estimações de previsões (MF-L, MF-G, Log-Lin, ARIMA, MQO e VAR) da taxa de juros nominal e real para os próximos 6 meses (MAI, JUN, JUL, AGO, SET, OUT).

  • Selecione a base de dados de 2003-2022-4 (escolha a janela pertinente) e, a partir das informações de conjuntura econômica, estime e aponte o modelo final para analisar as previsões e a trajetória da taxa de juros nominal. Utilize a teoria da Regra de Taylor, reforce os principais impactos dos choques para o período analisado e, por meio da função de resposta a impulsos e da decomposição da variância analise os impactos.

2 Procedimentos Preliminares

# Limpar base e baixar pacotes #
rm(list = ls())
options(scipen = 999999)
options(max.print = 100000)
library('dplyr')
library('tidyr')
library('tidyverse')
library('fBasics')
library('tseries')
library('mFilter')
library('dynlm')
library('lmtest')
library('whitestrap')
library('FinTS')
library('performance')
library('report')
library('urca')
library('rbcb')
library('writexl')
library('quantmod')
library('forecast')
library('ipeadatar')
library('vars')
library('deflateBR')

3 Bases de Dados e Período de Análise

Baixar as bases de dados do SGS Bacen e do Ipeadata.

Todas as séries possuem dados mensais e abrangem o período de janeiro de 2003 a abril de 2023.

# Baixar o PIB Acum 12 meses - valores nominais
pib_ac12 <- get_series(4382, start_date = '2003-01-01');
pib_ac12 <- ts(pib_ac12$'4382', start = c(2003,01), end = c(2023,04), frequency = 12);
pib_ac12
##           Jan      Feb      Mar      Apr      May      Jun      Jul      Aug
## 2003  1502124  1522030  1543732  1564350  1580855  1595357  1613126  1629693
## 2004  1734698  1744966  1765492  1783600  1803656  1828300  1851889  1875591
## 2005  1976938  1995254  2012678  2031483  2049495  2066441  2079897  2098543
## 2006  2190643  2207671  2225145  2235813  2256419  2271564  2293390  2315472
## 2007  2434412  2458967  2486603  2516941  2545742  2575280  2602698  2627804
## 2008  2746426  2776859  2800895  2835166  2863373  2899766  2940137  2974782
## 2009  3121759  3132276  3153875  3164110  3177112  3187927  3198101  3212061
## 2010  3372644  3413500  3463310  3511532  3558737  3603877  3651309  3701183
## 2011  3929049  3978015  4015980  4058947  4111272  4158547  4196989  4239494
## 2012  4412982  4448185  4489326  4520588  4554177  4585739  4627427  4671292
## 2013  4859459  4890028  4926899  4987524  5026997  5066353  5109930  5144959
## 2014  5376009  5433417  5475988  5509204  5549143  5575731  5610039  5640036
## 2015  5800026  5811266  5849625  5867022  5878033  5907267  5927536  5945149
## 2016  6003134  6026865  6039453  6063195  6087415  6118559  6133328  6162706
## 2017  6301441  6321824  6354593  6371333  6405796  6426160  6452596  6477791
## 2018  6624386  6653655  6682355  6732548  6743825  6786171  6830092  6873222
## 2019  7029638  7065605  7077735  7102890  7155933  7168423  7208029  7238469
## 2020  7426456  7470414  7506475  7462805  7426858  7438850  7452111  7460275
## 2021  7671367  7757775  7888821  8053160  8198140  8313352  8422611  8538598
## 2022  8944228  8991875  9061814  9148003  9249723  9351603  9450010  9550350
## 2023  9996207 10066977 10156139 10222910                                    
##           Sep      Oct      Nov      Dec
## 2003  1654912  1680139  1698929  1717950
## 2004  1894202  1910240  1933499  1957751
## 2005  2114047  2132610  2151011  2170585
## 2006  2336553  2362641  2387208  2409450
## 2007  2649279  2675927  2698213  2720263
## 2008  3020522  3059758  3088602  3109803
## 2009  3228168  3252379  3288210  3333039
## 2010  3748969  3790772  3841254  3885847
## 2011  4272947  4305785  4338896  4376382
## 2012  4703854  4751483  4786546  4814760
## 2013  5190039  5234347  5278071  5331619
## 2014  5683722  5716978  5745161  5778953
## 2015  5953369  5965724  5980787  5995787
## 2016  6187502  6205869  6238418  6269328
## 2017  6497619  6526744  6554663  6585479
## 2018  6905409  6948653  6982104  7004141
## 2019  7281104  7319403  7351036  7389131
## 2020  7488004  7507801  7544890  7609597
## 2021  8638142  8723381  8818710  8898728
## 2022  9640755  9742080  9830393  9915316
## 2023
# Baixar IPCA Acum. 12 meses
ipca_ac12 <- get_series(13522, start_date = '2003-01-01')
ipca12 <- ts(ipca_ac12$'13522', start = c(2003,01), end = c(2023,04), frequency = 12)
ipca12
##        Jan   Feb   Mar   Apr   May   Jun   Jul   Aug   Sep   Oct   Nov   Dec
## 2003 14.47 15.85 16.57 16.77 17.24 16.57 15.43 15.07 15.14 13.98 11.02  9.30
## 2004  7.71  6.69  5.89  5.26  5.15  6.06  6.81  7.18  6.70  6.86  7.24  7.60
## 2005  7.41  7.39  7.54  8.07  8.05  7.27  6.57  6.02  6.04  6.36  6.22  5.69
## 2006  5.70  5.51  5.32  4.63  4.23  4.03  3.97  3.84  3.70  3.26  3.02  3.14
## 2007  2.99  3.02  2.96  3.00  3.18  3.69  3.74  4.18  4.15  4.12  4.19  4.46
## 2008  4.56  4.61  4.73  5.04  5.58  6.06  6.37  6.17  6.25  6.41  6.39  5.90
## 2009  5.84  5.90  5.61  5.53  5.20  4.80  4.50  4.36  4.34  4.17  4.22  4.31
## 2010  4.59  4.83  5.17  5.26  5.22  4.84  4.60  4.49  4.70  5.20  5.63  5.91
## 2011  5.99  6.01  6.30  6.51  6.55  6.71  6.87  7.23  7.31  6.97  6.64  6.50
## 2012  6.22  5.85  5.24  5.10  4.99  4.92  5.20  5.24  5.28  5.45  5.53  5.84
## 2013  6.15  6.31  6.59  6.49  6.50  6.70  6.27  6.09  5.86  5.84  5.77  5.91
## 2014  5.59  5.68  6.15  6.28  6.37  6.52  6.50  6.51  6.75  6.59  6.56  6.41
## 2015  7.14  7.70  8.13  8.17  8.47  8.89  9.56  9.53  9.49  9.93 10.48 10.67
## 2016 10.71 10.36  9.39  9.28  9.32  8.84  8.74  8.97  8.48  7.87  6.99  6.29
## 2017  5.35  4.76  4.57  4.08  3.60  3.00  2.71  2.46  2.54  2.70  2.80  2.95
## 2018  2.86  2.84  2.68  2.76  2.86  4.39  4.48  4.19  4.53  4.56  4.05  3.75
## 2019  3.78  3.89  4.58  4.94  4.66  3.37  3.22  3.43  2.89  2.54  3.27  4.31
## 2020  4.19  4.01  3.30  2.40  1.88  2.13  2.31  2.44  3.14  3.92  4.31  4.52
## 2021  4.56  5.20  6.10  6.76  8.06  8.35  8.99  9.68 10.25 10.67 10.74 10.06
## 2022 10.38 10.54 11.30 12.13 11.73 11.89 10.07  8.73  7.17  6.47  5.90  5.79
## 2023  5.77  5.60  4.65  4.18
# Baixar Expectativa do IPCA para 12 meses
exp12m <- ipeadata(code = 'BM12_IPCAEXP1212', language = 'br')
exp12m["dataf_ano"] <- strftime(exp12m$date, "%Y")
exp12m <- exp12m %>% filter(dataf_ano >= 2003)
exp12 <- ts(exp12m$value, start = c(2003,01), end = c(2023,04), frequency = 12)
exp12
##          Jan     Feb     Mar     Apr     May     Jun     Jul     Aug     Sep
## 2003 11.7200 11.0700  9.9000  9.1800  8.2300  7.0800  6.3900  6.3200  6.5600
## 2004  6.0100  5.7400  5.5400  5.6000  5.9800  6.3300  6.3600  6.2700  6.2400
## 2005  5.7400  5.6100  5.6700  5.8700  5.4600  4.8500  4.8600  4.7000  4.7400
## 2006  4.6200  4.4000  4.3100  4.0600  4.1000  3.9800  4.2800  4.4000  3.9300
## 2007  4.0300  3.8100  3.7400  3.4700  3.4000  3.4700  3.5500  3.8300  3.7500
## 2008  4.4400  4.2800  4.3600  4.5600  5.0800  5.6000  5.4900  5.1600  5.0100
## 2009  4.7000  4.5700  4.1400  4.2100  4.1400  4.0600  4.0900  3.9700  4.1900
## 2010  4.6800  4.6600  4.7000  4.8600  4.8800  4.7400  4.8200  4.9800  5.3100
## 2011  5.6700  5.6100  5.6100  4.8600  4.8800  4.7400  5.3500  5.4700  5.8000
## 2012  5.3000  5.2600  5.4300  5.5700  5.5200  5.3800  5.5800  5.6800  5.6400
## 2013  5.7000  5.5000  5.5300  5.5600  5.6200  5.7400  5.6600  6.0600  6.1600
## 2014  6.0200  6.1700  6.4200  6.2200  6.0300  6.0100  5.9500  6.1500  6.3300
## 2015  6.9700  6.8800  7.0100  6.1700  6.1100  6.3800  5.9800  5.6600  6.1500
## 2016  7.2900  7.0100  6.5200  6.2100  6.1700  6.0100  5.7000  5.4400  5.0700
## 2017  4.7100  4.5300  4.4500  4.4500  4.6400  4.1200  4.4700  4.3700  3.8900
## 2018  3.9800  3.9200  3.8600  4.0700  4.3500  4.7700  3.7400  3.6500  4.1400
## 2019  3.9800  3.9400  3.9800  3.7200  3.5400  3.4900  3.6500  3.4900  3.3400
## 2020  3.4400  3.4600  3.1300  2.5000  2.6700  3.2200  3.2000  3.1400  3.3700
## 2021  3.5700  3.9900  4.5000  4.1000  4.4500  4.4733  4.8871  4.8249  5.3499
## 2022  5.3981  5.4581  6.2688  6.0072  6.1912  5.7558  4.7558  5.1833  4.7351
## 2023  5.7109  5.7651  5.5544  5.2804                                        
##          Oct     Nov     Dec
## 2003  6.1500  5.8000  5.9200
## 2004  6.2200  6.3000  6.0800
## 2005  4.7300  4.6100  4.4600
## 2006  4.0000  4.1400  4.0800
## 2007  3.7100  3.8500  4.4500
## 2008  5.4000  5.4500  4.9300
## 2009  4.3200  4.3500  4.4000
## 2010  5.4200  5.6100  5.5200
## 2011  5.5600  5.5300  5.3500
## 2012  5.4700  5.3600  5.6300
## 2013  6.2500  6.1400  6.1100
## 2014  6.4100  6.5600  6.7300
## 2015  6.7200  7.1600  7.1900
## 2016  4.8700  4.8000  4.6900
## 2017  4.1400  3.9900  3.8000
## 2018  4.0200  3.4000  3.6800
## 2019  3.3700  3.8100  4.1000
## 2020  3.9200  4.1100  4.1000
## 2021  5.5051  5.8906  5.2325
## 2022  5.1444  5.3729  5.2599
## 2023
# Índice da taxa de câmbio real efetiva (IPCA) - Jun/1994=100
CAMBIO_EFETIVO_IDREAL <- get_series(11752,start_date = '2003-01-01')
cambioR <- ts(CAMBIO_EFETIVO_IDREAL$`11752`, start = c(2003,01), frequency = 12)
cambioR
##         Jan    Feb    Mar    Apr    May    Jun    Jul    Aug    Sep    Oct
## 2003 149.36 160.19 152.85 138.14 133.03 130.28 129.20 132.84 129.62 129.03
## 2004 130.93 137.73 135.51 135.10 142.57 144.10 139.40 136.65 131.58 130.98
## 2005 124.02 120.05 125.30 118.26 111.64 108.35 106.38 106.82 104.03 100.88
## 2006 100.68  95.44  95.29  95.14  99.31 102.35 100.12  99.20  99.14  97.72
## 2007  97.85  95.85  96.14  94.59  92.50  90.12  88.84  92.25  89.92  86.17
## 2008  86.19  85.36  86.32  85.97  84.12  82.11  81.06  80.55  87.61 100.24
## 2009 101.33  99.54  97.40  95.38  89.91  87.38  86.38  82.86  82.13  79.15
## 2010  79.59  81.53  78.75  77.18  77.66  76.40  76.44  76.82  75.57  75.18
## 2011  73.19  74.67  74.77  72.21  73.42  72.38  71.76  73.43  78.12  78.22
## 2012  76.75  75.45  79.00  81.10  85.53  87.00  85.92  86.89  87.63  87.34
## 2013  86.00  83.58  82.97  83.30  84.33  90.18  93.45  98.06  94.79  91.47
## 2014  95.60  94.72  91.68  87.63  86.90  87.05  87.49  88.77  89.59  92.87
## 2015  93.33  98.77 106.96 103.69 104.13 105.07 108.32 116.79 129.34 127.47
## 2016 122.64 120.27 112.65 110.04 108.67 104.88  99.55  98.17  99.10  95.95
## 2017  93.08  91.50  92.12  93.26  95.64  99.23  97.45  97.36  97.51  97.91
## 2018  99.48 101.89 102.57 106.74 110.00 110.84 111.84 113.82 116.32 106.32
## 2019 106.18 105.64 107.76 108.96 110.69 107.71 106.95 110.62 112.63 112.09
## 2020 113.20 118.06 131.08 141.14 149.83 139.50 144.20 151.32 148.88 154.27
## 2021 147.01 148.58 152.43 150.95 144.11 136.74 139.21 141.00 140.07 145.35
## 2022 142.57 134.34 126.99 119.52 122.21 124.10 132.68 128.18 128.54 126.82
## 2023 130.00 128.63 128.04 123.68 121.49 117.47 118.04 119.48 118.79       
##         Nov    Dec
## 2003 130.76 133.07
## 2004 129.05 126.88
## 2005  97.21 100.90
## 2006  98.62  99.29
## 2007  86.19  86.66
## 2008 100.66 107.19
## 2009  79.27  79.87
## 2010  75.74  73.74
## 2011  78.06  79.39
## 2012  87.99  88.50
## 2013  94.71  95.87
## 2014  94.97  96.64
## 2015 121.97 122.10
## 2016  98.84  97.55
## 2017  99.87 100.99
## 2018 106.72 109.46
## 2019 113.51 111.81
## 2020 148.41 141.00
## 2021 144.10 145.65
## 2022 128.07 129.09
## 2023
# Taxa Selic anualizada
selic_an <- get_series(4189,start_date = '2003-01-01')
selic <- ts(selic_an$'4189', start = c(2003,01), end = c(2023,04), frequency = 12)
selic
##        Jan   Feb   Mar   Apr   May   Jun   Jul   Aug   Sep   Oct   Nov   Dec
## 2003 25.06 25.68 26.32 26.32 26.31 26.09 25.36 23.50 21.02 19.54 18.31 16.91
## 2004 16.32 16.30 16.19 15.96 15.77 15.80 15.77 15.86 16.09 16.41 16.96 17.50
## 2005 17.93 18.47 18.97 19.32 19.61 19.75 19.72 19.75 19.61 19.25 18.87 18.24
## 2006 17.65 17.28 16.74 16.19 15.70 15.18 14.98 14.66 14.17 13.95 13.65 13.19
## 2007 13.13 12.93 12.74 12.58 12.43 12.03 11.73 11.43 11.22 11.18 11.18 11.18
## 2008 11.18 11.18 11.18 11.37 11.63 12.09 12.36 12.92 13.39 13.66 13.64 13.66
## 2009 13.32 12.66 11.70 11.11 10.16  9.54  9.01  8.65  8.65  8.65  8.65  8.65
## 2010  8.65  8.65  8.65  8.72  9.40  9.94 10.32 10.66 10.66 10.66 10.66 10.66
## 2011 10.85 11.17 11.62 11.74 11.92 12.10 12.25 12.42 11.91 11.70 11.40 10.90
## 2012 10.70 10.40  9.82  9.35  8.87  8.39  8.07  7.85  7.39  7.23  7.14  7.16
## 2013  7.11  7.12  7.15  7.26  7.42  7.90  8.23  8.45  8.90  9.25  9.45  9.90
## 2014 10.17 10.43 10.65 10.87 10.90 10.90 10.90 10.90 10.90 10.92 11.15 11.58
## 2015 11.82 12.15 12.58 12.68 13.15 13.58 13.69 14.15 14.15 14.15 14.15 14.15
## 2016 14.15 14.15 14.15 14.15 14.15 14.15 14.15 14.15 14.15 14.05 13.90 13.65
## 2017 13.17 12.82 12.15 11.59 11.15 10.15 10.01  9.15  8.35  8.01  7.40  7.00
## 2018  6.90  6.72  6.58  6.40  6.40  6.40  6.40  6.40  6.40  6.40  6.40  6.40
## 2019  6.40  6.40  6.40  6.40  6.40  6.40  6.40  5.90  5.71  5.38  4.90  4.59
## 2020  4.40  4.19  3.95  3.65  3.01  2.58  2.15  1.94  1.90  1.90  1.90  1.90
## 2021  1.90  1.90  2.23  2.65  3.29  3.76  4.15  5.01  5.43  6.30  7.65  8.76
## 2022  9.15 10.49 11.15 11.65 12.51 12.89 13.15 13.58 13.65 13.65 13.65 13.65
## 2023 13.65 13.65 13.65 13.65
# Meta de Inflação
meta <- get_series(13521,start_date = '2003-01-01')
meta <- ts(meta$'13521', start = c(2003), frequency = 1)
meta <- rep(meta, each = 12)
meta <- ts(meta, start = c(2003,01), end = c(2023,04), frequency = 12)
meta
##       Jan  Feb  Mar  Apr  May  Jun  Jul  Aug  Sep  Oct  Nov  Dec
## 2003 4.00 4.00 4.00 4.00 4.00 4.00 4.00 4.00 4.00 4.00 4.00 4.00
## 2004 5.50 5.50 5.50 5.50 5.50 5.50 5.50 5.50 5.50 5.50 5.50 5.50
## 2005 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50
## 2006 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50
## 2007 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50
## 2008 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50
## 2009 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50
## 2010 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50
## 2011 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50
## 2012 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50
## 2013 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50
## 2014 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50
## 2015 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50
## 2016 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50
## 2017 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50
## 2018 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50 4.50
## 2019 4.25 4.25 4.25 4.25 4.25 4.25 4.25 4.25 4.25 4.25 4.25 4.25
## 2020 4.00 4.00 4.00 4.00 4.00 4.00 4.00 4.00 4.00 4.00 4.00 4.00
## 2021 3.75 3.75 3.75 3.75 3.75 3.75 3.75 3.75 3.75 3.75 3.75 3.75
## 2022 3.50 3.50 3.50 3.50 3.50 3.50 3.50 3.50 3.50 3.50 3.50 3.50
## 2023 3.25 3.25 3.25 3.25
# Desvio da Meta de Inflação
desvio <- exp12 - meta
desvio
##          Jan     Feb     Mar     Apr     May     Jun     Jul     Aug     Sep
## 2003  7.7200  7.0700  5.9000  5.1800  4.2300  3.0800  2.3900  2.3200  2.5600
## 2004  0.5100  0.2400  0.0400  0.1000  0.4800  0.8300  0.8600  0.7700  0.7400
## 2005  1.2400  1.1100  1.1700  1.3700  0.9600  0.3500  0.3600  0.2000  0.2400
## 2006  0.1200 -0.1000 -0.1900 -0.4400 -0.4000 -0.5200 -0.2200 -0.1000 -0.5700
## 2007 -0.4700 -0.6900 -0.7600 -1.0300 -1.1000 -1.0300 -0.9500 -0.6700 -0.7500
## 2008 -0.0600 -0.2200 -0.1400  0.0600  0.5800  1.1000  0.9900  0.6600  0.5100
## 2009  0.2000  0.0700 -0.3600 -0.2900 -0.3600 -0.4400 -0.4100 -0.5300 -0.3100
## 2010  0.1800  0.1600  0.2000  0.3600  0.3800  0.2400  0.3200  0.4800  0.8100
## 2011  1.1700  1.1100  1.1100  0.3600  0.3800  0.2400  0.8500  0.9700  1.3000
## 2012  0.8000  0.7600  0.9300  1.0700  1.0200  0.8800  1.0800  1.1800  1.1400
## 2013  1.2000  1.0000  1.0300  1.0600  1.1200  1.2400  1.1600  1.5600  1.6600
## 2014  1.5200  1.6700  1.9200  1.7200  1.5300  1.5100  1.4500  1.6500  1.8300
## 2015  2.4700  2.3800  2.5100  1.6700  1.6100  1.8800  1.4800  1.1600  1.6500
## 2016  2.7900  2.5100  2.0200  1.7100  1.6700  1.5100  1.2000  0.9400  0.5700
## 2017  0.2100  0.0300 -0.0500 -0.0500  0.1400 -0.3800 -0.0300 -0.1300 -0.6100
## 2018 -0.5200 -0.5800 -0.6400 -0.4300 -0.1500  0.2700 -0.7600 -0.8500 -0.3600
## 2019 -0.2700 -0.3100 -0.2700 -0.5300 -0.7100 -0.7600 -0.6000 -0.7600 -0.9100
## 2020 -0.5600 -0.5400 -0.8700 -1.5000 -1.3300 -0.7800 -0.8000 -0.8600 -0.6300
## 2021 -0.1800  0.2400  0.7500  0.3500  0.7000  0.7233  1.1371  1.0749  1.5999
## 2022  1.8981  1.9581  2.7688  2.5072  2.6912  2.2558  1.2558  1.6833  1.2351
## 2023  2.4609  2.5151  2.3044  2.0304                                        
##          Oct     Nov     Dec
## 2003  2.1500  1.8000  1.9200
## 2004  0.7200  0.8000  0.5800
## 2005  0.2300  0.1100 -0.0400
## 2006 -0.5000 -0.3600 -0.4200
## 2007 -0.7900 -0.6500 -0.0500
## 2008  0.9000  0.9500  0.4300
## 2009 -0.1800 -0.1500 -0.1000
## 2010  0.9200  1.1100  1.0200
## 2011  1.0600  1.0300  0.8500
## 2012  0.9700  0.8600  1.1300
## 2013  1.7500  1.6400  1.6100
## 2014  1.9100  2.0600  2.2300
## 2015  2.2200  2.6600  2.6900
## 2016  0.3700  0.3000  0.1900
## 2017 -0.3600 -0.5100 -0.7000
## 2018 -0.4800 -1.1000 -0.8200
## 2019 -0.8800 -0.4400 -0.1500
## 2020 -0.0800  0.1100  0.1000
## 2021  1.7551  2.1406  1.4825
## 2022  1.6444  1.8729  1.7599
## 2023
# Deflacionando a série do PIB Nominal para obter o PIB Real
times <- seq(as.Date("2003/1/1"), by = "month", length.out = 244)
pibR <- deflate(pib_ac12, nominal_dates = times, real_date = '04/2023', index = 'ipca')
## 
## Downloading necessary data from IPEA's API
## ...
pibR
##           Jan      Feb      Mar      Apr      May      Jun      Jul      Aug
## 2003  4897149  4852845  4845949  4850994  4855087  4869913  4931558  4972263
## 2004  5174153  5165531  5194615  5223351  5262617  5307463  5338051  5357626
## 2005  5480224  5499112  5514587  5532375  5533298  5551842  5589125  5625158
## 2006  5745742  5756439  5778301  5781149  5822206  5855423  5924130  5969830
## 2007  6190632  6225674  6268055  6321144  6377532  6433523  6483870  6530734
## 2008  6686034  6723816  6748939  6798876  6828964  6861545  6905961  6950513
## 2009  7176173  7165968  7175906  7184838  7179890  7170631  7167718  7181774
## 2010  7432438  7466479  7516808  7582050  7640412  7704195  7805592  7911422
## 2011  8175542  8209283  8221855  8244689  8287160  8343229  8407747  8479332
## 2012  8621801  8642184  8683048  8725192  8734126  8763116  8835721  8881277
## 2013  8970358  8949820  8963524  9031370  9053052  9090300  9144702  9204641
## 2014  9370052  9418323  9427070  9397789  9402916  9404714  9424882  9474320
## 2015  9500356  9402185  9350184  9255808  9207800  9185630  9144893  9115559
## 2016  8884770  8808036  8747707  8744498  8726194  8702963  8693550  8689996
## 2017  8774530  8769583  8786046  8787230  8822410  8823102  8879823  8893146
## 2018  8960126  8973688  8983644  9042987  9038254  9058767  9003946  9030994
## 2019  9164987  9182499  9158884  9123017  9139056  9143120  9192719  9214029
## 2020  9282620  9318001  9339629  9278802  9262822  9313166  9305574  9282356
## 2021  9174299  9254502  9330588  9437194  9577403  9632046  9707187  9747293
## 2022  9718731  9718024  9695679  9631856  9636804  9697369  9734190  9904901
## 2023 10267802 10285984 10290645 10285271                                    
##           Sep      Oct      Nov      Dec
## 2003  5032098  5069262  5111137  5150838
## 2004  5373719  5401380  5443193  5473698
## 2005  5657097  5686861  5693236  5713616
## 2006  6021170  6075638  6118631  6156560
## 2007  6553293  6607314  6642415  6671358
## 2008  7037676  7110607  7145475  7168713
## 2009  7206979  7243642  7302997  7372327
## 2010  8010373  8063421  8109972  8136593
## 2011  8514741  8534936  8563733  8593037
## 2012  8906669  8945860  8959014  8958068
## 2013  9263062  9309560  9334128  9378173
## 2014  9523889  9525322  9532252  9539668
## 2015  9108129  9078013  9026924  8959077
## 2016  8686739  8705560  8728517  8755995
## 2017  8903457  8929088  8929771  8946698
## 2018  9081450  9094671  9097521  9145443
## 2019  9258110  9310530  9341422  9342184
## 2020  9294545  9259851  9226248  9223286
## 2021  9775880  9759144  9743995  9739873
## 2022 10034783 10169745 10201737 10247856
## 2023
# Encontrando o Hiato do Produto pelo Filtro de Hodrick-Prescott
pib.hp <- hpfilter(na.omit(pibR, type = 'lambda', freq = 14400))
hiato <- pib.hp$cycle
hiato
##               Jan          Feb          Mar          Apr          May
## 2003  161321.1670   87245.4768   50577.1277   25846.4653     157.5943
## 2004   80465.8827   41887.0689   40975.4130   39669.3920   48841.9801
## 2005   22953.8357   10936.6831   -4628.2635  -18026.2597  -48442.6946
## 2006  -93368.9119 -115790.9272 -127278.7430 -158016.4962 -150784.6151
## 2007  -61587.3153  -62495.8327  -56284.3802  -39580.6161  -19786.6278
## 2008  -10860.0057  -11292.7621  -24535.7288  -13112.2665  -21679.4894
## 2009   11919.4508  -37944.8464  -67749.9979  -98640.5639 -143484.8497
## 2010 -211684.1708 -217725.0966 -207409.8195 -182091.7257 -163535.2317
## 2011   60805.5272   57097.5851   32627.5566   18854.3511   25178.6564
## 2012   90415.5479   79962.2989   90696.0767  103435.9835   83713.4167
## 2013  119691.3271   77972.3770   71390.1871  119855.9874  123070.3155
## 2014  325948.1681  364174.9411  363801.5740  326309.8163  324121.9840
## 2015  392669.9739  294146.7470  242389.8137  148807.6104  102096.2167
## 2016 -198503.8547 -271688.6394 -328467.8047 -328173.4338 -343064.2296
## 2017 -274962.1544 -278808.6005 -261620.0645 -260101.2925 -224991.0704
## 2018 -103371.1230  -93835.1998  -88358.7415  -33948.6916  -44067.3123
## 2019   23534.2762   31693.4045   -1698.6126  -47763.6933  -42340.9974
## 2020    1724.6539   22904.5516   29949.9468  -45840.3389  -77161.3863
## 2021 -301636.5069 -239999.6644 -182797.6588  -95381.0124   25350.1925
## 2022    2313.7425  -19805.6243  -63716.1751 -149248.5971 -166140.1757
## 2023  287120.7818  282914.4999  265181.7284  237412.1660             
##               Jun          Jul          Aug          Sep          Oct
## 2003  -14805.1066   17039.8791   27931.7113   57939.1074   65256.4286
## 2004   63534.8543   63905.0278   53190.3455   38911.5999   36112.7464
## 2005  -61403.6036  -55799.6202  -51627.0090  -51741.0273  -54228.0999
## 2006 -151634.1312 -117234.3441 -106084.2936  -89533.9704  -70094.2628
## 2007    -593.0846   12758.7074   22436.8539    7623.9675   24094.5316
## 2008  -27888.4298  -22392.4324  -16884.9322   31117.5104   64776.0619
## 2009 -192707.2848 -235643.6689 -261662.6126 -276571.7030 -280050.2342
## 2010 -139414.2884  -77506.0053  -10963.5281   48933.3419   63189.5995
## 2011   45589.7076   74965.2875  111949.4197  113325.2078  100078.5953
## 2012   84811.7216  130309.4017  149560.1585  149465.9572  164004.6693
## 2013  142773.9749  180560.0148  224818.7846  268497.9656  301198.6053
## 2014  319482.8491  334073.4609  378769.8238  424408.8494  422696.1313
## 2015   81675.4706   43091.0742   16261.9628   11637.3362  -15421.5726
## 2016 -363011.4305 -369309.4322 -369952.0291 -370533.7471 -349305.0858
## 2017 -224783.7222 -168971.3962 -156988.6417 -148456.2679 -125047.5646
## 2018  -29390.0420  -90497.2668  -70182.2916  -26904.9996  -21304.8183
## 2019  -49306.9144  -11148.6348   -1685.9249   30146.1695   69919.5737
## 2020  -42534.5751  -66216.9129 -105894.6752 -110531.1773 -162413.0512
## 2021   60242.8075  115376.7187  135235.2320  143348.8881  105927.9902
## 2022 -127532.9345 -112774.6947   35785.1141  143442.1618  256121.6609
## 2023                                                                 
##               Nov          Dec
## 2003   77263.7860   87072.6798
## 2004   47367.5135   47208.0390
## 2005  -80310.9280  -92602.7357
## 2006  -62366.4319  -59933.3695
## 2007   21470.2874   12519.9775
## 2008   60267.6255   44028.9630
## 2009 -260849.9214 -231669.9247
## 2010   71240.5416   59683.8196
## 2011   96052.2066   93171.7948
## 2012  153355.1893  129468.4126
## 2013  312911.4070  345043.2001
## 2014  427233.2188  432975.1015
## 2015  -63255.5618 -127698.4502
## 2016 -324232.6654 -294956.4113
## 2017 -127033.9844 -113227.4169
## 2018  -26513.5923   12915.3180
## 2019   87772.4624   75105.0452
## 2020 -213559.2608 -234414.6224
## 2021   69895.4215   44702.3279
## 2022  265788.1032  289550.6634
## 2023

4 Análise Gráfica das Variáveis

# Gráfico do PIB Real Acum. 12 meses 
plot(pibR, col = 'red', main = 'PIB Real - 01.2003 a 04.2023', xlab = 'Período', 
  ylab = 'Milhões de Reais')

# Gráfico do Hiato do Produto
plot(hiato, col = 'red', main = 'Hiato do Produto - 01.2003 a 04.2023', xlab = 'Período',
  ylab = 'Milhões de Reais'); abline(h=0, col = 'blue')

# Gráfico Expectativa IPCA
plot(exp12, col = 'red', main = 'Expectativa IPCA', xlab = 'Período',
  ylab = '%')

# Gráfico do IPCA Acum. 12 meses 
plot(ipca12, col = 'red', main = 'IPCA Acum. 12 meses em relação à Meta', xlab = 'Período',
  ylab = '%'); lines(meta, col = 'blue'); lines((meta+2), lty = 2); lines((meta-2), lty = 2)

#Gráfico do Desvio da Inflação em relação à meta
plot(desvio, col = 'red', main = 'Desvio da Meta', xlab = 'Período',
  ylab = '%'); abline(h = 0, col = 'blue')

# Gráfico do Índice da taxa de câmbio real efetiva (IPCA) - Jun/1994=100
plot(cambioR, col = 'blue', main = 'Índice da Taxa de Câmbio Real', xlab = 'Período',
  ylab = 'Índice')

# Gráfico da Taxa Selic Anualizada
plot(selic, col = 'red', main = 'Taxa Selic Anualizada', xlab = 'Período',
  ylab = '%')

5 Modelagens para Previsão

5.1 Ajustes

5.1.1 Transformação Logarítima e em Diferença

# Transformação em Log
lhiato <- log(hiato+2*-min(hiato))
lcambio <- log(cambioR)
lselic <- log(selic)
ldesvio <- log(desvio+2*-min(desvio))

# Transformação em 1ª diferença
hiato_d <- diff(lhiato,1)
cambio_d <- diff(lcambio,1)
selic_d <- diff(lselic,1)
desvio_d <- diff(ldesvio,1)

# Combinando Dados para as modelagens
dados_tay <- cbind(selic_d, desvio_d, hiato_d, cambio_d)
plot(dados_tay, col = 'red', main = 'Variáveis para a Regra de Taylor', xlab = 'Período', ylab = 'Diff-Log')

5.1.2 Janela Pertinente para Previsão

dados_tay_prev <- window(dados_tay, frequency = 12, start = c(2019,10), end = c(2023,04))
dados_tay_prev
##              selic_d     desvio_d      hiato_d     cambio_d
## Oct 2019 -0.05953065  0.014252023  0.050286648 -0.004805990
## Nov 2019 -0.09345317  0.188591170  0.021774972  0.012588819
## Dec 2019 -0.06535518  0.107311736 -0.015401303 -0.015089937
## Jan 2020 -0.04227548 -0.155320955 -0.094209519  0.012355164
## Feb 2020 -0.04890381  0.008163311  0.028114941  0.042036804
## Mar 2020 -0.05898516 -0.144039370  0.009179795  0.104614854
## Apr 2020 -0.07898841 -0.350656872 -0.103472360  0.073944482
## May 2020 -0.19278709  0.107358518 -0.046097899  0.059749012
## Jun 2020 -0.15415068  0.284683569  0.050841570 -0.071436717
## Jul 2020 -0.18232156 -0.009049836 -0.034491000  0.033136624
## Aug 2020 -0.10277987 -0.027651531 -0.060594188  0.048195575
## Sep 2020 -0.02083409  0.102084126 -0.007326364 -0.016256187
## Oct 2020  0.00000000  0.208693661 -0.085865271  0.035563702
## Nov 2020  0.00000000  0.063039110 -0.092541009 -0.038725600
## Dec 2020  0.00000000 -0.003220615 -0.040338375 -0.051218824
## Jan 2021  0.00000000 -0.094665227 -0.142345419  0.041740721
## Feb 2021  0.00000000  0.138836445  0.131260801  0.010622922
## Mar 2021  0.16014770  0.146182510  0.108100941  0.025581941
## Apr 2021  0.17255805 -0.112795494  0.145471642 -0.009756818
## May 2021  0.21632792  0.099372474  0.171413240 -0.046371759
## Jun 2021  0.13353139  0.006277552  0.044520961 -0.052495584
## Jul 2021  0.09868938  0.105384687  0.066540917  0.017902272
## Aug 2021  0.18832758 -0.015148853  0.022922427  0.012776306
## Sep 2021  0.08050322  0.121188358  0.009216363 -0.006617593
## Oct 2021  0.14861050  0.033183162 -0.043232609  0.037002329
## Nov 2021  0.19415601  0.077952078 -0.043473037 -0.008637124
## Dec 2021  0.13549026 -0.136988878 -0.031558424  0.010698980
## Jan 2022  0.04355797  0.088666448 -0.055454885 -0.021373376
## Feb 2022  0.13666854  0.012175228 -0.030206743 -0.059459207
## Mar 2022  0.06101708  0.151441484 -0.062812202 -0.056265557
## Apr 2022  0.04386668 -0.046407760 -0.134989402 -0.060624622
## May 2022  0.07122214  0.032864795 -0.028957041  0.022257155
## Jun 2022  0.02992349 -0.079588894  0.064992964  0.015346816
## Jul 2022  0.01996994 -0.211049470  0.023769705  0.066852522
## Aug 2022  0.03217636  0.095720231  0.212244340 -0.034504688
## Sep 2022  0.00514140 -0.100596049  0.129782791  0.002804614
## Oct 2022  0.00000000  0.092255252  0.119907046 -0.013471382
## Nov 2022  0.00000000  0.048027050  0.009647007  0.009808231
## Dec 2022  0.00000000 -0.023462583  0.023326571  0.007932846
## Jan 2023  0.00000000  0.137386952 -0.002360477  0.007024615
## Feb 2023  0.00000000  0.009876174 -0.004099356 -0.010594384
## Mar 2023  0.00000000 -0.038953120 -0.017469165 -0.004597351
## Apr 2023  0.00000000 -0.053037161 -0.027985056 -0.034645130
plot(dados_tay_prev, col = 'red', main = 'Variáveis para a Regra de Taylor', xlab = 'Período', ylab = 'Diff-Log')

5.1.3 Testes de Raiz Unitária

# Testes de Raiz Unitária - Dickey Fuller
dfselic <- ur.df(dados_tay_prev[,1], lags = 10, type = 'trend', selectlags = 'AIC'); summary(dfselic)
## 
## ############################################### 
## # Augmented Dickey-Fuller Test Unit Root Test # 
## ############################################### 
## 
## Test regression trend 
## 
## 
## Call:
## lm(formula = z.diff ~ z.lag.1 + 1 + tt + z.diff.lag)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.046061 -0.021542 -0.002836  0.012795  0.061235 
## 
## Coefficients:
##              Estimate Std. Error t value  Pr(>|t|)    
## (Intercept)  0.069607   0.028262   2.463  0.022977 *  
## z.lag.1     -0.682923   0.130214  -5.245 0.0000393 ***
## tt          -0.001133   0.001024  -1.107  0.281288    
## z.diff.lag1 -0.333235   0.149822  -2.224  0.037813 *  
## z.diff.lag2 -0.211272   0.156361  -1.351  0.191726    
## z.diff.lag3  0.141048   0.152267   0.926  0.365324    
## z.diff.lag4  0.172686   0.150871   1.145  0.265891    
## z.diff.lag5  0.085592   0.139003   0.616  0.544998    
## z.diff.lag6  0.287238   0.127144   2.259  0.035195 *  
## z.diff.lag7  0.607458   0.137079   4.431  0.000257 ***
## z.diff.lag8  0.564674   0.160145   3.526  0.002123 ** 
## z.diff.lag9  0.425036   0.144540   2.941  0.008085 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.03598 on 20 degrees of freedom
## Multiple R-squared:  0.7385, Adjusted R-squared:  0.5946 
## F-statistic: 5.133 on 11 and 20 DF,  p-value: 0.0007834
## 
## 
## Value of test-statistic is: -5.2446 11.9094 17.722 
## 
## Critical values for test statistics: 
##       1pct  5pct 10pct
## tau3 -4.15 -3.50 -3.18
## phi2  7.02  5.13  4.31
## phi3  9.31  6.73  5.61
dfdesvio <- ur.df(dados_tay_prev[,2], lags = 10, type = 'trend', selectlags = 'AIC'); summary(dfdesvio)
## 
## ############################################### 
## # Augmented Dickey-Fuller Test Unit Root Test # 
## ############################################### 
## 
## Test regression trend 
## 
## 
## Call:
## lm(formula = z.diff ~ z.lag.1 + 1 + tt + z.diff.lag)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.25165 -0.04068  0.01325  0.03750  0.12448 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.248767   0.077046   3.229 0.003714 ** 
## z.lag.1     -2.768059   0.670095  -4.131 0.000406 ***
## tt          -0.006520   0.002287  -2.851 0.009041 ** 
## z.diff.lag1  1.361379   0.590683   2.305 0.030548 *  
## z.diff.lag2  1.274346   0.527266   2.417 0.023988 *  
## z.diff.lag3  0.941694   0.422910   2.227 0.036044 *  
## z.diff.lag4  0.654899   0.281209   2.329 0.029012 *  
## z.diff.lag5  0.556742   0.203285   2.739 0.011701 *  
## z.diff.lag6  0.248407   0.139066   1.786 0.087250 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.08798 on 23 degrees of freedom
## Multiple R-squared:  0.7491, Adjusted R-squared:  0.6618 
## F-statistic: 8.582 on 8 and 23 DF,  p-value: 0.00002313
## 
## 
## Value of test-statistic is: -4.1308 5.747 8.5484 
## 
## Critical values for test statistics: 
##       1pct  5pct 10pct
## tau3 -4.15 -3.50 -3.18
## phi2  7.02  5.13  4.31
## phi3  9.31  6.73  5.61
dfhiato <- ur.df(dados_tay_prev[,3], lags = 10, type = 'trend', selectlags = 'AIC'); summary(dfhiato)
## 
## ############################################### 
## # Augmented Dickey-Fuller Test Unit Root Test # 
## ############################################### 
## 
## Test regression trend 
## 
## 
## Call:
## lm(formula = z.diff ~ z.lag.1 + 1 + tt + z.diff.lag)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.125619 -0.032414 -0.000074  0.027763  0.157103 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)   
## (Intercept) -0.0048441  0.0359076  -0.135  0.89373   
## z.lag.1     -0.6844672  0.1867377  -3.665  0.00111 **
## tt           0.0005498  0.0013039   0.422  0.67674   
## z.diff.lag1  0.0723787  0.1921909   0.377  0.70953   
## z.diff.lag2  0.4912438  0.1863211   2.637  0.01394 * 
## z.diff.lag3  0.4705274  0.1658519   2.837  0.00871 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.06536 on 26 degrees of freedom
## Multiple R-squared:  0.4613, Adjusted R-squared:  0.3577 
## F-statistic: 4.453 on 5 and 26 DF,  p-value: 0.004608
## 
## 
## Value of test-statistic is: -3.6654 4.6034 6.9 
## 
## Critical values for test statistics: 
##       1pct  5pct 10pct
## tau3 -4.15 -3.50 -3.18
## phi2  7.02  5.13  4.31
## phi3  9.31  6.73  5.61
dfcambio <- ur.df(dados_tay_prev[,4], lags = 10, type = 'trend', selectlags = 'AIC'); summary(dfcambio)
## 
## ############################################### 
## # Augmented Dickey-Fuller Test Unit Root Test # 
## ############################################### 
## 
## Test regression trend 
## 
## 
## Call:
## lm(formula = z.diff ~ z.lag.1 + 1 + tt + z.diff.lag)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.050593 -0.019144  0.003659  0.021165  0.053319 
## 
## Coefficients:
##               Estimate Std. Error t value  Pr(>|t|)    
## (Intercept) -0.0052841  0.0161069  -0.328   0.74549    
## z.lag.1     -1.6252282  0.3104860  -5.234 0.0000181 ***
## tt          -0.0001209  0.0005761  -0.210   0.83536    
## z.diff.lag1  0.6278331  0.2549072   2.463   0.02072 *  
## z.diff.lag2  0.6666416  0.2106902   3.164   0.00394 ** 
## z.diff.lag3  0.4026299  0.1437110   2.802   0.00947 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.02979 on 26 degrees of freedom
## Multiple R-squared:  0.6172, Adjusted R-squared:  0.5436 
## F-statistic: 8.384 on 5 and 26 DF,  p-value: 0.00007942
## 
## 
## Value of test-statistic is: -5.2345 9.272 13.753 
## 
## Critical values for test statistics: 
##       1pct  5pct 10pct
## tau3 -4.15 -3.50 -3.18
## phi2  7.02  5.13  4.31
## phi3  9.31  6.73  5.61

5.1.4 Causalidade de Granger

grangertest(dados_tay_prev[,1]~dados_tay_prev[,2], order=1)
## Granger causality test
## 
## Model 1: dados_tay_prev[, 1] ~ Lags(dados_tay_prev[, 1], 1:1) + Lags(dados_tay_prev[, 2], 1:1)
## Model 2: dados_tay_prev[, 1] ~ Lags(dados_tay_prev[, 1], 1:1)
##   Res.Df Df      F  Pr(>F)  
## 1     39                    
## 2     40 -1 4.1613 0.04817 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
grangertest(dados_tay_prev[,1]~dados_tay_prev[,3], order=1)
## Granger causality test
## 
## Model 1: dados_tay_prev[, 1] ~ Lags(dados_tay_prev[, 1], 1:1) + Lags(dados_tay_prev[, 3], 1:1)
## Model 2: dados_tay_prev[, 1] ~ Lags(dados_tay_prev[, 1], 1:1)
##   Res.Df Df      F Pr(>F)
## 1     39                 
## 2     40 -1 0.6815 0.4141
grangertest(dados_tay_prev[,1]~dados_tay_prev[,4], order=1)
## Granger causality test
## 
## Model 1: dados_tay_prev[, 1] ~ Lags(dados_tay_prev[, 1], 1:1) + Lags(dados_tay_prev[, 4], 1:1)
## Model 2: dados_tay_prev[, 1] ~ Lags(dados_tay_prev[, 1], 1:1)
##   Res.Df Df      F Pr(>F)
## 1     39                 
## 2     40 -1 0.0422 0.8383
grangertest(dados_tay_prev[,2]~dados_tay_prev[,1], order=1)
## Granger causality test
## 
## Model 1: dados_tay_prev[, 2] ~ Lags(dados_tay_prev[, 2], 1:1) + Lags(dados_tay_prev[, 1], 1:1)
## Model 2: dados_tay_prev[, 2] ~ Lags(dados_tay_prev[, 2], 1:1)
##   Res.Df Df      F Pr(>F)
## 1     39                 
## 2     40 -1 0.1537 0.6972
grangertest(dados_tay_prev[,2]~dados_tay_prev[,3], order=1)
## Granger causality test
## 
## Model 1: dados_tay_prev[, 2] ~ Lags(dados_tay_prev[, 2], 1:1) + Lags(dados_tay_prev[, 3], 1:1)
## Model 2: dados_tay_prev[, 2] ~ Lags(dados_tay_prev[, 2], 1:1)
##   Res.Df Df      F Pr(>F)
## 1     39                 
## 2     40 -1 0.3415 0.5623
grangertest(dados_tay_prev[,2]~dados_tay_prev[,4], order=1)
## Granger causality test
## 
## Model 1: dados_tay_prev[, 2] ~ Lags(dados_tay_prev[, 2], 1:1) + Lags(dados_tay_prev[, 4], 1:1)
## Model 2: dados_tay_prev[, 2] ~ Lags(dados_tay_prev[, 2], 1:1)
##   Res.Df Df      F Pr(>F)
## 1     39                 
## 2     40 -1 0.1047  0.748
grangertest(dados_tay_prev[,3]~dados_tay_prev[,1], order=1)
## Granger causality test
## 
## Model 1: dados_tay_prev[, 3] ~ Lags(dados_tay_prev[, 3], 1:1) + Lags(dados_tay_prev[, 1], 1:1)
## Model 2: dados_tay_prev[, 3] ~ Lags(dados_tay_prev[, 3], 1:1)
##   Res.Df Df      F Pr(>F)
## 1     39                 
## 2     40 -1 0.2928 0.5915
grangertest(dados_tay_prev[,3]~dados_tay_prev[,2], order=1)
## Granger causality test
## 
## Model 1: dados_tay_prev[, 3] ~ Lags(dados_tay_prev[, 3], 1:1) + Lags(dados_tay_prev[, 2], 1:1)
## Model 2: dados_tay_prev[, 3] ~ Lags(dados_tay_prev[, 3], 1:1)
##   Res.Df Df      F  Pr(>F)  
## 1     39                    
## 2     40 -1 5.9826 0.01906 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
grangertest(dados_tay_prev[,3]~dados_tay_prev[,4], order=1)
## Granger causality test
## 
## Model 1: dados_tay_prev[, 3] ~ Lags(dados_tay_prev[, 3], 1:1) + Lags(dados_tay_prev[, 4], 1:1)
## Model 2: dados_tay_prev[, 3] ~ Lags(dados_tay_prev[, 3], 1:1)
##   Res.Df Df      F  Pr(>F)  
## 1     39                    
## 2     40 -1 4.4209 0.04201 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
grangertest(dados_tay_prev[,4]~dados_tay_prev[,1], order=1)
## Granger causality test
## 
## Model 1: dados_tay_prev[, 4] ~ Lags(dados_tay_prev[, 4], 1:1) + Lags(dados_tay_prev[, 1], 1:1)
## Model 2: dados_tay_prev[, 4] ~ Lags(dados_tay_prev[, 4], 1:1)
##   Res.Df Df      F Pr(>F)
## 1     39                 
## 2     40 -1 2.1175 0.1536
grangertest(dados_tay_prev[,4]~dados_tay_prev[,2], order=1)
## Granger causality test
## 
## Model 1: dados_tay_prev[, 4] ~ Lags(dados_tay_prev[, 4], 1:1) + Lags(dados_tay_prev[, 2], 1:1)
## Model 2: dados_tay_prev[, 4] ~ Lags(dados_tay_prev[, 4], 1:1)
##   Res.Df Df      F Pr(>F)
## 1     39                 
## 2     40 -1 0.8978 0.3492
grangertest(dados_tay_prev[,4]~dados_tay_prev[,3], order=1)
## Granger causality test
## 
## Model 1: dados_tay_prev[, 4] ~ Lags(dados_tay_prev[, 4], 1:1) + Lags(dados_tay_prev[, 3], 1:1)
## Model 2: dados_tay_prev[, 4] ~ Lags(dados_tay_prev[, 4], 1:1)
##   Res.Df Df      F Pr(>F)
## 1     39                 
## 2     40 -1 0.0783 0.7811

5.2 VAR - Vetores Autorregressivos

5.2.1 Escolha da Defasagem

# Escolha da defasagem ótima
VAR_select <- VARselect(dados_tay_prev, lag.max = 10, type = 'trend')
VAR_select$selection
## AIC(n)  HQ(n)  SC(n) FPE(n) 
##      8      8      8      9

5.2.2 Modelagem do VAR

# Com constante e tendência
VAR_tay <- VAR(dados_tay_prev, p=2, type = 'trend')
summary(VAR_tay)
## 
## VAR Estimation Results:
## ========================= 
## Endogenous variables: selic_d, desvio_d, hiato_d, cambio_d 
## Deterministic variables: trend 
## Sample size: 41 
## Log Likelihood: 247.356 
## Roots of the characteristic polynomial:
## 0.8771   0.6 0.5137 0.5137 0.3684 0.3684 0.347 0.347
## Call:
## VAR(y = dados_tay_prev, p = 2, type = "trend")
## 
## 
## Estimation results for equation selic_d: 
## ======================================== 
## selic_d = selic_d.l1 + desvio_d.l1 + hiato_d.l1 + cambio_d.l1 + selic_d.l2 + desvio_d.l2 + hiato_d.l2 + cambio_d.l2 + trend 
## 
##                Estimate  Std. Error t value Pr(>|t|)    
## selic_d.l1   0.61495904  0.16424041   3.744 0.000714 ***
## desvio_d.l1  0.16517602  0.07479033   2.209 0.034490 *  
## hiato_d.l1   0.24777527  0.13900938   1.782 0.084169 .  
## cambio_d.l1  0.51500138  0.24603517   2.093 0.044344 *  
## selic_d.l2   0.26674546  0.17063437   1.563 0.127829    
## desvio_d.l2  0.11820894  0.08575712   1.378 0.177637    
## hiato_d.l2  -0.20648074  0.13159638  -1.569 0.126474    
## cambio_d.l2 -0.26103856  0.24168020  -1.080 0.288172    
## trend       -0.00005267  0.00034694  -0.152 0.880279    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## Residual standard error: 0.04966 on 32 degrees of freedom
## Multiple R-Squared: 0.806,   Adjusted R-squared: 0.7515 
## F-statistic: 14.78 on 9 and 32 DF,  p-value: 0.000000004407 
## 
## 
## Estimation results for equation desvio_d: 
## ========================================= 
## desvio_d = selic_d.l1 + desvio_d.l1 + hiato_d.l1 + cambio_d.l1 + selic_d.l2 + desvio_d.l2 + hiato_d.l2 + cambio_d.l2 + trend 
## 
##               Estimate Std. Error t value Pr(>|t|)
## selic_d.l1   0.1044866  0.4224546   0.247    0.806
## desvio_d.l1  0.0268203  0.1923736   0.139    0.890
## hiato_d.l1  -0.5661124  0.3575561  -1.583    0.123
## cambio_d.l1 -0.5071325  0.6328449  -0.801    0.429
## selic_d.l2  -0.1464408  0.4389010  -0.334    0.741
## desvio_d.l2 -0.3199926  0.2205821  -1.451    0.157
## hiato_d.l2   0.4002039  0.3384886   1.182    0.246
## cambio_d.l2  0.2655529  0.6216431   0.427    0.672
## trend        0.0008873  0.0008924   0.994    0.328
## 
## 
## Residual standard error: 0.1277 on 32 degrees of freedom
## Multiple R-Squared: 0.121,   Adjusted R-squared: -0.1262 
## F-statistic: 0.4895 on 9 and 32 DF,  p-value: 0.8707 
## 
## 
## Estimation results for equation hiato_d: 
## ======================================== 
## hiato_d = selic_d.l1 + desvio_d.l1 + hiato_d.l1 + cambio_d.l1 + selic_d.l2 + desvio_d.l2 + hiato_d.l2 + cambio_d.l2 + trend 
## 
##               Estimate Std. Error t value Pr(>|t|)  
## selic_d.l1   0.2139591  0.2280933   0.938   0.3553  
## desvio_d.l1 -0.1639483  0.1038671  -1.578   0.1243  
## hiato_d.l1   0.5116094  0.1930531   2.650   0.0124 *
## cambio_d.l1  0.3556550  0.3416880   1.041   0.3057  
## selic_d.l2  -0.1795726  0.2369731  -0.758   0.4541  
## desvio_d.l2 -0.1488738  0.1190975  -1.250   0.2204  
## hiato_d.l2   0.0570701  0.1827581   0.312   0.7569  
## cambio_d.l2 -0.3347644  0.3356399  -0.997   0.3261  
## trend        0.0003460  0.0004818   0.718   0.4779  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## Residual standard error: 0.06897 on 32 degrees of freedom
## Multiple R-Squared: 0.4345,  Adjusted R-squared: 0.2755 
## F-statistic: 2.732 on 9 and 32 DF,  p-value: 0.01734 
## 
## 
## Estimation results for equation cambio_d: 
## ========================================= 
## cambio_d = selic_d.l1 + desvio_d.l1 + hiato_d.l1 + cambio_d.l1 + selic_d.l2 + desvio_d.l2 + hiato_d.l2 + cambio_d.l2 + trend 
## 
##                Estimate  Std. Error t value Pr(>|t|)  
## selic_d.l1  -0.11704384  0.12949092  -0.904   0.3728  
## desvio_d.l1 -0.08358158  0.05896642  -1.417   0.1660  
## hiato_d.l1   0.20515624  0.10959820   1.872   0.0704 .
## cambio_d.l1  0.21593507  0.19397979   1.113   0.2739  
## selic_d.l2   0.00809964  0.13453206   0.060   0.9524  
## desvio_d.l2  0.09951888  0.06761288   1.472   0.1508  
## hiato_d.l2  -0.17277563  0.10375361  -1.665   0.1056  
## cambio_d.l2 -0.04469131  0.19054623  -0.235   0.8161  
## trend        0.00001601  0.00027354   0.059   0.9537  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## Residual standard error: 0.03915 on 32 degrees of freedom
## Multiple R-Squared: 0.2436,  Adjusted R-squared: 0.03091 
## F-statistic: 1.145 on 9 and 32 DF,  p-value: 0.3615 
## 
## 
## 
## Covariance matrix of residuals:
##             selic_d  desvio_d    hiato_d   cambio_d
## selic_d   0.0024657  0.001690  0.0010537 -0.0003112
## desvio_d  0.0016904  0.016287  0.0032806 -0.0019992
## hiato_d   0.0010537  0.003281  0.0047554 -0.0007742
## cambio_d -0.0003112 -0.001999 -0.0007742  0.0015192
## 
## Correlation matrix of residuals:
##          selic_d desvio_d hiato_d cambio_d
## selic_d   1.0000   0.2667  0.3077  -0.1608
## desvio_d  0.2667   1.0000  0.3728  -0.4019
## hiato_d   0.3077   0.3728  1.0000  -0.2880
## cambio_d -0.1608  -0.4019 -0.2880   1.0000
plot(VAR_tay)

5.2.3 Diagnóstico

# # Portmanteau Test (autocorrelação residual)
serial_tay <- serial.test(VAR_tay, lags.pt = 5, 'PT.asymptotic')
serial_tay
## 
##  Portmanteau Test (asymptotic)
## 
## data:  Residuals of VAR object VAR_tay
## Chi-squared = 58.139, df = 48, p-value = 0.1499
# Teste de Arch  (presença de autocorrelação e heterocedasticidade)
arch.test(VAR_tay)
## 
##  ARCH (multivariate)
## 
## data:  Residuals of VAR object VAR_tay
## Chi-squared = 360, df = 500, p-value = 1
# Teste de Normalidade
normalidade <- normality.test(VAR_tay)
normalidade
## $JB
## 
##  JB-Test (multivariate)
## 
## data:  Residuals of VAR object VAR_tay
## Chi-squared = 4.4346, df = 8, p-value = 0.8159
## 
## 
## $Skewness
## 
##  Skewness only (multivariate)
## 
## data:  Residuals of VAR object VAR_tay
## Chi-squared = 2.6542, df = 4, p-value = 0.6173
## 
## 
## $Kurtosis
## 
##  Kurtosis only (multivariate)
## 
## data:  Residuals of VAR object VAR_tay
## Chi-squared = 1.7804, df = 4, p-value = 0.7761
# Teste de Raiz
raizes <- roots(VAR_tay, modulus = TRUE)
raizes
## [1] 0.8771145 0.6000293 0.5136890 0.5136890 0.3684245 0.3684245 0.3469772
## [8] 0.3469772

5.2.4 Impulso-Resposta

# Impulso-Resposta
impulso_VAR_tay <- irf(VAR_tay, n.ahead = 36)
# Análise Individual (todas as possibilidades)
plot(irf(VAR_tay, n.ahead = 36, impulse = 'desvio_d', response = 'selic_d', boot = T))

plot(irf(VAR_tay, n.ahead = 36, impulse = 'hiato_d', response = 'selic_d', boot = T))

plot(irf(VAR_tay, n.ahead = 36, impulse = 'cambio_d', response = 'selic_d', boot = T))

5.2.5 Decomposição da Variância

## Decomposição da Variância período completo (2003.1 a 2022.12)
decomp_VAR_tay <- fevd(VAR_tay, n.ahead = 36)
decomp_VAR_tay
## $selic_d
##         selic_d   desvio_d    hiato_d   cambio_d
##  [1,] 1.0000000 0.00000000 0.00000000 0.00000000
##  [2,] 0.8273259 0.06909860 0.03326351 0.07031201
##  [3,] 0.8235300 0.09260528 0.02706683 0.05679790
##  [4,] 0.8222133 0.10353884 0.02339410 0.05085373
##  [5,] 0.8204503 0.11199717 0.02111843 0.04643411
##  [6,] 0.8178543 0.11847133 0.01979241 0.04388193
##  [7,] 0.8162052 0.12259447 0.01892797 0.04227238
##  [8,] 0.8149957 0.12543399 0.01831489 0.04125545
##  [9,] 0.8140908 0.12749625 0.01787222 0.04054076
## [10,] 0.8133953 0.12903440 0.01755569 0.04001463
## [11,] 0.8128631 0.13018966 0.01732830 0.03961896
## [12,] 0.8124534 0.13106230 0.01716263 0.03932166
## [13,] 0.8121394 0.13172241 0.01703986 0.03909828
## [14,] 0.8118995 0.13222273 0.01694769 0.03893004
## [15,] 0.8117163 0.13260304 0.01687794 0.03880271
## [16,] 0.8115762 0.13289299 0.01682493 0.03870589
## [17,] 0.8114689 0.13311456 0.01678454 0.03863199
## [18,] 0.8113867 0.13328417 0.01675370 0.03857548
## [19,] 0.8113236 0.13341414 0.01673012 0.03853219
## [20,] 0.8112751 0.13351382 0.01671206 0.03849900
## [21,] 0.8112379 0.13359032 0.01669821 0.03847354
## [22,] 0.8112094 0.13364906 0.01668758 0.03845399
## [23,] 0.8111874 0.13369418 0.01667941 0.03843898
## [24,] 0.8111706 0.13372886 0.01667314 0.03842745
## [25,] 0.8111576 0.13375551 0.01666832 0.03841858
## [26,] 0.8111476 0.13377600 0.01666461 0.03841177
## [27,] 0.8111399 0.13379176 0.01666177 0.03840653
## [28,] 0.8111341 0.13380388 0.01665957 0.03840250
## [29,] 0.8111295 0.13381320 0.01665789 0.03839940
## [30,] 0.8111260 0.13382036 0.01665659 0.03839701
## [31,] 0.8111233 0.13382588 0.01665560 0.03839518
## [32,] 0.8111213 0.13383012 0.01665483 0.03839377
## [33,] 0.8111197 0.13383338 0.01665424 0.03839269
## [34,] 0.8111185 0.13383589 0.01665379 0.03839185
## [35,] 0.8111175 0.13383782 0.01665344 0.03839121
## [36,] 0.8111168 0.13383931 0.01665317 0.03839071
## 
## $desvio_d
##          selic_d  desvio_d    hiato_d   cambio_d
##  [1,] 0.07068517 0.9293148 0.00000000 0.00000000
##  [2,] 0.06557869 0.8567803 0.05937999 0.01826107
##  [3,] 0.07183573 0.8528213 0.05763664 0.01770629
##  [4,] 0.07177405 0.8484514 0.05916857 0.02060601
##  [5,] 0.07172329 0.8474500 0.05981608 0.02101061
##  [6,] 0.07172774 0.8473802 0.05987448 0.02101755
##  [7,] 0.07175642 0.8473280 0.05987349 0.02104211
##  [8,] 0.07177338 0.8473004 0.05987207 0.02105418
##  [9,] 0.07178856 0.8472839 0.05987107 0.02105649
## [10,] 0.07179916 0.8472743 0.05987017 0.02105642
## [11,] 0.07180642 0.8472676 0.05986981 0.02105620
## [12,] 0.07181186 0.8472625 0.05986957 0.02105607
## [13,] 0.07181618 0.8472585 0.05986931 0.02105602
## [14,] 0.07181960 0.8472553 0.05986906 0.02105601
## [15,] 0.07182225 0.8472529 0.05986886 0.02105601
## [16,] 0.07182431 0.8472510 0.05986870 0.02105600
## [17,] 0.07182588 0.8472496 0.05986857 0.02105599
## [18,] 0.07182709 0.8472484 0.05986848 0.02105599
## [19,] 0.07182802 0.8472476 0.05986841 0.02105598
## [20,] 0.07182874 0.8472469 0.05986835 0.02105598
## [21,] 0.07182929 0.8472464 0.05986831 0.02105597
## [22,] 0.07182971 0.8472460 0.05986828 0.02105597
## [23,] 0.07183004 0.8472457 0.05986825 0.02105597
## [24,] 0.07183029 0.8472455 0.05986823 0.02105597
## [25,] 0.07183048 0.8472453 0.05986822 0.02105596
## [26,] 0.07183063 0.8472452 0.05986821 0.02105596
## [27,] 0.07183075 0.8472451 0.05986820 0.02105596
## [28,] 0.07183083 0.8472450 0.05986819 0.02105596
## [29,] 0.07183090 0.8472450 0.05986818 0.02105596
## [30,] 0.07183095 0.8472449 0.05986818 0.02105596
## [31,] 0.07183099 0.8472449 0.05986818 0.02105596
## [32,] 0.07183102 0.8472448 0.05986817 0.02105596
## [33,] 0.07183105 0.8472448 0.05986817 0.02105596
## [34,] 0.07183107 0.8472448 0.05986817 0.02105596
## [35,] 0.07183108 0.8472448 0.05986817 0.02105596
## [36,] 0.07183109 0.8472448 0.05986817 0.02105596
## 
## $hiato_d
##          selic_d   desvio_d   hiato_d   cambio_d
##  [1,] 0.09477625 0.09043476 0.8147890 0.00000000
##  [2,] 0.10269730 0.10394256 0.7677618 0.02559837
##  [3,] 0.08421992 0.13133910 0.7614761 0.02296490
##  [4,] 0.08651530 0.12628081 0.7649376 0.02226628
##  [5,] 0.08710000 0.12495531 0.7652955 0.02264915
##  [6,] 0.08744374 0.12464533 0.7646075 0.02330340
##  [7,] 0.08769164 0.12453464 0.7643412 0.02343251
##  [8,] 0.08794640 0.12447897 0.7641468 0.02342784
##  [9,] 0.08814425 0.12444525 0.7639890 0.02342145
## [10,] 0.08829637 0.12442756 0.7638574 0.02341871
## [11,] 0.08840907 0.12442205 0.7637523 0.02341656
## [12,] 0.08849198 0.12442271 0.7636706 0.02341469
## [13,] 0.08855337 0.12442548 0.7636078 0.02341332
## [14,] 0.08859966 0.12442855 0.7635594 0.02341242
## [15,] 0.08863493 0.12443133 0.7635219 0.02341187
## [16,] 0.08866194 0.12443366 0.7634929 0.02341153
## [17,] 0.08868263 0.12443558 0.7634705 0.02341129
## [18,] 0.08869850 0.12443712 0.7634533 0.02341111
## [19,] 0.08871067 0.12443836 0.7634400 0.02341098
## [20,] 0.08872001 0.12443933 0.7634298 0.02341088
## [21,] 0.08872719 0.12444009 0.7634219 0.02341081
## [22,] 0.08873270 0.12444067 0.7634159 0.02341075
## [23,] 0.08873694 0.12444113 0.7634112 0.02341071
## [24,] 0.08874021 0.12444148 0.7634076 0.02341067
## [25,] 0.08874271 0.12444175 0.7634049 0.02341065
## [26,] 0.08874464 0.12444196 0.7634028 0.02341063
## [27,] 0.08874613 0.12444212 0.7634011 0.02341061
## [28,] 0.08874727 0.12444225 0.7633999 0.02341060
## [29,] 0.08874815 0.12444234 0.7633989 0.02341059
## [30,] 0.08874882 0.12444242 0.7633982 0.02341059
## [31,] 0.08874934 0.12444247 0.7633976 0.02341058
## [32,] 0.08874974 0.12444252 0.7633972 0.02341058
## [33,] 0.08875005 0.12444255 0.7633968 0.02341057
## [34,] 0.08875029 0.12444258 0.7633966 0.02341057
## [35,] 0.08875047 0.12444260 0.7633964 0.02341057
## [36,] 0.08875061 0.12444261 0.7633962 0.02341057
## 
## $cambio_d
##          selic_d  desvio_d    hiato_d  cambio_d
##  [1,] 0.02605273 0.1339412 0.02022524 0.8197808
##  [2,] 0.03909629 0.1568358 0.08955392 0.7145140
##  [3,] 0.04153387 0.1584465 0.08905472 0.7109649
##  [4,] 0.05561855 0.1545442 0.09085200 0.6989853
##  [5,] 0.06578589 0.1521075 0.09394209 0.6881645
##  [6,] 0.07294156 0.1513346 0.09411622 0.6816077
##  [7,] 0.07746044 0.1512889 0.09369691 0.6775538
##  [8,] 0.08074523 0.1514632 0.09327649 0.6745151
##  [9,] 0.08317705 0.1516141 0.09296562 0.6722432
## [10,] 0.08505305 0.1517150 0.09272585 0.6705061
## [11,] 0.08650274 0.1517888 0.09253890 0.6691695
## [12,] 0.08761826 0.1518488 0.09239471 0.6681383
## [13,] 0.08847131 0.1518989 0.09228479 0.6673450
## [14,] 0.08912332 0.1519403 0.09220124 0.6667352
## [15,] 0.08962248 0.1519733 0.09213758 0.6662667
## [16,] 0.09000542 0.1519991 0.09208888 0.6659066
## [17,] 0.09029960 0.1520190 0.09205151 0.6656299
## [18,] 0.09052572 0.1520344 0.09202280 0.6654171
## [19,] 0.09069957 0.1520463 0.09200073 0.6652534
## [20,] 0.09083324 0.1520554 0.09198377 0.6651275
## [21,] 0.09093602 0.1520625 0.09197073 0.6650307
## [22,] 0.09101506 0.1520680 0.09196071 0.6649563
## [23,] 0.09107585 0.1520721 0.09195301 0.6648990
## [24,] 0.09112261 0.1520754 0.09194708 0.6648549
## [25,] 0.09115858 0.1520779 0.09194252 0.6648210
## [26,] 0.09118625 0.1520798 0.09193901 0.6647950
## [27,] 0.09120753 0.1520812 0.09193632 0.6647749
## [28,] 0.09122390 0.1520824 0.09193424 0.6647595
## [29,] 0.09123650 0.1520832 0.09193264 0.6647476
## [30,] 0.09124619 0.1520839 0.09193142 0.6647385
## [31,] 0.09125365 0.1520844 0.09193047 0.6647315
## [32,] 0.09125938 0.1520848 0.09192974 0.6647261
## [33,] 0.09126379 0.1520851 0.09192918 0.6647219
## [34,] 0.09126719 0.1520854 0.09192875 0.6647187
## [35,] 0.09126980 0.1520855 0.09192842 0.6647162
## [36,] 0.09127181 0.1520857 0.09192817 0.6647143
plot(decomp_VAR_tay, plot.type=c("single"), col=c("cadetblue", "azure", 'yellow', 'blue'))

5.2.6 Previsões

# Previsões com VAR
prev_tay <- predict(VAR_tay, n.ahead = 6)
prev_tay
## $selic_d
##              fcst      lower      upper         CI
## [1,] -0.035651887 -0.1329848 0.06168107 0.09733295
## [2,] -0.006909255 -0.1418558 0.12803727 0.13494652
## [3,]  0.002684202 -0.1555420 0.16091042 0.15822622
## [4,]  0.009072141 -0.1615775 0.17972176 0.17064962
## [5,]  0.012740887 -0.1672143 0.19269610 0.17995521
## [6,]  0.016860822 -0.1700028 0.20372446 0.18686364
## 
## $desvio_d
##            fcst      lower     upper        CI
## [1,] 0.07528557 -0.1750716 0.3256427 0.2503571
## [2,] 0.03717672 -0.2235745 0.2979279 0.2607512
## [3,] 0.01515084 -0.2496672 0.2799689 0.2648181
## [4,] 0.02513522 -0.2403644 0.2906348 0.2654996
## [5,] 0.03195920 -0.2336987 0.2976171 0.2656579
## [6,] 0.03232559 -0.2333541 0.2980053 0.2656797
## 
## $hiato_d
##             fcst      lower     upper        CI
## [1,] 0.003622183 -0.1315516 0.1387960 0.1351738
## [2,] 0.012242040 -0.1422090 0.1666931 0.1544510
## [3,] 0.012421247 -0.1592886 0.1841311 0.1717099
## [4,] 0.020299580 -0.1555573 0.1961565 0.1758569
## [5,] 0.022001796 -0.1548343 0.1988379 0.1768361
## [6,] 0.020496017 -0.1565820 0.1975740 0.1770780
## 
## $cambio_d
##               fcst       lower      upper         CI
## [1,] -0.0087377661 -0.08547731 0.06800177 0.07673954
## [2,] -0.0014374687 -0.08553028 0.08265534 0.08409281
## [3,]  0.0076073738 -0.07682587 0.09204061 0.08443324
## [4,]  0.0049560477 -0.08060736 0.09051945 0.08556340
## [5,]  0.0018841811 -0.08451605 0.08828441 0.08640023
## [6,]  0.0003890087 -0.08644896 0.08722697 0.08683797
fanchart(prev_tay, names = 'selic_d', main = 'Trajetória e Previsão da Selic', col.y = 'red', plot.type = 'single')

6 Comentários sobre a Regra de Taylor

O Modelo da Regra de Taylor é uma importante ferramenta para analisar e compreender a relação entre a taxa de juros, a inflação e a atividade econômica. Desenvolvido por John Taylor na década de 1990, esse modelo fornece uma estrutura analítica que permite entender como os bancos centrais podem ajustar a taxa de juros de acordo com as condições macroeconômicas. Neste texto dissertativo, exploraremos os diferentes modelos abordados nos Working Papers 01, 18 e 24 do Banco Central, bem como no Capítulo 06 do livro “Inflação e Crises: O Papel da Moeda” de Afonso Celso Pastore. Além disso, destacaremos os sentidos de causalidade propostos por esses modelos e os argumentos que podem ser utilizados para concluir as estimações econométricas.

A crise de 1998/9 levou ao abandono da relação fixa da taxa cambial e este passou a flutuar e um novo mecanismo para controle inflacionário passou a ser executado pelo Banco Central. O Decreto nº 3.088/99 regrou os pontos chaves do regime de metas de inflação, sendo que foi definido pelo CMN o IPCA como o índice da meta. Assim, o Conselho Monetário passou a programar a meta para os próximos dois exercícios e uma banda de flutuação de + ou – 2% em torno do centro da meta.

Os trabalhos do Banco Central, em especial os Working Papers 01, 18 e 24, apresentam diferentes abordagens do Modelo da Regra de Taylor. Esses estudos utilizam diversas variáveis macroeconômicas, como a taxa de inflação, o hiato do produto e a taxa de juros de equilíbrio, para estimar os parâmetros que governam a reação dos bancos centrais às condições econômicas. O objetivo é entender como as autoridades monetárias tomam suas decisões de política monetária.

No Working Paper 01, são propostas diferentes especificações do modelo, considerando a incorporação de variáveis como o crescimento do crédito e a taxa de câmbio. Essa abordagem busca capturar a influência de fatores externos e de condições financeiras na política monetária. Já o Working Paper 18 estudou o mecanismo de transmissão da política monetária. Por fim, o Working Paper 24 explora a possibilidade de mudanças estruturais na economia afetarem a regra de política monetária.

No Capítulo 06 do livro de Afonso Celso Pastore, o autor discute a causalidade entre inflação e taxa de juros no contexto brasileiro. Ele argumenta que, no passado, o Brasil experimentou um regime de alta inflação, no qual a inflação afetava diretamente a taxa de juros, devido à indexação da economia. No entanto, após o Plano Real e a implementação de medidas de estabilização, a relação entre inflação e taxa de juros se tornou mais complexa. Pastore defende a ideia de que, atualmente, é a taxa de juros que influencia a inflação no Brasil, por meio de mecanismos de transmissão monetária mais eficientes.

Algumas conclusões macroeconômicas da época e expostas no Working Paper 001 do Bacen. Juros afetam consumo de bens duráveis e investimentos; juros nominais afetam o câmbio nominal e a inflação “importada”. Por meio da modelagem de séries temporais e de vetores autorregressivos buscou-se três finalidades: previsão alternativa de curto prazo para taxa de inflação, permitir a estimação da taxa de juros real, simular choques específicos no IPCA.

Os resultados dos estudos no Working Paper 18 demonstraram que a taxa de juros afeta o hiato do produto com um trimestre de defasagem e a produção está positivamente relacionada à inflação com apenas uma defasagem. A desvalorização da taxa de câmbio nominal também tem um efeito contemporâneo sobre a inflação. Concluiu também que regras do tipo Taylor, podem ter um desempenho razoável se o Banco Central tiver uma forte aversão à variância da inflação e reagir de forma mais intensa ao hiato do produto e a desvios da inflação do que a regra tradicional de Taylor sugere.

Por sua vez, o Working Paper 24 demonstrou como a política monetária reagiu a diferentes choques econômicos e como estes se propagaram, principalmente pelo lado da oferta na economia. Os resultados mostraram que o Banco Central deve adotar uma abordagem restritiva diante de choques de demanda agregada, porém, ser parcialmente acomodatício em resposta a choques de oferta e financeiros. Isso implica em aumentar as taxas de juros nominais enquanto permite que as taxas de juros reais caiam, resultando em uma redução gradual da inflação. Esse padrão foi observado em episódios recentes no Brasil, em que o Banco Central manteve as taxas de juros nominais acima do equilíbrio de longo prazo durante choques de oferta e financeiros, permitindo a queda das taxas de juros reais. Esse padrão, corroborado pelas funções de resposta de impulso. Após a estabilização da inflação, as taxas de juros reais aumentaram novamente e o Banco Central retomou a redução das taxas de juros.

O Modelo da Regra de Taylor e suas diferentes abordagens, presentes nos Working Papers 01, 18 e 24 do Banco Central, assim como as conclusões de Pastore, permitem uma compreensão mais aprofundada da relação entre taxa de juros e inflação. Esses estudos apresentam modelos econométricos que consideram variáveis macroeconômicas relevantes e destacam os sentidos de causalidade entre as variáveis em questão. As estimativas econométricas obtidas a partir desses modelos oferecem subsídios importantes para a formulação de políticas monetárias eficientes, ao permitirem a análise de diferentes cenários e suas consequências na economia.

7 Comentários sobre a Estimação da Previsão

Para estimação do modelo de Regra de Taylor, a fim de obter a taxa de juros nominal, trabalhamos com as seguintes variáveis: Taxa Selic Anualizada, Desvio da Meta de Inflação, Hiato do Produto e Câmbio Real/Dólar. Todas as bases de dados são mensais e foram obtidas pelos API’s disponíveis do SGS do Bacen e do Ipeadata, por meio de pacotes estatísticos adequados. Considerando que foi disponibilizado recentemente o índice do câmbio para a competência abril/2023, ampliamos a base para incluí-la e buscamos estimar a previsão para os meses de maio a outubro deste ano.

Para o cálculo do desvio da meta de inflação foi utilizado a Expectativa do IPCA para 12 meses, por demonstrar um comportamento, graficamente, sem ciclos, como apresentava o mesmo índice para 6 meses, e por apresentar boa aderência ao IPCA observado. O Hiato do Produto foi obtido por meio do filtro de Hodrick-Prescott. Para o câmbio foi utilizado o Índice da taxa de câmbio real efetiva (IPCA) - Jun/1994=100.

Uma breve análise gráfica das variáveis utilizadas aponta a manutenção da taxa selic nos últimos 8 meses, o câmbio real em patamares mais baixos do que aqueles observados nos anos de 2020 a 2022, um nível de atividade econômica ainda acima do produto potencial, mas apresentando uma tendência de queda nos quatro meses de 2023, e uma expectativa do IPCA ainda acima do centro da meta, mas também com tendência de queda no início deste ano.

Foi realizada a logaritmização de todas as variáveis, bem como efetuada a primeira diferença, a fim de trabalharmos com séries estacionárias, requisito fundamental para a estimação do VAR. Na sequência buscamos uma janela adequada a fim de que todas as variáveis fossem estacionárias a 5% de significância no Teste de Dickey-Fuller Ampliado (com constante e tendência, com 10 defasagens, por meio do critério AIC).

O teste de causalidade foi realizado com os pares de todas as variáveis, contudo, não se verificou significância a 5% de rejeição da hipótese nula de não-causalidade. Destaca-se que mesmo com a ausência de causalidade entre as variáveis os choques foram transmitidos para todo o sistema.

A seleção das defasagens do modelo VAR estimou em 8 defasagens para todos os critérios e 9 para o erro final de previsão. Ainda assim, testamos as hipóteses do VAR(1) a VAR(9) e a modelagem que trouxe o melhor diagnóstico foi o VAR(2).

Para todas as simulações, foram realizados os diagnósticos do modelo. Para o VAR(2) os resultados foram estatisticamente positivos para ausência de autocorrelação residual e heterocedasticidade pelo Portmanteau Test e Teste de ARCH. Aplicado o teste de normalidade teve resultados que sugerem que os resíduos do modelo VAR estimado possuem uma distribuição que se aproxima da normalidade, com baixa assimetria e curtose, indicando que não há violações significativas da suposição de normalidade dos resíduos. O teste de estabilidade do modelo em relação aos seus próprios autovalores, também foi positivo, indicando que o modelo é estável e os choques aleatórios tendem a se dissipar ao longo do tempo, não causando explosões ou instabilidades persistentes.

As respostas da Selic aos impulsos em cada uma das variáveis apresentaram-se adequados à teoria. Um impacto no desvio da meta de inflação tem resposta positiva quase imediata na Selic e convergência lenta até um pouco mais do 30º mês. A resposta da Selic ao choque no hiato também é percebida nos primeiros meses, contudo tem convergência mais rápida, próxima do 5º mês, podendo oscilar negativamente por certo período. O choque no câmbio também gera resposta positiva da Selic, que decai rapidamente no 4º ou 5º mês, convergindo finalmente após o 20º período.

Os resultados da decomposição do erro de previsão da variância da Selic mostram que no tempo contemporâneo esta recebe influência, em sua variância, somente de sua própria série. Após 10 meses, a participação aproximada do Desvio e do Câmbio apresentam, respectivamente, 13% e 4%, proporção que é observada até o 36º mês.

A decomposição relativa ao Desvio aponta que já no tempo contemporâneo, próximo de 7% é afetado pela Selic, mas sem participação do Hiato e do Câmbio, que passam a ter influência no 2º mês, constante até o 36º, de 5,5% e 2%, na ordem.

O resultado relativo à decomposição do erro do Hiato demonstrou contribuição de pouco mais de 19% de influência da Selic e do Desvio no tempo contemporâneo, sem participação do Câmbio. No 36º mês observou-se influência da Selic, Desvio e Câmbio, respectivamente de 9%, 13% e 2%.

Por fim, a decomposição do erro de previsão da variância do Câmbio apresentou influência relevante desde o tempo contemporâneo do Desvio da meta, aproximadamente, 13,5%. Após 36 meses, a influência da Selic, Desvio e Hiato são, na ordem, de 9,2%, 15,3% e 9,6%.

Os resultados apresentados são as previsões de um modelo de previsão VAR(2) para a taxa SELIC em primeira diferença do logaritmo.

Pontualmente, há uma previsão de queda aproximada de 3% na taxa Selic para o mês de maio, seguindo para uma taxa anualizada de 13,25%, mantendo essa taxa nos meses de junho e julho, contudo com possibilidade de subida nos meses de agosto a outubro. Entretanto, a previsão gerada pelo modelo trouxe projeções com alto intervalo de confiança, mostrando certa incerteza em torno das previsões. É importante ressaltar que essa interpretação depende do contexto e da conjuntura macroeconômica.

8 Referências Bibliográficas

Banco Central do Brasil. Working Paper Series 01. Disponível em: https://www.bcb.gov.br/content/publicacoes/WorkingPaperSeries/wps01.pdf. Acesso em: 16 jun. 2023.

Banco Central do Brasil. Inflation Targeting in Brazil: Direct and Indirect Effects on Financial Market. Disponível em: https://www.bcb.gov.br/content/publicacoes/WorkingPaperSeries/wps18.pdf. Acesso em: 16 jun 2023

Banco Central do Brasil. Inflation Targeting in Brazil: Shocks, Backward-Looking Prices, and IMF Conditionality. Disponível em: https://www.bcb.gov.br/content/publicacoes/WorkingPaperSeries/wps24.pdf. Acesso em: 16 jun 2023

BARROS, Anna C.; MATTOS, Daiane Marcolino de; OLIVEIRA, Ingrid Christyne Luquett de; et al. Análise de Séries Temporais em R: Curso Introdutório. Rio de Janeiro : Elsevier : FGV IBRE, 2018. E-book. ISBN 9788595154902. Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788595154902/. Acesso em: 16 jun. 2023.

GUJARATI, Damodar N.; PORTER, Dawn C. Econometria básica. Porto Alegre-RS: AMGH, 2011. E-book. ISBN 9788580550511. Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788580550511/. Acesso em: 16 jun. 2023.