楼主: yanendian
23732 14

[stata资源分享] STATA连乘问题解决 [推广有奖]

  • 0关注
  • 1粉丝

本科生

15%

还不是VIP/贵宾

-

威望
0
论坛币
2591 个
通用积分
28.1584
学术水平
2 点
热心指数
2 点
信用等级
1 点
经验
641 点
帖子
27
精华
0
在线时间
107 小时
注册时间
2012-11-27
最后登录
2024-4-12

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
STATA连乘问题可以分为两类,第一类,分组连乘;第二类,多期连乘。针对上面的问题,STATA最好的解决方法。

第一类,分组连乘。STATA里面存在专门的prod命令
bysort group:egen a1=prod(a2)

第二类,多期连乘。STATA可以使用循环命令,假设为12期,命令如下。
gen a0=1
forvalues i=1/12{
local j=`i'-1
sort stock year month
bysort stkcd:gen a`i'=a`j'*a[_n-`i']
}
二维码

扫码加我 拉你入群

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

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

关键词:Stata tata 问题解决 forvalues forvalue local 最好

已有 3 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
statax + 15 + 1 + 1 精彩帖子
夏目贵志 + 5 鼓励积极发帖讨论
txje + 1 + 1 + 1 观点有启发

总评分: 论坛币 + 20  学术水平 + 2  热心指数 + 2  信用等级 + 1   查看全部评分

沙发
yanendian 发表于 2016-8-27 11:07:00 |只看作者 |坛友微信交流群
如果是收益率问题,最好先加1,然后继续上述命令
已有 1 人评分经验 收起 理由
Captain-CUI + 20 观点有启发

总评分: 经验 + 20   查看全部评分

使用道具

藤椅
banbuer 发表于 2018-2-24 12:55:17 |只看作者 |坛友微信交流群
感谢楼主,请问如果要实现连续24个月/36个月的连乘应该怎么做啊?

使用道具

板凳
yanendian 发表于 2018-2-24 14:00:07 |只看作者 |坛友微信交流群
banbuer 发表于 2018-2-24 12:55
感谢楼主,请问如果要实现连续24个月/36个月的连乘应该怎么做啊?
修改一下参数即可,除非你有特殊需求

使用道具

报纸
banbuer 发表于 2018-2-24 15:10:21 |只看作者 |坛友微信交流群
yanendian 发表于 2018-2-24 14:00
修改一下参数即可,除非你有特殊需求
谢谢回复。比如我要计算从并购当月到并购后24个月内 i公司月收益率Rit的连乘,应该怎么实现呢?在连乘循环当中要先设定month为从并购当月起的一个月份变量吗?

使用道具

地板
banbuer 发表于 2018-2-24 15:37:46 |只看作者 |坛友微信交流群
stkcd          month        eventdate              Rpt              Rit
1        1-Feb-09        16-Jun-09        0.0240993             0.185567
1        1-Nov-09        16-Jun-09        -0.0071637        0.079181
1        1-Dec-09        16-Jun-09        0.0251675               0.004534
1        1-Aug-09        16-Jun-09        0.0294702          -0.305195
1        1-Apr-09        16-Jun-09        0.0294702          0.023839
1        1-Jan-09        16-Jun-09        0.0294702        0.230444
1        1-Jul-09        16-Jun-09        0.0294702        0.199817
1        1-Mar-09        16-Jun-09        0.0294702        0.155072
1        1-Jun-09        16-Jun-09        -0.0071637        0.223094
1        1-May-09        16-Jun-09        0.0294702        0.093137
1        1-Sep-09        16-Jun-09        0.0294702        0.100055
1        1-Oct-09        16-Jun-09        0.0294702        0.123438
我的数据是这样的,现在需要计算从并购日(eventdate)当天到并购日后24个月内的Rpt累乘值,month代表市场交易日,stata多期循环连乘命令该怎么写呢?

使用道具

7
黃河泉 在职认证  发表于 2018-2-24 16:19:45 |只看作者 |坛友微信交流群
banbuer 发表于 2018-2-24 15:37
stkcd          month        eventdate              Rpt              Rit
1        1-Feb-09        16-Jun-09        0.0240993             0.185567
1         ...
1. 建议请用 dataex (先 ssc install dataex 并见说明) 将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。并请参考 http://www.jianshu.com/p/9870080fe769,  https://bbs.pinggu.org/thread-5048204-1-1.html, 与 https://bbs.pinggu.org/thread-5917273-1-1.html。2. 所谓有代表性,请提供 2 家公司,各 2 个事件日,但由于计算 24 个月须 post 较多资料,我们可以先考虑只计算例如 3 个月(指令很容易修改为 24 个月)之相关资料。若你提供我要求之完整资料,我可以帮你到美国 Stata 论坛去寻求解答

使用道具

8
banbuer 发表于 2018-2-24 16:23:05 |只看作者 |坛友微信交流群
黃河泉 发表于 2018-2-24 16:19
1. 建议请用 dataex (先 ssc install dataex 并见说明) 将原始 Stata 资料中具有”代表性”的一部分资料列 ...
谢谢提醒和指教~学习了!我这就试试

使用道具

9
yanendian 发表于 2018-3-15 08:43:43 |只看作者 |坛友微信交流群
banbuer 发表于 2018-2-24 15:37
stkcd          month        eventdate              Rpt              Rit
1        1-Feb-09        16-Jun-09        0.0240993             0.185567
1         ...
不知道黄河泉的建议,你有没有成功。还可以生成一个数列,具体如下,(1)提取并购月的日期信息;(2)以实际日期减去并购日期;(3)力争得到一个0.1.2.3....的数列。然后可以很容易的计算了

使用道具

10
banbuer 发表于 2018-4-2 20:43:36 |只看作者 |坛友微信交流群
yanendian 发表于 2018-3-15 08:43
不知道黄河泉的建议,你有没有成功。还可以生成一个数列,具体如下,(1)提取并购月的日期信息;(2)以 ...
谢谢回复,后来我用了事件研究的思路分年度进行连乘 已经解决

使用道具

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

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

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

GMT+8, 2024-5-14 03:04