Buscar

econometria III aula previsão e teste RU

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

* Modelando PassThrough no Brasil
* Refs: http://www.scielo.br/pdf/ee/v46n2/0101-4161-ee-46-02-0343.pdf
* http://www.scielo.br/pdf/rec/v18n3/1415-9848-rec-18-03-00333.pdf
* https://www.anpec.org.br/encontro/2017/submissao/files_I/i7-4f9f3aa77740343b1ae17ed47a4e67c1.pdf
* Copie o caminho da pasta onde estão os dados
cd "C:\Users\Lenovo\Documents\cursos\econometria III UFRJ"
import excel "pass through 2017.xls", sheet("Dados") firstrow
rename Data data
saveold "ppp_passth2017.dta", replace
use "ppp_passth2017.dta", clear
** Arrumando as datas (quando data é um string)
destring data, replace
gen time=_n
gen year=int(data)
gen uno=1
sort year
by year: gen mes=sum(uno)
gen Data=ym(year, mes)
format Data %tm
* há um erro na variável IPA nos EUA
replace US_IPA=US_IPA*10 if data<2009.01
 
* definindo time series
tsset Data
* Criando variáveis em logs para modelagem
* Usando minúsculas para logs
gen ipca=log(IPCA)
gen e=log(E)
* variáveis em diferenças
gen infl=d.ipca
gen de=d.e
******************** Análise ARIMA para inflação
* Análise posterior a 2004 para evitar pico de inflação de 2003.
drop if data<2005.01
twoway (line ipca Data, sort) (line infl Data , yaxis(2)), scheme(s2mono)
* Correlogramas em nivel e em diferenças
corrgram ipca , yw
corrgram infl , yw
**** teste de Raiz Unitária - confirmar a presença de raiz unitária indicada
**** pelos correlogramas
* seleção de defasagens
varsoc ipca, maxlag(13)
varsoc infl, maxlag(13)
* realização do teste
dfuller ipca, lag(1) regress
* confirmação de uma única raiz unitária
dfuller infl, lag(0) regress
******************** Análise ARIMA para inflação
twoway (line ipca Data, sort) (line infl Data , yaxis(2)), scheme(s2mono)
 
* Análise posterior a 2004 para evitar pico de inflação de 2003.
drop if data<2005.01
twoway (line ipca Data, sort) (line infl Data , yaxis(2)), scheme(s2mono)
* Correlogramas em nivel e em diferenças
corrgram ipca , yw
corrgram infl , yw
**** teste de Raiz Unitária - confirmar a presença de raiz unitária indicada
**** pelos correlogramas
* seleção de defasagens
varsoc ipca, maxlag(13)
varsoc infl, maxlag(13)
* realização do teste
dfuller ipca, lag(1) regress
* confirmação de uma única raiz unitária
dfuller infl, lag(0) regress
* Amostra de estimação 2005-2014; Amostra de previsão 2015-2017
* Modelos selecionados anteriormente: infl~ARIMA(1,0,0) e infl~ARIMA(1,0,0) c/ Dummies sazonais
* I. infl - ARIMA(1,0,0)
arima infl if data<2015.01, arima(1,0,0)
predict hdyn_infl_ar1,dynamic(tm(2015.1)) y
predict h_infl_ar1,xb
predict e_infl_ar1,r
* II infl~ARIMA(1,0,0) c/ Dummies sazonais
xi: arima infl i.mes if data<2015.01 , arima(1,0,0)
predict hdyn_infl_ar1S,dynamic(tm(2015.1)) y
predict h_infl_ar1S,xb
predict e_infl_ar1S,r
*gráfico previsão 1 passo à frente
twoway (line infl Data if tin(2010m1, ) , sort) (line h_infl_ar1 Data if tin(2010m1, )) (line h_infl_ar1S Data if tin(2010m1, )), scheme (s2mono)
* gráfico previsão dinâmica
twoway (line infl Data if tin(2010m1, ) , sort) (line hdyn_infl_ar1 Data if tin(2009m1, )) (line hdyn_infl_ar1S Data if tin(2010m1, )), scheme (s2mono)
* gráfico previsão estática (1 passo à frente) e dinâmica
twoway (line infl Data if tin(2010m1, ) , sort) (line h_infl_ar1 Data if tin(2009m1, )) (line hdyn_infl_ar1 Data if tin(2010m1, )), scheme (s2mono)
* gráfico previsão estática (1 passo à frente) e dinâmica
twoway (line infl Data if tin(2010m1, ) , sort) (line h_infl_ar1S Data if tin(2009m1, )) (line hdyn_infl_ar1S Data if tin(2010m1, )), scheme (s2mono)
* curiosidade
twoway (line infl Data if tin(2010m1, ) , sort) (line f.h_infl_ar1 Data if tin(2010m1, )) , scheme(s2mono)
*Comparando as previsões fora da amostra
sum e_infl_ar1 if tin(2015m1, )
display "MSPE=" r(sd)^2 + r(mean)^2
display "RMSPE=" sqrt( r(sd)^2 + r(mean)^2)
display "AIC=" log(r(sd)^2 + r(mean)^2)+2*1/r(N)
display "SIC=" log(r(sd)^2 + r(mean)^2)+log(r(N))*1/r(N)
sum e_infl_ar1S if tin(2015m1, )
display "MSPE=" r(sd)^2 + r(mean)^2
display "RMSPE=" sqrt( r(sd)^2 + r(mean)^2)
display "AIC=" log(r(sd)^2 + r(mean)^2)+2*2/r(N)
display "SIC=" log(r(sd)^2 + r(mean)^2)+log(r(N))*2/r(N)
* Qual modelo selecionar?
*******************************************************************************
*******************************************************************************
******* Comentário:
******* Ilustrando o problema de previsão de séries não estacionárias
arima ipca if data<2015.01, arima(1,1,0)
predict hdyn_ipca_110,dynamic(tm(2015.1)) y
predict hy_ipca_110,y
predict e_ipca_110,r
predict h_infl_110,xb
*gráfico previsão 1 passo à frente e dinâmica
twoway (line ipca Data if tin(2010m1, ) , sort) (line hy_ipca_110 Data if tin(2010m1, )) (line hdyn_ipca_110 Data if tin(2010m1, )), scheme (s2mono)
* gráfico erro previsão 1 passo à frente
gen erro1=ipca - hy_ipca_110
twoway (line erro1 Data if tin(2010m1, )) (line e_ipca Data if tin(2010m1, )) , scheme (s2mono)
* equivalência erros de previsão inflação ou ipca
twoway (line infl Data if tin(2010m1, ) , sort) (line h_infl_110 Data if tin(2010m1, )) , scheme (s2mono)
gen erro_infl = infl - h_infl_110
twoway (line erro1 Data if tin(2010m1, ) , sort) (line erro_infl Data if tin(2010m1, )) (line e_ipca_110 Data if tin(2010m1, )) , scheme (s2mono)

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais