楼主: stxb
3361 2

[编程问题求助] 如何简化计算特定历史区间回报率 [推广有奖]

  • 0关注
  • 1粉丝

博士生

57%

还不是VIP/贵宾

-

威望
0
论坛币
3860 个
通用积分
1.0000
学术水平
3 点
热心指数
3 点
信用等级
10 点
经验
1710 点
帖子
132
精华
0
在线时间
517 小时
注册时间
2009-11-19
最后登录
2024-4-20

楼主
stxb 在职认证  发表于 2013-2-5 09:22:52 |只看作者 |坛友微信交流群|倒序 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
情况是这样:
现有两家公司每个月的总回报率(已加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


二维码

扫码加我 拉你入群

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

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

关键词:回报率 Strategy Momentum Strateg bysort 计算 local 如何

沙发
sungmoo 发表于 2013-2-5 18:50:08 |只看作者 |坛友微信交流群
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
stxb + 1 + 1 + 1 热心帮助其他会员

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

使用道具

藤椅
stxb 在职认证  发表于 2013-2-7 11:04:15 |只看作者 |坛友微信交流群
sungmoo 发表于 2013-2-5 18:50
https://bbs.pinggu.org/thread-2178506-1-1.html
非常谢谢!

使用道具

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

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

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

GMT+8, 2024-4-28 05:56