/* Fractional difference(d) */ new; cls; y=rndn(100,1); d=0.4; print y~fracdiff(y,d); proc fracdiff(y,d); local n,nc,t,y1,x,l; n=rows(y); nc=cols(y); x=zeros(n,nc); t=seqa(1,1,n-1); y1=1|cumprodc((t-1-d)./t); l=1; do while l<=nc; x[.,l]=conv(y[.,l],y1,0,n); l=l+1; endo; retp(x); endp;