[Bug] growth/institution 恒为 partial:akshare stock_yjyg_em / stock_yjkb_em 报 TypeError,stock_gdfx_top_10_em 报 KeyError

Author: YHQS1997Created Sep 24, 2026Updated Sep 24, 2026

环境

项 值
软件版本 v3.32.0(桌面版 Electron,构建 2026-09-06)
系统 Windows 11 x64
akshare 打包内置(requirements 约束 >=1.12.0)
配置 ENABLE_EASTMONEY_PATCH=true,超时已放宽(45/15/2)

现象

fundamental_context 的 8 个子项中,growth(成长)与 institution(机构)恒为 partial, 10/10 次分析全部复现,与网络无关。context_snapshot 中的结构化错误:

growth / institution 子项 errors:
  stock_yjyg_em:TypeError        # 业绩预告
  stock_yjkb_em:TypeError        # 业绩快报
  stock_gdfx_top_10_em:KeyError  # 十大股东

分析

  • 报错发生在 akshare 函数内部(TypeError / KeyError),不是超时也不是网络—— 同一时段同一配置下 earnings / dragon_tiger / boards 均能正常返回。
  • 疑似东财页面结构变更后,akshare 现有版本对这些接口的解析未跟上 (或打包内置的 akshare 版本过旧/过新与接口不匹配)。
  • 桌面版用户无法升级内置 akshare,因此该问题在桌面版上无法通过配置绕过。

已排除「配置没拉满」的可能

  • 已对照上游 main 分支 .env.example(334 个配置项):不存在成长 / 机构 / 十大股东相关的 配置项或数据源开关;数据源 *_PRIORITY 组注释明确「仅控制普通 A 股日 K 通用链路」。
  • 相关超时与补丁均已按上游建议调高(STAGE 45 / FETCH 15 / RETRY 2 / ENABLE_EASTMONEY_PATCH=true), 均高于上游默认值(8.0 / 8.0 / 1 / false)。
  • 报错形态是 TypeError / KeyError(函数内部异常),不是超时、不是网络、不是鉴权—— 换配置无法改变函数内部对返回字段的解析方式。

补充:模板提到 Tushare Pro 需要 2000 积分、可作为数据源之一。若官方确认 Tushare 能提供同类数据, 请在文档中说明;但即便如此,没有 Tushare 账号的用户仍会稳定遇到这三个 akshare 函数报错, 上游修复或版本约束仍是必要的。

建议修复方向

  1. 在当前打包的 akshare 版本上复现三个函数的直接调用,确认是否为上游缺陷;
  2. 若是上游缺陷 → 升级 akshare 或在上游修复前对这三个函数做异常降级(标记 partial 而非反复重试);
  3. 若是打包版本问题 → 调整 requirements.txt 的 akshare 版本约束。

数据来源:analysis_history.context_snapshot.enhanced_context.fundamental_context 的 errors 与 source_chain 字段。

Source: ZhuLinsen/daily_stock_analysis