3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在使用 JoinQuant 的 get_extras 函数获取基金的单位净值(unit_net_value)时,如果遇到最近几天的返回值为 NaN,通常是由以下几个原因造成的:
基金的净值数据是由基金公司计算并对外披露的。不同类型的基金披露净值的时效性不同:
如果该基金(如 160142.XSHE)在特定时间段内基金公司尚未披露净值,聚宽的数据源自然也无法获取到,从而显示为 NaN。
请检查缺失数据的日期是否包含周末或法定节假日。虽然您列出的 9-02 到 9-07 包含工作日,但如果遇到特殊情况(如海外市场节假日导致 QDII 暂停估值),也会导致净值缺失。
聚宽的数据需要从各大交易所和数据供应商处同步。如果上游数据源出现短暂的延迟或异常,可能会导致最新几天的净值未能及时入库。通常聚宽会在发现问题后尽快修复并回填数据。
160142 在 9月2日至9月7日期间的净值是否已经实际公布。如果官方也未公布,说明是基金本身的问题。NaN 导致计算报错,通常会使用 Pandas 的 fillna(method='ffill') 方法,用最近一次的有效净值来填充缺失值。import pandas as pd
net_value = get_extras('unit_net_value', '160142.XSHE', start_date='2021-08-27', end_date='2021-09-07')
# 使用前一个有效值填充 NaN
net_value = net_value.fillna(method='ffill')
print(net_value)
NaN,这可能是数据遗漏。建议您在聚宽社区发帖或联系客服,提供具体的代码和日期,工作人员会核实并修复数据。