#************************************************************ 
# ARIMA Models 
# 10/09/2017
#install.packages("graphics")
#------------------------------------------------------------
 
# ECON537 Topic 5 

library(graphics)


#Simple AR1 Process

n <- 1000
n1 <- 100+n
phi= 0.7048                                 
z=rep(0,n1)                                 
e=rnorm(n1,0,0.345)                       
cons=0.5                                     
z[1]=0.001
for (i in 2:n1) z[i]=cons+phi*z[i-1]+e[i]   
y <- z[101:n1]

par(mfrow=c(3,1)) 
ts.plot(y, main="AR(1) Process ", col="red")
acf(y)
pacf(y)


#Simple MA1 Process
n <- 1000
n1 <- 100+n
theta= 0.7048                                 
z=rep(0,n1)                                 
e=rnorm(n1,0,0.345)                       
cons=0.5                                     
z[1]=0.001
for (i in 2:n1) z[i]=cons+theta*e[i-1]+e[i]   
y <- z[101:n1]
par(mfrow=c(3,1)) 
ts.plot(y, main="MA(1) Process ", col="red")
acf(y)
pacf(y)


# AR(2)
y <- arima.sim(n = 1000, list(ar = c(0.55,.30)),
               sd = sqrt(0.1796))
par(mfrow=c(3,1)) 
ts.plot(y, main="AR(2) Process ", col="red")
acf(y)
pacf(y)

# MA(2)
y <- arima.sim(n = 1000, list(ma = c(-0.55,-.35)),
               sd = sqrt(0.1796))
par(mfrow=c(3,1)) 
ts.plot(y, main="AR(2) Process ", col="red")
acf(y)
pacf(y)

#ARIMA(1,1)
y <- arima.sim(n = 1000, list(ar = c(0.30), ma = c(-0.90)),
          sd = sqrt(0.1796))
ts.plot(y, main="ARMA(1,1) Process ", col="red")
acf(y)
pacf(y)

#ARIMA(2,2)
arima.sim(n = 100, list(ar = c(0.8897, -0.4858), ma = c(-0.2279, 0.2488)),
          sd = sqrt(0.1796))

ts.plot(y, main="ARMA(2,2) Process ", col="red")
acf(y)
pacf(y)

