AI 每天帮你出信号、读新闻情感、算止盈止损、做复盘 —— 数据不上传。 更重要的是,每一次研究、信号、持仓、复盘都会沉淀进一套会成长的分层研究记忆(L0–L4),让下一次判断更有依据。
明仓是一个本地优先的个人 A 股研究操作系统:你负责 alpha 与决策,AI 负责广度扫描与证伪,系统负责把判断和结果沉淀成一套会成长的记忆。
📖 在线文档:https://zeeechenn.github.io/MingCang/
明仓把研究做成一条闭环:判断 → 信号 → 持仓 → 复盘归因 → 记忆更新。下面是一个完整的纸上交易记录。
宁德时代(300750)· 2026-05 · 纸上交易
| 步骤 | 记录 |
|---|---|
| 入场 | 05-14 @ 449.38,止损 395.57 |
| 持仓 | 信号持续转弱;当时无"信号反转退出"规则,继续持有 |
| 平仓 | 05-25 @ 411.28,亏损 −8.48% |
| 复盘归因 | 根因:缺少信号反转退出规则 |
| 沉淀改进 | 据此在测试2新增"信号反转退出"规则 |
完整链路见 宁德活样本。
600584 长电科技 2026-06-02
────────────────────────────────────────────────────────────
综合分 25.8 建议 🟡 可小仓试错
技术 28.6 · 量化 25.8 · 新闻情感 +18.0
止损 64.66 止盈 98.17 (ATR 2.5 移动止损)
────────────────────────────────────────────────────────────
rule: aggregate_v1 · 数据不出本机
当日批量信号:
| 代码 | 名称 | 综合分 | 建议 | 技术 | 量化 | 新闻情感 | 止损 | 止盈 |
|---|---|---|---|---|---|---|---|---|
| 600584 | 长电科技 | 25.8 | 🟡 可小仓试错 | 28.6 | 25.8 | +18.0 | 64.66 | 98.17 |
| 603986 | 兆易创新 | 4.3 | 🔵 可关注 | 26.4 | 4.5 | −55.2 | 414.86 | 603.09 |
| 300750 | 宁德时代 | −1.7 | ⚪ 观望 | −12.5 | 1.3 | +18.0 | 397.42 | 488.68 |
信号给出分档建议与 ATR 止盈止损位,不预测涨跌、不喊"买入/必涨"。新闻情感由 LLM 读取当日新闻打分。
📒 测试1 · 纸上交易最终复盘 2026-05-12 ~ 06-01
────────────────────────────────────────────────────────────
7 笔全平 · 每笔 20% 仓
仓位加权合计 +3.79% 7 只合计 +18.94%
────────────────────────────────────────────────────────────
盈利 2 笔 兆易创新 +34.26% · 长电科技 +11.33%
止损 5 笔 平均 −5.33%(最大 −9.20%)
盈亏比 ≈ 4.3 : 1(均盈 +22.8% / 均亏 −5.3%)
────────────────────────────────────────────────────────────
纸上交易回放 · 非真金白银 · 历史结果不回改
7 笔全部平仓:2 笔盈利、5 笔止损;止损平均 −5.33%、最大 −9.20%,仓位加权合计 +3.79%。纸上交易回放,非真实下单,历史结果不回改。
实现机制见下方 研究决策闭环架构。
🔬 比信号更深一层:研究框架分析师团 + 数据底座(点开看)
明仓把一批成熟的研究方法论编码成可复用的分析师模块,各自从不同维度给一只票打长期判断,再加权融合:
| 分析师 | 方法论来源 | 看什么 |
|---|---|---|
| 📊 Piotroski F-Score | 经典学术 9 因子 | 财务质量:盈利 / 杠杆 / 经营效率 |
| 📈 景气分析师 | 开源证券《景气投资方法论》7×34 框架 | Δ 边际变化:利润 / 收入 / ROE 的加速度 |
| 🔗 赛道供应链分析师 | 产业链景气 · 五层框架 | 科技 / 硬件赛道:供应链核查 → 海外领先指标 → 周期 vs 结构 → 炒作过滤 → 高位过滤 |
三路分析师 → 加权综合 → 一票否决融合 → 长期标签(值得持有 / 估值偏高 / 观望 / 规避),默认开启、可逐个开关。供应链瓶颈分析师(Serenity,observe-only 灰度中)、QFII 资金流等更多框架持续接入。
注意:这是和每日信号(朴素公式)分开的长期研究层——它给的是赛道与个股的长期判断,不直接改每日信号。这些框架同时暴露为 skills / CLI / MCP,可被
mingcang终端或 Claude Code / Codex / Cursor 直接调用。
上面这些信号和判断,站在一层带审计的数据底座上,而不是裸读 API key:
| 能力 | 做什么 |
|---|---|
| 🔀 多源 + 自动回退 | provider 注册表,主源失败按冷却自动切备源 |
| ⏳ 防未来函数(PIT) | 回测按 as-of 时点取数,杜绝用未来数据"作弊" |
| 🧪 质量门 + 覆盖度报告 | 价格质量校验、数据覆盖与源可靠性报告,脏数据自动预警 |
| 🗃️ 缓存与新鲜度策略 | 声明式缓存契约,控制何时允许走远端 |
信号和研究再好,数据不干净就是空中楼阁。这层底座让上面每一个判断都站在可复现、无未来污染的数据上。
| 你想做的事 | 明仓怎么接 |
|---|---|
| 研究一只票 | mingcang stock 000001 拉出信号、新闻、标签、研究 copilot 影子结论,并把你的判断记成一条 ResearchCase |
| 跟踪一个长期主题/赛道 | 把成熟外部研究者、券商/机构、景气与财务质量框架的论题进口为 ForwardThesis,带失效条件和复盘节奏,长期持续跟踪 |
| 盯住每天的信号和风险 | 技术因子 + LLM 新闻情感生成官方信号,ATR 移动止损保护浮盈,组合暴露和数据质量自动预警 |
| 复盘并积累经验 | 结果出来后做归因,证伪命中/错过都记分,经人工确认才促进成可信记忆,下次判断更有依据 |
| 让 AI 帮你干上面这些 | 自带 mingcang Pi 终端,也可接 Claude Code / Codex / Cursor,通过 CLI / MCP 调用全部能力 |
明仓不替你做主:LLM 不预测价格、不下单、不自动改信号,止盈止损是 ATR 公式算出来的规则,记忆要等结果和人工确认才升级。→ 详见 为什么明仓不是 AI 选股器
底层:本地 SQLite(行情 / 新闻 / 财务 / QFII + A/HK/US 只读全球数据,不上云)· React 前端 + REST API · 分层记忆 + 可回溯审计日志 · mingcang Pi 终端 / MCP / CLI。
第一次只做这个:想先体验,不配 Key,跑下面的
make demo;想长期使用,走 快速开始 安装mingcang;想开发,先make install再make dev/cd frontend && npm run dev。
git clone https://github.com/Zeeechenn/MingCang.git
cd MingCang
make demo # 种子 mock 数据,并启动后端 + 前端打开 http://127.0.0.1:5173。首页是新的明仓终端:可以用自然语言发起个股研究、复盘候选、自选动作和治理台草稿;导航可进入今日裁决、个股案卷、复盘案卷、研究副驾驶、持仓纪律、来源健康和治理台。demo 数据库还包含示例股票、长期论题、复盘和待确认记忆候选,供 User Guide 串成完整闭环。后端健康检查在 http://127.0.0.1:8000/health,交互式 API 文档(Swagger UI)在 http://127.0.0.1:8000/docs。按 Ctrl+C 停止 demo。
0.3.0 把整套研究模型重做成一套案卷式闭环架构:用四类"案卷"(Case)把研究、信号、持仓、复盘串成一条闭环,分五层(L0–L4)承载,每一类只回答一个问题,彼此可链接、可审计。
进口(数据 + 新闻 + 你的判断 + 外部论题)
│
▼
ResearchCase ──▶ SignalCase ──▶ PositionCase ──▶ ReviewCase
为什么值得研究 现在能交易吗 为何持有/何时退 结果教会了什么
▲ │
└────────── 记忆更新(outcome-gated,人工确认)◀────┘
五层(L0 记忆 → L1 证据 → L2 论题 → L3 信号/持仓 → L4 复盘/校准)分别回答"学到了什么 / 有哪些证据 / 值得研究吗 / 能交易吗 / 结果教会了什么",彼此可链接、可审计。→ 完整架构说明
现状说明:这套闭环架构已经落地,但默认休眠——骨架先就位、生产信号零改动,等前向证据门控逐层通过后再激活。当前生产信号仍是技术 0.6 + 情感 0.4 + ATR 2.5 移动止损,量化层关闭(
WEIGHT_QUANT=0.0)、等待证据。
明仓自带一个 mingcang Pi 终端壳——把整套 CLI、记忆、研究流程和安全边界打包成一个开箱即用的 agent 终端,不用记一堆命令就能用。只想离线看 demo 时不需要安装它,直接用上面的 make demo。
curl -fsSL https://raw.githubusercontent.com/Zeeechenn/MingCang/main/scripts/install.sh | sh
mingcang装好后直接对它说人话即可("看一下 300308"、"扫一遍自选"、"帮我复盘上周的票"),它会自己读项目上下文、跑 CLI、给出研究和风险结论。
手动安装 / 开发模式:
git clone https://github.com/Zeeechenn/MingCang.git
cd MingCang
make agent-setup # 准备环境
make agent # 启动 Pi 终端默认 AI_PROVIDER=local_cli,走本机已登录的本地 CLI,不需要云端 key;demo 模式不需要任何 LLM / 数据源 key。也可以直接用底层 CLI:
python3 -m backend.agent.cli health --pretty
python3 -m backend.agent.cli premarket --pretty
python3 -m backend.agent.cli stock-context 000001 --pretty装好后,既能对 mingcang Pi 终端直接说人话,也能跑底层 CLI。下面是几个最常见的用法。
对 Pi 终端说:"研究一下中际旭创"、"看看 300308 现在怎么样"。它会先拉股票上下文,再给结论:
mingcang stock 300308
# 或直接用底层 CLI:
python3 -m backend.agent.cli stock-context 300308 --pretty你会拿到:官方信号(买入 / 关注 / 规避)、最近新闻与情感、长期标签、研究 copilot 的影子结论,以及它列出的风险和待验证问题。需要更深的调研时,让它跑一轮 deep research:
python3 -m backend.agent.cli action research.deep.run \
--payload-json '{"topic":"光模块 1.6T 需求","symbols":["300308"]}' --pretty明仓按交易节奏分了四个一句话工作流:
python3 -m backend.agent.cli premarket --pretty # 盘前:同步前检查与当日入口
python3 -m backend.agent.cli intraday --pretty # 盘中:只读本地缓存的快速个股入口
python3 -m backend.agent.cli postmarket --pretty # 盘后:全市场信号与复盘报告
python3 -m backend.agent.cli weekend --pretty # 周末:长期标签刷新与周度反思Pi 终端里直接说"盘前扫一遍"、"收盘后复盘一下"即可。信号里包含当日建议、ATR 移动止损位、组合暴露和数据质量预警——明仓不替你下单,只给纪律。
加自选(默认 dry-run,确认后加 --confirm 落库):
python3 -m backend.agent.cli action watchlist.add \
--payload-json '{"symbol":"300308","name":"中际旭创","market":"CN"}' --pretty移除用 watchlist.remove。之后用 project-context 或盘后工作流扫一遍整张自选表。对 Pi 终端说"把中际旭创加进自选"、"扫一遍我的关注列表"也可以。
把一个赛道或主题的判断(来自你自己、成熟研究者或景气/财务框架)记成一条带失效条件的论题,系统会长期跟踪、到点提醒复盘:
python3 -m backend.agent.cli action long_term.run --payload-json '{"symbol":"300308"}' --pretty它不会因为论题"听起来有道理"就抬高买入分——只有结果兑现、复盘通过,这条判断才会升级成可信记忆,喂给下一次研究。
python3 -m backend.agent.cli memory-snapshot --pretty这里能看到分层记忆、审计日志和记忆促进状态:哪些规则 / 教训已可信,哪些还在待定。可信记忆会在你下次研究同一只票或同一赛道时,自动作为上下文注入。
外层 agent(Pi / Claude Code / Codex / Cursor)接入时,默认只需要:
- 读 AGENTS.md——了解本地 / 远程边界
- 按需加载
STATUS.md/PROJECT.md/docs/ROADMAP.md - 写操作先 dry-run,等用户确认
核心 MCP 工具:
| 工具 | 用途 |
|---|---|
mingcang_project_context |
持仓、自选、记忆摘要、配置概况 |
mingcang_stock_context |
单只股票:信号、新闻、标签、copilot shadow |
mingcang_memory_snapshot |
分层记忆、审计日志、记忆促进状态 |
mingcang_health |
数据库、依赖、权限健康检查 |
本地与远程配置
真实 key 只放本机 .env 或部署平台的 secret manager,不要提交到 Git。可以从 .env.example 复制一份开始:
AI_PROVIDER=local_cli
DATABASE_URL=sqlite:////absolute/path/to/mingcang.db
MINGCANG_AGENT_MODE=local默认本地模式使用 AI_PROVIDER=local_cli,优先走本机已登录的 Codex CLI,不需要云端 LLM key。只有启用对应 provider / 功能时,才需要填写下面的 key:
| 变量 | 默认 | 何时填写 | 说明 |
|---|---|---|---|
ANTHROPIC_API_KEY |
empty | AI_PROVIDER=anthropic |
Anthropic Claude 运行时 key;可配 ANTHROPIC_MODEL_FAST / ANTHROPIC_MODEL_CAPABLE。 |
OPENAI_API_KEY |
empty | AI_PROVIDER=openai |
OpenAI 或兼容接口 key;DeepSeek、Moonshot、通义千问、Azure OpenAI 等兼容服务也走这里。 |
OPENAI_BASE_URL |
empty | 使用 OpenAI 兼容网关时 | 留空表示 OpenAI 官方地址;兼容服务填对应 base URL。 |
TUSHARE_TOKEN |
empty | 需要 Tushare Pro A 股数据补充时 | 可选行情 provider;TUSHARE_QFQ_ENABLED=true 才启用 qfq daily fallback。 |
TICKFLOW_API_KEY |
empty | TICKFLOW_ENABLED=true |
TickFlow 行情 provider key;启用后作为 CN daily 优先来源。 |
IFIND_MCP_TOKEN |
empty | IFIND_MCP_ENABLED=true |
iFinD MCP observe-only 适配器 token;用于显式 probe,不默认写入行情链路。 |
TAVILY_API_KEY |
empty | 需要实时新闻/搜索补充时 | DB 新闻不足时可补充 Tavily;阈值由 TAVILY_SUPPLEMENT_THRESHOLD 控制。 |
ANSPIRE_API_KEY |
empty | deep research 或严格事件新闻抓取 | Anspire 搜索 key;窗口和数量由 ANSPIRE_NEWS_* 控制。 |
BARK_KEY |
empty | 需要 iOS Bark 推送时 | 可选通知 key;自建服务可改 BARK_SERVER。 |
MINGCANG_AGENT_API_KEY |
empty | MINGCANG_AGENT_MODE=remote |
远程 agent 暴露必须设置;本地 local 模式不需要。 |
相关开关和限制:
# 本地 LLM:默认不需要云 key
AI_PROVIDER=local_cli
LOCAL_CLI_PREFER_CODEX=true
# 云 LLM 二选一
# AI_PROVIDER=anthropic
# ANTHROPIC_API_KEY=...
# AI_PROVIDER=openai
# OPENAI_API_KEY=...
# OPENAI_BASE_URL=
# 可选数据/搜索/通知 provider
TUSHARE_TOKEN=
TICKFLOW_ENABLED=false
TICKFLOW_API_KEY=
IFIND_MCP_ENABLED=false
IFIND_MCP_TOKEN=
# TAVILY_API_KEY=
# ANSPIRE_API_KEY=
# BARK_KEY=远程暴露是 opt-in,默认只读:
MINGCANG_AGENT_MODE=remote
MINGCANG_AGENT_API_KEY=your_secret_key
MINGCANG_AGENT_REMOTE_WRITE_ENABLED=false
MINGCANG_AGENT_REMOTE_WRITE_ACTIONS=.env、数据库、个人交易记录、真实 key 不进 Git。
| 文件 | 内容 |
|---|---|
| docs_public/index.md | 明仓公开文档首页:推荐导航、最短路径、核心能力 |
| docs_public/USER_GUIDE.md | 使用指南:demo、单股研究、每日扫描、长期论题、复盘记忆 |
| docs_public/FEATURE_MAP.md | 功能目录:每个功能的说明、入口、状态、写入/信号/Key 边界 |
| docs_public/DEVELOPER_GUIDE.md | 后续开发指南:加页面、API、action、研究模块、量化模块 |
| docs_public/REFERENCE.md | 参考手册:CLI、API、配置和关键文件 |
| AGENTS.md | Agent 使用规则和安全边界 |
| PROJECT.md | 代码库导航和关键文件索引 |
| STATUS.md | 当前生产状态、信号权重、测试入口 |
| CHANGELOG.md | 版本历史和已完成更新 |
| CONTRIBUTING.md | 开发环境和贡献流程 |
| docs/ARCHITECTURE.md | L0–L4 层架构、Case 类型、融合逻辑完整说明 |
| docs/WHY_NOT_AI_STOCK_PICKER.md | 为什么明仓不是 AI 选股器:LLM 边界、ATR 纪律、记忆门控 |
0.5.0 起,公开文档、Pi 终端、安装器、launcher、MCP 工具示例和远程 agent 配置统一使用 明仓 / MingCang 命名。早期过渡期兼容入口已移除;新安装和本机启动入口只使用 mingcang。
- 把整套研究模型重做成案卷式研究决策闭环(研究 → 信号 → 持仓 → 复盘 → 记忆);
- 定位转向"放大人的判断、用前向证据守门",新增论题进口通道和证伪记分牌;
- 新增开箱即用的
mingcangPi 终端壳,降低使用门槛; - 扩展 A/HK/US 只读全球数据,强化数据质量与复权口径护栏。
明仓是个人研究工具,不构成投资建议。系统不自动下单,LLM 不做价格预测,止盈止损由 ATR 公式和风险约束生成。所有交易决策和资金风险由使用者自行承担。
明仓的愿景,一句话:让 AI 放大你的判断,而不是替你拍脑袋。 你和你信得过的研究者、成熟框架负责判断;明仓负责盯住、查漏、复盘,并把验证过的经验沉淀成记忆。
研究上坚持的原则:
- 判断主要来自人和成熟框架,不靠模型猜价格。 主力是你自己,以及景气、财务质量、供应链等框架给出的判断;靠价格走势"算命"这条路回测过,没有效果。
- AI 只做两件事:扩广度、挑毛病。 帮你扫到一个人看不过来的线索(永远是待验证的猜想),并替你反驳假设、盯失效条件、在亏损前预警。
- 新能力要先用真实结果证明,才能影响决策。 这也是当前的实际状态:完整的研究闭环(L0–L4)已经落地,但默认休眠、量化层关闭;任何更强的信号或模型,都要先通过前向证据门控(IC / ICIR、独立样本、数据质量),并经你确认,才逐层激活。在那之前,生产信号只用一套朴素公式(技术 0.6 + 情感 0.4 + ATR 移动止损)。
- 只记住被结果验证过的经验。 一条判断对不对,要等结果出来、复盘通过才算数——不会因为"讲得有道理"就被记成真理。
工具上,接下来要做的:
- 用前向证据逐层激活闭环。 持续积累纸上交易和前向样本,验证一层、打开一层,而不是一次性上线。
- 接入港股和美股。 现在 A 股是主战场,港 / 美股还是只读研究态;下一步做成和 A 股一样可研究、可跟踪、可复盘的完整链路。
- 打磨前端后端、做成好用的软件。 让不写代码的人也能一键装好、开箱即用,而不只是一套给开发者的脚本。
