收益率波动率的计算.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
NUMPAGES 13 - PAGE 1 收益率波动率的计算 观测值: 收益率: 历史波动率: 移动平均模型:用过去M天的收益率的历史波动率来估计今天的波动率 ,比如取 % using moving average model to estimate volatility % date from 1990-12-19 to 2003-9-19 clear M=[20,60]; m=length(M); z=xlsread(index);z1=datenum(1990,12,19)-z(1,1);z2=z(:,1)+z1; x=z(:,2); x=price2ret(x); n=length(x); for i=1:m for j=1:n-M(i)+1 a=x(j:M(i)+j-1); b(M(i)+j-1,i)=std(a); end end io=find(b==0); b(io)=NaN; plot(z2(2:end),b) datetick(x,23); legend(20 days,60 days,1) xlabel(date) ylabel(volatility) title(volatility of shanghai composite daily return with MA model) 指数加权平均模型: 经验表明:一般对于日收益率,对于月收益率 % using exponential weighted moving average model to estimate volatility clear lamda=0.94;m=20; z=xlsread(index);z1=datenum(1990,12,19)-z(1,1);z2=z(:,1)+z1; x=z(:,2); x=price2ret(x); n=length(x); s=1:m;nlamda=lamda.^(s-1); slamda=sum(nlamda); for i=1:n-m+1 a=x(i:m-1+i);a1=a-mean(a);a2=a1.^2; b(m-1+i)=sqrt(sum(a2(end:-1:1).*nlamda/slamda)); end io=find(b==0);b(io)=NaN; plot(z2(2:end),b) datetick(x,23); xlabel(date) ylabel(volatility) title(volatility of shanghai composite daily return with EWMA model) % x=xlsread(index); y=x(:,2); z=price2ret(y); autocorr(z) parcorr(z) 因此收益率过程可以如下刻画: ARCH模型: % test the arch effect for daily return of shanghai composite clear z=xlsread(index); x=z(:,2); x=price2ret(x); [H,P,Stat,CV] = archtest(x, [1 2 3 4 5 6 7 8 9 10], 0.050); [H,P,Stat,CV] ans = 0 0.2518 1.3135 3.8415 0 0.0525 5.8939 5.9915 1.0000 0.0173 10.1543 7.8147 1.0000 0.0110 13.0564 9.4877 1.0000 0.0224 13.1015 11.0705 1.0000 0.0322 13.7789 12.5916 1.0000 0.0465 14.2728 14.0671 0 0.0718 14.4040 15.5073 0 0.0964 14.8075 16.9190 0 0.1351 14.9173 18.3070 spec = garchset(P,0,Q,7); [Coeff, Errors, LLF, Innovations, Sigma, Summary] = garchfit(spec,x); a=Coeff.ARCH; b=Coeff.K; for i=1:n-6 c=x(i:i+6);c=c.^2; d(i)=a*c+b;

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档