#Krittaphong Kaewvichian ID 6104640609
setwd("/Users/pardus/Desktop/EE435/CSV")
cat(rep("\n",50))  #clear R Console


#update.packages(ask = FALSE, checkBuilt = TRUE)
#tinytex::tlmgr_update()
#tinytex::reinstall_tinytex()
#options(tinytex.verbose = TRUE)
#install.packages('plyr', repos = "http://cran.us.r-project.org")
#install.packages("tinytex")
#install.packages("quantmod")  
#install.packages("fBasics") 
#install.packages("sn")  
#install.packages("PerformanceAnalytics") 
#install.packages("car") 
#install.packages("tseries")  
#install.packages("forecast") 
library(quantmod) 
library(fBasics)
library(sn)
library(PerformanceAnalytics)
library(car)
library(tseries)
library(forecast)
library(xts)
#1. QGDP ##########################################################

qgdpmaster <- read.zoo("qgdp.csv", header = TRUE, sep = ",",)
qgdp_xts <- as.xts(qgdpmaster)
da <- qgdp_xts[paste("1980", "2012", sep="/"),]
logda = log(da)
loggrowth = diff(log(da))
#a Plot
plot(loggrowth,theme="White")

#b Serial Correlation Testing


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


#c Mean Testing


t.test(loggrowth,mu=0)


#2.AMZN ##########################################################
AMZNmaster <- read.zoo("AMZN3.csv", header = TRUE, sep = ",",)
amzn3_xts <- as.xts(AMZNmaster)
damzn3 <- amzn3_xts
#a Basic Statistics
basicStats(damzn3)

#b Transform the simple return to logreturn
s_amzn <- damzn3[,1]
s_vwrtn <- damzn3[,2]
s_ewrtn <- damzn3[,3]
s_prtn <- damzn3[,4]

logamzn = log(1+s_amzn)
logvwrtn = log(1+s_vwrtn)
logewrtn = log(1+s_ewrtn)
logprtn = log(1+s_prtn)

basicStats(logamzn)
basicStats(logvwrtn)
basicStats(logewrtn)
basicStats(logprtn)

#c Test logamzn is zero
t.test(logamzn)

#d histogram (nclass=40)
par(mfrow=c(1,1))
hist(logamzn, breaks=40, col="red")
chart.Histogram(logamzn,methods = c("add.normal"))

#3.Abbott##########################################################
ABTmaster <- read.zoo("Abt3dx.csv", header = TRUE, sep = ",",)
abt_xts <- as.xts(ABTmaster)
daabt <- abt_xts
#a Basic Statistics
basicStats(daabt)

#b Transform the simple return to logreturn
s_RET <- daabt[,1]
s_VWRETD <- daabt[,2]
s_EWRETD <- daabt[,3]
s_SPRTRN <- daabt[,4]

logabt = log(1+s_RET)
logvwretd = log(1+s_VWRETD)
logewretd = log(1+s_EWRETD)
logsprtrn = log(1+s_SPRTRN)

basicStats(logabt)
basicStats(logvwretd)
basicStats(logewretd)
basicStats(logsprtrn)

#c Test logamzn is zero
t.test(logabt)

#d histogram (nclass=40)
par(mfrow=c(1,1))
hist(logabt, breaks=40, col="red")
chart.Histogram(logabt,methods = c("add.normal"))

#4 VW problem ##########################################################
#a
s3=skewness(logamzn)
T=length(logamzn)
tst=s3/sqrt(6/T)
tst

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

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

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

#c
t.test(logamzn)

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

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

#6
#a
daex <- read.zoo("Exuseu.csv",header = TRUE, sep = ",",)
daex_xts <- as.xts(daex)
srate=da[,1]
lograte=log(srate)
logreturn=diff(lograte)

#b
basicStats(logreturn)

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

#d
t.test(logreturn)

