new; T = 202; erro = rndn(T,14); tim = seqa(1, 1, T); xx = zeros(T,14); xx[1,.] = erro[1,.]; i=1; do while i <= ((T/2)); xx[i+1,1] = 0.5*xx[i,1]+ erro[i+1,1]; xx[i+1,2] = 0.85*xx[i,2]+ erro[i+1,2]; xx[i+1,3] = 0.02*tim[i+1] + 0.5*xx[i,3]+ erro[i+1,3]; xx[i+1,4] = 0.02*tim[i+1] + 0.85*xx[i,4]+ erro[i+1,4]; xx[i+1,5] = 0.02*tim[i+1] + 0.5*xx[i,5]+ erro[i+1,5]; xx[i+1,13] = 0.02*tim[i+1] + 0.5*xx[i,13]+ erro[i+1,13]; xx[i+1,14] = 0.06*tim[i+1] + 0.5*xx[i,14]+ erro[i+1,14]; i = i+1; endo; k=(T/2); do while k <= T-1; xx[k+1,1] = 4+0.5*xx[k,1]+ erro[k+1,1]; xx[k+1,2] = 4+0.85*xx[k,2]+ erro[k+1,2]; xx[k+1,3] = 0.06*tim[k+1] + 0.5*xx[k,3]+ erro[k+1,3]-0.04*(T/2); xx[k+1,4] = 0.06*tim[k+1] + 0.85*xx[k,4]+ erro[k+1,4]-0.04*(T/2); xx[k+1,5] = 4+0.02*tim[k+1] + 0.5*xx[k,5]+ erro[k+1,5]; xx[k+1,13] = 0.02*tim[k+1] + 0.85*xx[k,13]+ erro[k+1,13]; xx[k+1,14] = 4+0.02*tim[k+1] + 0.5*xx[k,14]+ erro[k+1,14]+0.04*(T/2); k = k+1; endo; i=1; do while i <= ((T/4)); xx[i+1,6] = 0.02*tim[i+1]+ 0.85*xx[i,6]+ erro[i+1,6]; xx[i+1,7] = 0.02*tim[i+1] + 0.5*xx[i,7]+ erro[i+1,7]; xx[i+1,8] = 0.02*tim[i+1] + 0.85*xx[i,8]+ erro[i+1,8]; i = i+1; endo; i=(T/4); do while i <= ((3*T/4)); xx[i+1,6] = 4+0.02*tim[i+1]+ 0.85*xx[i,6]+ erro[i+1,6]; xx[i+1,7] = 0.06*tim[i+1] + 0.5*xx[i,7]+ erro[i+1,7]-0.04*(T/4); xx[i+1,8] = 0.06*tim[i+1] + 0.85*xx[i,8]+ erro[i+1,8]-0.04*(T/4); i = i+1; endo; k=(3*T/4); do while k <= T-1; xx[k+1,6] = -4+0.02*tim[k+1] + 0.85*xx[k,6]+ erro[k+1,6]; xx[k+1,7] = 0.01*tim[k+1] + 0.5*xx[k,7]+ erro[k+1,7]-0.04*(T/4)+0.05*(3*T/4); xx[k+1,8] = 0.01*tim[k+1] + 0.85*xx[k,8]+ erro[k+1,8]-0.04*(T/4)+0.05*(3*T/4); k = k+1; endo; /*one time structural break in cointegration*/ sigma1 = {1 0.6, 0.6 1}; coerro = erro[1:100,9:10]*chol(sigma1); xx[1:100,9] = recserar(coerro[1:100,1], 1, 1); xx[1:100,10] = recserar(coerro[1:100,2], 1, 1); sigma2 = {1 0.3, 0.3 1}; coerro = erro[101:202,9:10]*chol(sigma1); xx[101:202,9] = recserar(coerro[1:102,1], 1, 1); xx[101:202,10] = recserar(coerro[1:102,2], 1, 1); /*two time structural break in cointegration*/ sigma3 = {1 0.6, 0.6 1}; coerro2 = erro[1:50,11:12]*chol(sigma3); xx[1:50,11] = recserar(coerro2[1:50,1], 1, 1); xx[1:50,12] = recserar(coerro2[1:50,2], 1, 1); sigma4 = {1 0.2, 0.2 1}; coerro2 = erro[51:150,11:12]*chol(sigma4); xx[51:150,11] = recserar(coerro2[1:100,1], 1, 1); xx[51:150,12] = recserar(coerro2[1:100,2], 1, 1); sigma5 = {1 0.4, 0.4 1}; coerro2 = erro[151:202,11:12]*chol(sigma5); xx[151:202,11] = recserar(coerro2[1:52,1], 1, 1); xx[151:202,12] = recserar(coerro2[1:52,2], 1, 1); xx;