1
$\begingroup$

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.

$\endgroup$
1
$\begingroup$

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.

| improve this answer | |
$\endgroup$
1
$\begingroup$

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')

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.