
library(tseries)
library(quantmod)
library(forecast)
library(car)
library(haven)

index3<-getSymbols("^TWII",auto.assign = FALSE)
index.open<-na.omit(data.frame(index3[,1]))
index.close<-na.omit(data.frame(index3[,4]))
index.open.test<-data.frame(index.open[1:(nrow(index.open)-365),])
index.close.test<-data.frame(index.close[1:(nrow(index.open)-365),])
index.open.train<-data.frame(index.open[1:(nrow(index.open)),])
index.close.train<-data.frame(index.close[1:(nrow(index.open)),])
index.open.year<-data.frame(tail(index.open,365))
index.close.year<-data.frame(tail(index.close,365))
colnames(index.open.year)="OP.value"
colnames(index.open.train)="OP.value"
colnames(index.close.year)="close.value"
colnames(index.close.train)="close.value"
mod1<-auto.arima(index.open.train, seasonal = TRUE,ic="aic",test = "adf",seasonal.test ="seas",allowdrift = TRUE,
                 allowmean = TRUE,stepwise=FALSE,approximation=FALSE)
mod2<-auto.arima(index.close.train, seasonal = TRUE,ic="aic",test = "adf",seasonal.test ="seas",allowdrift = TRUE,
                 allowmean = TRUE,stepwise=FALSE,approximation=FALSE)
predict.open<-forecast(index.open.test,model=mod1,h=365,include.mean = TRUE)
predict.close<-forecast(index.close.test,model=mod2,h=365,include.mean = TRUE)
d2=0
for(x in c(1:365)){d1<-(index.open.year[x]-index.close.year[x])-(predict.close$fitted[x]-predict.open$fitted[x])
d2<-sum(d1)}
print(d2)