运行时依赖
安装命令
点击复制技能文档
股票深度研究报告 股票深度研究报告基于同花顺问财OpenAPI + 东方财富妙想API的股票深度研究数据采集与报告生成工具。
使用场景 当用户说以下关键词时,使用此技能: "分析XX股票" "生成XX的研究报告" "XX股票深度研究" "XX股票分析" "帮我看看XX"
快速开始(一键执行) # 完整流程:采集(含全部补充)→生成报告→上传IMA(推荐) python3 ~/.hermes/scripts/stock-research/generate_report.py -c 601899 -n 紫金矿业 # 跳过采集(已有JSON时) python3 ~/.hermes/scripts/stock-research/generate_report.py -c 601899 -n 紫金矿业 --skip-collect # 不上传IMA(仅本地生成) python3 ~/.hermes/scripts/stock-research/generate_report.py -c 601899 -n 紫金矿业 --keep-local generate_report.py v10 完整流程(4步,全部自动化) Step 1: collector.py v8 采集全部数据
- 基础采集(13模块,westock-data为主+妙想/问财备选)
- 补充采集(已内置,自动运行):
# 完整流程:采集(含全部补充)→生成报告→上传IMA(推荐)
python3 ~/.hermes/scripts/stock-research/generate_report.py -c 601899 -n 紫金矿业
# 跳过采集(已有JSON时)
python3 ~/.hermes/scripts/stock-research/generate_report.py -c 601899 -n 紫金矿业 --skip-collect
# 不上传IMA(仅本地生成)
python3 ~/.hermes/scripts/stock-research/generate_report.py -c 601899 -n 紫金矿业 --keep-local
分步执行(调试用) # 1. 采集数据(v8 westock-data为主) python3 ~/.hermes/scripts/stock-research/collector.py -c 601899 -n 紫金矿业 # 2. 生成报告 python3 ~/.hermes/scripts/stock-research/reporter_v6.py \ --json-path output/601899_紫金矿业_.json \ --output output/紫金矿业_深度研究报告.md # 3. 上传IMA python3 ~/.hermes/scripts/stock-research/ima_integration.py \ --report-path output/紫金矿业_深度研究报告.md \ --stock-name 紫金矿业 --stock-code 601899
数据覆盖度(v10 - 13模块+3补充模块,60+查询) collector.py v6已直接集成13个模块的数据采集,无需额外手动调用mx-finance-data补充基础数据。 ✅ collector.py 直接采集的数据(13个模块) # 模块 查询数 数据源技能 1 报告摘要 5 hithink-finance-query + hithink-industry-query 2 宏观与行业 7 hithink-industry-query + hithink-sector-selector 3 公司基本面 7 hithink-finance-query + hithink-business-query 4 公司治理与股东 9 hithink-management-query + hithink-business-query + news-search 5 机构持仓与市场情绪 4 hithink-insresearch-query 6 估值分析 3 hithink-finance-query 7 重大事件与风险 3 hithink-management-query + hithink-business-query 8 资金流向 2 hithink-sector-selector 9 新闻资讯 4 news-search 10 技术面 3 hithink-market-query 11 营收结构与成本 4 hithink-business-query + hithink-finance-query 12 杜邦分析与盈利质量 3 hithink-finance-query 13 历史估值与同行对比 3 hithink-finance-query 总计:57个查询,13个模块全覆盖 ✅ 仍可使用mx-finance-data补充的高级数据 数据项 数据源技能 调用方式 详细K线数据 mx-finance-data --query "XX股票 近20日K线数据 MACD RSI KDJ" 历史估值详细 mx-finance-data --query "XX股票 近5年市盈率PE最高最低平均" 宏观数据 mx-macro-data --query "中国GDP增速 近5年" 金融资讯/研报 mx-finance-search "XX股票 最新研报与公告" ⚠️ 仍无法获取的数据 数据项 说明 ESG评级 需要专门的ESG数据源 ⚠️ 注意:collector.py v7 已内置全部补充查询(季度历史/运营效率/现金流/估值字段/历史PE/行业平均),大部分情况下无需额外调用mx-finance-data。
⛔ reporter_v6.py 零硬编码强制规则(2026-05-11 确立) 核心原则:reporter_v6.py中不得有任何"不管数据是什么都输出固定文字"的代码。 两层硬编码风险 层级 表现 危险程度 检测方法 第一层:数据矛盾 结论与上方数据不一致(如净流出写"净流入") 高 📌结论逐条核对 第二层:公司绑定 结论绑定到特定公司(如"黄金冶炼"对所有股票输出) 极高 grep公司特定关键词 第二层更危险:代码"运行正常"但对非目标公司输出完全错误结论。 禁止的写法 # ❌ 硬编码公司描述 w(f"- 行业地位:{sn},消费电子精密零组件龙头") w("- 宏观环境:消费电子行业复苏,AI终端需求增长") w("1. AI终端驱动: AI手机、AI眼镜等新品渗透率提升") w("- 🚀 国际金价高位运行,黄金冶炼利润有保障") # ❌ 硬编码通用模板 w("- ✅ 行业龙头地位,市场份额领先") w("- ✅ 全球化布局完善,海外产能占比高") w("核心竞争壁垒: 全球化壁垒+技术壁垒+客户壁垒+品牌壁垒") 必须的写法 # ✅ 从数据动态生成 mktcap_val = sf(mktcap) if mktcap_val > 1000: w(f"- 行业地位: {sn},所属行业大型企业") elif mktcap_val > 300: w(f"- 行业地位: {sn},所属行业骨干企业") else: w(f"- 行业地位: {sn},所属行业参与者") # ✅ 从营收结构推断驱动因素 if rp: top1 = rp[0].get("项目名称", "核心业务") top1_pct = float(rp[0].get("业务收入", 0) or 0) / total_product_rev 100 w(f"1. {top1}驱动: 占收入{top1_pct:.1f}%,是业绩核心增长引擎") # ✅ 从实际数据推断结论 pe_ratio = sf(pe) / sf(pe_iv) if sf(pe_iv) > 0 else 1 if pe_ratio > 1.5: w(f"- ⚠️ PE-TTM {pe}倍,显著高于行业均值{pe_iv}倍")
验证检查清单 # 1. 检查硬编码公司特定描述残留 grep -c "黄金\