全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
3600 2
2013-02-05
情况是这样:
现有两家公司每个月的总回报率(已加1的,即HPR),在每一个月t都要计算“t-10到t-1期的区间回报率”,如此按月份往下滚动计算。例子中每家公司有13个样本,能够算出3个值也已列出。我目前的想法是:


bysort id: gen RETURN= HPR[_n-10]*HPR[_n-9]*HPR[_n-8]*HPR[_n-7]*HPR[_n-6]*HPR[_n-5]*HPR[_n-4]*HPR[_n-3]*HPR[_n-2]*HPR[_n-1]


可这么一个个乘逊了点。我尝试过类似于“in _n-11/_n-1”的不让在bysort里用,用连乘prod吧这不是按id来也不是按年份的规整分组,而且还是滚动的计算。

想请教各位坛友有没很简便的方法简化乘积的过程。这个例子灰常适合来检验动量投资策略(Momentum strategy),最好能方便地改变历史区间,比如不是算滞后的10期,而是算滞后的5期,6期等。如果能用local或global直接改滞后期数就更好了。


假设的数据:

观测值idmonthHPR历史区间HPR

1

1

2010m1

1.05

2

1

2010m2

1.03

3

1

2010m3

0.88

4

1

2010m4

1.03

5

1

2010m5

0.89

6

1

2010m6

0.94

7

1

2010m7

1.01

8

1

2010m8

1

9

1

2010m9

0.88

10

1

2010m10

1.02

11

1

2010m11

1.06

0.74347864

12

1

2010m12

0.92

0.75055939

13

1

2011m1

1.07

0.67040257

14

2

2010m1

0.81

15

2

2010m2

1.19

16

2

2010m3

0.97

17

2

2010m4

0.9

18

2

2010m5

1

19

2

2010m6

1.05

20

2

2010m7

0.92

21

2

2010m8

0.99

22

2

2010m9

1.03

23

2

2010m10

1.01

24

2

2010m11

1.08

0.83717672

25

2

2010m12

0.93

1.11623563

26

2

2011m1

1.23

0.87235221


二维码

扫码加我 拉你入群

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

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

全部回复
2013-2-5 18:50:08
二维码

扫码加我 拉你入群

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

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

2013-2-7 11:04:15
sungmoo 发表于 2013-2-5 18:50
https://bbs.pinggu.org/thread-2178506-1-1.html
非常谢谢!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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