Bloomberg Excel Add-in BDH基金价格清盘价重复填充异常排查
BDH提取基金清盘后重复填充最后价格的问题判定
- 该异常并非单一原因导致,是BDH函数默认输出规则与参数配置不当共同作用的结果,不存在“BDH天生会输出无效清盘价”的设计缺陷。
两类原因的具体拆解
1. BDH本身的固有输出规则部分
- BDH生成历史价格序列时,会严格按照用户指定的全局时间区间(如本次案例的2000年-2020年11月)生成连续无间断的日期轴,哪怕对应的标的在区间中途已经终止运作
- 针对标的停止交易后的日期段,BDH默认采用向前填充最后有效值的逻辑返回数据,这也是观察到“清盘后连续多年重复最后清算价”的直接触发机制,属于函数对非交易时段的默认处理规则
2. 可通过配置修正的参数不当部分
- 未匹配单只基金的实际存续截止日:本次操作中为所有基金统一设置了2020年11月的全局截止日,没有针对已清盘基金单独将提取截止日调整为正式清盘日期,直接造成清盘后无效区间的拉取
- 未调整缺失值填充规则:BDH的可选填充规则参数默认开启向前填充,只要把该参数修改为“非有效交易日返回空值/错误标记”,就能直接避免清盘后日期段被填充最后价格
- 未开启标的状态识别:拉取基金数据时如果未配套加载基金存续状态字段,BDH不会主动识别清盘基金的终止时点,只会按给定的全局时间轴返回填充后的数据
可快速落地的修正方案
- 先批量匹配所有基金的正式清盘日期,将每只基金的BDH提取截止日设置为min(基金清盘日, 全局统计截止日),从源头上减少无效区间的拉取
- 调整BDH的缺失值返回参数,把默认的向前填充改为无交易日期返回空值,避免重复值填充
- 对已导出的历史数据做后处理:只要某只基金的价格连续30个交易日以上无变动、且匹配到清盘状态标记,直接截断该段后续的重复价格数据
内容的提问来源于stack exchange,提问作者BallesITAM
相关产品推荐
相关产品推荐

