全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1451 4
2013-01-10
各位大侠, 我用当天股价减上一日股价,但是用不同的2种写法,在第一种写法的结果中,很多支股票的第二个回报观测值计算会出现错误,但是我又不知道问题在哪,请指教。

方法1: 第一只股票的第二个观测值也会变成缺失且很多支股票第二个观测值计算会出错
data price1;
     set price;
  by stock_id;
  if first.stock_id then rtn=.;
     else rtn=log(cp/lag(cp));
run;

方法2: 没有问题
data price1;
   set price;
   by stock_id;
   rtn=log(cp/lag(cp));
   if first.stock_id then rtn=.;
run;

二维码

扫码加我 拉你入群

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

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

全部回复
2013-1-10 12:50:47
我的做法是
复制代码
二维码

扫码加我 拉你入群

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

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

2013-1-10 12:59:28
错误原因是lag和if在一起,会出现意想不到的问题

可以参见如下的贴子,看了就明白

http://www.happycoder.cn/article/34.htm
二维码

扫码加我 拉你入群

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

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

2013-1-15 10:05:20
playmore 发表于 2013-1-10 12:59
错误原因是lag和if在一起,会出现意想不到的问题

可以参见如下的贴子,看了就明白
多谢!! 真的是这样!!
二维码

扫码加我 拉你入群

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

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

2013-1-15 16:14:13
学习了~
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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