全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
10352 4
2011-02-27
本人使用STATA计算累计超额收益率CAR,程序运行时显示如下内容:
variable trddt does not uniquely identify observations in the master data
using data not sorted
r(5);
  其中trddt的数据类型为: float  %dCY_N_D
请高手指点该怎么办?
二维码

扫码加我 拉你入群

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

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

全部回复
2011-2-27 19:51:24
这个大概是merge命令的错误信息吧,应该是trddt,估计你是一个数据文件里有好多个股的交易信息吧,所以trddt(应该是trading date吧)当然都不是唯一值,所以你在merge的时候没有指定好对应的类型,建议好好看看merge命令的帮助文档,都有举例的。另外可以把do文件贴上来,大家帮你看看。
二维码

扫码加我 拉你入群

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

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

2011-2-27 19:56:54
以下是我的do文件,因为太长只截取了一部分

forval m = 1 (1) 41 {
   local NUM = 1000
   if `m‘ = = 41  {
   local NUM = 999
              }
use E:\stata10\trade\trade_`m‘, clear
sort trddt
merge trddt using  E:\stata10\trade\sh_index, nokeep

drop _m
keep stkcd trddt idxreturn dretwd
destring dretwd, replace
replace dretwd = . if dretwd > 0.102
replace dretwd = . if dretwd < - 0.102


问题就是处在红色字体的地方 不知道解决的办法
二维码

扫码加我 拉你入群

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

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

2011-2-27 20:12:09
我也刚开始用STATA,水平一般,一起探讨一下吧。
你是想将两个数据文件合并,想在你正在用的数据文件(master data)中给每一个个股当天的交易信息中加入指数回报率,以便后面计算AR。但是你的trddt在个股数据文件中不唯一,在指数数据文件中应该唯一,所以应该属于m:1的合并情况,你用的是STATA 11吗,如果是的话,你这样写merge命令的报错信息就应该告诉你使用了就的语法并建议你使用新的语法,按说只要加入m:1就可以了。

          merge m:1 trddt using  E:\stata10\trade\sh_index

还是建议你参考一下帮助文件,我用的时间不长,不是太清楚,只是前几天遇到问题,稍微研究了一下merge命令而已。
二维码

扫码加我 拉你入群

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

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

2011-2-27 20:23:37
是呀,我打算计算AR,但是我用的是STATA9.2,你的方法似乎还不能用。十分感谢!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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