setwd("/Users/mew/Desktop")
cat(rep("\n",50))  #clear R Console
#install.packages("fBasics") 
#install.packages("sn")  
#install.packages("PerformanceAnalytics") 
#install.packages("car") 
#install.packages("tseries")  
#install.packages("forecast")
#install.packages("quantmod")
library(quantmod) 
library(fBasics)
library(sn)
library(PerformanceAnalytics)
library(car)
library(tseries)
library(forecast)
library(fGarch)
#1
getSymbols("CAT",from="2006-01-03",to="2017-04-13")
da=CAT
rt<-diff(log(as.numeric(CAT[,6])))
#1a
acf(rt)
Box.test(rt,lag = 10,type = 'Ljung')
#1b
acf(rt^2)
Box.test(rt^2,lag = 10,type = 'Ljung')
#1c
m1=garchFit(~arma(1,0)+garch(1,1),data = rt, trace = F)
summary(m1) 
plot(m1)
13
0
#1d
m2=garchFit(~garch(1,1), data = rt, cond.dist = "std", trace = F)
summary(m2)
plot(m2)
13
0
#1e

#1f,#1g
predict(m2,5)

#2
k = read.table("m-kovw-5116.txt" ,header = TRUE)
rk=log(k$ko+1)
#2a
acf(rk)
t.test(rk)
Box.test(rk,lag = 10,type = 'Ljung')
Box.test(rk^2,lag = 10,type = 'Ljung')
acf(rk^2)
#2b
mk1=garchFit(~arma(1,0)+garch(1,1),data = rk, trace = F)
summary(mk1)
#2c
mk2=garchFit(~arma(1,0)+garch(1,1), data = rk, cond.dist = "std", trace = F)
summary(mk2)
#2d
mk3=garchFit(~garch(1,1),data = rk, trace = F)
summary(mk3)
#2e
mk4=garchFit(~garch(1,1),data = rk, cond.dist = "std", trace = F)
summary(mk4)
#2f


#3
getSymbols("^GSPC",from="2005-01-02",to="2021-03-31")
rs<-diff(log(as.numeric(GSPC[,6])))
#3a
t.test(rs)
Box.test(rs,lag = 10,type = 'Ljung')
#3b
ms1=garchFit(arima()~garch(1,1),data = rs, trace = F)
summary(ms1)
plot(ms1)
13
0
#3c
ms2=garchFit(arima()~garch(1,1),data = rs,cond.dist = "std", trace = F)
summary(ms2)
#3d
predict(ms2,5)

#4
c = read.table("m-deciles.txt" ,header = TRUE)
rc=log(c$CAP9RET+1)
#4a
t.test(rc)
Box.test(rc,lag = 10,type = 'Ljung')
mc1=auto.arima(rc)
mc1
summary(mc1)
#4b
Box.test(rc^2,lag = 10,type = 'Ljung')
#4c
mc2=garchFit(~arma(1,0)+garch(1,0), data = rc, trace = F)
summary(mc2)
#4d
mc3=garchFit(~arma(1,0)+garch(1,0), data = rc, cond.dist = "std", trace = F)
summary(mc3)
#4e
mc4=garchFit(~garch(1,0), data = rc, trace = F)
summary(mc4)
#4f
mc5=garchFit(~garch(1,0), data = rc,cond.dist = "std", trace = F)
summary(mc5)
#4g





