#################################################################################### ###AULA 03/07/2023 ################################################################################### ################################################################################### #limpando a memoria rm(list=ls(all=TRUE)) #################################################################################### #################################################################################### #Pacotes necessários require(tseries) require(urca) require(vars) require(gap) require(fUnitRoots) require(MSBVAR) require(dynlm) require(stats) library(forecast) require(strucchange) ##################################################################### #Explorando o pacote vars ##################################################################### ##carregando a base de dados par(mfrow=c(1,1)) data(Canada) ?Canada plot(Canada) summary(Canada) Canada emprego = (Canada[,"e"]) emprego length(emprego) #################################################################################### ################################################################################# #series do arquivo Canadá #e = emprego #prod = produtividade do trabalho #rw = salário real #U = taxa de desemprego ############################################################################## ##Teste de raíz unitária ADF utilizando o pacote urca ############################################################################## ## dados emprego adfet <- summary(ur.df(Canada[,"e"], type="trend", lags=2)) adfet adfec <- summary(ur.df(Canada[,"e"], type="drift", selectlags=c("AIC"))) adfec adfen <- summary(ur.df(Canada[,"e"], type="none", selectlags=c("AIC"))) adfen adfedif<- summary(ur.df(diff(Canada[,"e"]), type="none", selectlags=c("AIC"))) adfedif ################################################################################ ################################################################################ ## dados salario real adfrwt <- summary(ur.df(Canada[,"rw"], type="trend", lags=2)) adfrwt adfrwc <- summary(ur.df(Canada[,"rw"], type="drift", selectlags=c("AIC"))) adfrwc adfrwn <- summary(ur.df(Canada[,"rw"], type="none", selectlags=c("AIC"))) adfrwn adfrwdif<- summary(ur.df(diff(Canada[,"rw"]), type="none", selectlags=c("AIC"))) adfrwdif ################################################################################ ## dados produtividade adfprodt <- summary(ur.df(Canada[,"prod"], type="trend", lags=2)) adfprodt adfprodc <- summary(ur.df(Canada[,"prod"], type="drift", selectlags=c("AIC"))) adfprodc adfprodn <- summary(ur.df(Canada[,"prod"], type="none", selectlags=c("AIC"))) adfprodn adfproddif<- summary(ur.df(diff(Canada[,"prod"]), type="none", selectlags=c("AIC"))) adfproddif ################################################################################ ## dados taxa de desmprego adfUt <- summary(ur.df(Canada[,"U"], type="trend", lags=2)) adfUt adfUc <- summary(ur.df(Canada[,"U"], type="drift", selectlags=c("AIC"))) adfUc adfUn <- summary(ur.df(Canada[,"U"], type="none", selectlags=c("AIC"))) adfUn adfUdif<- summary(ur.df(diff(Canada[,"U"]), type="none", selectlags=c("AIC"))) adfUdif ############################################################################## # teste DF-GLS #SERIE emprego - e DFglset= ur.ers(Canada[,"e"], type= "DF-GLS", model="trend", lag.max=4) summary(DFglset) DFglsdet= ur.ers(diff(Canada[,"e"]), type= "DF-GLS", model="trend", lag.max=4) summary(DFglsdet) DFglsec= ur.ers(Canada[,"e"], type= "DF-GLS", model="const", lag.max=4) summary(DFglsec) DFglsdec= ur.ers(diff(Canada[,"e"]), type= "DF-GLS", model="const", lag.max=4) summary(DFglsdec) ######################################################################################### # teste DF-GLS #SERIE salário real - rw DFglsrwt= ur.ers(Canada[,"rw"], type= "DF-GLS", model="trend", lag.max=4) summary(DFglsrwt) DFglsdrwt= ur.ers(diff(Canada[,"rw"]), type= "DF-GLS", model="trend", lag.max=4) summary(DFglsdrwt) DFglsdrwc= ur.ers(Canada[,"rw"], type= "DF-GLS", model="const", lag.max=4) summary(DFglsrwc) DFglsdrwc= ur.ers(diff(Canada[,"rw"]), type= "DF-GLS", model="const", lag.max=4) summary(DFglsdrwc) ######################################################################################### # teste DF-GLS #SERIE produtividade - prod DFglsprodt= ur.ers(Canada[,"prod"], type= "DF-GLS", model="trend", lag.max=4) summary(DFglsprodt) DFglsdprodt= ur.ers(diff(Canada[,"prod"]), type= "DF-GLS", model="trend", lag.max=4) summary(DFglsdprodt) DFglsdprodc= ur.ers(Canada[,"prod"], type= "DF-GLS", model="const", lag.max=4) summary(DFglsprodc) DFglsdprodc= ur.ers(diff(Canada[,"prod"]), type= "DF-GLS", model="const", lag.max=4) summary(DFglsdprodc) ######################################################################################### # teste DF-GLS #SERIE desemprego - U DFglsUt= ur.ers(Canada[,"U"], type= "DF-GLS", model="trend", lag.max=4) summary(DFglsUt) DFglsdUt= ur.ers(diff(Canada[,"U"]), type= "DF-GLS", model="trend", lag.max=4) summary(DFglsdUt) DFglsdUc= ur.ers(Canada[,"U"], type= "DF-GLS", model="const", lag.max=4) summary(DFglsUc) DFglsdUc= ur.ers(diff(Canada[,"U"]), type= "DF-GLS", model="const", lag.max=4) summary(DFglsdUc) #################################################################################### #################################################################################### # criando variável dummy trimestral matr <- matrix(0, nr = 4, nc = 4) matr[row(matr) == col(matr)] <- 1 matr Djt <- rbind(matr,matr,matr,matr,matr,matr,matr,matr,matr,matr,matr, matr,matr,matr,matr,matr,matr,matr,matr,matr,matr); Djt dim(Djt) names(Djt) dimnames(Djt) = list(c(),c("Q1", "Q2", "Q3", "Q4")) Djt dim(Djt) teste=data.frame(Djt) attach(teste) tri2= teste[1:83,2] tri2 length(tri2) tri3 = teste[1:83,3] tri3 tri4 = teste[1:83,4] Q4 demprego = (emprego[1:83]) demprego length(demprego) difemprego=diff(emprego) difemprego length(difemprego) tempo = tempo <- seq(1:83) # teste de raíz unitária usando função ln com variáveis defasadas modelo = dynlm(difemprego ~ demprego + tri2 +tri3 +tri4 + tempo + L(difemprego,1)+ L(difemprego,2)) summary(modelo) ################################################################################### #Teste de quebra estrutural raizquebra=ur.za((Canada[,"U"]), model='intercept', lag=3) plot(raizquebra) summary(raizquebra)