楼主: huststone
5269 4

[问答] 分组的LAG应该怎么办,路过的SAS大侠帮帮忙吧 [推广有奖]

  • 0关注
  • 0粉丝

已卖:1份资源

本科生

51%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
0
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
118 点
帖子
83
精华
0
在线时间
100 小时
注册时间
2008-12-2
最后登录
2016-4-16

楼主
huststone 发表于 2011-5-23 20:04:42 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
小弟SAS入门还不算,最近要做收益率的回归,需要计算一个指标的LAG,数据结构如下

date                      code             re
2009-01-05       000001        0.04
2009-01-08       000001        0.03
2009-01-12       000001        0.03
2009-01-13       000001        0.02      
2009-01-05       000002        0.04
2009-01-08       000002        0.03
2009-01-12       000002        0.03
2009-01-13       000002        0.02   
……

现在要求每只股票re的lag值 比如算到lag2好了。
怎么才能让在不同股票时计算,这个问题让我这个SAS几乎空白的童鞋很头痛啊,有赶着时间,只能来这里求助各位大侠了。感激不尽!
二维码

扫码加我 拉你入群

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

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

关键词:lag 怎么办 code 数据结构 各位大侠 SAS lag值

沙发
ntsean 发表于 2011-5-23 21:28:59
用 proc expand

藤椅
trslvpeng 发表于 2011-5-25 00:20:57
data XX;
set XX;
by code date;
lag_re=lag2(re);
if first.code then do;
lag_re=.;
end;
run;

意为全部做lag后,把每个code中的第一个lag_re值设为missing

板凳
huststone 发表于 2011-7-10 01:19:36
3# trslvpeng
感谢哦,想明白也是这么做的。

报纸
bobguy 发表于 2011-7-10 06:52:08
huststone 发表于 2011-5-23 20:04
小弟SAS入门还不算,最近要做收益率的回归,需要计算一个指标的LAG,数据结构如下

date                      code             re
2009-01-05       000001        0.04
2009-01-08       000001        0.03
2009-01-12       000001        0.03
2009-01-13       000001        0.02      
2009-01-05       000002        0.04
2009-01-08       000002        0.03
2009-01-12       000002        0.03
2009-01-13       000002        0.02   
……

现在要求每只股票re的lag值 比如算到lag2好了。
怎么才能让在不同股票时计算,这个问题让我这个SAS几乎空白的童鞋很头痛啊,有赶着时间,只能来这里求助各位大侠了。感激不尽!
See attached example below.

data test;
input date code re;
informat date yymmdd10.;
format date yymmdd10.;
cards;
2009-01-05 000001 0.04
2009-01-08 000001 0.03
2009-01-12 000001 0.03
2009-01-13 000001 0.02
2009-01-05 000002 0.04
2009-01-08 000002 0.03
2009-01-12 000002 0.03
2009-01-13 000002 0.02
;
data test2;
set test;
by code;
lagre=lag(re);
if first.code then lagre=.;
run;
proc print;run;

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-19 05:18