SAS金融应用程序举例.doc

SAS金融应用程序举例.doc

ID:61519695

大小:862.50 KB

页数:195页

时间:2021-02-11

SAS金融应用程序举例.doc_第1页
SAS金融应用程序举例.doc_第2页
SAS金融应用程序举例.doc_第3页
SAS金融应用程序举例.doc_第4页
SAS金融应用程序举例.doc_第5页
资源描述:

《SAS金融应用程序举例.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、2.2.1创建单期收益计算环境dataa;setstoindif.a1a0001;year=year(date);qtr=qtr(date);month=month(date);procsortdata=a;byyearqtrmonth;run;datab;seta;last_y=last.year;/*标出某年的最后一个交易日*/last_q=last.qtr;/*标出某季的最后一个交易日*/last_m=last.month;/*标出某月的最后一个交易日*/byyearqtrmonth;run;2.2.2年收益计算datar_year(keep=d

2、ater_pctr_loglabel="年收益");setb;iflast_y=1;/*取各年最后一个交易日的数据*/r_pct=dif(clpr)/lag(clpr_r);/*计算百分比收益*/r_log=log(clpr_r)-log(lag(clpr_r));/*计算对数收益*//*函数log(x)是以e为底的自然对数,其它对数函数还有log2(x),log10(x)*/run;2.2.3季收益计算datar_qtr(keep=dater_pctr_loglabel="季收益");setb;iflast_q=1;/*取各季最后一个交易日的数据*/

3、r_pct=dif(clpr_r)/lag(clpr_r);r_log=log(clpr_r)-log(lag(clpr_r));run;2.2.4月收益计算datar_month(keep=dater_pctr_loglabel="月收益");setb;iflast_m=1;/*取各月最后一个交易日的数据*/r_pct=dif(clpr_r)/lag(clpr_r);r_log=log(clpr_r)-log(lag(clpr_r));run;2.2.5周收益计算程序一:dataa;setstoindif.a1a0001;wd=weekday(dat

4、e);dif=dif(wd);dif2=dif(date);if(dif<0anddif^=.)ordif2>=7thenindex=1;elseindex=0;dataa(keep=dateclpr_rindex);seta;date=lag(date);clpr_r=lag(clpr_r);ifindex=1;datar_week(keep=dater_pctr_log);seta;r_pct=dif(clpr_r)/lag(clpr_r);r_log=log(clpr_r)-log(lag(clpr_r));ifr_log=.thendelete

5、;run;程序二:datab;setstoindif.a1a0001;wk=int((date-3)/7+2);/*wk为周的标号,设定1960年1月1日为第一周。由于1960年1月1日为周五,所以第一周共有三天。注意该周(1960年1月1日到3日)对应日期按SAS的标准分别为0,1和2(于是(date-3)/7都等于-1)。由此可以理解为什么这样设定表达式*/procsort;bydate;run;datab;setb;last_wk=last.wk;bywk;run;datab(keep=dater_pct1r_log1);setb;iflast_

6、wk=1;r_pct1=dif(clpr)/lag(clpr);r_log1=log(clpr)-log(lag(clpr));run;datac;/*检测程序一和程序二的一致性*/merger_weekb;bydate;ifr_pct=r_pct1thenaa=1;elseaa=0;/*最后一个不一样*/run;2.2.6日收益计算datar_day(keep=dater_pctr_loglabel="日收益");setstoindif.a1a0001;r_pct=dif(clpr_r)/lag(clpr_r);r_log=log(clpr_r)-l

7、og(lag(clpr_r));run;2.2.7日复权收益直接计算datareturn(keep=date);setstoindif.a1a0001;where1997<=year(date)<=2000;dataa(keep=dater_1);setstoindif.a600601;where1997<=year(date)<=2000;r_1=log(clpr)-log(lag(clpr));clpr_1=clpr*(1+divrat+rigrat+reisvol/lag(shrout))-rigpr*rigrat–reispr*reisvol/

8、lag(shrout)+divamt;/*clpr_1为复权价格*/ifclpr_1=.the

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。