sas_在财务、会计研究中的运用(92页).pptVIP

sas_在财务、会计研究中的运用(92页).ppt

  1. 1、本文档共92页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
sas_在财务、会计研究中的运用(92页)

RET程序 在计算公司的股票业绩时,常用的一个变量时RET,即经市场调整后的、以月度计算的股票年度回报率。 一种算法是从5月开始到第2年4月,作为计算BHAR的期间; 另一种算法是从1月开始到12月,作为计算BHAR的期间; Ri指考虑现金红利再投资的月个股回报率(CSMAR: 考虑现金红利再投资的月个股回报率),Rm指月度市场回报率(CSMAR: 考虑现金再投资的月市场回报率(流通市值加权平均法))。 RET程序 连乘的基本算法: 由于Logx+logy=logxy, 因此, xy=exp(logx+logy); 假定我们已经有了stockret数据集,该数据包括了A股1991年4月到2008年12月的如下数据:股票代码(stkcd)、交易月份(trdmnt)、月度个股回报(raw_ret)、月度市场回报(market_ret); 任务:计算1991年到2008年各年从5月到次年4月的RET: - 由于没有2009年1-4月的交易数据,因此计算的2008年RET是不完整的,到时应该删除; RET程序 libname cc H:\sas; data tmp1;set cc.stockret; month=substr(trdmnt,6,2)+0; lgret=log(1+raw_ret); lgmret=log(1+market_ret); if month=4 then year=substr(trdmnt,1,4)-1; if month=5 then year=substr(trdmnt,1,4)+0; run; proc sort;by stkcd year;run; RET程序 proc means noprint; var lgret lgmret; by stkcd year; output out=ret0504 sum=tlgret tlgmret ;run; data ret0504;set ret0504; ret0504_raw=exp(tlgret)-1; ret0504_adj=exp(tlgret)-exp(tlgmret); run; data ret0504;set ret0504(keep=stkcd year _freq_ ret0504_raw ret0504_adj); where 1991year2008; run; RET程序 练习: 自行计算1992-2008年从1月到12月计算的年度RET。 Proc SQL Proc sql是一个功能非常强大的多表操作模块; - 能从多个数据集中按照制定的条件创建新的数据集; - 比如,在Francis et al.(2005,JAE, The market pricing of accruals quality)中,他们首先使用DD模型计算每年操控性应计利润的残差DAC,然后,使用之前5年的DAC的标准差计算盈余质量(Accruals quality,AQ);如何解决这一标准差的计算问题? -题外话:为什么国内从来没有人使用多年DAC的标准差计算AQ? Proc sql 基本结构,比如,希望从tmp1和tmp2中按照一定条件生成一张新表tmp3; proc sql; creat tmp3 as select distinct a.var1,a.var2,b.var3,b.var4 from tmp1 as a, tmp2 as b where a.var1=b.var1 and a.var2b.var2 order by var1 var2;quit; Distinct表示删除重复的观测值,可省略 Tmp3的构成 指定tmp1为a,tmp2为b Where:指定tmp3的生成条件; Order by: 对tmp3排序 Proc SQL 假定现有有一个数据集DAC,包括了1974-2004年美国所有上市公司各年按DD模型计算的DAC,现在要使用之前5年的DAC的标准差来计算各年的AQ; 解决思路: - 得先构造一个数据集,在这个数据集中,应该这样排列: 00001 1999 DAC1995 00001 1999 DAC1996 00001 1999 DAC1997 00001 1999 DAC1998 00001 1999 DAC1999 … … - 然后,就可以使用std命令分组求标准差了; Proc SQL 导入数据 libname x H:\sas; data dac1;set x.dac;run; data dac2;

您可能关注的文档

文档评论(0)

zsmfjy + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档