`RetornosS&P` <- read.delim("~/catedraeconometria/RetornosS&P.txt")
View(`RetornosS&P`)
attach(`RetornosS&P`)
library(tseries)
## Warning: package 'tseries' was built under R version 3.2.4
library(stats)
library(lmtest)
## Warning: package 'lmtest' was built under R version 3.2.3
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
library(aod)
## Warning: package 'aod' was built under R version 3.2.3
plot(Log.Return, type = "l")

Log.Return2 <-c(Log.Return[2:794])
adf.test(Log.Return2, alternative="stationary", k=0)#Dickey-Fuller Test
## Warning in adf.test(Log.Return2, alternative = "stationary", k = 0): p-
## value smaller than printed p-value
## 
##  Augmented Dickey-Fuller Test
## 
## data:  Log.Return2
## Dickey-Fuller = -26.824, Lag order = 0, p-value = 0.01
## alternative hypothesis: stationary
acf(Log.Return2, lag.max = 25)#Autocorrelation Function Of The Sample

pacf(Log.Return2)#Partial Autocorrelation Function of The Sample

#White Noise Tests
.196*(1/sqrt(793))#Cálculo del intervalo de confianza
## [1] 0.006960164
Box.test (Log.Return2, lag = 5, type = "Ljung")# Prueba de significancia conjunta de las correlaciones de los Lags
## 
##  Box-Ljung test
## 
## data:  Log.Return2
## X-squared = 11.439, df = 5, p-value = 0.04333
AR1<-arima(Log.Return2, order = c(1,0,0))#AR lag1 process
MA1<-arima(Log.Return2, order = c(0,0,1))#MA lag1 process 
AR5<-arima(Log.Return2, order = c(5,0,0))#AR  lag 5 process
MA5<-arima(Log.Return2, order = c(0,0,5))#MA lag 5 process
coeftest(AR1)#pruebas de significancia de los parámetros estimados por el modelo
## 
## z test of coefficients:
## 
##            Estimate Std. Error z value  Pr(>|z|)    
## ar1        0.046961   0.035468  1.3241 0.1854841    
## intercept -0.601225   0.155273 -3.8720 0.0001079 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
coeftest(AR5)
## 
## z test of coefficients:
## 
##            Estimate Std. Error z value  Pr(>|z|)    
## ar1        0.046044   0.035389  1.3011 0.1932332    
## ar2       -0.049781   0.035390 -1.4066 0.1595338    
## ar3        0.044805   0.035435  1.2644 0.2060780    
## ar4        0.035928   0.035472  1.0128 0.3111350    
## ar5        0.081551   0.035434  2.3015 0.0213642 *  
## intercept -0.600099   0.174631 -3.4364 0.0005895 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
coeftest(MA1)
## 
## z test of coefficients:
## 
##            Estimate Std. Error z value  Pr(>|z|)    
## ma1        0.051932   0.037354  1.3903 0.1644417    
## intercept -0.601090   0.155648 -3.8618 0.0001125 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
coeftest(MA5)
## 
## z test of coefficients:
## 
##            Estimate Std. Error z value  Pr(>|z|)    
## ma1        0.056666   0.035589  1.5922 0.1113341    
## ma2       -0.039457   0.035662 -1.1064 0.2685504    
## ma3        0.047455   0.037846  1.2539 0.2098762    
## ma4        0.041716   0.035604  1.1717 0.2413222    
## ma5        0.087728   0.035638  2.4617 0.0138298 *  
## intercept -0.600579   0.175408 -3.4239 0.0006173 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
AR5p<-arima(Log.Return2, order = c(5,0,0),fixed = c(0, 0, 0, 0, NA, NA)) #AR5 "más" parsimonioso
## Warning in arima(Log.Return2, order = c(5, 0, 0), fixed = c(0, 0, 0, 0, :
## some AR parameters were fixed: setting transform.pars = FALSE
coeftest(AR5p)
## 
## z test of coefficients:
## 
##            Estimate Std. Error z value  Pr(>|z|)    
## ar5        0.081542   0.035440  2.3009 0.0213980 *  
## intercept -0.600383   0.160679 -3.7365 0.0001866 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#diagnóstico del modelo
ResidualesAR5p<-residuals(AR5p)
Box.test(ResidualesAR5p, lag=25, type = "Ljung")#White Noise Test Modelo
## 
##  Box-Ljung test
## 
## data:  ResidualesAR5p
## X-squared = 22.994, df = 25, p-value = 0.5779
#ARIMA
ARMA55<-arima(Log.Return2, order = c(5,0,5))#ARIMA
plot(Close)

coeftest(ARMA55)
## 
## z test of coefficients:
## 
##            Estimate Std. Error z value  Pr(>|z|)    
## ar1       -0.956120   0.363417 -2.6309 0.0085154 ** 
## ar2       -0.687765   0.443345 -1.5513 0.1208273    
## ar3       -0.095864   0.472382 -0.2029 0.8391845    
## ar4        0.352736   0.397834  0.8866 0.3752727    
## ar5        0.497868   0.242538  2.0527 0.0400970 *  
## ma1        1.017408   0.374343  2.7179 0.0065707 ** 
## ma2        0.713428   0.473343  1.5072 0.1317567    
## ma3        0.133344   0.491197  0.2715 0.7860321    
## ma4       -0.330094   0.419186 -0.7875 0.4310111    
## ma5       -0.425802   0.265297 -1.6050 0.1084933    
## intercept -0.600317   0.163578 -3.6699 0.0002426 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
ARMA55p<-arima(Log.Return2, order = c(5,0,5),fixed = c(NA, 0, 0, 0, NA, NA, 0, 0, 0, 0, NA))
## Warning in arima(Log.Return2, order = c(5, 0, 5), fixed = c(NA, 0, 0, 0, :
## some AR parameters were fixed: setting transform.pars = FALSE
coeftest(ARMA55p)
## 
## z test of coefficients:
## 
##            Estimate Std. Error z value  Pr(>|z|)    
## ar1       -0.433819   0.183122 -2.3690 0.0178355 *  
## ar5        0.084534   0.035179  2.4030 0.0162627 *  
## ma1        0.496800   0.179609  2.7660 0.0056746 ** 
## intercept -0.600263   0.163140 -3.6794 0.0002337 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
ResidualesARMA55p<-residuals(ARMA55p)
Box.test(ResidualesARMA55p, lag = 25, type = "Ljung")#White Noise Test Modelo
## 
##  Box-Ljung test
## 
## data:  ResidualesARMA55p
## X-squared = 15.389, df = 25, p-value = 0.9318
#Overfitting 
ARMA65p<-arima(Log.Return2, order = c(6,0,5),fixed = c(NA, 0, 0, 0, NA, NA,NA, 0, 0, 0, 0, NA))
## Warning in arima(Log.Return2, order = c(6, 0, 5), fixed = c(NA, 0, 0, 0, :
## some AR parameters were fixed: setting transform.pars = FALSE
coeftest(ARMA65p)
## 
## z test of coefficients:
## 
##            Estimate Std. Error z value  Pr(>|z|)    
## ar1       -0.334028   0.322475 -1.0358 0.3002824    
## ar5        0.082477   0.035548  2.3202 0.0203311 *  
## ar6       -0.022910   0.057776 -0.3965 0.6917182    
## ma1        0.397883   0.323695  1.2292 0.2190008    
## intercept -0.599157   0.161305 -3.7144 0.0002037 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
ARMA56p<-arima(Log.Return2, order = c(5,0,6),fixed = c(NA, 0, 0, 0, NA, NA, 0, 0, 0, 0, NA, NA))
## Warning in arima(Log.Return2, order = c(5, 0, 6), fixed = c(NA, 0, 0, 0, :
## some AR parameters were fixed: setting transform.pars = FALSE
coeftest(ARMA56p)
## 
## z test of coefficients:
## 
##            Estimate Std. Error z value  Pr(>|z|)    
## ar1       -0.383185   0.310226 -1.2352 0.2167634    
## ar5        0.083542   0.035557  2.3495 0.0187963 *  
## ma1        0.446607   0.308974  1.4454 0.1483319    
## ma6       -0.011367   0.055486 -0.2049 0.8376776    
## intercept -0.600666   0.162407 -3.6985 0.0002169 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
AIC(AR1,AR5,AR5p,MA1,MA5, ARMA55, ARMA55p)
##         df      AIC
## AR1      3 4520.143
## AR5      7 4518.430
## AR5p     3 4516.618
## MA1      3 4519.962
## MA5      7 4517.623
## ARMA55  12 4523.803
## ARMA55p  5 4514.854
BIC(AR1,AR5,AR5p,MA1,MA5, ARMA55, ARMA55p)
##         df      BIC
## AR1      3 4534.171
## AR5      7 4551.161
## AR5p     3 4530.646
## MA1      3 4533.989
## MA5      7 4550.354
## ARMA55  12 4579.913
## ARMA55p  5 4538.233