# 复盘决定台账 这份台账记每一条影响候选单的规则改动:改了什么、依据是哪份读数、预期看到什么、什么时候复核。 复盘周报第八节"台账对表"逐条核对这里的预期有没有兑现。只记决定,不记讨论过程。 新条目追加在最后,不改旧条目;旧条目被推翻时在它下面加一行"撤销于某日,见某条"。 格式:日期、改动、依据、预期、复核日期。 --- ## 001 · 2026-09-02 · 候选卡规则定稿(上线前) - 改动:桥每天出候选单。三条硬门槛(所在环节当日被传导指向;数据日涨幅达到 3%;有券商覆盖、预期空间不低于负容忍线、非 ST 与退市族),一条确认(决策系统吸筹评分为"明确吸筹",评分日龄不超过三十个交易日),三条硬风险(决策系统昨夜信号为 SELL、AVOID 或 DROPPED;传导快照日与计划日不符;吸筹评分为"高位派发")。三门槛全过、无硬风险、确认成立判"候选";只差覆盖或缺确认判"关注";其余"仅展示"。 - 依据:方案 1.8d 纯可交易口径,"已启动且明确吸筹"五日 +2.18、十日 +1.94(103 样本),是唯一两个期限都超过一个百分点的组合;"未动成员"在任何环境都负。 - 预期:候选卡上线后的样本外计划日上,候选单按计划日等权五日超额为正、跑赢过半,且不劣于生产名单。 - 复核日期:上线满二十个计划日后(预计 10 月上旬)。样本不足只写方向。 ## 002 · 2026-09-02 · 两个旋钮保持默认,不在历史样本上挑参数 - 改动:启动阈值 CARD_START_PCT 默认 3(与热点扫描"已动"口径相同),评分日龄 CARD_ACCUM_MAX_AGE 默认 30。 - 依据:3% 是现状口径不是验证过的最优值;1.8d 里涨幅 6% 以上的 24 个样本 +6.41,提示阈值有上调空间,但样本不足百。 - 预期:不调。等样本外读数按涨幅分档后再拍。 - 复核日期:与 001 同批。 ## 003 · 2026-09-02 · 弱势日定义 - 改动:环境标签的"弱势日"定义为决策系统区制快照里八个指数中弱势个数达到三个(桥旋钮 REGIME_WEAK_COUNT=3)。标签只展示与复盘分组,不拦任何票。 - 依据:方案 1.8e,过去五日或十日全池收益对未来没有预测力(相关 −0.28、−0.55),可交易的闸没有定义;决策系统已有带迟滞的区制判断,复用它。 - 预期:按事前标签分组后,弱势日的候选单与生产名单五日超额和命中率都低于非弱势日、方向稳定、弱势日不少于二十个,三条同时满足才标"已验证"。 - 复核日期:线上标签累计满二十个弱势日后。 ## 004 · 2026-09-02 · 复盘主口径 - 改动:复盘周报的主口径按计划日等权(每个计划日先算名单均值,再跨日平均,一天一票);样本加权的三列(带 _w 后缀)只用于与方案第一节的手工读数对账。起点价常规取次日收盘,对账时取信号日收盘。 - 依据:09-02 对账实测,样本加权四档读数与手工逐位一致(−2.04、−0.39、0.00、+0.52),但候选单样本加权 +4.56 而按日等权只有 +0.35,正收益集中在候选多的少数几天。按日等权更保守,不让一天的大名单主导结论。 - 预期:周报第一节两种口径并列,结论以按日等权为准。 - 复核日期:不复核,口径定义。 ## 005 · 2026-09-02 · 历史重建的吸筹口径 - 改动:决策系统结论表只取不晚于数据日的最新一行(生产上与"取最新一行"等价)。 - 依据:复盘重建历史日时若取每票当前最新行,历史日会读到今天的吸筹状态,是前视。 - 预期:候选单历史重建读数只降不升(对账实测:53 样本 +0.20 改为 46 样本 +0.35,方向不变)。 - 复核日期:不复核,口径修正。 ## 006 · 2026-09-02 · PMS 新建仓自主档改"只提议" - 改动:PMS 运行参数 PMS_OPEN_AUTONOMY 从 full 改为 propose_only(155,参数表 pms_runtime_param,updated_by 标 claude)。回退是同样命令设回 full。 - 依据:生产名单(PMS 拿到的强传导前 N)五日超额 −2.02、跑赢 33.9%,是四档最差;候选来源切换要等样本外复盘过线。 - 预期:PMS 新建仓改由人工裁决,自动止血;模拟盘只在 155。 - 复核日期:候选来源切换拍板时(001 复核之后)。 ## 007 · 2026-09-02 · 坏信号集合三处同源 - 改动:坏信号集合 {SELL, AVOID, DROPPED} 在桥内归一到 card.BAD_SIGNALS,pool.py 从它引用;决策系统 pms_advisor.py 与 PMS rule_gate.py 各自写死,三处同改。 - 依据:方案 1.11 三处同源纪律。 - 预期:任何一处改集合时另外两处同一提交内改。 - 复核日期:不复核,纪律。 ## 008 · 2026-09-02 · 池深不变式:PMS 计划深度改回 50 - 改动:PMS 运行参数 PMS_PLAN_TOP_N 从 100 改为 50(155,参数表 pms_runtime_param,updated_by 标 claude),与桥入池的 POOL_TOP=50 对齐。用户拍板选项二。回退是同样方式设回 100。 - 依据:方案 1.11,主榜第 51 到 100 名的强传导票 PMS 能买、却不在决策系统夜间分析池里。用户认为 100 与 50 差别不重要,先对齐。 - 预期:PMS 探针的合格候选数不变(改前基线 41 只,因为强传导档本身不足 50 只);池深不变式恢复成立。历史复盘的交付名单不受影响(有快照的日子名册最多 48 只,没有触及 50)。 - 复核日期:候选来源切换时一并看。 ## 009 · 2026-09-02 · 候选卡与快照上线(155 生产) - 改动:生产桥仓库拉到 117f77b(候选卡、快照、环境标签、复盘脚本、风险名单只读一次、平台注册状态旋钮)。代码是卷挂载,构建、计划、入池脚本即刻用新代码,当日快照从 09-03 起自动落;常驻接口进程要重启桥容器才加载新代码,重启由用户执行(Claude 的重启命令被权限分类器拦下,属红线项不绕过)。入池来源保持档位(POOL_SOURCE=tier)、切片关闭,PMS 行为不变。决策系统接口地址(REGIME_API_URL)待用户写入配置并重建容器后环境标签才有值,之前为"未知"。 - 依据:方案 2.6 执行顺序;上线前核对——一次性容器计划与入池干跑通过、两套单测通过、决策系统接口从 155 可达。 - 预期:每交易日 07:10 起落当日快照(data/plan/plan_<数据日>.json)、接口带生成时刻与代码版本;PMS 探针合格数与改前一致。**样本外计划日从 09-03 起算**,台账 001 的复核样本只认这之后的日子。 - 复核日期:09-11 首份周报核对 09-03 起快照连续性(断一天,那天的候选单就退回重算并带前视,样本外读数从一开始就不干净)。 ## 010 · 2026-09-02 · 复盘口径四条(对"读数都为负"的处置,只在读数层) - 改动:一,"生产名单"改名"强传导交付名单",它是 PMS 拿到的强传导全集(已核实 PMS 的计划快照落在本地筛选之前),与主榜"档位=强传导"分组是同一件事的两个读法,周报里结论只计一次;进评审名单另取 PMS 动作账本的 OPEN 行,不在桥里复现 PMS 的本地筛选。二,无 PMS 快照的日子(07-29、08-24)交付名单当日剔除并注记,不再退化为桥重算。三,汇总表加相对主榜等权、相对同市值桶两列超额,六份名单都算;跑赢比例读它时与全池自身跑赢比例(本期 44.2%)相减,只作读数,不改 001 的"跑赢过半"门槛。四,候选单附逐日表与最大单日样本占比;样本纪律按方案 2.4 只标"可读"与"方向"两档,二十日在计划日不足二十之前不进结论,跌周候选单与关注单只写样本不足。 - 依据:09-02 对抗验证保留项。生产名单相对主榜 −1.63、相对同市值桶 −1.64(复盘常规口径,五日),贝塔解释不掉;环节名单相对主榜 +0.12,定位不负、选票负;候选单最大单日样本占比 40%,读数由一天主导。 - 预期:首份周报(09-11)按此出。历史重建读数定性为"候选卡上线前对旧规则的判决",不据此改任何规则、参数或 PMS 设置。 - 复核日期:不复核,口径定义。 ## 011 · 2026-09-02 · 过渡期人工裁决原则 - 改动:PMS 新建仓提议(来源仍是强传导档)由人裁决,默认拒;只批桥当日计划里判决为"候选"且硬风险为空的票。判决为"关注"的不批(潜在吸筹市值中性后为负,不升格)。环境标签只当背景,不写成裁决规则。每次拒绝在 PMS 里留下理由,被拒绝名单进复盘。看哪些字段见桥仓库 docs/人工裁决看什么_2026-09-02.md。 - 依据:交付名单五日 −1.92、跑赢 33.4%;台账 006 已改只提议;PMS 不读判决字段,人必须另开桥的计划看。 - 预期:过渡期自动跑进执行链路的只剩两份名单(入池的强传导前 50、PMS 的强传导前 50 作提议),其余全是给人看的。人批与人拒的票在复盘里分开算,读出人在环路的价值。 - 复核日期:与 001 同批。撤销条件:见 012 修订后按一致性检查。 ## 012 · 2026-09-03 · 判收标准改为一致性 - 改动:所有规则与切换的判收不再以样本数或收益读数为门槛,只看系统逻辑、实现、设计目标三者是否一致(《主观量化系统方案_2026-09-03》第四节一致性检查表)。001、003、010、011 里"样本外满二十个计划日""过线""跑赢过半"等写法据此修订为"一致性检查通过并经人复核"。复盘读数每周照出,作观察与案例材料。 - 依据:用户 2026-09-03 定调,二十个样本不够,两百个也不够,样本不是核心。 - 预期:每周五周报"台账对表"节逐行核对一致性检查表;不一致即列入下周修正;不存在"停"。 - 复核日期:不复核,口径定义。 ## 013 · 2026-09-03 · "关注"判决细化为"无法判断" - 改动:候选卡的"关注"只保留一种情况:三门槛全过、无硬风险、但确认线(明确吸筹且日龄不超过三十个交易日)缺失或陈旧。"只差覆盖"与"潜在吸筹"归"仅展示"。关注即"系统无法判断",交人裁决;候选自动进建仓方案;仅展示不出提议。 - 依据:方案 3.2;用户要求系统能识别"我无法判断"再由人裁决;潜在吸筹市值中性后为负、不升格(1.8c)。 - 预期:关注数减少;PMS 人工队列只剩关注态与不可用;人批与人拒理由全部落账本。 - 复核日期:随一致性检查表第三行。 ## 014 · 2026-09-03 · 因果论断与研判结论进候选卡(数据基座两张只读视图建成) - 改动:数据基座库新增 v_factor_logic(因果论断,一行一条,客体是环节时展开到成员并标 via_segment)与 v_factor_judgement(研判结论,读评析表 logic_reviews)。选股系统候选卡把因果论断作证据线展示,不进判决。 - 依据:方案 2.1"研究深度"与 3.3 数据基座表。建成日读数:论断 7,083 条;视图链接 1,996 行、724 只票;公司类论断只链上三成三(解析精确层),是后续提升点。 - 预期:候选卡每票理由能看到"谁利好谁、机制、时效、出处";一致性检查表第一行由"否"转"是"。 - 复核日期:随一致性检查表第一、七行。 ## 015 · 2026-09-03 · 四层链路上线,PMS 按判决分流 - 改动:四个系统同日上线。数据基座建成因果论断与研判结论两张只读视图。选股系统的候选卡读因果论断作证据线,关注判决收窄为"系统无法判断",计划环境段加市场四项,接口带池深与判决字段。择时决策系统修复维持路径的吸筹重算、评分加计算时刻与算法版本、区制快照落历史表、清理明文凭据。PMS 读判决五键并按判决分流(候选走自动流程、关注强制人工确认、仅展示不出提议),人工裁决理由必填,信号来源可区分。增持类自主档从全自动改为只提议。 - 依据:《主观量化系统方案_2026-09-03》第三节。强传导五日跑赢三成三、十日两成一,胜率低,所以增持也改只提议。 - 预期:PMS 的合格候选数明显下降(上线当日七十五只强传导全部是仅展示,合格数为零);关掉分流开关合格数回到三十三只,回退路径已实测。当前开关状态:新建仓只提议、增持只提议、按判决分流开启、判决候选自动执行关闭。 - 复核日期:每周五周报按一致性检查表逐行核对。若连续多个交易日候选与关注都是零,要在周报里说明是市场原因还是门槛过严。 ## 016 · 2026-09-03 · 逻辑证伪由系统自己判定,不等券商开口 - 改动(设计决定,实现待排期):逻辑是否仍成立,由系统按券商的行动而非言辞判定,输出三态——逻辑成立、无法判断、逻辑存疑。判据是同一财年的每股收益预测中位数在两个等长窗口间的变化、覆盖机构数的变化、有无方向相反的因果论断、公告事实有无反证。逻辑存疑只出减持提议强制交人裁决,绝不自动卖。系统不判断产业逻辑本身对不对,只判断支撑它的证据还在不在。 - 依据:用户 2026-09-03 指出券商极少明说不看好(恩捷九家机构全是买入或跑赢行业),所以证伪必须自己得出;这与"系统能识别我无法判断"同源。实机验证:等长窗口下 411 只票可算,下修超 5% 的 132 只,覆盖收缩超三成的 25 只,两负同现仅 5 只。两处口径坑已记录:窗口必须等长(不等长会让八成票假显示收缩),每股收益符号翻转时不算变化率而标记扭亏或转亏。 - 预期:能区分杀逻辑与杀估值。恩捷股份的每股收益预测四个月稳定而市盈率预测从 33 倍降到 24 倍,属杀估值,是可容忍的波动而非证伪。这条区分是第三步"容忍短期波动"与死扛之间的边界。 - 复核日期:实现后随一致性检查表新增行核对。 ## 017 · 2026-09-03 · 个股跟踪报告的投递与优先级 - 改动:券商个股跟踪报告投递到研报目录,与深度报告同目录,类型由文档画像推断。优先级从原先的中档提到高档,与行业深度、公司深度并列。 - 依据:用户 2026-09-03 指出跟踪报告是券商在持续跟踪逻辑,是判断逻辑是否仍成立的最直接材料。 - 预期:候选卡上的因果论断不再只有几个月前的深度报告,能反映最近的跟踪意见。 - 复核日期:随文档更新读数每周核对。 ## 018 · 2026-09-03 · 逻辑状态改为双向四态(016 的修订) - 改动:016 的三态是单向的,只能往下判。按用户 2026-09-03 的要求补上"逻辑强化"这一维,定稿为四态:逻辑强化、逻辑成立、无法判断、逻辑存疑。证据分四路——甲路研报因果论断(方向受控必填,行业环节公司三种粒度)、乙路产业研判(用采信倾向这个受控枚举的迁移,不用预期动向自由文本)、丙路券商行动(预测下修与覆盖收缩双条件)、丁路公司级事件(目前不可用)。四态与候选卡三态正交,不合并;收敛规则单调:强化只能改卡内序与文案不能升判决,存疑只能改分流通道不能把仅展示变成可执行。唯一新语义格子是"候选加逻辑存疑",即可交易口径成立而研究证据走弱,处置为强制人工确认。完整定稿见方案第四之五之三节。 - 依据:用户指出产业研判的风险与催化事件应当同时作为证伪与强化的来源。核实发现系统里已有双向判断(产业研判的采信倾向与预期动向),只是不进链路;行业级方向源不在事件层而在因果论断层(事件谓词客体类型受控集只有公司与实体,结构上不可能有行业级催化)。 - 预期:能区分杀逻辑与杀估值;持仓期有跨日的研究证据跟踪;"无法判断"分证据不足与证据矛盾两个子因,动作不同。 - 复核日期:一致性检查表新增第十四行(持仓期逻辑跟踪),每周五对表。 ## 019 · 2026-09-03 · 必须先修的安全问题:卖出侧自动执行短路 - 改动(待实施,排在任何逻辑存疑落地之前):PMS 的自动执行判据是"方向是卖出,或者档位全自动且未强制入队",卖出在或运算左边直接短路了强制入队;研判闸覆盖的动作集也只有买入侧四类,减仓清仓不经闸。修法不是去掉卖出那一项(风控高置信卖出的自动执行是止损设计,要保留),而是按提议来源区分,逻辑存疑触发的减持强制入队。 - 依据:设计里"逻辑存疑绝不自动卖"这条纪律,在现有通道下上线当天就会失效。 - 预期:修完之后,逻辑存疑产出的减持提议一定进人工队列;风控卖出的自动执行不受影响。 - 复核日期:实施时以单测钉住,随一致性检查表第十四行核对。 ## 020 · 2026-09-03 · 上下游业绩传导与产业级驱动跟踪:核实后搁置 - 决定:用户提出的两条新"逻辑强化"来源,核实后都搁置,不进四态设计。跟踪高管表述变化那一类用户已明确不做(采集不到)。 - 依据:第一条(下游业绩带动上游)覆盖撑不起系统性信号——两端能对上 A 股代码的可信供应关系只有 450 条、171 家上游、211 家下游,其中 66 家下游能算业绩修正、15 家上修;真实产业链的下游大量是境外龙头(我们没有它们的盈利预测,用户举的世运电路对特斯拉正落在这一侧);供应关系已停止更新,接进来会恒定落到证据不足。第二条(产业级驱动跟踪)结构对但驱动方是自由文本没有归一,同一个逻辑被打散成七八个驱动方各十几条,无法整体跟踪。 - 更正一处此前的判断:公告来源的供应关系"基本是噪声"是抽样有偏导致的过度概括。随机抽样显示主要噪声是关联方交易(八条里四条),金融往来只占 1.0%,年报与研报来源接近零。 - 重开条件(三条同时满足):供应关系恢复更新;从清洗后的子集随机抽三十条人工读原文,方向准确率有实测读数;清洗后可用配对数够用。 - 复核日期:不主动复核,等三条前置出现再议。 ## 021 · 2026-09-03 · 第一批实施上线,产业研判这一路确定为辅 - 改动:四件事上线完成。选股系统落日频行业观点快照(首跑 11 行,八个产业主题加三个环节评析,自动建表与同日幂等均验证通过)与只读覆盖率读数;PMS 修两处——自动执行的判定改为强制交人在前、方向与档位在后(原写法把卖出方向放在或运算左边,强制交人被整个短路),目标价与止损价接通且到价必定交人。复核另发现并修:同一轮可能同时产出保垫减仓与到价清仓,前者当场执行、后者等人拍板,等人采纳时数量已超过实际持仓会被整条驳回,改为同轮只发一条减持、用户设的目标价优先。 - 依据与实测:覆盖率读数显示产业研判这一路只能覆盖当日档位表 1,187 只票里的 13 只(1.1%),天花板 17 只(1.4%);因果论断那一路覆盖 442 只(37.2%)。 - 由此确定:四态合成以因果论断为主、产业研判为辅;产业研判接进来时必须在卡上明写缺的是哪一路,不能让读的人误以为系统判过了。 - 另记两条待处置:因果论断的披露日明显偏旧(中位 05-05,超过 90 天的占 37.6%),接进判定前必须先有陈旧度标注;被逻辑评析标为疑似误抽的有 213 条,接进判定前要先决定怎么处置。 - 复核日期:连着两个交易日各跑一次覆盖率读数,看是否稳定。 ## 022 · 2026-09-03 · PMS 正式实例测试期间不部署 - 约束:连 192.168.16.98 那侧 QMT 的正式实例,测试期间一律不部署,避免无意产生额外交易。任何涉及 PMS 的上线,动手前先确认三项:下发模式、通道开关、账本表前缀。 - 依据:用户 2026-09-03 明确要求。同日实机核实:155 上只有一个部署目录与一套容器,没有第二个实例;当前这一套下发模式是 shadow(指令只落自己的表不发出去)、通道开关关闭、目标地址是 192.168.18.182、账本表前缀为空、规模两百万。所以 09-03 那次部署不可能影响正式交易。 - 预期:测试期间产生的任何提议与指令都停在模拟盘这一套里。 - 复核日期:每次 PMS 上线前逐项确认。 ## 023 · 2026-09-04 · 论断质量标注:四项只提示不作门槛 - 改动:候选卡加四项论断质量标注——陈旧度、来源集中、疑似误抽条数、未结分歧条数。四项都写进缺失项供人看,另出一个质量画像键供下游用,全部不参与三门槛判决。陈旧线定为 90 个自然日(配置项 LOGIC_STALE_DAYS),一次定死,不按复盘收益读数回调。 - 为什么定 90 天:与吸筹评分的日龄上限可比。那一条是三十个交易日,约合六周多的自然日;研报的更新节奏本来就比资金结构评分慢得多(行业深度按季度、跟踪报告按事件),所以放到大约两个季度这个量级。 - 起因是同一张卡上的双标:吸筹评分超过三十个交易日就判陈旧,而研报论断此前只有"披露日不晚于数据日"这一个上界,永不过期。技术侧证据会过期、研究侧不会,同一张卡上两类证据看着一样新。这是第四之四节第六条那个缺口。 - 一处实现纪律:质量画像必须在按票截断之前算。截断后每票只剩最近三条,"这票一共有几份不同来源"就统计不出来了。单测里专门有一条钉住这件事——把疑似误抽那条造在会被截掉的位置,断言它仍被统计到。 - 09-04 全市场实测(数据日 09-03,3,767 只票):701 只带论断;陈旧度中位 147 天,超过 90 天的 478 只(68%),超过一年的 39 只;372 只带多条论断,其中 82 只(22%)全部出自同一份研报;96 只带疑似误抽标记共 264 条;未结分歧 0 条;按环节展开的论断 857 条。 - 一个要看着的现象:立讯精密 44 条论断里 24 条被标为疑似误抽,超过一半,但因为只提示不作门槛,它照样判为候选。这是有意的——模型的标记不是确定性事实,过滤会让人看不到系统曾经抽到过什么。若后续发现这类票的判决明显失真,再议是否给"过半被标记"单开一条处置。 - 复核日期:四态合成接入甲路时,确认这四项作为可靠度输入的用法与此处一致。 ## 024 · 2026-09-04 · 逻辑状态四态:合成模块落地与首次全市场实测 - 改动:写成纯函数模块 logic_state.py 与离线单测(62 例,不连库),另出一个只读读数脚本 logic_state_coverage.py。本次只写不接进计划装配。 - 四路各自归一成一个信号:向好、平稳、转弱、缺失,另加一个分歧表示这一路自己内部方向相反。分歧不能被压进那四个里的任何一个,因为设计里它是证据矛盾的独立来源。 - 一条设计取舍要记下来:向好判的是"变好了"不是"现在是好的"。所以甲路要求新材料窗口(默认 30 个自然日)里有新的利好论断,乙路要求采信倾向发生迁移;一直偏多的主题归平稳。不这样的话强化会变得到处都是,也就不再说明任何事。平稳仍是有效的非负面证据,撑得住逻辑成立。 - 2026-09-04 首次全市场实测(数据日 09-03,3,767 只票): - 甲路 研报论断:缺失 3,544(94.1%,其中 478 只是有论断但全部超陈旧线)、平稳 210、向好 12、转弱 1,跨期方向翻转 0 只。 - 乙路 产业研判:缺失 3,767(100.0%)。 - 丙路 券商行动:缺失 3,416(90.7%)、平稳 162、转弱 109、向好 80。 - 合成后:无法判断 3,382(89.8%,其中证据不足 3,274、证据矛盾 108)、逻辑成立 384(10.2%)、逻辑存疑 1(0.0%)。 - 实测改了一处设计:丙路加覆盖基数门槛。首跑六只判为逻辑存疑的票里有五只,触发是覆盖机构从三家减到两家——一家机构那两周没发报告就构成 33% 的收缩,机构数这么少时百分比不说明任何事。加基数门槛后(前窗口至少五家)只剩一只,是预测下修 38% 且覆盖从六家减到三家那一只,另外五只降级为无法判断进人工复核,不再出减持提议。基数取 5 的性质是:五家时走掉一家只有 20%、够不着 30% 那条线,必须走掉两家才算。 - 乙路为零的原因查清了,不是脚本没接对:行业观点快照里是八个行业主题加三个环节,当日被传导指向的是十六个更细的环节(交换机、关节总成、固态电解质这一类),两套名字不在一个命名空间,今天交集为零。这印证了台账 021 里"簇键口径要先解决"那一条,也把落地顺序第六步(数据基座接环节簇与概念簇评析)的优先级坐实了——按名字匹配这条路走不通,必须让数据基座对真正出现在传导里的环节做评析。 - 一处措辞取舍:只有一路转弱而没到存疑门槛时,整体记的是无法判断加证据矛盾。这里的"矛盾"指的是走弱的证据与"这条逻辑还成立"这个前提相矛盾,动作是进人工复核清单,与两路方向相反同一处置。 - 复核日期:接进计划装配之前,连着两个交易日各跑一次这个读数,看四态分布是否稳定。 ## 025 · 2026-09-04 · PMS 研究理由两键上线;更正台账 022 记的下发模式 - 改动:PMS 补收判决依据与因果论断两个键上线(代码到 fd74dd1),四个容器重建,全套 652 例在新镜像里通过。实测确认:当日计划主榜加观察共 136 条,136 条全部带判决依据,96 条带因果论断。研究结论第一次真正走到了人眼前。 - **更正台账 022 记的一项事实**:那里写"当前这一套下发模式是 shadow(指令只落自己的表不发出去)、通道开关关闭"。这在 09-04 已经不成立——上线前逐项确认时读到的是直连模式(ws),通道在线,目标地址仍是 192.168.18.182 那侧的模拟 QMT,不是 16.98 正式侧,所以红线没碰,但"只记账不发单"这个理解要改过来。账本表前缀仍是空串。以后每次上线前照旧逐项读,不照抄上一次的读数。 - 部署窗口:09:30 开盘后立刻做的,经用户当场拍板。做之前复查过出口队列为空、无在途指令、无待确认提议;库里有一条 09-03 留下的待发买单(002463.SZ 买 400 股,PROPOSED 状态),它落在库里不受重启影响,重连后由择时循环重新评估。重建后通道即刻恢复在线,心跳 0.9 秒。 - 一处时序要记住:今天的计划是早上 07:10 构建的,而论断质量标注的代码是 09:40 才拉到 155 的,所以那四项提示要等下一次构建才会出现在计划里。下一个交易日是周一 09-07。 - 复核日期:周一 09-07 的计划里确认缺失项带上了论断质量的四项提示。 ## 026 · 2026-09-04 · 关闭启动涨幅线;给人看的文字去掉代码名 - 改动一,启动涨幅线做成整条开关(配置项 CARD_REQUIRE_STARTED),按拍板置 0 关闭。原先只有一个阈值,想不要这条门槛只能把它调成一个很小的负数,那是绕法不是关闭——没有当日行情的票仍会被拦下。 - 这条门槛回答的不是这只票好不好,是今天是不是买点:只在票已经动起来的当天买,不猜底。关掉它等于改成左侧买入。好处是研究结论成立的当天就能进场,不用等市场先认同;代价是要承受不确定的等待,候选数会明显变多。 - 实测对照(数据日 09-03):关之前当日 83 只强传导票**全部**落到仅展示,候选 0 只。关之后判决分布是候选 33 只、关注 1 只、仅展示 102 只,PMS 逐票处置里有 11 只进入建仓流程。新建仓与整体自主档都是只提议,所以这 11 只是待人拍板的提议,不会自动下单。 - 想开回去:把 CARD_REQUIRE_STARTED 设回 1 并重建容器,判决当天即恢复原样。旧配置已备份为 .env.bak-20260904。 - 改动二,给人看的文字里不再出现代码名。起因是页面上出现过「选股系统判为仅展示,不出提议:门槛未过:started」。started 是门槛在代码里的变量名,SELL 是决策系统的枚举值,两者都只该在系统之间传递。判决依据、缺失项、风险这三个字段被 PMS 原样显示给人读,全部改写成完整中文并带上具体数字。新增一条守卫用例,造十五种情形逐个检查这三个字段里一个代码名都没有。 - PMS 那边同改两处:跳过原因只写原因不写判决名;候选一只不剩时的说明不再把计数字典原样打印,改成只念不为零的那几项。 - **一个此前没人发现的事实**:选股系统的计划接口是每次实时重算的,从来不读快照,实测耗时 24 秒;而 PMS 的取数超时是 10 秒。之前一直能过是因为容器热着。09-04 重建容器后立刻暴露,已把 PMS_PLAN_TIMEOUT 从 10 调到 60。这一条要记住:容器重建之后第一次拉计划必然比平时慢。 - 复核日期:下一个交易日(09-07)看候选数与提议数是否稳定在这个量级。 ## 027 · 2026-09-04 · 环节评析首跑五个;模型该用云端,且额度必须调大 - **模型这件事方向是反的**:这个任务本来就配的是云端。它取模型的写法是向路由器要"关系抽取"这个任务的升级档,那一档指向 https://api.deepseek.com 的 deepseek-v4-pro。判定依据是地址指向公网域名,不是配置里的标签,也不是模型名字像什么——内网那台机器上也挂着一个名字很像的本地量化副本,光看名字会认错。 - 结论是**保持云端,不要改本地**。三条理由都有实测:本地那台机器在端点池里标的可用时段是盘后,盘中不进候选;本地默认队列积压 696 条,日志里有进程排了 25 分钟的队;评析的瓶颈是网络等待不是本地算力,放云端不占显卡。 - 一条千万别走的路:改配置把那个基地址指向本地。端点池是按档位名判定的,对这一档一律放行,改完之后评析会在不占槽位、不记账的情况下直接压显卡,池子一点都拦不住。 - **首跑五个环节,四个第一轮就失败**,一个只跑了两轮、自我校验是空的。原因查清了:这个模型是推理型的,它先在内部写一长串推理再写答案,而推理和答案共用同一个输出额度。实测十二次调用的推理长度是 3,647 到 25,535 个字符,而额度只有 8192,推理还没写完就见底,接口返回 finish=length,答案要么是空的要么是半截 JSON。任务重试一次再烧一次额度然后放弃——钱花了,一个结论都没落库。 - 修法是把额度从 8192 提到 32768(单点探过,接口接受),自我校验那一轮从硬写的 2048 提到 8192。这不会让平时的调用变贵:按实际生成的字数计费,额度只是上限。反过来额度太小才真的浪费。 - 顺带把日志说清楚。原先只写"空响应",看不出是额度不够还是模型没话说,而这两种的处置完全不同。 - **修完重跑,五个环节全部落库、全部三轮跑通。** 采信倾向都是偏多;自我校验两个通过、两个未通过、一个是修改前留下的空值。校验确实在挑毛病——固态电解质那条被它抓出"证据只说了自生负极技术和新兴应用,没提固态电池,撑不起固态电解质受益这个推断"。 - 实测耗时:单个环节 235 到 366 秒,输入约 4,000 到 5,700 token,材料 34 到 44 条。 - 一处此前没人知道的事实:**这个任务在今天之前一次都没跑过**。它被路由到一条独立队列,而消费这条队列的容器 09-04 才在配置里定义、从未创建。库里那三条单冒号开头的旧记录是 07-10 的旧格式,与这个任务无关。 - 复核日期:下次投递前先看一眼额度够不够,日志里出现 finish=length 就是又不够了。 ## 028 · 2026-09-04 · 逻辑状态四态接进计划装配,产业研判这一路真正通了 - 改动:四态从"只写不接"变成随每张卡一起算、随计划发给下游。三路输入分别是研报论断、产业研判(读行业观点快照,按环节名对上今日被指向的环节)、券商行动。公司事件那一路无数据源恒出缺失,但照样记名——缺失要让人看得见系统缺的是什么,不能让人以为系统判过了。 - 接口每行新增逻辑状态:状态、子因、每路的来龙去脉与截止日。不发权重也不发判决改动,四态怎么作用于建仓通道是 PMS 那边的事。 - 修了两处此前的口径错误。**第一处,日期**:行业观点快照按计划日落库,行情与论断按数据日取,两者在生产里差一天。原先读数脚本用同一个日期取三样东西,结果是快照首日读到空——台账 024 里"乙路覆盖为零"那个读数,部分就是这个原因造成的。**第二处,传导视图**:候选卡判"所在环节被指向"时认的是两张视图取或,而读数脚本只读了含已启动成员的那张窄的,算出来的产业研判覆盖比卡上真实看到的低。 - 两处取数搬进公用的地方,免得读数脚本和计划各写一套:行业观点快照的当日读取进 judgement.py,券商行动进 sources.py。 - **实测:乙路真的通了。** 当日计划三十行全部带逻辑状态,四态分布是逻辑成立 12 行、无法判断 18 行(其中证据不足 17、证据矛盾 1)。各路可用次数:研报论断 7、产业研判 6、券商行动 9。台账 024 那时产业研判是 0。 - 一个完整的例子(立讯精密,判决候选、逻辑成立):研报论断平稳,3 条论断都在 90 天之内但 30 天内没有新材料;产业研判平稳,采信倾向偏多且与上一版相同;券商行动缺失,两个窗口里能算的机构不足两家;公司事件缺失,无数据源。四路各带自己的截止日。 - 十七例测试,重点钉住四态不改判决:四个状态乘三个判决十二种组合逐个扫过,判决一次都没被动过。这是收敛规则单调性的守卫。 - 复核日期:下一个交易日看四态分布是否稳定,以及产业研判这一路随环节评析铺满而扩大到多少。 ## 029 · 2026-09-04 · 环节评析进定时,产业研判整条链路打通 - 改动:基座机加了每个工作日一次的环节评析定时任务,北京时间 20:30 跑。那台机器整机走世界时,所以定时表里写的是 12:30——这一点必须核实,写错就排到盘中了。旧定时表备份为 ~/crontab.bak-20260904。 - 装完在最简环境下实跑了一次这条命令验证(退出码 0、日志正常写入),不是只看写法对不对。定时表里的 $HOME 第一次装的时候在本地就被展开成了 Mac 的路径,实跑才会发现这类问题。 - 时刻的理由:材料是研报,最新的也是七周前的,属于慢变量,赶不赶当日盘没区别;而早上 06:10 到 07:10 那段是盘前链,不能挤。 - 用户在调度中心加了行业观点快照那条任务并手动触发验证。实测确认打到了:快照表写入时刻从 05:01 走到 05:05,来源地址是 192.168.16.165(调度中心),与我从容器内部那次区分得开;行数仍是 31 行,幂等性确认。 - **至此产业研判这条链路整条通了**:晚上 20:30 基座机评析当日被指向的环节并落库,次日凌晨选股系统落一次行业观点快照收进来,计划里那一路就有值。 - 花费的实测口径(今天全量跑 19 个环节得出,零重试零失败):单个环节固定 3 次云端调用,输入 12,730、输出 16,763,合计约 2.9 万 token。输出比输入还多,因为这是推理型模型,推理过程也计进输出。 - 每天要评几个:近 31 个交易日累计出现过 208 个不同环节,"从没评过的"这个数从起步的每天 14 到 19 个,十天后降到 2 到 6 个,最后十个交易日中位 4 个。但指纹覆盖的是真正进模型的 32 条论断加 12 条事件,而每天新落库的事件是 900 到 1900 条,所以多数环节的事件榜单每天会被刷新、指纹跟着变。现实估算是每天评 20 个左右,约 59 万 token。用户确认这个量级可以接受。 - 一处留待处置:触发密钥跟在网址后面,会明文写进接口的访问日志。不紧急(内网、日志只有本机能读),但与"凭据不入库"是同一性质的问题,做到治理那批时一起改成放在请求头里。 - 复核日期:09-07(周一)看定时有没有自动跑,命令是 tail ~/akg_logs/review_segment.log。 ## 030 · 2026-09-04 · 文案三批上线;发现 exec 会打到一个跑了四周的孤儿容器 - 改动:给人看的文字分三批改完。第一批是选股系统候选卡的四处(预期空间、传导那句、论断出处的 36 位编号、ST 门槛没文案掉进兜底)。第二批是 PMS 后端(规则闸六句、仓位约束六句、资金四句、计划取数两句),并抽了公共的显示层剥前缀函数。第三批是页面(操作日志印函数名、冻结原因漏网、提议卡印判决词、账本把整个字典打出来等九处),并新增一道静态守卫。 - 一条必须守住的纪律:那些大写判据码是承重的,账本靠它取去重键、命令进度靠它做原因聚类。2026-07-29 账本被同一条指令按分钟灌满,病根就是去重键失效。所以码留在句首,只能在显示层剥。后端与前端各一份实现,注释互相指认,改一处必须两处同改。 - 页面此前完全没有测试。新增的守卫检查四件事:枚举字段直出、判据码没剥前缀、把整个对象打给交易员看、翻译兜底裸奔。它实际比人工照清单改更可靠——多抓出四处清单里没有的。运维面板里有意显示原始数据的地方逐条登记放行,每条写明在哪个面板、为什么放行。 - 顺带接上一个此前从没被渲染过的字段:候选卡的缺失项一路从选股系统带到 PMS 前端,页面上一次都没显示过。现在"关注"态终于说得出到底缺什么。 - **发现一个环境问题,与本批改动无关但影响核验可信度**:`docker compose exec pms-web` 打到的不是服务容器,而是一个 2026-08-03 由 `docker compose run` 留下的孤儿容器(容器名 tradingsystem-pms-web-run-a4f4a87e7662),跑了四周、状态 unhealthy、用的是四周前的镜像。它跑的是 scripts/watch.py,不接端口、不影响生产,但会让 exec 做的核验落在旧代码上。 - 识别办法:`docker compose ps -q pms-web` 报的容器 id 与 `docker compose exec -T pms-web hostname` 不一致就是撞上了。核验要紧的读数时用 `docker exec <真实容器 id>` 直接指名。 - 处置:09-04 经用户同意后已清除。清除前逐项确认过四条:compose 自己标着 oneoff=True(一次性命令留下的,不是编排里的服务);脚本开头写明只读不写,实际扫代码零写库零写文件;不接任何端口、没有别的容器把它当依赖;跑了四周累计占用 7 小时 23 分处理器时间做没人看的事。 - 清除后复验通过:exec 与 ps 报的是同一个容器 ac9b9289;四个服务容器都在、通道在线心跳 0.9 秒;那个"依赖装不上"的矛盾消失。 ## 031 · 2026-09-04 · 文案第四批:计划环境标签与周报 - 改动:计划文本的环境标签那行,以及周报的表头、导读段落、两栏口径说明、两处异常原文。 - 环境标签原先印出「环境标签:UNKNOWN,弱势指数 None/8」。三处毛病:UNKNOWN 是枚举值;8 是硬写的分母,而快照里其实带着真实的指数总数(weak_total);None 是取不到时的空值。改成三种情况分开写,三支都实测过。 - 补了一句此前没说的要紧话:这个标签不影响任何一只票买不买,只在事后复盘时用来分组。不写的话,读的人看到"弱势日"会以为下面的名单被压过一轮。 - 周报表头的翻译放在渲染函数里,每张表都受益,不用逐处改。三处不能想当然地译:「比全池多涨几个点」与「跑赢全池的股票占比」都跟全池比,但一个是收益差、一个是只数比例,译成同一个说法会在同一张表里紧挨着撞车;「往后看几个交易日」不能译成持有天数,脚本开头反复写明不建仓、不计成本、不是回测。 - **改正一处事实错误**:导读段落写着"样本纪律三档",而代码里只有两档(可读、方向)。一并把两档的字面改成"够"与"不够,只看方向"。 - 自评与账本那两栏的口径说明里有库表名与枚举值,改成说清算法本身,特别是"为什么这个数不能和上一行直接比大小"——那正是并列这两行时最容易读错的地方。 - 周报没有单测,改完真跑一份人工过目。 - 复核日期:下一次周五出周报时再看一遍表头与导读读不读得通。 ## 032 · 2026-09-04 · 让旁批说得出产业理由(落地顺序第七步) - 改动:主题页的系统旁批此前只会产出同一个形状——前半句"还没涨、还便宜",后半句一个泛泛的风险。根因两条,这次一起改。 - 第一条,喂给模型的六项全是行情口径(热度、定价位置、前瞻市盈率、规则命中、代表公司),一项产业逻辑都没有。现在把两样产业侧材料喂进去:环节的多空对比研判(核心矛盾、供需、市场预期、多空论据),以及成员公司因果论断的方向计数与最近三条的机制原文。 - 第二条,提示词无条件要求"说主要不确定性是什么",所以后半句必定是风险。改成条件式:有空头论据就写,没有就说材料里没有。空头论据在输入里单独占一行且允许为空,让模型看得出到底有没有,不靠它猜。 - 材料缺席时明确写"这个环节还没有做过研判""成员公司没有可用的论断",而不是省略。省略的话模型会拿行情数字硬凑一句产业判断;写明了它才会照要求说"目前只有行情面依据,产业逻辑待补"。 - **修正一处我自己写错的过滤**:起初写的是"自我校验没通过的研判不给"。实测站不住——二十个环节里十个没通过,一律不给等于扔掉一半。而校验挑的是"某条论据撑不住某个推断"这种具体问题(固态电解质那条写的是"证据只说了自生负极技术,没提固态电池,撑不起固态电解质受益这个推断"),不是整份结论作废。改成照给,但把校验意见一起带上并明写"请谨慎引用"。 - **顺带修一个此前没人发现的问题**:三处旁批调用(主题页、热点扫描、传导)的输出额度都写着 4096,而这个档挂的是推理型模型,推理和答案共用同一个额度。近三天日志里有 5 次额度耗尽,全部出在这个 4096 上——热点扫描与传导旁批一直在悄悄失败,失败了还照样付费。三处一起提到 32768。 - 验证:产业侧材料的拼装与旁批本身都用真实数据跑通了。 - **更正一处我自己的误判**:起初报"环节图建不出来、机会环节数全是 0"。那是我查错了——地图的返回结构里没有 segments 这个键,机会环节挂在 layers 里,我的探测脚本找错了地方。链路一直是好的。教训是:结构不确定时先把顶层键打出来,不要按猜的键名取值然后据此下结论。 - 实跑对比(AI算力主题,环节"服务器"): - 改之前的样子(当时样本):"锂离子电池涨幅负 6.4%,目标价空间 74%,市盈率 15 低于链均值,电池龙头具备配置价值;竞争加剧与原材料波动是风险。" - 改之后:"超节点占比提升与 GB200 良率改善推动毛利率上行,token 用量增加及下游采购加大驱动需求,预期上修至盈利改善;但环节整体供需数据不足,匹配存疑。" - 三处差别:前半句从行情数字变成产业机制;风险从"竞争加剧与原材料波动"这种放哪都成立的套话,变成针对材料本身的"供需数据不足,匹配存疑";全句没有复述任何行情数字。 - 复核日期:连着看几天的旁批,确认它不会退回复述行情数字的老样子。 ## 033 · 2026-09-07 · 周末后核实:费用估算更正、快照断裂、交接落档 - **更正 09-04 给出的费用估算。** 当时说"事件天天刷新,多数环节要重评,每天约 59 万 token"。09-07 实测:周五 20:30 那次定时投了 24 个环节,**全部指纹跳过、一个都没重跑**,耗时都在 0.2 秒以内。 - 原因是环节评析那个任务把封顶挪到了指纹之前(与产业级评析相反)。指纹只覆盖真正进模型的那 32 条论断加 12 条事件,而每天新落库的上千条事件多数落在这 12 条之外,指纹不变。这个改动的省钱效果比预计的大得多。 - 新口径:只有新出现的环节、或近期材料真的进了前 44 条的环节才会重评。按近 31 个交易日每天新出现 4 到 5 个环节估算,约每天 12 万到 15 万 token。这个数需要连着看几天确认。 - **发现一处断裂,接手第一件要处理的事**:行业观点快照只有 09-03 与 09-04 两天,周末与 09-07 都没有新增。后果是 09-07 的计划里产业研判这一路可用数为 0(09-04 是 6),三十行全部写着"这个环节对不上任何产业研判主题"。调度中心那条任务 09-04 手动触发验证过是通的,所以要查的是它有没有按日自动执行。 - 定时那一侧是好的:环节评析的 crontab 周五按时跑了,日志里有投递记录。 - 论断质量标注已随周一的计划生效,当日出现 37 次提示,样例是"研报论断已过 642 天(最新一条 2024-12-01)"。 - 交接文档落档为 docs/交接_2026-09-07.md,里面的四条验证命令都实跑验过。 - 一致性检查表十三行只核完五行(第一、三、八、九、十三),其余八行要连库或调接口。核对时守住"代码里写了不算数"这一条,已因此降级过一行。**不要派并行代理做这件事**——09-04 与 09-05 各试过一次,两次都是跑满几十分钟、零条结果、卡在返回那一步。 - 复核日期:修好快照之后,重跑覆盖率读数确认产业研判这一路不为零。 ## 034 · 2026-09-07 · 更正 033:快照没断,错在我;周末持仓被对账清零 - **更正 033 的误判。** 033 写"快照断了、要查调度中心"。实测调度中心每个工作日 20:40 按时在跑。真正原因两层都在我:计划读的是数据日加一天而快照写的是当天(09-04 能对上只因我那天上午手工跑过一次,把手工时序写进了代码);读上一版的函数只取算迁移用的五列、没有环节名,按环节索引必然为空。两处已修,修后产业研判可用 4、自我校验未通过 18、对不上主题 8。 - **教训写在这里**:一次手工操作成功之后立刻把它的时序当成生产时序去写代码,是这一段反复出现的错误形态(同类:按猜的键名下结论、把校验未通过一律过滤)。生产时序要从调度配置和日志里读,不从自己上一次的操作里推。 - **周末发生的事(不是本段代码造成的,但必须记)**:PMS 持仓十只在 09-07 08:50 被对账一次性标为已关闭、数量归零,账本里没有对应的卖出记录;券商侧快照 09-04 就报零持仓。最合理的解释:这十只是影子模式时期记的账,券商侧从来没有过;09-03 到 09-04 之间下发模式被切成直连(台账 025 记过),对账随即按券商侧的零把它们清掉。组合现在从零开始。**这是推断,出处是三个读数的拼合,不是日志里的一句话。** - 002463.SZ 是例外:09-03 那条待发买单在直连后真的成交了,09-07 09:34 被规则"紧急卖出直通"卖掉。 - **关闭启动涨幅线的实际效果**:候选从 0 变 33,但择时研判把其中 29 条新建仓拒了,周五至今零提议、零新仓。拒绝理由很实在(资金流出与吸筹逻辑矛盾、下降通道破位未修复、研报过期),其中一条甚至写"启动线关闭、价格处高位滞涨区"。**右侧纪律没有被去掉,只是从选股层挪到了择时层。** - 账本里人工裁决理由仍是默认文案"页面人工裁决"(两条),说明 09-03 加的必填理由要么没被用过、要么这两条是之前的。待查。 - 复核日期:09-08 看计划里产业研判是否仍有值(验证日期约定修对了);看是否出现第一条真实的新建仓提议。 ## 035 · 2026-09-07 · 下一阶段方案批准;三个拍板;独立审查的 11 条缺陷 - 方案落档为 docs/下一阶段工作方案_2026-09-07.md,两仓库各一份。主题从"管道"转到"决策":让系统出决策、人裁决、裁决被记下来并复盘。 - 三个拍板:择时层对新建仓"证据不足以判断"改为交人裁决(不再折成拒绝);用户每个交易日处理提议并写理由,连续两周;PMS 随时可上(仍先跑测试、避开开盘头几分钟)。 - 独立对抗性审查(09-07,16 个代理、三路审查逐条复核)报 11 条成立、1 条推翻。两条高严重度都在 PMS 目标价那条路:到价清仓等人拍板时下一分钟的保垫减仓会自动卖掉三分之一;到价提议挂着时高置信止损被在途检查整条吞掉。它们直接违背 09-03 写下的"目标价必交人、系统不自动卖"。方案第零件先修它们,不修完不开新工作。 - 审查同时确认做对了的五处:同一次扫描内的互斥有效;分流内没有绕过强制入队的路径;判决认不出时交人;文案改动没碰机器路径;桥侧纯函数有测试守着且边界处理正确。 - 一条关于方法的记录:这一段两次派并行代理做核对都全部卡死零产出,第三次缩到三路才跑通。核对类工作以后自己逐行做。 ## 036 · 2026-09-07 · 第零件甲组上线:目标价那条路的四个缺陷修完 - 改动(PMS,代码到 09-07 提交,全套 660 例通过,四容器健康、通道在线): - 跨轮减持让路。同票只要有一条减持在跳过集合里(在途提议、在途指令、今日被拒),本轮其余减持一律让路;提议服务的在途集合对减持侧按代码去重。两处互为保险。宁可少卖一次,不能抢在人前面卖。 - 到价提议不挡止损。在途检查按硬数字里的来源区分,等人拍板的止盈不算在途;止损落单后作废还挂着的到价提议并在账本记一行。 - 清仓按 T+1 可卖量报数,可卖为零不产出;采纳路径按拍板那一刻的可卖量重算,可卖为零不落单并告知。 - 挂了交易方案的票仍评目标价,其余四类不评。目标价是用户的命令,优先级高于自动挂上的方案。 - 顺带收第五件的一小项:裁决理由服务端强制,空理由直接拒绝请求。 - 没做的一处与理由:审查建议"T1_UNAVAILABLE 的规则拒绝不进当日去重"。当日去重的读取只返回(代码,动作)不带拒因,要改就得动仓库层与哨兵;而清仓改按可卖量报数之后这类拒绝基本不会再出现。先不动,观察一周。 - 复核日期:09-08 起每天看账本里有没有"到价提议作废"的记录与 T1 类拒绝是否归零。 ## 037 · 2026-09-07 · 第零件乙组上线:基座指纹与重试的同一个根 - 改动(数据基座,评析容器已重建,接口热重载):论断与事件两处查询加 claim_id 第二排序键,任务里的排序同改;没跑完三轮不落指纹(环节与产业两处同改);调用改用带回执的接口,截断直接放弃不原样重试,只对非截断的空答案与解析失败重试一次,每环节输出总额上限 120,000 token;新材料集合是旧集合的子集(纯老化)时不重评。 - 为什么"截断不重试"是对的:推理型模型输出超额度被截断,第二次用同样的提示词、温度 0 几乎必然同样截断,那是白烧一整个额度。09-04 那次五个环节四个失败,修法只抬了额度没改重试,这次补上。 - 一处刻意没做:审查建议改事件取材"按条数不按天数"。那会改产业评析的口径,本段只做"子集不重评"这一条最小改动,效果等价于挡住纯老化,且不动取材语义。 - 复核日期:09-08 晚定时跑完后看日志里 skipped_aged 与 skipped_fresh 的计数,以及有没有"输出被截断"的放弃记录。 ## 038 · 2026-09-07 · 第零件丙组上线:四态的三处输入修完,第零件收官 - 改动(选股系统,九个测试文件全绿,接口已重启):甲路吃全量论断、展示只切前三条(新配置项 LOGIC_CLAIMS_FULL=200);乙路带每簇近几个计划日的历史,近 N 日内偏多到偏空的迁移且此后一直偏空则硬触发维持(新配置项 JUDGEMENT_HOLD_DAYS=5);快照加交易日守卫,非交易日不落行,日历读不到时不拦。 - 一处取舍:审查建议"或先接 settle"。settle 需要逐票日频状态表,那是第三件的前置;这里先用乙路自己的历史窗口把硬触发维持住,第三件接 settle 时两道叠加,退出仍按连续三日不存疑。 - 第零件至此收官:审查报的 11 条里 10 条已修(甲组 4、乙组 4、丙组 3 中的 3——第 11 条"事件老化"归入乙组的子集不重评),1 条(T1 拒绝不进当日去重)刻意未动,理由见台账 036。 - 实时计划核对:四态分布与各路可用数与修前一致(逻辑成立 10、无法判断 20;产业研判 4)。这是预期——今天没有翻转与存疑,改动只在有翻转时才显形。 - 复核日期:09-08 早上的计划里看甲路是否出现"跨期翻转"或"分歧"的路径说明(此前三条口径下几乎判不出)。 ## 039 · 2026-09-07 · 第二件上线:择时层独立判时点,"证据不足"交人 - 三处改动,三个系统各一处,午间窗口全部上线: - 选股系统:启动线关着时理由行不再写"当日涨幅(启动线已关闭)"。理由行在 PMS 送研判的白名单里,择时层的模型能读到这句选股层的政策旁白,它回答"启动线关闭、价格处高位滞涨区"就是被牵着走。涨幅只留在候选卡的信息子字典里。实测:接口重启后三十行理由里含"启动线"或"当日"字样的为零。 - 择时决策系统:新建仓的研判提示词改成三值——证据支持才通过;驱动已被证伪、放量破位、主力持续净流出、明显高位滞涨这四种**有证据的反对**才驳回;说不清驱动是否仍成立回"不可用",交回 PMS 由人拍板。收口处把模型给的"不可用"当合法答复原样交回,带理由与把握度,审计标签与"没研判成"分开。加仓类仍二值。跑盘中研判的工作容器(源码挂载)已重启就绪。 - PMS:第二道保险——新建仓被驳回但把握度低于阈值(参数 PMS_JUDGE_REJECT_CONF_MIN,默认 60)的,按不可用处理进人的待确认队列,不记驳回。只对新建仓;没带把握度的不猜。全套 661 例通过,通道在线。 - 这是人机分工第二条(系统能区分"不该做"与"我不知道"并把后者交出来)在择时层的落地。此前那条口径"不确定就拒"在弱市里把 29 条新建仓全拒了、零提议。 - 预期变化:下午盘起,新建仓的待确认队列会开始出现"研判不可用"来路的提议,队列可能一下变长(风险 7.7 第二条)。先看三天再决定要不要调阈值。 - 复核日期:09-07 收盘后看账本里 judge 的 REJECT 与 UNAVAILABLE 各多少条;09-10 看待确认队列的规模。 ## 040 · 2026-09-07 · 第三件桥侧前置上线:逐票日频逻辑状态表与按代码查询接口 - 改动(选股系统,提交 faede9a,十个测试文件在 155 容器隔离副本全绿): - 新表 t_akg_logic_state_daily,键是(数据日,前缀码)。每个数据日为档位表里的每只票记一行原始态与落定态,另存四路可用与缺失名单、每路截止日与说明、判决、卡内序、代码版本。只在早上出计划那一次写(run.py plan),/plan 的实时重算只读不写;同日重跑幂等。数据日与因子表的 trade_date 同口径,不是行业观点快照的 plan_date。 - 抗抖动接进计划:卡上的 state 从此是落定态(下游按它分流),原始态另发 raw_state,再发落定说明与上一次落定态。规则就是 logic_state.settle 的:进入逻辑存疑即刻成立;退出要连续三个计划日不再存疑;其余迁移要连续两个计划日同向。两个天数进配置(LOGIC_SETTLE_CONFIRM_DAYS=2、LOGIC_SETTLE_EXIT_DAYS=3),与 settle 的默认值同源,一次定死。表里没有这只票时落定态等于原始态。 - 新接口 GET /logic_state?codes=…(只读)。持仓票在候选筛选第一步就被整行剔掉,/plan 里读不到它,PMS 早上拉完计划要查在持票就走这里。优先回当日表里那一行(source=daily,可回溯);不在表里的按此刻数据现算、按表里的历史落定(source=computed)。现算三只票实测 1.1 秒。 - 四路取数抽成一处(plan._logic_inputs),计划装配与接口现算共用,口径改了两边一起变。 - 首日读数:从 09-04 的快照补写了 1,210 行——无法判断 1,001、逻辑成立 207、逻辑存疑 2。首日没有历史,落定态全等于原始态;明早(数据日 09-07)起有一天历史可比。 - 一处局限写进设计:表只记档位表里的票。在持的票掉出档位表后每天没有新行,接口现算能用的历史只有它掉出去之前那几行;掉出去超过回看窗口(30 个自然日)落定态就等于原始态。要让持仓票也逐日攒历史得让桥知道 PMS 的持仓,那是跨层的事,本阶段不做。 - 上线状态:plan.py 的改动随明早的调度子进程生效,不用重启;接口 /logic_state 要等 API 进程重启才对外可见,与 PMS 侧上线同一窗口做。 - 复核日期:09-08 早上看该表 09-07 那一天的行数与"被抗抖动按住"的只数;09-08 起看 settle_note 里有没有"先维持"字样出现。 ## 041 · 2026-09-07 · 第三件 PMS 侧上线:按逻辑状态分流,入场论点随持仓走 - 改动(PMS,代码到 99ea218,镜像重建,四容器健康,通道在线;全套 676 例在新镜像里通过,其中新建的第二十二批 15 例): - 早上拉完计划后(08:40 的 plan_pull),对在持的票向选股系统查一次逻辑状态,写进运行参数 PMS_LOGIC_STATE_MAP;取不到写空映射带原因,扫描层按"没有读数"处理,绝不折成存疑;映射超过三个自然日没刷新同样按没有读数。 - 持仓判为逻辑存疑:补足、加仓、补仓三类自主动作不评(跳过原因写明是哪一路在走弱、证据截止哪天),减持侧照评;策略腿的买入按来源 logic 暂停,明确不存疑时只清本来源,不动风控与定性停的;没查到的票不动。 - 判决候选而逻辑存疑的新建仓强制人工确认,复用现有的强制确认字段,与关注判决走同一条队列;关注保留自己的原因不覆盖。 - 研究走弱的减持接上了预留通道:新求值器排在保垫减仓前面,默认关(PMS_LOGIC_DOUBT_TRIM),开了也必定交人(research_weak 来源一票否决),数量按 T+1 可卖量夹紧,比例与保垫减仓相同(三分之一,PMS_LOGIC_DOUBT_TRIM_RATIO)。 - 同轮只发一条减持的优先级改为按动作加来源:到价清仓、研究走弱、保垫减仓。 - 硬数字带逻辑状态进账本与提议卡,送研判的白名单不收它(一致性检查表第九行继续成立,单测钉住)。 - 持仓视图两栏:"当初为什么买"从首批未平批次的指令回溯到账本里那条放行记录的判决依据与论断;"现在证据还在不在"读当日映射。三种情形(有指令链、外部成交并入、账本无行)各有一句人话,仓库读失败页面不塌。 - 与方案附录乙的一处不同,记下来:方案写"去重键带来源,免得两种减持互相挡",没做。台账 036 之后减持侧的去重按代码不按动作(一条减持在等人拍板时同票的另一种减持一律让路),这条更新的纪律优先——研究走弱的减持等人时保垫减仓让路,正是要的效果。 - 上线三项实测:下发模式 ws;通道总开关开,目标 192.168.18.182 是模拟侧,连接在线;账本表前缀为空。上线时无持仓、无在途指令、无待确认提议。 - 取回路径实测:在持零只,映射写入"没有在持的票";直查选股系统接口返回 404——**接口那边要等 API 进程重启才对外可见**,重启前 plan_pull 会记一条取数失败并留空,不影响拉计划。 - 三个开关现值:分流开、减持提议关、比例 0.3333。减持提议开之前先看停增持一个月的误伤。 - 09-07 14:50 选股系统接口容器已重启(经用户同意,中断十二秒)。实测:/logic_state 对档位表里的票回当日表行(source=daily,带判决与卡内序),对表里没有的票现算(source=computed),认不出的代码形态回错误行不崩整批;/plan 每行的逻辑状态多出 raw_state、settle_note、prev_state 三键;PMS 容器内直查两只票成功。整条链从此接通,明早 08:40 起是无人值守的第一次。 - 复核日期:09-08 08:40 后看 plan_pull 的返回里 logic_state 一段(ok、got、by_state);09-08 起看提议卡上有没有"逻辑存疑"字样的交人原因;持仓页两栏对新开仓的票是否填上。 ## 042 · 2026-09-07 · 第四件上线:安全边际三情景有了落点,只展示不进判决 - 改动(选股系统 e00b38e,PMS fbad890;桥侧十一个测试文件全绿,PMS 全套 677 例通过): - 口径一次定死:同一预测期的每股收益与市盈率预测,按机构去重后各取最低、中位、最高。悲观是最低乘最低,中性是两项中位数,乐观是两项最高;隐含市盈率是现价除以中位每股收益;赔率是中性上行对悲观下行。预测期优先年度(以 Q4 结尾)里覆盖机构最多的,同数取更近的年份;窗口取近 90 个自然日,与券商行动那一路共用同一次取数。 - 现价与预期空间同源(前复权行情表 gp_day_data),日期区间写成左闭右开,时间列带不带时分秒都对得上。市盈率列名核过是 pe,近 90 天覆盖 35,910 行占 91.8%。 - 四种不适用各一句人话:每股收益有负值或零、覆盖不足两家、市盈率不足两家、现价取不到;另两种赔率不成立也写明(悲观仍高于现价、中性低于现价)。 - 机构分歧标注:每股收益或市盈率的最高对最低超过 3 倍就在句尾标"分歧极大,两头的数字只当参考"。不改算法——实测有票悲观负 89%、乐观正 1054%,那本身就是券商没有共识这条信息。 - 计划:候选卡每票带原值与整句,候选单表格加一列"悲观下行/中性上行,赔率"并附口径说明。PMS:整句随候选透传到硬数字、提议卡与账本,不送研判(单测钉住不在白名单里)。 - 对表:恩捷股份用 09-02 数据实算,悲观 42.64、乐观 84.96、隐含市盈率 21.4 与方案四之三手算一致;中性 56.05 对手算 56.75,差在机构数——同机构只留最近一篇后是 8 家而手算按 9 家,赔率因此是 0.78 对 0.87。单测用九家样本对手算逐项对齐。 - 09-04 数据实跑一次计划装配的读数:耗时 26 秒(此前 24 秒);档位表 1,210 只里 700 只有券商预测行,444 只算得出,17 只分歧极大;算不出的三类是覆盖只有一家 213、每股收益为负 23、市盈率只有一家 20。候选 58 只全部带原值,其中 9 只算不出。样例:双环传动中性 35.90 低于现价 38.07,赔率不成立;良信股份赔率 0.37。 - 上线状态:桥侧代码已拉到 155,明早的构建子进程直接生效;**接口 /plan 是进程内实时重算,要等 API 进程再重启一次整句才会随计划送到 PMS**,重启前 PMS 收到的是没有这一项的旧形状(解析层缺就是 None,不报错)。 - 台账待决的第一条(中性情景值作参考目标价)现在有了数据落点,仍待拍板;本条只展示。 - 09-07 15:54 补记:选股系统接口容器已再重启一次(经用户同意),/plan 的候选每行实测带整句与原值;PMS 按 fbad890 重建镜像(上线前确认无持仓、无在途、无待确认),指纹与工作树一致,全套 677 例在新镜像里通过,通道在线。两处"没进生产进程"的尾巴都收了。 - 复核日期:09-08 早上计划文件的候选单表格看安全边际一列是否有值;09-08 提议卡看是否显示整句。 ## 043 · 2026-09-07 · 第五件:一致性检查表十三行核完,四行一致、八行部分一致、一行不一致 - 核法:每行只认运行时证据,全部自己逐行查库、调接口,不派代理(09-04、09-05 两次派代理全部零产出)。剩下八行的证据与结论: - 二 选股到建仓方案——**部分一致**。分流开关开着;09-03 起账本里新建仓行的硬数字带判决(判为候选的 42 行),仅展示的票不出提议(09-03 实测 75 只全仅展示、合格候选零)。但"关注"那条路仍没在真实运行里走过,判决分布里 09-07 有 7 只关注,没有一只到过人工队列。 - 四 裁决留痕——**部分一致**。仲裁者一列分得开规则、研判、人;理由 09-07 起服务端强制。运行时只有 09-03 一条人工裁决,理由还是强制之前的默认文案;没有新样本。第六件供样本。 - 五 复盘对照——**部分一致**。三套对照与台账对表两节实测能出(08-11 至 08-28 那段:候选单五日比全池少涨 1.31 个点,择时自评方向命中 48%,择时看多名单少涨 2.94 个点;人批、人拒两份名单无样本)。但周五没有自动产出——09-04 那份是 09-07 补跑的。要么进调度,要么写成每周五固定动作。 - 六 时点纪律——**部分一致**。区制历史表每个数据日一行(09-02、03、04);吸筹评分 09-03 起每行都带计算时刻与算法版本(09-02 只有 4 行带,09-01 零行);行业观点快照与逐票逻辑状态两张日频表在攒版本史。**投影表仍只存当前态**,这一项没动过。 - 七 研究深度——**不一致**。08-25 起只入库 14 份研报(09-03 那一批),全是行业类(食品饮料、银行、软件服务),没有一份公司深度或跟踪报告。论点卡七字段里论点、证据、判决、版本、失效条件、置信度有落点,逻辑状态与安全边际是新增的两项;催化剂与预期仍无数据源,而且卡上没有写明"无数据源"。 - 十 信号来源——**一致**。信号留痕的硬数字带来源(09-01 起那条是 risk_sell),排序只认择时决策系统的信号。样本只有一条,但结构在、运行时有。 - 十一 持仓跟踪——**部分一致**。入场论点随持仓走 09-07 上线,运行时要等第一笔新开仓。止损那一半:账本里 08-31 起有两条"紧急卖出直通"自动清仓真实执行,与设计文档写的"无自动止损"不一致——这是台账待决第二条,先定性归位再改文档或改代码。 - 十二 人机分工——**部分一致**。五个条件:裁决输入完整(硬数字带判决依据、论断、逻辑状态、安全边际)成立;分得清"不该做"与"我不知道"的机制齐了(关注、不可用、低把握三条出口),运行时还没有"不可用"的样本;留痕分开成立;一键回退成立(四个开关);三层定位一致成立。差的只是运行样本。 - 十三行合计:一致四行(一、八、九、十),部分一致八行(二、三、四、五、六、十一、十二、十三),不一致一行(七)。**判收未达。** 卡在四类东西上:材料(七)、运行样本(二、三、四、十一、十二,09-08 起每天都在攒)、投影快照(六,代码活)、周报定时与两处断言(五、十三,代码活)。定性待决一条(十一)。 - 顺手核出的两件事:一,基座日检报"待抽取台账 1,086 份与队列 0 对不上",登记了没入队或重复入队,要基座那边人工核;二,基座投影任务定时是周二到周六 06:10,周一不跑,所以日检在周一会把投影日报成落后两天,那是日检的预期算错了,不是投影断了。 - 复核日期:09-11(周五)跑复盘看人批、人拒两份名单有没有样本;09-12 前把投影快照、周报定时、两处断言三件代码活排进下一段。 ## 044 · 2026-09-07 · 两条待决拍板:自动清仓定性为设计内的止损;中性情景值作参考目标价显示 - 拍板一(台账待决第二条):择时决策系统高置信风控卖出(置信度不低于消化门槛 60%,参数 PMS_SIGNAL_SELL_MIN_CONF 那一档)直通清仓,**定性为设计内的自动止损**,代码不动,改文档。理由:盘中风控要等人,人不在时就不止损,代价比"系统不自动卖"这句话的整洁更大。"系统不自动卖"的准确表述从此是:**动作引擎与研究证据产出的减持不自动卖(到价清仓、研究走弱、关注判决都交人),风控高置信卖出与用户命令的清仓是两条设计内的自动路**。方案 09-03 里四处"无自动止损"已按此改写。一致性检查表第十一行的"止损那一半"由此归位;剩"入场论点随持仓走"等运行样本。 - 拍板二(台账待决第一条):第四件的中性情景估值在持仓页"我设的"一列下方显示为"参考 N 元(M 家中性估值,只显示不触发)",不替代手设目标价,到价提议只认命令表里那个数。改动:选股系统接口 /logic_state 随状态回三情景(ab09154,每次按此刻现算,算失败不拖垮状态查询);PMS 解析层收估值子字典,持仓行加 ref_target,只在算得出时给(48a562f,第二十二批加一例,全套 678,镜像已重建)。 - 上线状态:PMS 已重建;选股系统接口容器 16:45 第三次重启(经用户同意)后整链实测通:按代码查询回三情景(宁德时代 36 家中性 388.40,浦发银行 13 家中性 9.42),PMS 容器内直查得到 ref_target 字典。 - 台账待决剩一条:环节维度的集中度限仓。 - 复核日期:接口重启后,持仓页有持仓时看"我设的"一列下方是否出现参考值;对照当天计划里同一只票的安全边际整句,中性值应一致。 ## 045 · 2026-09-08 · 批准《量价研判链吸收方案》:在择时决策系统并行建一条分工的研判链 - 来源是中金 08-24 的量价多智能体研报。核心是"事件定方向、量价定时点、三个智能体分工再合议"。逐节点对照的结论:我们没有缺数据的地方(因子表 264 列三套复权口径齐全、研报明细表能复现四类事件、行情表能算事件日字段、178/188/158 本地模型够用),缺的全是功能;最薄的一处是盘中新建仓研判,输入只有硬数字与昨夜两百字结论。 - 五条拍板与纠正:定价状态先只展示加复盘分组;四类券商事件由选股系统直接从研报明细表算;择时层先改提示词四条纪律与 20 日头,多次运行等费用核算后再定;识图与文本模型先试三台本地机器,云端只在都试不通时才议;行情表 gp_day_data 是前复权(择时决策系统缺口模块注释里的"未复权"是注释错了)。 - 总原则一条:加,不改。新模块、新报告、新键全部并行新增;现有的信号、支撑压力、形态三列与夜间提示词已有段落一个不动;两个期限的头这一轮只落库、只显示、只判分,不推导信号。每处与旧功能的接触点在方案 3.7 逐项列了消费方与处置。 - 顺序:先核两条(因子表前复权列除权后是否整体重算;178 视觉模型能否按七段提示词回 JSON);选股系统三件(催化事件、事件日字段与定价状态、周报两节);择时决策系统甲乙(指标模块、第二路识图)、丙丁(夜间追加段与两个头、盘中新建仓追加段);PMS 两件;判分随周报。 - 阈值一次定死写在这里:深度覆盖=报告类型深度且前 365 天无覆盖且评级买入类;上调预测=同机构同预测期 180 天内每股收益高五成以上;标题含"超预期";事件窗口近 60 个自然日。定价状态四情形的规则在实现时定,写进下一条台账。 ## 046 · 2026-09-08 · 量价研判链 3.4 上线:催化事件、定价状态、周报分组(选股系统,只展示) - 改动(选股系统,十二个测试文件在 155 隔离副本全绿;plan.py 随明早构建生效,接口 /plan 要下一次重启才带新键): - 催化事件:四类事件按台账 045 的阈值从研报明细表算,每票最多带五条,最新在前;同一天多篇合并成一条,同一篇同时上调与超预期或同一天命中两类记"复合"。 - 事件日字段:事件前 5 日与 20 日涨幅(事件前一日对更早那日)、跳空(开盘对前收)、日内(收盘对开盘)、收盘位置(收在当日高低区间的位置)、量比(对此前 20 个交易日均量,不足 5 个交易日不算)、涨停(主板 9.8%、创业科创 19.8%、北交所 29.8%)。行情表前复权,直接算。没有事件的票按数据日算同一组数。 - **定价状态四情形的规则一次定死**:事件日确认 = 量比不低于 1.5 且收盘位置不低于 0.6 且当日上涨;冲高回落 = 量比不低于 1.5 且收盘位置不高于 0.4 且(跳空高开超过 2% 或日内为负);价格发现 = 事件前 20 日涨幅低于 5% 且确认;趋势延续 = 不低于 5% 且确认;高位兑现 = 不低于 10% 且冲高回落;其余震荡消化。缺 20 日涨幅、量比或收盘位置就不归类,写明缺什么。 - 周报:分组读数加"定价状态"与"催化事件"两类(候选单与档位表各一份),另出一段定价状态的多空差(价格发现与趋势延续对高位兑现)。名单级,不算相关系数。 - 09-04 实机读数:档位表 1,210 只里 102 只近 60 天有事件(上调 80、超预期 85、深度覆盖 5、复合 6),候选 58 只里 17 只有事件;定价状态分布震荡消化 1,146、高位兑现 33、价格发现 16、趋势延续 15。候选单 58 只里 55 只震荡消化、1 只价格发现——当前候选几乎没有一只处于"事件日被确认"的状态,这本身是读数。 - 一处取舍:行情按一段取 100 天要拉十二万行、十秒多,改成两段(无事件 35 天、有事件 100 天)后 3 秒;计划装配总耗时 30 秒(改前 26 秒),PMS 拉计划的超时是 60 秒,留有余量但要盯。 - 复核日期:09-09 早上计划文件的候选单看两列是否有值;09-11 周报看两类分组与多空差一段。 ## 047 · 2026-09-08 · 量价研判链 3.3 与 3.5 编码完成:择时决策系统的三份报告、两个头与判分,全部并行新增、默认关 - 择时决策系统(代码到 4778efd,全部是新模块或带开关的追加,旧函数、旧字段、旧提示词段落一个不动): - 指标智能体 app/core/indicator_agent.py:按研报五步固定顺序读因子表精确数值,每步给读数、近五期变化、判定与一句依据,措辞只描述状态;路径块(5、20、60 日收益,区间位置,回撤,连涨跌,路径标签);状态判定链。收益用复权因子重新锚定——**09-08 实测因子表的前复权列在除权后不整体重算**(除权前一日 close_qfq 等于不复权收盘价,除权日 qfq 环比与涨幅对不上),跨除权日的收益会失真;择时决策系统缺口模块的注释"因子表前复权杜绝假缺口"是错的,那一处顺手改注释待办。 - 趋势通道 app/core/trend_channel.py:六十日高低点回归两条线并整体上下移到包住全部 K 线,出端点、宽度、边界距离、收敛或扩张、贴近哪一侧。 - 第二路识图:渲染器新函数画三面板图(K 线加均线、成交量、平滑异同柱与快慢线,加通道线),识图服务新函数按七段结构化提示词调用 178 的视觉模型,结构化上下文里给出代码算好的最近五根阴阳、量柱颜色、动能柱正负让它对照。旧的十二种形态识图不动。 - 决策头:夜间提示词末尾追加"量价研判链"段(三份输入加研报八条公共规则)与第六项任务,输出模板追加 pv_heads(5 日与 20 日各自评分、方向、依据、风险收益比);两个头只落库、只显示、只判分,现有信号不由它们推导。落库用 pv_ 前缀三个新键写进结论表的原始逻辑字段。 - 盘中新建仓研判:开关开且昨夜有 PV 键时追加一段(指标报告、趋势识图、两个头、公共规则),应答加 pv_heads;否则提示词逐字不变。 - 判分引擎并行加 pv_h5、pv_h20 两类判分与摘要行。四个开关默认关。 - 实机试跑(五只票,只写图片不落库):指标报告与通道每票 0.2 秒;识图每票 3 秒左右,五只都回结构化 JSON。两处试出来的问题当场修:一,模型自己看图数阴阳会数错(两只票数错),改成上下文给代码算好的事实、提示词只让它对照,复跑两只都写"一致";二,"主要状态"在方向指标不一致时凭 20 日涨跌正负判成趋势下行(贵州茅台 20 日 −2.4% 被判下行),改成不一致时除非路径明确延续且幅度够否则一律区间震荡。 - PMS(代码到 09-08 最新提交,全套 680 例):研判应答归一带出两个头进提议硬数字与提议卡;驳回行也记把握度(此前只有提议行记,低把握保险是否起作用无据可查);接口契约记 V1.2。 - 09-08 12:40 启用(经用户同意,三步都做):188 的 .env 加 PV_CHAIN_ENABLED 与 PV_VISION_ENABLED,研判工作容器重启并确认开关加载;PMS 按最新提交重建镜像(无持仓、无在途、无待确认),全套 680 例通过,通道在线。 - 手工跑两只票的读数:宁德时代 124 秒(第一次解析失败、第二次严格模式成功)、贵州茅台 60 秒;两只的结论表原始逻辑字段都多出 pv_indicator_report、pv_trend_channel、pv_trend_report、pv_heads 四个键,既有键与信号列照旧。宁德时代两个头都看空(5 日 −0.7、20 日 −0.4,依据写"五连阴、趋势增强、通道下行,超卖不改短期惯性"),贵州茅台两个头都中性(5 日 +0.2、20 日 0.0)。指标报告的主要状态一个趋势下行一个区间震荡,与识图报告的主要状态一致。 - 复核日期:09-09 早上看昨晚全量的 pv_heads 出现比例与解析失败率(第一次解析失败要看比例,超过一成就缩两个头的依据长度);09-09 起看提议卡上两个头是否有值。 ## 048 · 2026-09-08 · 量价研判链整链核对:链路未受影响,判定为开发完成、进入观察期 - 09-08 12:55 四层各自只读核对: - 数据基座:全部容器在跑,日检 16 项通过、0 项失败,投影新鲜度到 09-08(昨天周一的落后告警是日检预期算错,今天自己消了);唯一一条⚠️仍是"待抽取台账 1,086 份与队列对不上",那是运维要核的旧事,与本次改动无关;环节评析 20:30 定时仍在。 - 选股系统:容器与接口健康,最新计划日 09-07;今天调度中心四个入口都按时打到(默认三步、行业观点快照、区制追加);实时计划接口已带安全边际整句与逻辑状态三键,**催化事件与定价状态两列要等接口容器再重启一次**(构建子进程已带,09-07 的计划文件是改前生成的)。 - PMS:四容器健康,通道在线,重建后九十分钟日志无错误,命令轮询每分钟正常;今日账本只有早上那 19 条研判驳回与 8 条规则备注;开关现值:自主档位与新建仓档位都是只提议、按判决分流开、判决候选自动执行关、逻辑状态分流开、研究走弱减持关。 - 择时决策系统:九个容器在跑,研判工作容器重启后无错误,盘中定时任务(池门控重建 54 次、入场闸轮询 50 次、关注条件扫描 10 次)照常;三个改过的模块在容器内导入正常;夜间 22:30 认知扫描与 23:45 判分的定时未动。 - **判定:开发完成,进入观察期。** 方案第七节的四条判收里,第一条(十只票指标报告与因子表对得上)与第二条(识图报告的图数核验一段与代码算的五根 K 线一致、不一致有记录)已在试跑中成立;第三条(连续五个交易日两个头都有值、提议卡上有值、现有信号分布无整体偏移)与第四条(周报两行读数)要跑够五个交易日才能核,最早 09-15 判收。观察期里不再动这条链的代码,只看读数。 - 观察期每天看的三处:夜间结论里 pv_heads 的出现比例与第一次解析失败的比例;提议卡上四行(安全边际、催化事件、定价状态、两个头)是否有值;新建仓研判里"不可用"是否开始出现、驳回行的把握度分布。 - 主要工作从此回到《下一阶段工作方案_2026-09-07》:三件代码活(投影表落日频快照、复盘周报定时、另外两处坏信号集合的单测)与第六件的每日裁决;台账待决剩环节维度集中度一条。 ## 049 · 2026-09-08 · 第五件的三件代码活全部落地(周报固定入口、投影日频快照、两处坏信号断言) - **复盘周报固定入口(选股系统)。** 命令入口加 plan-review 子命令,不带参数就按滚动窗口跑:截止 7 个自然日前(让 5 日期限对窗口尾部也算得出),往前 21 个自然日;调度中心步骤白名单加 plan-review,不进默认三步,平台每周五收盘后单建任务。以 09-11 为今天试跑一次:窗口 08-14 到 09-04,15 个计划日,三分钟跑完;新加的定价状态分组出现 16 行、催化事件分组 8 行(这段计划文件还没有这两列,读数是"无"),择时决策系统那一行 619 条命中 47%。老的手工入口与默认窗口一个不动,只加了 --weekly 开关。 - **投影日频快照(数据基座)。** 投影表每晨 06:10 删后插只存当前态(一致性检查表第六行"部分一致"的原因)。新加两张带日期的副本表(成员、边),06:25 定时抄一份,按北京日期落键,同一天重跑删后插幂等,投影为空不抄;投影表本身与桥侧视图一个字节不动。09-08 首跑:成员 7,049 行、边 1,049 行,源投影时间 09-08 06:10;重跑一次行数不变。日检 3b 段新增"投影日频快照"一行,09-08 读数 ✅(17 ✅、1 ⚠️、0 ❌,那条 ⚠️ 仍是待抽取台账)。历史抄不回来,快照从 09-08 起算。 - **两处坏信号断言。** PMS 单测钉住规则闸的集合等于 {SELL, AVOID, DROPPED}(全套 681 例通过);择时决策系统新加自检脚本钉住择时应答闸的集合与判定函数的大小写归一、缺值不拦(容器内通过)。加上选股系统原有的那一处,三处任何一处改取值都会红。一致性检查表第十行由此可记为一致。 - **三处启用,都经用户同意后当天做完。** 数据基座定时器容器 13:43 重启,日程表里已有 06:25 的 snapshot-projection;只读查询发现低频任务的工作容器没注册新任务(不重启会把派单当未知任务丢掉),再经同意 13:50 重启,注册查询计 1、日志 ready 无错。选股系统接口容器 13:47 再重启,用一个不存在的步骤名探测(不触发运行),接口进程回的白名单已含 plan-review。剩一件在用户侧:在调度中心建每周五收盘后的任务,参数 steps=plan-review。 - 版本:选股系统 338558e;PMS ac78693(只加测试,镜像仍是 0fa4a5a,不需重建);择时决策系统 116ebf1(只加自检,容器不需重启);数据基座 fa3e209。 ## 050 · 2026-09-08 · 财联社电报接入定性:作"相关快讯"上下文,不作正向事件 - **数据是什么。** 用户接了一路财联社电报到 153 库 gp_cls_telegraph(与行情表同一连接):每条有标题、正文、财联社自己的重要度(A 红色、B 加粗、C 普通)、主题标签、个股标签(stock_list_json,带 sh688293 这样的代码)、发布时间、原文链接。09-08 11:30 起入库,到 13:49 共 57 条,C 级 53 条、B 级 4 条,带个股标签的 10 条;早间与午间"新闻精选"这类汇总条目正文只存了前 300 字。 - **定性。** 可用,但只能当上下文,不能当第四类之外的"正向事件":电报说的是发生了什么(板块拉升、公司答投资者问、期货涨跌),不说利好利空,正负要由看卡的人与择时决策系统的研判去判;而研报定义的正向事件是券商的行为,本身就带判断。所以不进判决、不进定价状态、不进复盘分组,只做两件事:候选卡与实时计划多一行"相关快讯"(近 3 个自然日被点名的条目,最新在前最多五条,带重要度与时间,不封顶到数据日,07:10 出计划时昨晚与今晨的都在);PMS 透传原值进提议卡与账本,整句进送研判的白名单,择时决策系统的新建仓研判会看到它(那边逐键渲染硬数字,不用改)。 - **为什么不接进择时决策系统的夜间研判、不接进数据基座。** 夜间提示词在量价研判链的观察期里不动(台账 048),要接也等 09-15 判收后再加一段"近三日相关快讯";数据基座的抽取是按整篇文档设计的,一句话的电报进去产不出断言,且花云端模型的钱,不值。 - **三条数据侧要求,记给用户。** 一,汇总类条目(早间精选、午间精选、涨停分析)的正文被截到 300 字,后面二十多条要闻丢了;采集端若能存全文,日后可作每天一份 news 文档投给数据基座喂环节评析。二,入库要持续:13:49 之后十几分钟没有新条目,采集频率与是否补历史要确认,60 天窗口的东西暂时都用不上。三,个股标签是财联社打的,只覆盖约五分之一条目;没标签的公司快讯(正文里点名但没打标签的)这一版看不见,要靠公司名匹配得另做。 - 落地:选股系统 sources.news_flashes、card.news_view/news_short、卡与顶层行加 news/news_text 两键;PMS plan_feed 收两键、硬数字带、judge 白名单加 news_text、提议卡一行;两侧各加单测。观察期内只看它有没有值、研判有没有引用它。 ## 051 · 2026-09-08 · 行业级催化:先加分析槽位,材料到了自动衔接;投递不再有命名要求 - **定性。** 行业级催化(如端侧模型能力跃升、海外药物三期通过)不是个股催化事件,是产业逻辑的更新。它进系统的形态是材料:券商点评与深度进研报目录,抽成落在环节上的逻辑论断,环节评析当晚重跑,传导扫描次日扩散到成员公司。缺的是量级与持续期两个槽位,以及事件到材料之间那几天的空档。 - **加了什么(全部并行新增,向下兼容)。** 数据基座新表 segment_catalysts(挂在环节上:事件日、标题、发生了什么、机制、方向、量级三档、持续期三档、把握度、材料出处)与运行表;新任务 akg.segment_catalysts 用与环节评析同一口径取材料(成员公司与环节名命中的近 180 天逻辑论断、成员近 90 天事件),一次模型调用按"必须行业级、必须已发生可引材料、宁缺毋滥"标出,材料指纹不变不重跑、零条也记指纹;批任务 21:30 对最近一次传导扫描指向的环节投递;触发入口 /admin/segment_catalysts_batch;日检一行。选股系统按票所在的被指向环节取,卡与实时计划多 industry_catalyst 两键,复盘加"行业催化=有/无"分组;PMS 只进提议卡与账本,不送研判(产业逻辑不归择时决策系统判)。评析表、评析提示词、判决、逻辑状态一个不动。 - **09-08 试跑读数。** 最近一次扫描指向 25 个环节,13 个够料(近 180 天逻辑论断三条以上)。电网设备 26 条材料标出 0 条(模型按纪律判没有行业级事件),重跑指纹跳过;芯片设计 15 条材料标出 2 条(05-21 英特尔与英伟达 NVLink 互联,中·中期·利好;06-18 英伟达 NVQLink,小·长期·利好,把握都是中);动力电池 20 条标出 0 条。选股系统实时计划 71 只候选里 5 只所在环节含芯片设计,卡上"行业催化"行有值;PMS 解析到同样 5 只。数据基座评析工作容器、定时器、接口容器 15:40 经同意重启,任务注册、日程与触发入口都核过;选股系统接口容器第五次重启;PMS 镜像 15:22 重建(683 例)。材料没到的票显示"暂无",全链不断产。 - **投递不再有命名要求。** 目录名认别名与中文(研报、公告、年报、新闻、互动),根目录裸投按文件名关键词推断,默认研报;公司锚认 600519.SH、SH600519、裸六位数(按首位推交易所,标为猜测,画像从文内推断出不同公司时以画像为准);披露日文件名没有就用上传日兜底,再由画像从文内精修。原来投错目录被跳过的文件,现在会被登记。 - **要人做的。** 券商点评与深度照常投研报目录;财联社采集端存全文与持续入库;观察期看三处:21:30 任务每晚标出几条、卡上"行业催化"行有没有值、复盘分组两边的读数。不按读数回调阈值。