全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
3691 1
2008-10-10
<p>比如两组数据 1)证券代码+每交易日期+开盘价+收盘价+上证综指</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2)证券代码+某事项宣告日(注:每个证券代码的事件宣告日不一样)</p><p>设置了时间窗口,以某事项宣告日为第0日,研究总的区间(-150,60)</p><p>问题:a.如何合并组1与组2,以达到b的目的</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b.如何在总的样本(注:此处也就是组1数据)中确定出研究的区间</p><p>谢谢您能指点!!!</p><p>&nbsp;&nbsp; </p>





二维码

扫码加我 拉你入群

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

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

全部回复
2008-10-11 20:29:00


use file1
gen tradedt = date(tradedate, "YMD")          //see help date()
format tradedt %d
sort stkcd tradedt

preserve
use file2, clear            // 必须保证每个证券代码只有一个事件日,如一年多次分红就不适用以下程序
gen eventdt = date(eventdate, "YMD")
format eventdt %d
sort stkcd
save, replace
restore

// 按交易日设定窗口:
merge stkcd using file2
keep if _merge == 3
drop _merge

sort stkcd tradedt
by stkcd: gen daten = _n
by stkcd: gen date0 = daten if tradedt == eventdt
by stkcd: egen dt0 = min(date0)
gen window = daten - dt0
by stkcd: gen return = closeprice[_n] / closeprice[_n - 1] - 1
by stkcd: gen mktret = mktindex[_n] / mktindex[_n-1]  - 1
keep if window >= -150 & <= 60
drop daten date0 dt0 closeprice openprice mktindex

/* 按日历设定窗口:
merge stkcd using file2
keep if _merge == 3
drop _merge

sort stkcd tradedt
by stkcd: gen window = tradedt - eventdt
by stkcd: gen return = closeprice[_n] / closeprice[_n - 1] - 1
by stkcd: gen mktret = mktindex[_n] / mktindex[_n-1]  - 1
keep if window >= -150 & <= 60
drop closeprice openprice mktindex
*/




[此贴子已经被作者于2008-10-11 22:19:16编辑过]

二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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