全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2467 2
2020-03-23
悬赏 30 个论坛币 已解决
这是股票的收盘价数据,有十年的每日数据。我得到滞后一年的数据,如何输入命令呢。
生成一列l.cp
如在第一行2009-01-05生成2010-01-05的cp值
    在第二行2009-01-06生成2010-01-06的cp值
如果在2009-01-05有数据,2010-01-05是节假日则获得缺失值
麻烦问问如何操作呢,简单来说就是生成一列年份+1的对应的收盘价

图片打不开好像
stcode         date               cp        l.cp
000001   2009-01-05         9.71.     (2010-01-05的cp值也即23.3)
000001   2009-01-06        10.3       (2010-01-06的cp值也即22.9)
.
.
.
以此推类
000001   2010-01-04.        23.71
000001.  2010-01-05         23.3
000001.  2010-01-06         22.9


2.png

原图尺寸 160.96 KB

2.png

1.png

原图尺寸 162.16 KB

1.png

最佳答案

zpp1995 查看完整内容

*首先将date中的“-”去掉 replace date=subinstr(date,"-","",.) *然后分离年份和日期 gen year=substr(date,1,4) gen md= substr(date,5,4) destring year,replace force destring md,replace force egen A=group(stcode md) xtset A year gen cp_lag=L.cp
二维码

扫码加我 拉你入群

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

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

全部回复
2020-3-23 16:09:07
*首先将date中的“-”去掉
replace date=subinstr(date,"-","",.)
*然后分离年份和日期
gen year=substr(date,1,4)
gen md= substr(date,5,4)
destring year,replace force
destring md,replace force
egen A=group(stcode md)
xtset A year
gen cp_lag=L.cp
二维码

扫码加我 拉你入群

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

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

2020-3-23 22:29:18
zpp1995 发表于 2020-3-23 18:10
*首先将date中的“-”去掉
replace date=subinstr(date,"-","",.)
*然后分离年份和日期
谢谢!!完美解决了[em23]
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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