楼主: mengdengliao
1263 0

[数据管理求助] 如何做有条件下的merge [推广有奖]

  • 0关注
  • 0粉丝

大专生

55%

还不是VIP/贵宾

-

威望
0
论坛币
475 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
445 点
帖子
35
精华
0
在线时间
53 小时
注册时间
2015-6-13
最后登录
2020-5-16

楼主
mengdengliao 发表于 2018-2-19 14:58:56 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

第一个dataset是基金表现数据,一个基金在不同年份不同季度的对应收益率
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input long fundid str10(startdate enddate) float Perf
  4. 108426 "2005/4/1"  "2005/6/30"       .4505
  5. 108426 "2005/7/1"  "2005/9/30"   -.8243003
  6. 108426 "2005/10/1" "2005/12/31"     -.3506
  7. 108426 "2006/1/1"  "2006/3/31"   -.6148996
  8. 108426 "2006/4/1"  "2006/6/30"   8.9693985
  9. 108426 "2006/7/1"  "2006/9/30"      1.4721
  10. 108426 "2006/10/1" "2006/12/31"   -12.3395
  11. 108426 "2007/1/1"  "2007/3/31"  -15.711702
  12. 108426 "2007/4/1"  "2007/6/30"   3.0981026
  13. 108426 "2007/7/1"  "2007/9/30"   -9.204796
  14. 108426 "2007/10/1" "2007/12/31"     3.7658
  15. 108426 "2008/1/1"  "2008/3/31"     13.3434
  16. 108426 "2008/4/1"  "2008/6/30"   12.207398
  17. 108426 "2008/7/1"  "2008/9/30"      5.0445
  18. 108426 "2008/10/1" "2008/12/31"     9.4842
  19. 108426 "2009/1/1"  "2009/3/31"  -15.053398
  20. 108426 "2009/4/1"  "2009/6/30"  -3.8353996
  21. 108426 "2009/7/1"  "2009/9/30"    .9453001
  22. 108426 "2009/10/1" "2009/12/31" -2.9485016
  23. 108426 "2010/1/1"  "2010/3/31"      4.3343
  24. 108426 "2010/4/1"  "2010/6/30"     11.3501
  25. 108426 "2010/7/1"  "2010/9/30"     -1.4733
  26. 108426 "2010/10/1" "2010/12/31" -.19400024
  27. 108426 "2011/1/1"  "2011/3/31"     -2.8678
  28. 108426 "2011/4/1"  "2011/6/30"  -.08039951
  29. 108426 "2011/7/1"  "2011/9/30"    4.671301
  30. 108426 "2011/10/1" "2011/12/31" -1.5425005
  31. end
复制代码



第二个dataset是基金经理数据,有他上任和离任的日期

现在想根据第二个dataset中基金经理上任离任的日期去匹配第一个数据表中对应季度,比如王亚伟是108426号基金2001-2005年度的基金经理,那么所有这个阶段的基金表现去match这位基金经理;
但是会出现某一段时间有两位基金经理的时间是重叠的,比如2004-2-27号开始田擎开始掌管这个基金了,但是王亚伟此时还没有卸任;我希望match的是后来上任的田擎。(这种情况下是正常的交接,但是存在一个前任的存续期,所以存在日期上的重叠)

有时候会出现一个基金有两位基金经理的情况(不是接替,是同时管一个基金),我希望match businessduration更长的那位。

不知道如何实现?谢谢!!

  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input long fundid str19 fullname str10(servicestartdate serviceenddate) byte(businessduration positionstate)
  4.   108426 "王亚伟" "2001/11/28" "2005/4/12"   9 2
  5.   108426 "田擎"    "2004/2/27"  "2005/10/29"  . 2
  6.   108426 "巩怀志" "2005/10/29" "2010/1/16"   . 2
  7.   108426 "童汀"    "2010/1/16"  "2014/6/20"   . 2
  8.   108426 "倪邈"    "2014/3/17"  "2015/11/19"  8 2
  9.   108426 "李铧汶" "2014/3/17"  "2017/1/13"   7 2
  10.   108426 "孙振峰" "2012/4/5"   "2013/6/28"   . 2
  11.   108426 "崔同魁" "2014/6/20"  "2015/1/7"    6 2
  12.   108426 "董阳阳" "2015/1/7"   ""            . 1
  13.   108426 "许利明" "2015/9/1"   "2017/3/28"  17 2
  14.   108426 "孙萌"    "2015/11/19" "2017/2/24"   8 2
  15. 10110374 "杨宇"    "2013/3/22"  "2016/1/5"   17 2
  16. 10110374 "陈正宪" "2016/1/5"   ""           12 1
  17. 10110374 "何如"    "2016/1/5"   ""           11 1
  18.   107794 "蒋征"    "2004/6/30"  "2006/5/24"   7 2
  19. end
复制代码




二维码

扫码加我 拉你入群

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

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

关键词:Merge generated positions generate Duration

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-30 21:19