`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