library(fBasics)
library(timeDate)
library(timeSeries)
library(fGarch)
library(quantmod)
library(forecast)
library(fUnitRoots)

getSymbols('DOGE-USD',from="2015-01-01",to="2021-05-24")
write.csv(`DOGE-USD`,"C:\\Users\\ASUS\\Desktop\\MyData.csv", row.names = TRUE, col.names = TRUE)
sum(is.na(`DOGE-USD`))
DOGE <- na.omit(`DOGE-USD`)
DOGE=DOGE[,6]
basicStats(DOGE)
ts.plot(DOGE)
Box.test(DOGE,lag=10,type='Ljung')
m0 <- adfTest(DOGE, lags=2, type=c("c"), title=NULL)
m0@test$p.value

logDOGE <- log(as.numeric(DOGE))
rtn <- diff(logDOGE)
basicStats(rtn)
t.test(rtn)
ts.plot(rtn)
m00 <- adfTest(rtn, lags=2, type=c("nc"), title=NULL)
m00@test$p.value
acf(rtn)
pacf(rtn)
Box.test(rtn,lag=10,type='Ljung')
auto.arima(rtn)
m1=arima(rtn,order=c(3,0,3))
summary(m1)
Box.test(m1$residuals,lag=10,type='Ljung')
tsdiag(m1)

Box.test(m1$residuals^2,lag=10,type='Ljung')
acf(m1$residuals^2)
m2=garchFit(~arma(3,3)+garch(1,1),data=rtn,trace=F)
summary(m2)
plot(m2,which=13)
m3=garchFit(~arma(3,3)+garch(1,1),data=rtn, cond.dist="std", trace=F)
summary(m3)
plot(m3,which=13)

rm(list=ls())
