zlt
|
9171bd8bd8
|
工作交接 2026-09-20:换开发机前的现状、四件要紧事、155 实况与开工步骤;补记 155 源码挂载的例外
交接文档 docs/交接_2026-09-20.md。成文前只读核对 155 与 188,核出四件此前没记录的事:
155 上源码经服务器本地的 docker-compose.override.yml 挂载进容器(make stale 在 155 恒为一致);
工作包乙 f5cc1b8 已随 09-18 的部署提前生效,09-22 早上上游切质地轴时会自动切序,待用户拍板是否先关开关;
系统自决首周自动采纳为零,四只候选都在 09:31 前后因研判不可用交人;
单测的假仓储没替换读数表仓储,155 上每跑一次 make test 往 pms_consensus_stat 写一行假数据。
另把不部署看页面的假后端整理进 docs/dev_preview/(不在代码指纹范围内)。
CLAUDE.md 与 DEVLOG 开头关于「源码打进镜像」的说法补了 155 的例外。只动文档,代码指纹不变。
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
2026-09-20 09:12:52 +08:00 |
zlt
|
c706633ac5
|
方案副本同步:复审记录:工作包乙持仓管理系统 f5cc1b8 通过(155 一次性容器实跑全绿)、选股系统 4ae6378 退回一处(档位白名单过滤不能去)、拍板点六与 09-24 读数改法
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
2026-09-17 13:28:37 +08:00 |
zlt
|
f5cc1b8730
|
候选按上游名次排:上游选股计划排序主轴换成公司质地后,选股序、入池、PMS 候选三处同序(台账 016)
上游选股系统 2026-09-17 把选股计划的排序主轴从传导档位换成公司质地,计划顶层带 rank_axis=quality、每行带 quality_band/pointed/rank_old。这是上线协同阶段工作包乙:PMS 候选在上游是质地轴时按上游名次升序排、关掉自己的基本面立场分桶,让三处同一个序;上游没带 rank_axis(旧计划或选股系统回退)时逐字回到按立场分桶排,靠上游的键自门控。规格见 docs/上线与协同阶段工作方案与规格书_2026-09-17.md 工作包乙与附录乙。
改了哪些函数。plan_feed._rows 归一时带上 quality_band/pointed/rank_axis/rank_old 四键(缺就是空);parse_plan 返回加顶层 rank_axis、rank_rule;新增 _rank_mode 定这次的排序模式(upstream/quality_bucket/score);select_candidates 加参数 rank_by_upstream,生效条件是它为真且计划 rank_axis=quality,生效时排序键为上游名次升序、同名次原始分降序、立场桶不参与,返回加 rank_mode、items 透传四键;snapshot 名册快照的 meta 写 rank_mode(拉计划处按 _rank_mode 算好传入);_params 读 PMS_PLAN_RANK_BY_UPSTREAM,候选调用点透传。param_store 登记 PMS_PLAN_RANK_BY_UPSTREAM 默认开。
没改什么、为什么不合并。立场分桶排与纯分数排两支逐字不动(附录乙要求),上游没给质地轴时自动落回它们。三门槛一确认三风险、研判闸、下单链路、单表访问守卫都没动。不重启容器——上线是 09-23 收盘后重建镜像加 force-recreate、经用户同意,不在本提交、也不与 09-21 选股系统拉代码同一天。选股系统那一处小改(plan_review.pms_roster 按 rank_mode 还原序)在选股系统仓库单独一个提交,不在本提交。
单测。scripts/test_batch29_units.py 加三例(附录乙):上游 rank_axis=quality 且开关开时按上游名次排、立场桶不参与、rank_mode=upstream;上游没带 rank_axis 时逐字回按分桶排、rank_mode=quality_bucket;rank_mode 三态与四键透传、新开关登记。run_tests.py 的 batch29 例数 24→27。
实测读数。本地 py_compile 四个改动文件通过。本机缺 pydantic_settings 等依赖,按 CLAUDE.md 单测在容器内跑(make test 或 docker compose run pms-web python scripts/test_batch29_units.py),预期 ALL SUITES PASS、例数只增不减,交由 09-19 复审在部署机核。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-09-17 12:54:45 +08:00 |
zlt
|
4f2c6861ca
|
方案副本同步:复审补记:修复小包 e7cf0a9 通过(工作包甲与丙),交接补记副本同步,日程更新
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
2026-09-17 11:58:56 +08:00 |
zlt
|
0e6c9d718b
|
方案副本同步:拍板记录:周报底本改读当日快照(工作包丙)已通过,随修复小包同一个提交
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
2026-09-17 11:31:16 +08:00 |
zlt
|
15d18a76e2
|
方案副本同步:复审记录与上线协同阶段工作方案(2026-09-17),选股计划调整方案五处文字修订
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
2026-09-17 11:24:02 +08:00 |
zlt
|
a78e737e74
|
方案副本同步:选股计划调整方案修订:质地轴下无传导行免主题限额、入池不变式与备用开关、持仓管理系统协同项细化、接口容器同窗重启、风险与预判一节
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
2026-09-17 09:47:03 +08:00 |
zlt
|
587bd978cf
|
方案副本同步:选股计划调整方案与规格书(2026-09-17)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
2026-09-17 09:40:11 +08:00 |
zlt
|
980235cb25
|
按评审修订系统自决包:清仓停买入侧三件、弱表态按强弱、真通过要求、逻辑存疑不送研判
到价自动清仓前改成与命令清仓同样的三件:撤方案、驳回该票待确认买入提议、撤在途买入指令
(原来只撤方案,已下发的网格买单会与清仓单对倒),且不再只在有活动方案时才做。
只有一方表态改按合议强弱打标记,弱表态开关关掉时不再按标准仓采纳。
自动采纳只认带应答体的真通过,动作不在研判范围的 PASS 一律交人。
decline/full 档逻辑存疑的新建仓不送研判直接放弃。到价清仓理由保留现价目标价股数。
页面加「系统已采纳」「系统已放弃」两种处置词。第三十四批加两例、装配自检加一例,共 900 例。
台账 015 补记,上午规格书附录己补真实仓三条。
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
2026-09-14 16:40:22 +08:00 |
zlt
|
998ebb4ea8
|
三包评审:自决包、页面包、选股打分包可部署,两处小修建议部署前做完
逐行读了六个本地提交与选股桥一个提交,全量 897 例与三道守卫全绿。
两处建议部署前修:目标价自动清仓只撤方案不撤在途买单(与命令清仓不一致);
弱表态开关关掉时只有一方表态会按标准仓采纳。另六处不阻塞。
155 现无目标价票、弱表态开关开着,先部署也守得住前提。
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
2026-09-14 16:23:02 +08:00 |
zlt
|
44ec6d4a5d
|
系统自决包:把新建仓/深亏补仓/目标价的该不该做交回合议与研判(台账 015)
PMS_SELF_DECIDE 四档 off/record/decline/full,人只处理四类例外(研判不可用、上游硬风险、
合议装不上、判决词认不出)。合议加择时异议观察(wait_timing);动作引擎打 decide_kind;
proposal_service._self_decide 按决定表判采纳/放弃/交人,自动采纳走建议档重算数量、自动清仓
按可卖量夹紧并先撤方案;裁决接口改收预设理由码(decide_reasons);观察读数加七类、复核加
两张表、日报加自决注意项。撤销台账 001 与 008 两句。全量单测 894 例 ALL SUITES PASS
(既有 871 例全绿即 off 逐字回旧)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-09-14 15:07:41 +08:00 |
zlt
|
da272cc1c1
|
下一阶段开发规格说明书:系统自决、页面专业化、选股打分(只写文档,未动代码)
用户拍板:自决直接全开;目标价到价清仓、深亏补仓、判决关注三项全部自动;
工作包四批准且改完即可重启桥。规格逐条给出十六个交人触发点的新归属、
合议乘研判的最终决定表、决定种类取值、数据契约与理由模板、三个参数、
单测与哨兵、验证命令与回退,附八个流程示例、与现有状态机的冲突核对表、页面词表。
摸底查实两处冲突:仓位矩阵「技术面看空」那格的观察字段无人消费;
目标价自动清仓遇挂着网格方案的票会对倒,落指令前要先撤方案。
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
2026-09-14 14:00:33 +08:00 |
zlt
|
94da25bc25
|
按评审修订观察读数包:增持门口径改只数、清早重复无读数行、复核脚本与台账口径一致
按 docs/观察读数包与加固包评审_2026-09-14.md 第五节,改读数口径与文档一致性(非代码缺陷):
- 增持门拦截改看只数:检查点是两分钟窗口,累计次数 rounds 会把同一只翻倍(一天最多
八次),会误读。复核脚本第二张表用只数,台账 013 口径同改,rounds 只当诊断。
- 映射重建先清当日 tech_noread(consensus_stat_repo 加 delete_day_kind),以最新一次
为准。06:30 缺读数、08:40 补上的票不再留旧行让逐只无读数偏高(占比用覆盖行算,一直准)。
- 复核脚本第四张表把「合议交人而人采纳」单列成信息行,不计入分歧——交人本就让人定;
提议上限按天数放大(三十天窗口够用)。
- DEVLOG 09-14 节点修内部不一致:补文档包、从欠账里删掉已完成的 README/CLAUDE.md。
- record_round 的 params 注明暂未用(保留对齐规格书签名)。
第三十一批加一例(映射重建先清当日无读数),开发机全量 847 例 ALL SUITES PASS。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-09-14 11:07:39 +08:00 |
zlt
|
845d6f2d0b
|
观察读数包与加固包评审:可部署,三处读数口径与文档一致性要在 09-17 复核前修
逐行读了三个提交的差异与四个新文件,开发机全量单测 846 例 ALL SUITES PASS,
核实了七处单测覆盖不到的接线。结论是可以收盘后部署 155。要修的三处:
增持门拦截次数用累计次数会因两分钟窗口翻倍、DEVLOG 节点欠账写了已做的事、
早上两次映射重建都写逐只无读数行。另有四条不阻塞的小建议。
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
2026-09-14 10:58:08 +08:00 |
zlt
|
f2d6b37fd2
|
观察读数包:合议判定落表 pms_consensus_stat,加复核脚本与日报小节(台账013)
每轮扫描把合议相关的判定归类落表,供台账006到011复核,之前这些数只活在
扫描返回值与页面即时快照里,复核日期到了拿不出数。
做了什么:
- 新表 pms_consensus_stat(第21张),一天一票一类一行,重复记到只加次数。
- 动作引擎给合议跳过项(跳过分fund/bear、观察wait_tech)与增持门(gate_block
带fill/add/dca)打类别标签,只在对应开关开着的分支里打,关掉逐字回旧。
- consensus_stats.record_round 按检查点归类落表:转空实弹随时写,路由与装配两类
只在检查点写,试算不写;映射重建时 record_map_cover 记覆盖只数与逐只无读数。
- 复核脚本 scripts/consensus_review.py 与 make consensus-review 打出台账要的四个
读数;日报加合议观察小节。
- 新参数 PMS_CONSENSUS_STAT_TIMES 控制检查点(默认0935,1030,1330,1445)。
哨兵:DDL表数20改21;record_round进SOFT_FAIL;第31批登记进SUITES与例数表。
开发机全量单测840例 ALL SUITES PASS。未在155部署(收盘后另行审批)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-09-14 10:19:51 +08:00 |
zlt
|
28347fcb00
|
三源合议阶段评审与下一阶段开发方案规格书(只写文档,未动代码)
评审对照方案逐包核对完成度与真机判收,155 只读读数、开发机全量单测,
十条发现里最要紧的两条是盘中确认没有落地、观察读数不落表复核做不了。
下一阶段定为观察与收尾,八个工作包、六个新参数、八个拍板点,
每个工作包带改动点、单测清单、验证命令与回退。DEVLOG 追加五段式节点。
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
2026-09-14 09:22:15 +08:00 |
zlt
|
2d019a1b17
|
三源合议工作包三(二):策略层两道技术面离场(part 3+4)
part3 跟踪止盈盘中 SAR 止损线:09:45 后现价跌破昨日 SAR×(1-0.003) 即全清、当日一次;
每天 09:40 把技术面映射的 SAR 值刷进每条自动跟踪止盈,无读数撤旧线。
part4 弱基本面试探仓紧止盈自动挂载:基本面看空+技术面看多的试探仓次日 09:40 自动挂
回撤 3%/硬目标 8%/带 SAR 线的跟踪止盈,不占每日名额;认它靠入场账本 advice.tight_trail。
至此工作包三四部分全做完。台账 011;第三十批扩到 33 例;开发机全量 ALL SUITES PASS。
只对自动跟踪止盈与弱基本面试探仓生效,其余策略票行为不变(batch17/19 回归绿)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-09-11 17:13:51 +08:00 |
zlt
|
8fdcc2ac16
|
三源合议工作包三(一):技术面转空自动离场(part 1+2)
动作引擎加转空离场评估器 eval_tech_exit:相位转空且翻空≤2 交易日才评,
确认转空清仓全部可卖量、未确认减三分之一;默认自动执行(与保垫减仓同档),
档位 PMS_TECH_EXIT_AUTONOMY 三档 off/propose_only/full;同一翻空只处理一次
(PMS_TECH_EXIT_DONE 去重,SAR 翻多即清,不动表结构)。
- EVALUATORS 加一条改七条(TRIM、TRIM、EXIT、EXIT、ADD、FILL、DCA)
- 卖出优先级改来源分档:目标价<研究走弱<技术面转空<保垫减仓(既有相对次序不变)
- 策略票判据改按函数判:策略票只评到价清仓、不评转空离场(SAR 归策略层)
台账 010;第三十批 18 例;开发机全量 ALL SUITES PASS。
策略层两部分(盘中 SAR 止损线、弱基本面试探仓紧止盈)留下一增量。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-09-11 16:52:35 +08:00 |
zlt
|
51815d5588
|
三源合议工作包二(四):接入下单链路(合议分流·增持门·质地排序·提议卡合议行)
把三块大脑接进新建仓与持仓的下单链路,每处守开关关掉即逐字回旧:
- 新建仓扫描前批量装配合议挂候选;scan_open 按合议路由分流
(跳过/观察不占名额、观察带 wait_tech、交人强制确认、放行照常、缺合议退旧路)
- 合议开着时定档改用 advise_v2 仓位矩阵;六键进硬数字但不进送研判白名单
- 持仓增持门:合议看空停三类、技术面看空停回踩补足与盈利加仓、基本面看空停补仓,减持不受影响
- 候选先按基本面立场分桶再按分数;观察档质地看多进池开关(默认关)
- 提议卡加合议行与详情弹窗;候选处置新增「等技术面开口」
台账 007/008/009;第二十九批 24 例,本地全量 ALL SUITES PASS。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-09-11 16:28:32 +08:00 |
zlt
|
2f4f9cbf52
|
交接文档:技术面接入与三源合议进度(工作包二接入待做)
对照方案汇总:工作包一 155 真机判收完成;工作包二三块大脑(纯逻辑/装配/advise_v2)完成;
剩接入下单链路(扫描分流/增持门/候选排序/页面合议行)。含接入设计(复用判决分流手法)、
真机两个坑(upsert 用 VALUES / 分页按 matched)、验证命令。供新开上下文接手。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-09-11 15:02:57 +08:00 |
zlt
|
0d3984582c
|
技术面接入工作包一(后端):取数落表、相位合成与映射打通
方案见 docs/技术面接入与三源合议方案_2026-09-11.md 第五节。让每只票多一份结构化
技术面立场,数据取自决策系统全市场技术面接口(布林线/多空布林线/SAR)。
- 新表 pms_tech_daily 存全市场每日读数,保留 40 个交易日
- core/tech_rules 相位合成(纯逻辑)、repo/tech_repo 单表访问、services/tech_service 分页取数落表与每早映射
- 调度加 06:30 tech_pull;plan_pull 拉完计划后补拉一次并重建映射
- 三接口:技术面状态、手动拉取(管理员)、单票研究面
- 参数 PMS_TECH_* 登记;哨兵同步(DDL 表数 20、调度位、路由清单)
- batch27 二十七例,开发机全量 ALL SUITES PASS;相位与五个阈值记台账 006
页面七处建议并入工作包二;合议(二)、离场(三)、选股打分(四)未做。未真机判收。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-09-11 12:32:00 +08:00 |
zlt
|
4455002a4a
|
交接文档 2026-09-10:当前状态、待办重启、上线顺序、两个容易再踩的坑
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-09-10 09:50:55 +08:00 |
zlt
|
4e8e2e4ac4
|
台账 001 到 005 与落地记录(含上线前试算读数)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-09-09 15:36:33 +08:00 |
zlt
|
0c8d2a7d6c
|
点股票看它今天的全部信号:按代码回扫接口、抽屉、遮罩空白四处修复(台账 055 第一件)
信号栏一行等于上游流里的一条原始消息,一只活跃票一天十来条散在好几个分组里。
现在点一下票名就能把它今天的全部信号按时间倒序摊开。
后端:
- upstream_signals.by_code() 按代码回扫五个上游源。快照口径注定不全(告警每类只留
最新 20 条),到下午一只活跃票早盘的信号早被挤掉,所以这条路径分页倒序回扫(每页
500 条,上限 PMS_UPSTREAM_BYCODE_SCAN 默认 5000):两条按日期分键的流整键就是今天,
两条不分键的流扫到今天零点为止且不算截断。同源同分钟同值合并计数,跨源永不合并。
按票缓存八秒防连点,单源失败不拖垮整体且逐源标明。实况分没有时间,只进快照段不
编时间戳。只读纪律与快照相同:一律 XREVRANGE/ZREVRANGE,不建消费组、不 ACK、不写。
- GET /api/upstream/signals/{ts_code},只能点击触发,绝不进轮询。
前端:
- 抽屉两段取数:先用手上的快照渲染,第一帧就有内容;同时发回扫请求,回来替换成完整
版并把口径说明从「可能不全」翻成「已回扫到今天开盘」。补全失败保留快照挂黄条带重试。
- 三处入口:信号栏每行票名(14 处,@click.stop 免得顺手翻开风控卖出的理由条)、持仓表
「今天的信号」列(连「今天没有」也可点,速览口径下的「没有」可能是假的)、消息栏两处。
- 遮罩空白四处修复:整体失败不再抹平成空数据(原来失败时页面显示「今天没有信号」,
在风控面板上这是最危险的一种谎);告警派生的三个分组补失败角标、各路空文案给失败
态让位;失败角标的样式选择器漏了信号栏;错误横幅在遮罩之上再浮一份;抽屉层级写死
3000 压住浮层 2010 与遮罩 2005,打开前先收浮层。选股计划抽屉补加载提示。
测试:新增 scripts/test_batch24_units.py(9 例),已在 run_tests.py 的清单与例数表、
test_wiring.py 的路由清单三处登记。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-09-09 14:53:29 +08:00 |
zlt
|
e1a81619dd
|
修改前端页面
|
2026-08-26 15:47:14 +08:00 |
zlt
|
f522b4110e
|
修改前端页面
|
2026-08-26 14:29:25 +08:00 |