楼主: jnx2004
4168 3

求教:如何得出两个事件日之间相差的交易日 [推广有奖]

  • 4关注
  • 12粉丝

教授

7%

还不是VIP/贵宾

-

威望
0
论坛币
1537 个
通用积分
23.0040
学术水平
39 点
热心指数
40 点
信用等级
21 点
经验
102365 点
帖子
488
精华
0
在线时间
1219 小时
注册时间
2007-5-15
最后登录
2023-6-30

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
11.jpg
如图:stock_code:股票代码  trading_date:交易日(列出了从06年至今某股票所有的交易日)   event_date:事件日  
group_id:第几次事件(每个股票每发生一个事件都记一次)
现在想求第二个事件日与第一个事件日之间间隔的交易日天数(不是日历天数),请问该如何写命令?十分感谢!
二维码

扫码加我 拉你入群

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

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

关键词:交易日 Trading rading Event Stock 求教 求教

沙发
voodoo 发表于 2011-3-16 13:31:05 |只看作者 |坛友微信交流群
jnx2004 发表于 2011-3-15 20:38

如图:stock_code:股票代码  trading_date:交易日(列出了从06年至今某股票所有的交易日)   event_date:事件日  
group_id:第几次事件(每个股票每发生一个事件都记一次)
现在想求第二个事件日与第一个事件日之间间隔的交易日天数(不是日历天数),请问该如何写命令?十分感谢!
应该是“想求交易日与事件日之间间隔的交易日天数”吧?
巫毒上传,必属佳品!
坛友下载,三思后行!

使用道具

藤椅
voodoo 发表于 2011-3-16 13:35:42 |只看作者 |坛友微信交流群
由于你没有上传相应数据,因此我无法看到下面的程序是否能行。请你试试:


gen trddt = date(trading_date, "YMD")
format trddt %td
gen evtdt = date(event_date, "YMD")
format evtdt %td

// 1.计算(调整后的)事件日,解决事件日为非交易日的问题
gen deltadt = trddt - evtdt              // 日历间隔
bysort groupid (trddt): egen minddt = min(cond(deltadt < 0, ., deltadt))
gen evtdt_nu = evtdt + minddt     // 若evtdt非交易日,将下一个交易日作为调整后的事件日
                                                     // 当然为避免事件日正处于股市长时间停牌期间的影响,
                                                     // 最好能给minddt加个限定条件,如小于3天

// 2. 标识t0
bysort groupid (trddt): gen t = _n
bysort groupid (trddt): egen t0 = total( (trddt == evtdt_nu)*t )

// 3. t就是你需要的交易日间隔
replace t = t - t0
巫毒上传,必属佳品!
坛友下载,三思后行!

使用道具

板凳
sungmoo 发表于 2011-3-16 15:46:03 |只看作者 |坛友微信交流群

使用道具

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

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

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

GMT+8, 2024-5-13 17:48