library(fBasics)
library(quantmod) 
library(sn)
library(PerformanceAnalytics)
library(car)
library(tseries)
library(forecast)
setwd("/Users/to_on/Desktop/EE435")
da <- read.table("q-gdpmc1.txt", header = TRUE)

#1.a
GDP=da[,4]
logGDP=log(GDP)
growthGDP=diff(logGDP)
length(growthGDP)
tdx=c(1:263)/4+1946
plot(tdx,growthGDP,xlab="year",ylab="GDP Growth",type='l')

#1.b
Box.test(growthGDP,lag=12,type='Ljung')

#1.c
t.test(growthGDP)

#2.a
da <- read.table("d-amzn3dx.txt",header = TRUE)
amzn=da[,2]
VW=da[,3]
EW=da[,4]
SP=da[,5]
basicStats(amzn)
basicStats(VW)
basicStats(EW)
basicStats(SP)

#2.b
logamzn=log(1+amzn)
basicStats(logamzn)
logVW=log(1+VW)
basicStats(logVW)
logEW=log(1+EW)
basicStats(logEW)
logSP=log(1+SP)
basicStats(logSP)

#2.c
t.test(logamzn)

#2.d
hist(logamzn, breaks=40, col="slateblue")
chart.Histogram(logamzn,method = c("add.normal"))

#3.a
da <- read.table("m-abt3dx.txt",header = TRUE)
ABT=da[,2]
VW=da[,3]
EW=da[,4]
SP=da[,5]
basicStats(ABT)
basicStats(VW)
basicStats(EW)
basicStats(SP)

#3.b
logABT=log(1+ABT)
basicStats(logABT)
logVW=log(1+VW)
basicStats(logVW)
logEW=log(1+EW)
basicStats(logEW)
logSP=log(1+SP)
basicStats(logSP)

#3.c
t.test(logABT)

#3.d
hist(logABT, breaks=40, col="slateblue")
chart.Histogram(logABT,method = c("add.normal"))

#4
da <- read.table("m-abt3dx.txt",header = TRUE)
VW=da[,3]
#4.a
t.test(VW)

#4.b
m3=skewness(VW)
T=length(VW)
tst=m3/sqrt(6/T)
tst

pv=2*pnorm(tst)
pv

#4.c
k4=kurtosis(VW)
tst=k4/sqrt(24/T)
tst

pv=2*(1-pnorm(tst))
pv

#5
da <- read.table("d-amzn3dx.txt",header = TRUE)
amzn=da[,2]
logamzn=log(1+amzn)

#(i)
s3=skewness(logamzn)
T=length(logamzn)
tst=s3/sqrt(6/T)
tst

pv=2*(1-pnorm(tst))
pv

#(ii)
k4=kurtosis(logamzn)
T=length(logamzn)
tst=k4/sqrt(24/T)
tst

pv=2*(1-pnorm(tst))
pv

#(iii)
t.test(logamzn)

#5.b
m1=acf(logamzn)
m1$acf
m2=pacf(logamzn)
m2$acf

Box.test(logamzn,lag=12,type='Ljung')

#6.a
da <- read.table("d-exuseu.txt",header = TRUE)
rate=da[,4]
lograte=log(rate)
logreturn=diff(lograte)

#6.b
basicStats(logreturn)

#6.c
hist(logreturn, breaks=40, col="slateblue")
chart.Histogram(logreturn,methods = c("add.normal"))

#6.d
t.test(logreturn)

