reverse-shooting

Matlab scripts for reverse shooting
Log | Files | Refs | README

seasadj.m (504B)


      1 % seasadj.m    y=seasadj(x,nums);
      2 % 
      3 %     Seasonally adjusts data by removing the coefficient on dummy variables
      4 %     and adding back in the mean of the dummies.
      5 %
      6 %             x=data
      7 %          nums=number of seasons (4=quarterly, 12=monthly, etc)
      8 
      9 function y=seasadj(x,nums);
     10 
     11 [T N]=size(x);
     12 y=zeros(T,N)*NaN;
     13 for i=1:N;
     14    xi=packr(x(:,i));
     15    Ti=length(xi);
     16    D=kron(ones(Ti/nums,1),eye(nums));
     17    D=D(1:Ti,:);
     18    b=inv(D'*D)*D'*xi;
     19    y(1:Ti,i)=xi-D*b;
     20    y(1:Ti,i)=plus(y(1:Ti,i),mean(b));
     21 end;