首页
/ AKShare中基金历史数据获取的注意事项

AKShare中基金历史数据获取的注意事项

2025-05-21 11:08:43作者:鲍丁臣Ursa

在使用AKShare金融数据接口时,获取基金历史数据需要特别注意不同类型基金对应的不同函数。近期有用户反馈在使用fund_etf_hist_em函数获取LOF基金数据时返回空值的问题,这实际上是由于函数选择不当导致的。

问题背景

用户尝试使用fund_etf_hist_em函数获取代码为"160719"的基金历史数据,虽然东方财富网站上有对应数据,但接口返回为空。经过排查发现,这是因为"160719"是一只LOF基金(上市型开放式基金),而非ETF基金。

解决方案

AKShare针对不同类型的基金提供了专门的函数:

  1. 对于ETF基金,使用fund_etf_hist_em函数
  2. 对于LOF基金,使用fund_lof_hist_em函数

正确的做法应该是:

df = ak.fund_lof_hist_em("160719", period="daily", start_date="20231205", end_date="20241205", adjust="qfq")

技术要点

  1. 基金类型识别:在使用AKShare获取基金数据前,应先确认基金的具体类型。常见的场内基金包括ETF、LOF等,它们有不同的交易机制和特点。

  2. 函数参数说明

    • period:支持"daily"(日线)、"weekly"(周线)、"monthly"(月线)
    • adjust:支持"qfq"(前复权)、"hfq"(后复权)、""(不复权)
  3. 数据源验证:当接口返回空数据时,建议先验证数据源网站是否确实存在该数据,以及基金代码是否正确。

最佳实践

  1. 建立基金代码与类型的映射关系,在获取数据前先判断基金类型
  2. 对接口返回结果进行空值检查,及时发现并处理异常情况
  3. 定期关注AKShare的更新日志,了解函数变动情况

通过正确选择函数和参数,可以确保从AKShare获取到准确的基金历史数据,为量化分析和投资研究提供可靠的数据支持。

登录后查看全文
热门项目推荐
相关项目推荐