全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
1805 3
2016-03-01
悬赏 100 个论坛币 未解决
我有两组股票数据fundamentals 和marketdata,定义新变量分别是以year和date(如1989m1)为时间序列。
即fundamentals:
xtset gvkey year
sort gvkey year
var1=...
var2=...
marketdata:
xtset gvkey date
sort gvkey date
g r = (prccm-l.prccm)/prccm //get the monthly raw return,prccm is the monthly close stock price

之后我需要将两组数据合并:
use marketdata.dta,clear
sort gvkey year
merge m:1 gvkey year using fundamentals.dta, force
keep if _merge==3
得出一个新的数据表,现在我需要按十分位分组,并求每组对应的下一年的平均股票收益,如表:


deciles yearmonthly returnmean return mean return t+1
1 1996 0.01 0.15 0.35
1 1996 0.02 0.15 0.35
1 1997 0.03 0.35 0.05
1 1997
0.04 0.35 0.05
1 1998 0.05 0.05 .
2 1996 0.06 0.07 0.09
2 1996 0.07 0.07 0.09
2 1996 0.08 0.07 0.09
2 1997 0.09 0.09 .
mean return是每组每年对应的平均月收益,如何生成新的一组变量,使其等于每组下一年对应的平均月收益呢?即上述表中的mean return t+1

我写的是:
bysort deciles: egen mr = mean(r)
xtset deciles year
sort deciles year
g mr_t1 = F.mr
//using lead-operator to generate the mean return t+1 for each decile
但是输出结果是
repeated time values within panel, 估计是因为在合并两组数据前,我已经对fundamentals里的数据定义了以年为时间序列,不可以重复定义。
请问如何得到表中的mean return t+1呢?





二维码

扫码加我 拉你入群

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

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

全部回复
2016-3-1 17:39:13
没人知道吗?求版主现身...
二维码

扫码加我 拉你入群

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

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

2016-3-1 19:07:17
二维码

扫码加我 拉你入群

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

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

2016-3-2 07:57:35
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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