FisherQuant
本文目录
📌 核心价值:一个开源的 A 股量化研究 AI Agent 流水线,每天自动跑双轨策略+公开版本化结果,所有产物可追溯到具体交易日和运行编号。
真正"上得了 GitHub Pages"的研究操作系统:本地算、AI 标注、公开边界、白名单发布、单元测试全链路。

本文仅作技术架构介绍,不构成投资建议。股市有风险,投资需谨慎。
🚀 什么是 FisherQuant?
FisherQuant 是 fisher-admin 在 GitHub 上开源的 A 股量化研究 AI Agent 流水线(fisher-admin/stock-report,MIT 协议),把"每日市场裁决→策略打分→候选筛选→复盘研究"四个阶段全部代码化、版本化、公开化。
最特别的是它的公开边界设计:所有行情数据、财务数据、AI 原始分析只保存在本机;GitHub 只发布通过白名单校验的脱敏摘要;GitHub Pages 站点读取 data/latest/*.json,每条记录都带 trade_date / run_id / generated_at 三元组,可以追溯到具体哪一天哪一次运行。
核心定位:把"研究操作系统"的概念开源——流水线代码、AI Agent、公开边界、单元测试一起发,且永远不接受自动下单权限。
✨ 核心模块一览
| 模块 | 路径 | 职责 |
|---|---|---|
| 调度编排 | system/src/orchestrator/ |
股票池筛选、双轨策略、推荐仓、评价合同、发布控制 |
| 因子工厂 | system/src/factor_factory/ |
时点股票池、因子面板、正式因子审计 |
| 回测适配层 | system/src/stock_analyzer/ |
基准选股、回测适配 |
| 公开边界 | scripts/enforce_public_boundary.py |
发布前合同校验、未来数据/代理数据拦截、白名单审计 |
| 静态前端 | assets/scripts/v2/ |
GitHub Pages 渲染层(5 个页面) |
| 单元测试 | system/tests/ |
流程健康、数据完整性、策略行为测试 |

🛠️ 5 分钟看懂这套流水线
安装与本地预览
# 1. 克隆仓库
git clone https://github.com/fisher-admin/stock-report.git
cd stock-report
# 2. 本地预览 Pages(不需要任何行情账号)
python3 -m http.server 8080
# 打开 http://127.0.0.1:8080/
# 页面读取 data/latest/*.json 的版本化结果
# 3. 跑公开层回归测试
python3 -m unittest discover tests -p 'test_*.py' -v
node tests/render.test.mjs
node tests/dual-track-render.test.mjs
双轨策略核心代码结构
# 短线轨:三组影子组合,全部"只观察、不接自动下单"
SHORT_TRACKS = [
"prebreakout_v43_control", # 与生产 Top20 逐项校验
"prebreakout_v43_top15", # 限制行业集中度(≤3只/行业)
"prebreakout_v44_balanced", # 五类因子等权,禁读筹码字段
]
# 中期事件轨:仅处理当天新公告
MEDIUM_TRACK = "event_quality_drift_v1" # 业绩预告35%+加速25%+ROE质量20%+估值保护20%
关键设计:所有策略结果只有通过 60 个成熟交易日 + 绝对/超额/风险/回撤/集中度五道门槛,才显示"影子晋级门槛通过",即使通过仍无自动交易权限。
📊 与同类量化项目对比
| 维度 | FisherQuant | 闭源券商研究终端 | 普通开源回测框架 |
|---|---|---|---|
| AI Agent 自动标注 | ✅ 每个候选有 AI 风险提示 | ❌ | ❌ |
| 双轨并行验证 | ✅ 短线 3 组 + 中期事件轨 | 部分 | ❌ |
| 公开版本化结果 | ✅ trade_date/run_id/generated_at 三元组 |
❌ | ❌ |
| 公开边界白名单 | ✅ 13 项契约检查 + 私有字段自动擦除 | 不适用 | ❌ |
| 自动下单 | ❌ 永不开(强制"只观察") | ✅ | 看实现 |
| GitHub Pages 展示 | ✅ 5 页静态站点 | ❌ | ❌ |
| 单元测试覆盖 | ✅ 调度模块 112 项自动化测试 | ❌ | 看项目 |
| 开源协议 | MIT | 不开源 | 多为 Apache/MIT |
💡 适用场景
1. 个人量化研究者的"AI 队友"

功能说明:每天盘前 08:15 自动跑事件轨,盘后 19:30 生成主报告、20:00 生成 AI 报告,每个候选都附 AI 整理的公告证据、冲突与风险说明(AI 不会改变排名或增删候选)。
输入要求:本机 Tushare 行情账号 + 自有数据库
输出效果:20 只候选 + AI 风险标注 + 三组影子组合盯市
适用场景:个人想搭一个"能跑起来的、不会乱下单的"研究系统
2. 量化内容的"可验证发布"
功能说明:所有公开页面读 data/latest/*.json,每个 JSON 带 trade_date / run_id / generated_at 三元组,运行编号可追溯到具体那次流水线。
输入要求:GitHub 仓库 + GitHub Pages 开启
输出效果:粉丝/读者可以点 GitHub Pages 看到每天自动更新的研究结论
适用场景:公众号/小红书博主想给粉丝一个"我的策略每天在跑"的公开证据
3. 团队协作的"流程健康 vs 投资效果"分离
功能说明:系统明确把"流程是否跑通"与"策略是否真的有效"分开管理——流程成功不再被当作策略有效;缺数据、代理数据、时间错位会让相应评价明确失败。
输入要求:在 docs/ARCHITECTURE.md 里有完整的评价合同
输出效果:发布层会把"流程健康但策略待验证"的状态如实展示,不造假曲线
适用场景:团队需要一套诚实的研究记录系统,而不是"看上去很美"的回测曲线
用户群体总结
- ✅ 个人量化研究者:想要"能跑、不乱下单、有 AI 标注"的本地系统
- ✅ 量化内容创作者:想要每天自动更新的可公开研究记录
- ✅ 小团队量化协作:想要把流程健康和投资效果分开管理
- ❌ 不适合:想要"一键躺赚"或"日内自动下单"的人——这套系统明确不接自动下单
💰 开源与可复现性
开源协议:MIT
公开边界设计(2026-08 重构后):
- 13 项
public-result-allowlist.txt契约文件清单 - 发布前自动扫描 JSON,删除本机路径、拒绝凭证字段
run_manifest.published是公开发布事实的权威字段- 公开边界检查失败 → 拒绝提交或推送
AI 历史效果只接受分析日期与推荐日期相同的记录——未来日期回填永久排除,且所有输出固定 rank_change = 0(防止 AI"事后聪明")。
这是目前 GitHub 上为数不多把"研究记录诚实性"做成强制契约的量化项目,比很多专业券商终端都严谨。
🎯 总结
FisherQuant 不是一个"帮你选股"的工具,而是一个让你能公开跑量化研究的开源操作系统。它把 AI Agent、双轨策略、公开边界、单元测试、GitHub Pages 静态站点一起搭起来,并且从制度上拒绝自动下单权限。
最值得借鉴的三点:
- 公开版本化:每个 JSON 都带
trade_date / run_id / generated_at三元组,读者能验证"这条结论是哪天跑出来的" - 公开边界白名单:13 项契约文件清单 + 发布前自动擦除,杜绝本机数据/AI 原文泄露
- AI 只整理证据、不改排名:候选筛选完全由因子和策略决定,AI 仅负责标注风险、附加公告证据、指出冲突
推荐指数: ⭐⭐⭐⭐⭐(满分 5 星)
适合人群: 量化研究者 / 量化内容创作者 / 想搭诚实研究系统的团队
立即体验: fisher-admin.github.io/stock-report
GitHub 仓库: fisher-admin/stock-report
数据截至 2026-09-12,最新信息请以仓库 README 为准。