Python调用BLPAPI获取外汇远期汇率而非点数的报错处理
解决方案
报错原因
你遇到的「No value for []」错误是因为手动操作overrides元素时,该节点在请求初始化阶段默认未创建,直接调用getElement('overrides')会触发空值异常。
修复代码
删除你当前写的3行手动构造override的代码,启用你注释掉的官方封装好的setOverride方法即可:
# 删除以下三行错误代码 # overrides = request.getElement('overrides') # override1 = overrides.appendElement() # override1.setElement('fieldID', 'FWD_CURVE_FORMAT') # override1.setElement('value', 'RATES') # 启用官方封装的override设置方法 request.setOverride("FWD_CURVE_FORMAT", "RATES")
验证说明
修改完成后即可正常拉取汇率格式的结果,参考调用示例:
result = historical_bloomberg_data( securities=["CHF1M Curncy"], fields=["PX_LAST"], start_date="20240101", end_date="20240110" ) print(json.dumps(result, indent=2, ensure_ascii=False))
如果修改后仍然返回点数,可以尝试将参数值"RATES"替换为"RATE",不同版本的API对该参数的取值要求存在微小差异。
内容的提问来源于stack exchange,提问作者peter113
相关产品推荐
相关产品推荐

