摘要:V3 是一套能跑的系统,V4 是一个能装下你自己策略的框架。这四个月里这套系统在真实市场持续跑、也持续付学费,学费买到的最贵一条是:决策和执行不分开,纪律就是空话。V4 新增 Console 可视层(把纪律变成物理闸门)、Agents 运行时编排层、BrainStorm 思考沉淀层、账户级纪律层与问财数据适配层,同时做了一件反直觉的事——把我自己的仓位数字从公开仓库里全部删掉。V4 是纯增量升级,不动你的任何数据。
先说结论
如果你只想知道 V4 和 V3 差在哪,一句话:
V3 解决的是「信息处理不过来」,V4 解决的是「想清楚了却没照做」。
这是两个完全不同的问题。V3 那套 Eyes → Brain → 持仓与关注的链路,把信息压缩这件事做完了——每天四份报告,该看的都在里面。但报告看完之后呢?开盘那一刻,你还是会因为盘面一根阳线,买进一只昨晚根本没想过的票。
信息焦虑是能被系统解决的。动作变形不能,除非你给它加一道物理闸门。
V4 就是那道闸门。
先给要升级的人一颗定心丸:V4 是纯增量升级——加了三个新目录(Console/ Agents/ BrainStorm/)+ 改了文档和 SOP,没有改动任何一个存放你个人数据的文件。你的投资偏好、状态机、个股文件夹、报告归档,在 V4 的提交里一行都没碰。具体怎么升在文章后半段。
V3 之后这四个月,我付的学费
V3 发布是三月中旬。之后这四个月,这套系统每天在跑,我也每天在用。
学费主要交在一个地方:我把产生决策的任务,排在了早上。
最初的定时任务配置是这样的:投资雷达早上 08:30 跑,收盘后不看盘,第二天起来看完雷达就开盘。听起来很合理——最新的数据、最新的判断,然后立刻执行。
实际发生的是:我每天都在盘前临时做决策,然后带着刚出炉的判断,冲进开盘的情绪里。
雷达 08:30 出报告,09:00 开盘。中间那半小时,我在读一份自己还没消化的分析,同时盯着集合竞价跳动。这不是决策,这是应激反应。
后来我把雷达整个挪到 16:45 收盘后,让它同时干三件事:账户曲线体检、连续不盈利的熔断判定、输出「次日决策定调」。
动作从「盘前想」变成「昨晚就想完了」。第二天早上,我只是在执行一份已经存在的计划。
如果你从这篇文章里只拿走一条,就是这条:把产生决策的任务,全部挪到收盘后。
V4 的很多设计,都是这一条的展开。
V4 到底加了什么
下面五块是这次更新的重点。按重要性排,不按目录排。
一、Console 可视层:把纪律变成物理闸门
V3 里,纪律是写在 SOP 里的文字。P12 会审查、会提醒、会说「这笔不符合你的规则」。
但文字拦不住人。你可以看完提醒,然后照买不误。
V4 新增的 Console/ 是一个本地跑的可视层,三个页面共用一个服务、一个端口(默认 127.0.0.1:5273):
| 页面 | 什么时候用 | 干什么 |
|---|---|---|
| 交易计划台 | 收盘后 | 定调、审持仓、审观察、列明日动作 |
| 新高买卖决策台 | 出手前 | 开新仓 / 加仓 / 止盈 / 止损各一组门,全绿才允许扣扳机 |
| Reader | 任何时候 | 把散在十几个目录里的报告聚成一页 |
决策台:四组门,一条都不能漏
「开新仓」这个动作,要过四组门:
| 门 | 检查什么 |
|---|---|
| 前置 · 开盘防冲动 | 在收盘计划内 / 不是冲动买回 / 试仓规模合规 |
| 核心新高门 | 核心卡位 / 突破新高 / 市场环境 Risk-on / 行业 Beta 向上 / 板块中军主升 |
| 股性门 | K 线毛刺少 / 大阴柱少 / 走势流畅 / 摩擦成本低 / 体感过关 |
| 提前量门 · T+1 | 明日预演能不能做出来 / 涨幅体检 |
其中第一条是这样的:
在收盘计划内 —— 这笔买入是昨晚收盘计划里定好的,标的、条件、买点都想过,不是盘中临时起意。盘中冒出的新机会:只进 Watchlist,今晚收盘再审。
如果昨晚的计划里没有这只票,这道门就是红的。你依然可以强行买——没有人能阻止你下单——但你会看到自己在违规,而且这次违规会被写进 Brain/决策审计/。
止盈和止损也各有内核。止盈的内核只有一句:「我判断这只票明天大概率不会再涨了」;止损是「买入逻辑已失效,且明天大概率要跌」。核心判断没勾清,或者一条触发条件都没命中,那你现在想卖的可能只是盘中情绪,不是纪律。
计划与执行的联动
交易计划台定好的计划,会自动带到决策台的各个 tab:计划内的动作变绿,计划外的变红拦截。这就是「决策在收盘后做完,开盘只执行」在产品上的落地。
三个工程上的取舍
- 后端是 Python 标准库写的,零第三方依赖,只绑
127.0.0.1,不对外暴露。 - 数据全部落成你自己 vault 里的 Markdown——交易计划写到
Brain/交易计划/YYYY-MM/,决策留痕写到Brain/决策审计/YYYY-MM/。没有数据库,没有私有格式。 - 不启动服务也能用,退化为本地暂存 + 导出(.md / 剪贴板 / JSON / 打印)。
规则是外置的
rules.example.json 里的门禁只是一份样例,不是标准答案。复制成 rules.json 就能换成你自己的门禁和仓位口径,删掉某个字段就回退到内置默认。想改得更彻底,直接让你的 Agent 改页面——它就是几个静态 HTML。
二、Agents:从「一堆 SOP」到「4 个角色 + 一条调度链」
V3 有十几份 SOP,每份都说清楚了「这件事怎么做」。但没说清楚「谁来做、按什么顺序、能写哪些文件、怎样算完成」。
V4 加了 Agents/,把它升级成四个角色:
Market Insight ──→ Investment Radar ──→ Strategy ──→ Portfolio State
看市场 收盘审计 + 定调 做分析 状态写回
两条硬规矩:
- 顺序不能乱——洞察 → 雷达 → 策略 → 状态写回。跳步的结果是下游读到半成品。
- 状态写回只有一个出口——四个角色里只有 Portfolio State 能改状态机。多个出口 = 状态不一致 = 系统开始骗你。
每个角色配了五段式执行手册(EXECUTION_PLAYBOOK.md):前置检查 → 执行步骤 → 异常处理 → 成功判定 → 写回边界。定时任务的提示词同时读角色卡 + Playbook + 对应 SOP,角色边界才真正生效。
这里要澄清一个容易误会的点:Agents/ 是协议,不是四个自动运行的进程。 把文件复制进目录不会自动注册任何任务,实际运行仍然由你或你的宿主定时任务触发。
宿主无关:Claude Code / Codex / OpenClaw 等都能用。多数宿主目前只给你一个主控会话,所以是单主控按顺序扮演 4 个角色,不是真并发——这已经足够把编排的好处拿到手。等宿主支持真子 agent,协议直接映射过去,文档不用改。
三、Reader:把十几个目录聚成一页
Reader 在 V4 里合并进了 Console/,跟两个决策台共用同一个端口,只需启动一个服务。
config.json就是目录对照表:整块目录配置外置成 JSON,示例已按 V4 结构配好六个分区。想改 Reader 显示什么,改配置,不用动代码。- 七种扫描模式:
tree/flat-md/flat-whitelist/tree-text/flat-text/latest-month-dirs-text/recent-days-text,按每个目录的实际形态挑。 - 能接 YMOS 之外的目录:
roots里加一条就行,支持绝对路径和~。 - 「📅 今日全家桶」一键载入当天所有日报;
⌘K过滤;右键复制路径 / 打开位置 / 用 Obsidian 打开。 - 跨平台:文件管理器和剪贴板在 macOS / Windows / Linux 分别走各自命令(原版只支持 macOS)。
- 只读:Reader 只能读
reader_pages里允许的目录,flat-whitelist会校验精确文件名,不能靠猜路径读到同目录的其他文件。只有计划目录和审计目录允许写入。
四、纪律层:单票纪律管不住账户级风险
V4 新增了四份纪律文件 + 两个 P 系列提示词。其中我认为最被低估的是 账户资金曲线.md。
账户资金曲线
大部分人只盯单票盈亏。但决定你能不能活下来的,是账户级的状态:
- 连续几周不盈利,问题通常不在选股,在风险偏好——该降敞口,而不是换标的。
- 曲线在最高点时最危险:这时最容易追加本金、放大仓位,回撤会被同步放大。
- 单票赚钱但账户不涨,说明摩擦成本或仓位分配有问题,看单票永远看不出来。
记录方式很轻:每交易日收盘后追加一行,只记事实不记情绪,粒度宁粗勿断——哪怕只记「盈 / 亏 / 平」,也比断了好。
有了这张表,「连续 N 周不盈利就熔断」才是一条能执行的规则。没有它,那就是一句口号。
其余三份
| 文件 | 解决什么 |
|---|---|
SOP_周度复盘.md | 用账户曲线定下周攻防基调,含熔断规则和新高三禁(禁加本金、禁放大仓位、禁开非计划新仓) |
击球区注册表.md | 把买点从「盘中的感觉」变成「盘前定好的条件」。字段里最关键的是 evidence_needed——还缺哪些证据才敢下手,诚实填写,这是防自欺的关键 |
主线首发信号跟踪.md | 板块级首发信号(SIS)与代表权判断:中军 / 弹性龙头 / 稀缺卡点 / 低估值补涨四个角色,加上势能阶段判定。后段和退潮 = 追高必死区 |
两份都有同一条纪律:区间命中 ≠ 买入信号,首发信号 ≠ 买入信号。 它们只触发「盘前预备卡」,真实买入仍要走 P5 + P12 + 你自己拍板。还有一条:状态失效了改 status,不要删行——删掉就看不到自己当初为什么等、后来又为什么放弃了。
两个新提示词
- P17 核心资产判定七问 — 含股性 / 可持有性评估,Raise-and-Beat 加权
- P18 每日异动 × 核心资产扫描 — 把每天的异动池和你的核心资产库做交叉
外加 Brain/SOP_单标的P9P17专项调研.md,给你人工点名某只票时的深研入口。
五、BrainStorm:接住那些没法结构化的东西
投资里最重要的东西,往往是最没法填进表格的:复盘时突然想通的一句话、反复出现但说不清的困惑、同一个错误犯了第三次时的那种烦躁。
这些东西不写下来,三个月后你会原样再犯一次。
BrainStorm 是个三层结构:
Raw_Thoughts(原始输入,按日保存)
↓ AI 整理
Summarized_Insights(提炼,按月归档)
↓ 同类感悟出现 ≥3 次才升级
MEMORY.md / 投资感悟归档 / 状态机(长期)
投资感悟归档 里有三个抽屉:短期灵感 → 长期框架 → 执行清单,逐级升格。判断标准很简单:如果这条三个月后还成立,写进 MEMORY;只在这周成立,写 Insight。
MEMORY.md 里我认为最值钱的是「❌ 已证伪 / 已放弃」那一栏——记下你曾经相信、后来发现是错的东西,以及为什么。没有这一栏,你会隔一年再信一次。
但真正让 BrainStorm 有意义的是最后那一步回写:
决策留痕 / 周度复盘 / P11 复盘 → 感悟 → 升级为原则 → 回写
当前关注方向与投资偏好.md→ P5 / P12 在你下次出手时用它拦你。
这个闭环是 BrainStorm 存在的全部理由。感悟不回写,就永远不改变行为。 你只是换了个地方感慨而已。
配套的 brainstorm_memory.py 是个零依赖的上下文加载器,AI 每次头脑风暴前自动读长期记忆和最近 Insight。
六、问财数据适配层(可选 · Beta)
A 股用户的结构化数据增强。这一层完全可选,不配也不影响主链路。
首发适配两条链路:A 股 What’s Hot(hithink-astock-selector)和美股条件选股(hithink-usstock-selector)。公告 / 研报 / 新闻 / 财务四个入口随仓库提供,但标记为实验性,启用前建议用自己的 Key 冒烟测试。
配套的新 SOP:SOP_Whats_Hot.md、SOP_美股热门追踪.md、SOP_Watchlist自动建档.md、SOP_核心资产动态判定表.md、SOP_A股核心资产回踩扫描.md。
两个设计上的克制:
- 官方 Skill 不随 YMOS 二次分发。你从问财 SkillHub 自己装,YMOS 只负责跨宿主发现、输出归一化和失败降级。
skill_resolver.py统一解析路径:支持YMOS_SKILL_ROOT环境变量 + 五个常见位置自动查找。Skill 没装时给出安装指引,而不是抛异常——主链路照常跑。
还定了一条信源优先级,我觉得比工具本身更重要:
公告 / 财报原文 > 结构化财务 > 研报叙事 > 新闻事件 > 网页摘要
我把自己的仓位数字,从仓库里删了
这是 V4 最反直觉、但我认为最重要的一次改动。
V3 的 P7(组合检查)里,有这么一行:
确保我的组合符合 “40% 核心 / 20% 卫星 / 40% 现金” 的顶层架构
这是我自己的配置。它适合我的资金属性、我的风险承受度、我的持仓周期。
写在公开仓库里,它就变成了一个看起来像标准答案的东西。有人会照抄。照抄的人里,有人的资金是三年不用的闲钱,有人的资金是六个月后要交首付的——同一组数字,对这两个人是完全不同的风险。
所以 V4 把这件事彻底分开了:
| 层 | 内容 | 谁负责 |
|---|---|---|
| 框架层 | 工作流、运行时、状态机、决策闸门、复盘与阅读工具 | 公开仓库提供 |
| 个人 Constitution 层 | 能力圈、持仓周期、风险偏好、买卖门槛、仓位阈值、行为弱点 | 你自己填 |
公开版现在只保留相对原则:
- 曲线顺 → 正常仓位,不临时放大总敞口
- 震荡 → 仓位减半,降低风险偏好
- 回撤中 → 暂停开新仓,如确需验证只用你定义的最小试探仓
至于「回吐多少算触发」「连续几周算熔断」「单票上限多少」「最多持几只」——全部由你预先定义。V3 里那些「2–3 手」「回吐 1/3」「连续 3 周」「最多 3 个持仓」的默认值,已经全部清掉了。
系统只剩一条硬约束:盘前写好、写死,不在盘中临时改口径。
这也是为什么 V4 的定位不再是「勇麦投资策略的复制品」,而是让任何投资者把自己的投资思想代码化的基础设施。
我的策略是我用真金白银试出来的,它对我成立。但它不是你的,也不该假装是。
V3 用户怎么升级
先说结论:V4 是纯增量升级,不需要重装,也不会动你的数据。
你的数据在哪
升级前先认清这几个文件——它们在仓库里以空模板形式被跟踪,而你本地已经填满了内容:
| 文件 | 里面是什么 |
|---|---|
持仓与关注/当前关注方向与投资偏好.md | 你的投资灵魂文件 |
持仓与关注/持仓_状态机.md | 你的持仓真相源 |
持仓与关注/Watchlist_状态机.md | 你的关注真相源 |
持仓与关注/持仓备忘录_视图.md | 收口生成的状态快照 |
其余的都安全:个股文件夹、历史报告、.env、自定义 RSS 源,全部已被 .gitignore 忽略,升级碰不到。
方式一:用 git(推荐)
cd 你的YMOS目录
git stash # 如果你改过被跟踪的文件,先暂存
git pull
git stash pop # 把你的改动放回来
为什么这样是安全的:V4 的提交没有修改上面那四个文件。git 只在「你改了 A,上游也改了 A」时才产生冲突——这里上游没动,所以你的内容会原样保留。
真出冲突也只可能在 rss_sources.json 和 .env.example 上(V4 改了里面的版本注释串),保留你自己的版本即可。
方式二:下载 ZIP(⚠️ 这里最容易出事)
如果你不用 git 而是解压覆盖,直接覆盖会清空你的投资偏好和状态机,因为仓库里那四个文件是空模板。
正确姿势是:先备份 → 解压到独立目录 → 只把新增的和框架类的拷过来(Console/、Agents/、BrainStorm/、Brain/references/、各类 SOP、根目录文档),那四个文件一个都不要拷。
三个新增模板可以放心拷,V3 里没有它们:
账户资金曲线.md、击球区注册表.md、主线首发信号跟踪.md。
无论哪种方式,升级前先 cp -r 持仓与关注 ~/ymos-backup 备份一份。一分钟的事,省掉所有心理负担。完整步骤见仓库里的 UPGRADE.md。
升级后做三件事
1. 启用 Console
cd Console
cp config.example.json config.json # 编辑它,指向你的 vault
python3 server.py
打开 http://localhost:5273。三个页面共用这一个端口,零依赖,不用装任何包。
2. 起用 BrainStorm(可选但建议)
对 AI 说「开始今天的头脑风暴」即可,目录已经建好。
3. 让 Agent 重读文档
先读 总入口暗号.md 和 AGENT_GUIDE.md,我升级到 V4 了
V4 新增了运行时协议、新暗号和若干 SOP,Agent 需要重新加载路由表。
三个常见疑问
Q:我 V3 用得好好的,非升不可吗?
不是。V3 的三模块链路在 V4 里一行没改,你可以继续用。V4 加的是执行层的闸门和沉淀层——如果你觉得自己「知道该怎么做但盘中总是做不到」,那 V4 才对你有意义。
Q:升级会影响我的定时任务吗?
不会。原有的四步闭环暗号完全不变,V4 新增的暗号是加法,不覆盖旧的。
Q:我改过 P 系列提示词,会被覆盖吗?
会。Brain/references/ 是被跟踪的框架文件,改造过就用 git 的 stash/pop 流程,或升级前备份。长期建议:把你的个性化改动记在 BrainStorm/投资感悟归档/长期框架/ 里——这样即使文件被覆盖,你的思路还在。
推荐 Agent 工具:分清「统筹层」和「执行层」
YMOS 能在任何支持文件读写 + Python 执行的 Agent 环境里跑。但「能跑」和「值得当总管」是两件事。
① 统筹层:负责长期记忆与协调的常驻框架(建议只选一个)
- 推荐 Hermes(Nous Research 开源)——本地运行、数据不出本机,文件读写 / 代码执行 / 定时任务 / 持久化记忆齐全。我目前的 YMOS 就是以 Hermes 作为整体 Agent 框架在跑的,记忆、角色编排、任务串联都收在这一层。
- 也可以用 OpenClaw(龙虾)——同样本地优先,支持定时任务与 subagent 编排。
为什么统筹层建议只选一个:YMOS 的价值来自状态机、账户曲线和长期记忆的连续性。两个框架各记一半,你就有了两份互相不知道对方存在的记忆——这比没有记忆更糟。
② 执行层:按单个对话 / 单个任务调用(可以多个并存)
- Claude Code / Claude Cowork、ChatGPT Codex 都很成熟。我的实际用法是把部分定时任务 routing 给 Claude Code 或 Codex 分担,跑完把产出写回 YMOS 目录,统筹层照常读文件,互不冲突。
- 文档里推荐的其他 Agent 工具,实际用下来都能跑通 YMOS。跑一次深研、改一份 SOP、调一个脚本这类单次任务,挑顺手的用就行。
一句话:统筹记忆与协调用 Hermes,具体任务谁顺手用谁。 执行层换来换去没关系,因为真相源始终是磁盘上那些 Markdown,不是某个 Agent 的会话上下文。
定时任务:先只配三个
V4 附了一份 Agents/SCHEDULES_REFERENCE.md——一套真实跑了几个月、迭代过二十多版的配置,含 A 股 / 美股双链路时间表和五条踩坑约束。
但我不建议你照抄全套。第一次配定时任务,先配这三个跑两周:
| 优先级 | 任务 | 理由 |
|---|---|---|
| 1 | 市场洞察(每个交易日早上) | 最低成本的信息压缩,跑不跑得通一眼看出来 |
| 2 | 投资雷达(每个交易日收盘后) | 决策与执行解耦的核心,价值最高 |
| 3 | 周度复盘(周日晚上) | 账户级视角,防止你只盯单票 |
两周后你会很清楚:哪份报告你每天都点开,哪份你从来没看过。然后再决定加什么、停什么。
关于「停什么」,判据只有一条:
这个任务的产出,我最近一个月真的看过吗?
一个健康的配置,长期启用的任务应该在 4–6 个。超过十个,说明你在用定时任务缓解焦虑,而不是在解决问题。
顺带一提美股链那个容易配错的坑:运行日是周二到周六,因为美股周一收盘对应北京时间周二凌晨。配成周一到周五的话,周一凌晨会跑一个空的。
系统的本质
跟 V3 那篇一样,最后还是这句:
YMOS 不帮你赚钱——它帮你不犯低级错误。
V4 只是把这句话往前推了一步:它帮你在最想犯错的那一刻,还能按自己定好的规矩走完。
把信息焦虑交给 Eyes,把分析苦力交给 Brain,把状态记忆交给持仓与关注,把纪律执行交给 Console,把长期认知交给 BrainStorm。你腾出来的时间和精力,用在投资里真正值钱的事上:
- 打磨策略 — 优化你的判断框架
- 做关键判断 — AI 给建议,你盖章
- 深度调研 — 自己读研报、跟踪行业、理解公司
第 3 点尤其重要。AI 能帮你建档和跑分析链路,但真正的认知差来自你对公司的深度理解。你手动放进个股文件夹的研报和笔记,都会自动成为 AI 后续分析的上下文——你研究得越深,AI 的输出质量越高。
你的系统,你做主。
📦 文档与资源
- GitHub 仓库:github.com/Evan-XYZ/YMOS —— 直接 clone
main分支即可,不用挑版本 - 完整文档:yongmai.xyz/ymos-docs/
- 升级指南:仓库内
UPGRADE.md(V3 用户升级前必读) - 更新日志:仓库内
CHANGELOG.md(版本历史唯一真相源) - 投资策略诊断模块:github.com/Evan-XYZ/ymos-diagnosis(独立开源,不装 YMOS 也能用)
📧 联系
- 邮箱:[email protected]
- 公众号 / 抖音:勇麦
⚠️ 它不预测行情,也不告诉你买什么。 行情不可预测,只能应对。
YMOS 解决的是另一件事:把你自己的判断流程固定下来,让你在最容易犯错的时候,还能按自己定的规矩走完。
本文不构成任何投资建议。二级市场九死一生,只要还参与、唯一活路就是保持进化。