SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 688|回复: 3
打印 上一主题 下一主题

请教各位大侠,如何由一列股票价格数据计算出其波动率?

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2005-1-5 22:49:01 | 只看该作者

请教各位大侠,如何由一列股票价格数据计算出其波动率?

其中,波动率的定义为后一日对前一日价格比对数的标准差.这么简单的问题我都无法用SAS实现,实在汗颜,恳请援助!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2005-4-5 09:54:34 | 只看该作者

test

data test;
infile 'fileName' ;
input price;
drop diff1;
retain diff1 0;
diff2=price-diff1;
diff1=a;
run;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2005-4-5 09:55:26 | 只看该作者

test

data test;
infile 'fileName' ;
input price;
drop diff1;
retain diff1 0;
diff2=price-diff1;
diff1=price;
if _n_>1 then output;
run;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2005-4-5 11:25:18 | 只看该作者

对比一下DATA步和PROC步的结果吧

data share;
input price;
f=lag(price);
if f>0 then
do;
i+1;
idx=log(price/(f));
idxsqr+idx**2;
idxsum+idx;
if i>1 then std=sqrt((idxsqr-idxsum**2/(i))/(i-1));
output;
end;
cards;
3
4
7
4
6
5
8
7
;
run;

proc means std;
var idx;
run;
对比一下DATA步和PROC步的结果吧,最后一条记录的std就是总的标准差
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-6-9 00:00 , Processed in 0.069315 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表