Simulation of ARIMA (1,1,0) series I have fitted the ARIMA models to the original time series, and the best model is ARIMA(1,1,0). Now I want to simulate the series from that model. I wrote the simple AR(1) model, but I couldn't understand how to adjust the difference within the model ARI(1,1,0). 
The following R code for AR(1) series is:
phi= -0.7048                                 
z=rep(0,100)                                 
e=rnorm(n=100,0,0.345)                       
cons=2.1                                     
z[1]=4.1
for (i in 2:100) z[i]=cons+phi*z[i-1]+e[i]   
plot(ts(Y))                

How do i include the difference term ARI(1,1) in above code. 
Any one help me in this regard.
 A: If you want to simulate ARIMA you can use arima.sim in R, there is no need to do it by hand. This will generate the series you want.
e <- rnorm(100,0,0.345) 
arima.sim(n=100,model=list(ar=-0.7048,order=c(1,1,0)),start.innov=4.1,n.start=1,innov=2.1+e)

You can look at the code of how this is achieved by typing arima.sim in R command line. 
Alternatively if you do it yourself, the function you are probably looking is diffinv. It computes the inverse of lagged differences.
For recursive sequences R has a nice function filter. So instead of using loop 
z <- rep(NA,100)
z[1] <- 4.1
for (i in 2:100) z[i]=cons+phi*z[i-1]+e[i]   

you can write 
filter(c(4.1,2.1+e),filter=-0.7048,method="recursive")

This will give the identical result to arima.sim example above:
diffinv(filter(c(4.1,2.1+e),filter=-0.7048,method="recursive")[-1])

A: While it's true that you can inspect arima.sim to see what it's doing, I found this blog post more helpful for pedagogical purposes. It starts from a single white noise series and shows how various ARIMA models are built up from that series.
