barra 提供的数据里存在重复。比如 600030.SH ,我们可以看到它有两个 barra 的 ID ,分别为 CHNCCR1 和 CHNCCR2。
$ grep 600030 ./CHN_XSEDOL_Asset_ID
CHNCCR1|LOCALID|CN600030|20021219|20751231
CHNCCR2|LOCALID|CN600030|20141117|20751231
虽然这两个 ID 对应同样的交易所代码( LOCALID ),但它们的 SEDOL 代码不一样,分别是 6579355 和 BP3R2J5。这两个代码分别对应 600030.SH (中信证券)在上交所以及在港交所交易的陆股通。
$ grep CHNCCR ./CHN_XSEDOL_Asset_ID
CHNCCR1|LOCALID|CN600030|20021219|20751231
CHNCCR1|SEDOL|6579355|20021219|20751231
CHNCCR2|LOCALID|CN600030|20141117|20751231
CHNCCR2|SEDOL|BP3R2J5|20141117|20751231
这两个 ID 都有数据,不过是一样的:
$ grep CHNCCR ./CNE5S_100_Asset_Exposure.20230531
CHNCCR1|CNE5S_BETA|0.966|20230531
CHNCCR1|CNE5S_MOMENTUM|0.323|20230531
CHNCCR1|CNE5S_SIZE|1.21|20230531
CHNCCR1|CNE5S_EARNYILD|0.365|20230531
CHNCCR1|CNE5S_RESVOL|-1.589|20230531
CHNCCR1|CNE5S_GROWTH|-0.028|20230531
CHNCCR1|CNE5S_BTOP|0.922|20230531
CHNCCR1|CNE5S_LEVERAGE|0.888|20230531
CHNCCR1|CNE5S_LIQUIDTY|0.654|20230531
CHNCCR1|CNE5S_SIZENL|-0.657|20230531
CHNCCR1|CNE5S_DVFININS|1|20230531
CHNCCR1|CNE5S_COUNTRY|1|20230531
CHNCCR2|CNE5S_BETA|0.966|20230531
CHNCCR2|CNE5S_MOMENTUM|0.323|20230531
CHNCCR2|CNE5S_SIZE|1.21|20230531
CHNCCR2|CNE5S_EARNYILD|0.365|20230531
CHNCCR2|CNE5S_RESVOL|-1.589|20230531
CHNCCR2|CNE5S_GROWTH|-0.028|20230531
CHNCCR2|CNE5S_BTOP|0.922|20230531
CHNCCR2|CNE5S_LEVERAGE|0.888|20230531
CHNCCR2|CNE5S_LIQUIDTY|0.654|20230531
CHNCCR2|CNE5S_SIZENL|-0.657|20230531
CHNCCR2|CNE5S_DVFININS|1|20230531
CHNCCR2|CNE5S_COUNTRY|1|20230531
虽然找到了 ID 和数据重复的原因,但这明显是一个不必要的冗余,可以把这两个股票指向同样的 ID。现在不清楚 barra 选择目前处理方式的具体原因。
Q. E. D.