全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
12096 10
2010-03-22
请教大家一个问题:

我这里有从1994年到2009年的monthly return的时间序列数据,一共大约182个数据,我想用这些数据做出来 60-month rolling-window autocorrelations of returns,如何用matlab做出这样的rolling window of autocorrelation来看autocorrelation随时间变化的趋势呢?具体如何操作呢?如果能做出这样autocorrelation随时间波动的曲线图就更好了!请牛牛多多指教!谢谢先!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2010-3-23 06:41:48
先自己顶一下,继续等待指教!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-3-24 07:06:07
悬赏80论坛币等答案:为表示感谢,我会转让80论坛币给可以指导我正确解答此问题的热心同学!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-3-25 10:34:53
建议你可以先参考:
1) matlab autocorr.m
2) Modelling Financial Time Series with S-PLUS
   chap 9 Rolling Analysis of Time Series
   Rolling unit root tests

只是你是作autocorrelation
碰上如matlab范例,这种情形
lag=0    1
lag=1   -0.6487
lag=2    0.3001
lag=3    0.0229

是不是都取lag=1的值,做出rolling-window.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-4-7 07:53:00
是的,都取lag=1的值计算,还请详细指教!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-4-7 09:40:13
function r=rollingautocorr(input)
% input=rand(100,1);
%numlags,滞后期,rollingwidow,滚动窗口长度
numLags=1;
rollingwindow=60;

for i=1:length(input)-rollingwindow
    y=input(i:i+60);
    nFFT = 2^(nextpow2(length(y))+1);
    F = fft(y-mean(y),nFFT);
    F = F.*conj(F);
    acf = ifft(F);
    acf = acf(1:(numLags+1)); % Retain non-negative lags
    acf = acf./acf(1); % Normalize
    acf = real(acf);
    acf=acf(2);
    r(i)=acf;
end
plot(r)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群