全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 统计软件培训班VIP答疑区
1588 5
2010-04-18
连老师好

我想把一年中每天的股票回报率与对应的市场回报率合并在同一个文件中,但是
个股和市场指数的时间不一致:指数一般有244个数据,但个股有的有243天,有的241天……五花八门。
我的个股回报率数据是按照面板数据的形式堆积的,顺序按照股票代码的大小,形如

代码        日期          个股回报率
000001  20030102  0.021892
000001  20030103  ********
000001  20030104  ********
000001  20030105  ********
……
000001  2003 1231 ********
000002  20030102
000002  20030103
……
000002  20031231
000003  20030102
……
……

我总共1000只个股,他们的右边都需要合并对应日的市场指数,当然,该年(如2003年)的市场指数对每一个个股(每一堆代码相同的数)是相同的。
另外,股票代码按大小排列但不是等差数列,即剔除了一些个股。

这种情况,我该如何做两个数据的合并?即,在上面数据的右边追加一列“市场回报”。

您辛苦啦!
二维码

扫码加我 拉你入群

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

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

全部回复
2010-4-18 21:13:10
suppose the data of individual firms is saved in file01, while data for market return is saved in file02.
Note that both files should contain the common time variable, e.g., date.
The following commands can be used to merge them.

use file01, clear
merge m:1 date using file02
二维码

扫码加我 拉你入群

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

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

2010-4-18 21:46:57
合并一次,我会。
要合并1000次,怎么办?是不是该用循环语句?
而且这1000个file01是不同的,但每次的file02是相同的
二维码

扫码加我 拉你入群

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

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

2010-4-19 08:58:36
假设 1000 天的文件分别存储于 f1, f2, ……, f1000 文件中,循环语句如下:
use f1, clear
forvalues i=2/1000{
   append using f`i'
}
save file_date, replace

merge date using market_return

你需要考虑一下,如何快捷的把你那1000的日回报文件的名称修改成 f1, f2, ……, f1000。
二维码

扫码加我 拉你入群

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

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

2010-4-19 09:28:51
连老师您好
这1000家企业的数据时在同一个文件中,按照代码由大到小的顺序从上往下堆得。
二维码

扫码加我 拉你入群

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

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

2010-4-19 17:55:49
告诉我代码的规律,然后才能循环。
或者你可以截个图上来。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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