SHARE
TWEET

Untitled

a guest Dec 5th, 2016 44 Never
  1. % params
  2. randn('seed',2016)
  3. T = 100;      % length of time series
  4. Tf = 12;      % forecast horizon
  5. mu = 0;       % unc. mean
  6. rho = 0.95;   % autocorrelation
  7. sigma = 0.01; % st. dev. of shock
  8.  
  9. % simulate series
  10. X = zeros(1,T);
  11. Y = zeros(1,T);
  12. X(1) = 1;
  13. Y(1) = mu + (sigma/sqrt(1-rho^2)) * randn();
  14. for t=2:T
  15.     X(t) = t;
  16.     Y(t) = (1-rho)*mu + rho*Y(t-1) + sigma*randn();
  17. end
  18.  
  19. % compute forecasts
  20. Xf = cell(1,T);
  21. Yf = cell(1,T);
  22. for t=1:T
  23.     Xf{t} = zeros(1,Tf+1);
  24.     Yf{t} = zeros(1,Tf+1);
  25.     Xf{t}(1) = t;
  26.     Yf{t}(1) = Y(t);
  27.     for i=2:(Tf+1)
  28.         Xf{t}(i) = t+i-1;
  29.         Yf{t}(i) = (1-rho)*mu + rho*Yf{t}(i-1);
  30.     end
  31. end
  32.  
  33. % make chart
  34. figure
  35. plot(X, Y, 'color','blue')
  36. xlim([0,T+Tf+1])
  37. line([0,T+Tf+1],[mu,mu],'color','black','linestyle','--')
  38. for t=1:T
  39.     line(Xf{t},Yf{t},'color','red','linestyle',':')
  40. end
RAW Paste Data
Top