setwd("/Users/user/Desktop/Arm/EE435 R")
#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)

getSymbols("GOOG",from="2004-08-19",to="2021-01-01")
dim(GOOG)   
head(GOOG) 
tail(GOOG)
da=GOOG
chartSeries(GOOG,theme="white") 
priceGOOG=da[,6]
plot(priceGOOG,type='l')
logpriceGOOG=log(priceGOOG)
plot(logpriceGOOG,type='l')
logreturnGOOG=diff(log(priceGOOG))
simplereturnGOOG <-exp(logreturnGOOG)-1

par(mfrow=c(2,1))
plot(logreturnGOOG,type='l')
plot(simplereturnGOOG)

newlogreturnGOOG <- logreturnGOOG[2:nrow(logreturnGOOG),]
newsimplereturnGOOG <- simplereturnGOOG[2:nrow(logreturnGOOG),]

#statistics log
par(mfrow=c(1,1))
hist(logreturnGOOG, breaks=100, col="slateblue")
chart.Histogram(logreturnGOOG,methods = c("add.normal"))
table.Stats(logreturnGOOG)

#normal test
par(mfrow=c(1,1))
qqnorm(newlogreturnGOOG)
qqline(newlogreturnGOOG, col = 2)
jarque.bera.test(newlogreturnGOOG)

#Test mean
T=length(newlogreturnGOOG)
tst = (0.09-0.8)*T  
tst
pv = pnorm(tst)
pv


#Test Skewness
T=length(newlogreturnGOOG)
m3=skewness(newlogreturnGOOG)
m3
tst = m3/sqrt(6/T)  
tst
pv = pnorm(tst)
pv

#Test excess kurtosis =0
K = kurtosis(newlogreturnGOOG)
tst = K/sqrt(24/T)  
tst
pv = 2*(1-pnorm(tst))
pv

