1

how can I simulate/generate two non-stationary time series (with unit root) so that they can be also cointegrated (using R or Matlab).

Thanks in advance.

Lukas
  • 13
  • 3

2 Answers2

1

Two cointegrated series contain a single unit root. Each series can be formulated as the sum of a common unit root plus a stationary component. Most textbooks covering cointegration will cover such formulations - see Hamilton's (1994) discussion of Phillips' "triangular representation" of a cointegrated vector, for example.

Simulating is likely to be easy (depending on other features you may need, of course). For example, simulate one non-stationary series, and construct a second series as the sum of the first and a stationary variable. Viola! Cointegrated.

Drew
  • 405
  • 3
  • 11
1

Simulate Random Walk Series We can now simulate a random walk series in R as shown below:

RW <- arima.sim(model= list(order = c(0, 1, 0)), n=200) We can plot the newly generated series as well using the plot.ts() function.

plot.ts(RW,main="Random Walk", col=4)

Random Walk with Drift

RW_drift <- arima.sim(model= list(order = c(0, 1, 0)), n=200, mean=1,sd=5) plot.ts(RW_drift, main="Random Walk with Drift")

or you can use by installing the package "extraDistr"

library(extraDistr)

random_walk<-cumsum(rsign(10000)) plot(random_walk,type='l',xlab='Time',ylab=expression('x'[t]),main='Random Walk')

Trend Stationary Process using following commands

white_noise<-rnorm(100,0,40) trend<-3*(1:100) x_t<-trend+white_noise plot(x_t,type='l',xlab='Time',ylab=expression('x'[t]),main='Trend Stationary Process')