Commit Graph

143 Commits

Author SHA1 Message Date
zlt 52581f1437 旧测试改为五路
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 12:09:07 +08:00
zlt 296fc96909 公司质地接入:公司深度取数、逻辑状态第五路、判决收敛只降不升、卡与计划两键、候选单表列、复盘分组、逐票接口回两键、单测(台账 053)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 12:05:03 +08:00
zlt 7965b2084b 台账 052 补目标集合落法;方案副本附录
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 10:32:40 +08:00
zlt cbb526afdc 评析目标名单:主榜前一百加观察档前二十
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 10:31:49 +08:00
zlt 89eb5135e7 评析目标名单取展示给人的候选单,不取全部主榜
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 10:30:53 +08:00
zlt 0c4129738d 个股深度评析目标名单:出计划时写 t_akg_review_targets,手工补写子命令,单测
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 10:29:56 +08:00
zlt ad8d7c84a2 台账 052:个股深度评析第一批上线;交接与方案副本更新
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 10:27:42 +08:00
zlt fa10183200 台账 051 试跑读数;交接更新到行业催化上线
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-08 15:38:40 +08:00
zlt 81a50734d2 行业催化:按票所在环节读基座 segment_catalysts,卡上整句与复盘分组,只展示不进判决(台账 051)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-08 15:21:10 +08:00
zlt 4e5cd525a1 台账 050:财联社电报定性与用法;交接更新到相关快讯上线
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-08 14:38:24 +08:00
zlt 69b25b629a 相关快讯:财联社电报点名条目进候选卡与实时计划,只当上下文不进判决(台账 050)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-08 14:07:05 +08:00
zlt b69b57ff00 台账 049 与交接:三处启用已做,周五任务待平台建
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-08 13:51:18 +08:00
zlt 29fef46609 台账 049:三件代码活落地;交接 09-08 版本表与主线进度更新
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-08 13:39:43 +08:00
zlt 338558e03a 复盘周报固定动作入口:run.py plan-review 滚动窗口、调度步骤 plan-review、单测
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-08 13:24:20 +08:00
zlt 216aede701 台账 048:整链核对与开发完成判定;交接_2026-09-08 当前进度总汇 2026-09-08 12:58:17 +08:00
zlt 1d76b902d6 台账 047 补记启用与两只票读数;交接与方案同步 2026-09-08 12:43:36 +08:00
zlt 20af8bf195 台账 047:量价研判链 3.3 与 3.5 编码完成,待启用 2026-09-08 12:31:09 +08:00
zlt 2c0ad41963 方案进度:量价研判链 3.4 上线读数 2026-09-08 11:45:56 +08:00
zlt 1f7d0d8f22 台账 046:量价研判链 3.4 上线;方案进度 2026-09-08 11:43:50 +08:00
zlt 1fc874b313 量价研判链 3.4:催化事件、事件日字段与定价状态、周报分组(只展示不进判决)
sources:analyst_reports / analyst_events 从券商研报明细表算四类正向事件(深度覆盖前 365 天无覆盖且买入类、
同机构同预测期 180 天内上调五成、标题含超预期、同日合并为复合),窗口 60 天;price_history 分两段读前复权
行情(无事件 35 天、有事件 100 天);event_day_fields 算事件前 5/20 日涨幅、跳空、日内、收盘位置、量比、涨停。
card:pricing_state 按四情形归类(价格发现、趋势延续、高位兑现、震荡消化),阈值一次定死;两类整句与短写法。
plan:候选卡带 events / pricing_state 与整句,候选单表格加两列并附口径说明。
plan_review:分组读数加"定价状态"与"催化事件"两类,另出定价状态多空差一段。
测试:新建 test_events_pricing.py;09-04 实机:档位表 1,210 只里 102 只有事件,定价状态分布
震荡消化 1,146、高位兑现 33、价格发现 16、趋势延续 15;计划装配 30 秒。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-08 11:40:51 +08:00
zlt 7cf47d050a 台账 045:批准量价研判链吸收方案 2026-09-08 11:26:13 +08:00
zlt dbe5c92231 量价研判链吸收方案(2026-09-08,已批准) 2026-09-08 11:24:42 +08:00
zlt 1918cf7e82 台账 044 补记接口第三次重启与整链实测;交接同步 2026-09-07 16:42:42 +08:00
zlt 7dedda0567 台账 044:两条拍板;方案四处自动止损定性改写;交接同步 2026-09-07 16:38:21 +08:00
zlt ab09154594 接口 /logic_state 随状态回安全边际三情景(持仓页参考目标价用;算失败不拖垮状态查询) 2026-09-07 16:35:29 +08:00
zlt f913b84446 台账 043:一致性检查表十三行核完;交接 5.2 改为结论表;方案第五件进度 2026-09-07 16:15:22 +08:00
zlt a6bbd6d17d 台账 042 补记两处尾巴已收;交接同步 2026-09-07 15:57:57 +08:00
zlt 8e23395858 台账 042:第四件上线;方案与交接同步 2026-09-07 15:50:18 +08:00
zlt e00b38e36b 第四件:安全边际三情景,只展示不进判决
sources:券商研报原始行取一次(broker_reports,带市盈率列),券商行动改用共用分箱
(行为不变,单测钉住);新增 scenarios(悲观=最低每股收益×最低市盈率、中性=两项中位数、
乐观=两项最高,隐含市盈率、赔率、机构分歧标注)、valuation_scenarios(优先年度预测期、
同机构只留最近)、close_prices(与预期空间同源的前复权收盘价,左闭右开区间)。
card:valuation_view 整句与 valuation_short 短写法,四种不适用与两种赔率不成立各一句人话。
plan:候选卡带 valuation 原值与整句,候选单表格加一列并附口径说明。
测试:新建 test_valuation.py,恩捷手算对表(悲观 42.64、中性 56.75、乐观 84.96、隐含 21.4、赔率 0.87)。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 15:48:27 +08:00
zlt 54607015f9 台账 041 补记接口容器重启与整链接通实测 2026-09-07 14:48:13 +08:00
zlt a7c7a62c73 台账 040、041:第三件桥侧与 PMS 侧上线;方案与交接同步进度 2026-09-07 14:44:49 +08:00
zlt faede9ab68 第三件桥侧前置:逐票日频逻辑状态表(抗抖动)与按代码查询接口
新模块 logic_state_daily.py:每个数据日为档位表里的每只票记一行原始态与落定态,
落定走 logic_state.settle(进入存疑即刻成立、退出要连续三天、其余迁移要连续两天),
只在 plan.generate 里写、/plan 实时重算只读;同日重跑幂等。
plan.py:四路取数抽成 _logic_inputs(计划装配与接口现算共用一处);卡上的 state 改为
落定态,另发 raw_state、settle_note、prev_state;新增 logic_states_for 给接口现算。
api.py:GET /logic_state?codes=…,优先回当日表行(source=daily),不在表里的按此刻
现算并按历史落定(source=computed)。config 加表名与三个天数。
单测:新建 test_logic_state_daily.py(落定口径、读不到不断产、幂等落库、往返形状),
test_plan_logic_state.py 加落定态发出两例;十个测试文件在 155 容器隔离副本全绿。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 14:21:42 +08:00
zlt b2ebf6d368 台账 039:第二件上线
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 12:05:18 +08:00
zlt 857e642c19 第二件选股侧:启动线关着时理由行不再写当日涨幅
09-04 关闭启动线后理由行写成"当日涨幅 x%(启动线已关闭,不作门槛)"。理由行在 PMS 送
研判的白名单里,择时决策系统的模型能直接读到这句选股层的政策旁白——它回答"启动线关闭、
价格处高位滞涨区"就是被牵着走的结果,等于选股层在替择时层判时点。

现在启动线关着时理由行不提当日涨幅,涨幅只留在候选卡的信息子字典里给人看,不当理由、
也不送研判。守卫用例改为钉住"理由行里没有启动线与当日字样"。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 11:59:42 +08:00
zlt a568f001cb 台账 038:第零件丙组上线,第零件收官
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 11:44:22 +08:00
zlt 33d8292c0a 第零件丙组:四态的三处输入缺陷
独立审查(09-07)第 8、9、10 条,不修的话第三件一接入就是分流错。

一,甲路只喂了展示用的三条论断。跨期翻转与同期分歧都在三条上算,"之前的论断"最多
两条,翻转两头都会判错:历史八空两好加最新一空,全量判无法判断、三条判逻辑存疑;
历史五好近三空则反过来。现在全量取一次(上限由新配置项 LOGIC_CLAIMS_FULL 定,
默认 200,与覆盖率读数脚本同口径),展示从里面切前三条。

二,乙路的硬触发只维持一个计划日。迁移只在指纹变化那天记 migrated=1,次日归零,
而采信倾向仍偏空并未回稳,存疑却自动解除。加一份每簇近几个计划日的历史(一次查询
取全部簇,不逐簇查),规则是近 N 日内出现过偏多到偏空的迁移且此后一直偏空,硬触发
就仍成立;倾向一离开偏空立刻作废。N 取 5(新配置项 JUDGEMENT_HOLD_DAYS)。

三,落在法定假日的快照会吞掉硬触发。快照按工作日投递、plan_date 取当天,假日那行
夹在两个数据日之间,节后计划读到的是与假日行比对得到的 migrated=0。加交易日守卫:
今天不是交易日就不落行。日历读不到时不拦,不让守卫本身成为断产点。

测试:四态模块加五例,快照模块加八例,计划装配加三例。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 11:42:40 +08:00
zlt d0dc6cdcf2 台账 037:第零件乙组上线
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 11:31:08 +08:00
zlt 46aaa94060 台账 036:第零件甲组上线
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 11:24:06 +08:00
zlt e68103823f 下一阶段工作方案落档;台账 035 记批准、拍板与审查结论
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 11:06:13 +08:00
zlt 145c75e127 交接:随 5.1 更正过期的三处字句
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 09:41:39 +08:00
zlt ad4b255a54 台账 034 与交接 5.1 更正:快照没断,错在我;记周末持仓被对账清零
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 09:40:42 +08:00
zlt 05c5e2f889 读上一版快照改为取全部列并归一空值
这个函数 2026-09-07 起也给计划装配用,要按环节名索引、再读采信倾向与自我校验。
原先只取算迁移用的五列,环节名是空的,按环节索引必然为空,产业研判这一路整个缺席。
上一处修改(读 ds 当天或之前的最近一版)方向对了,但被这一层挡住,周一计划里可用数
仍为零。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 09:33:40 +08:00
zlt fcd1f547f6 计划读快照改为"数据日当天或之前最近一版",修掉一个把手工时序写进代码的错
快照在交易日 D 晚上写、plan_date 记 D;计划在 D+1 凌晨构建、数据日是 D。原先读的是
D+1,永远对不上。09-04 能对上只因为那天上午手工跑过一次快照。周一起产业研判这一路
可用数变成零,台账 033 把它记成"快照断了、要查调度中心"——调度中心其实一直按时在跑,
错在这里。

改成 load_previous(D+1),即 plan_date 不晚于 D 的每簇最新一行。顺带扛得住某个晚上没跑:
退回上一版,陈旧天数照常累加。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 09:30:16 +08:00
zlt 5d727ae61a 交接文档落档,台账第 033 条:费用估算更正与快照断裂
交接文档覆盖 09-03 方案批准到 09-07 上午这一段:做完的六件事、费用的实际口径、
上线状态、踩过的五个坑、接手第一件要处理的三处、以及四条实跑验过的验证命令。

台账 033 记三件 09-07 新查到的事:
一是更正 09-04 的费用估算。周五定时投的 24 个环节全部指纹跳过、一个都没重跑,
而当时估的是每天约 59 万 token。原因是封顶挪到了指纹之前,新事件多数落在
进模型的前 44 条之外。
二是行业观点快照断了,只有两天的记录,导致产业研判这一路在周一的计划里可用数为 0。
三是论断质量标注已随周一的计划生效。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-07 09:04:04 +08:00
zlt 655cef79df 台账 032 更正:旁批实跑通过,此前报的环节图建不出来是我查错了
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-04 16:40:54 +08:00
zlt 4895148b2e 台账第 032 条:旁批的产业理由与三处输出额度
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-04 15:42:43 +08:00
zlt 652ba2dd60 翻译表按清点结果补齐;修一处守卫自己的错
枚举清点扫全了后端会送到页面的字段,结果比先前的清单彻底得多。

**先修守卫自己的错**:它把字段名 autonomy 一律映射到全局参数那一组,而个股交易
方案的 autonomy 是另一套取值(auto / confirm,对全局的 full / propose_only / off)。
字段同名但不是一回事,照它整改会接错组。改成按"字段在哪个对象上"区分。

翻译表补十组、扩四组,出处都核到了代码定义不是注释:
- 动作那组原先只有八个真动作,账本里还有八个伪动作(对账修正、信号留痕这类)
  是直写的字面量,少一个就在页面上露原码。挂方案那条用了中性词——想挂但放弃的
  三处调用也以同一个值落库,写成"挂成功"会说反。
- 方向那组缺 none。停手那类动作真实产出这个值,此前会印成原码。
- 评审账本的结论与研判闸的结论是两组,别混:前者记"这一步放行还是驳回",
  后者记"决策系统怎么说"。
- 三个字段的取值是开放集(对端下发的拒单码、上游透传的等级、决策系统给的中文
  原文),不许声称全集也不许吞掉原值,在守卫里单独登记一笔免得以后被当成漏网。

周报的加权列还漏一个:excess_w 去掉后缀是 excess,而本体列叫 excess_all,
按后缀规则查不到。补一条对应。翻不出来的原样返回,宁可露出原名让人发现,
也好过安一个错的说法。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-04 15:17:05 +08:00
zlt 3a06f1224e 台账第 031 条:文案第四批与周报的一处事实改正
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-04 15:13:17 +08:00
zlt 0bf29287a1 文案第四批:计划的环境标签与周报的表头、导读、口径栏
环境标签那行原先印出「环境标签:UNKNOWN,弱势指数 None/8」。三处毛病:UNKNOWN 是
枚举值;8 是硬写的分母,而快照里其实带着真实的指数总数;None 是取不到时的空值。
改成三种情况分开写,并补上一句此前没说的要紧话——这个标签不影响任何一只票买不买,
只在事后复盘时用来分组。不写的话,看到「弱势日」会以为下面的名单被压过一轮。

周报整张表的表头都是英文字段名。翻译放在渲染函数里,每张表都受益。有三处不能想当然
地译:比全池多涨几个点与跑赢全池的占比都跟全池比,但一个是收益差、一个是只数比例,
译成同一个说法会在同一张表里紧挨着撞车;往后看几个交易日不能译成持有天数,脚本开头
反复写明不建仓、不计成本、不是回测。

导读段落原先按英文列名写,表头一改就指向不存在的列,而且里面有一处事实错误:写着
样本纪律三档,代码里只有两档。一并重写并改正。

自评与账本那两栏的口径说明里有库表名与枚举值。改成说清算法本身,特别是"为什么这个
数不能和上一行直接比大小"——那正是并列这两行时最容易读错的地方。

两处会把数据库异常原文印进周报的,改成只进运行日志。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-04 15:00:54 +08:00
zlt 7651dbc815 台账第 030 条:文案三批上线,以及 exec 打到孤儿容器的发现
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-04 14:51:33 +08:00