楼主: viking1111
916 1

[Stata初级班] 期限计算-跟帖2 [推广有奖]

  • 2关注
  • 2粉丝

教授

99%

还不是VIP/贵宾

-

威望
0
论坛币
59966 个
通用积分
16.3202
学术水平
17 点
热心指数
30 点
信用等级
13 点
经验
13089 点
帖子
1282
精华
0
在线时间
1654 小时
注册时间
2006-12-22
最后登录
2023-3-6

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
连老师,        有一个小问题想请教您:我现在有每只股票每个季度机构投资者持股比例的数据,想计算每只股票每季度机构投资者的累积持股期限,我想count命令和by sort 命令联合完成,但是难点是累积持股期限的计算,范例数据是这样的,请连老师指教:

公司        季度                       机构持股比例          累计持股期限(需要计算的变量)
股票A       2006q1                        0                             
0
股票A       2006q2                        1%                          
1
股票A       2006q3                        2%                          
2
股票A       2006q4                        0                           
  0股票A       2007q1                        0                             0
股票A       2007q2                        1%                          1
股票B      ……                            ……


您给我的建议是:
tsset id t
gen yes_hold = (hold>0)
gen aa = sum(yes_hold)
replace aa=0 if hold==0


我对程序做了一个小的修改:
xtset id t
gen yes_hold = (hold>0)
bysort id: gen aa=sum(yes_hold)
replace aa=0 if hold==0


不过,还是有一个小问题没有解决,就是例子中,如果某机构先对股票投资一段时间,之后撤资,后来再投资,那么这个时候计算投资期限时本应从1开始,但是我们现在只能计算累计值。这个小问题还请连老师点拨,数据就是这个帖子第二段红笔的那个例子
二维码

扫码加我 拉你入群

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

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

关键词:replace bysort 机构投资者 place TSSET 期限

沙发
arlionn 在职认证  发表于 2011-7-18 08:00:15 |只看作者 |坛友微信交流群
新建一个变量 year,把“季度”变量中的年份取出来。
然后,把红色命令修改为:
bysort id year: gen aa=sum(yes_hold)

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-29 01:27