5.0 KiB
迟到成交跨公司行为:校正候选
2026-09-14。仅开发验收,未发布生产;完整股票池目标保持进行中。
已复现
相同成交与同一数据/配置,仅推迟回报收到时间,原实现会丢失或多留公司行为权益:
- 买100股后送转2倍:及时回报为200股、权益9999;迟到回报只有100股、权益9499。
- 原持有200股、送转前卖100股:及时回报最后200股、权益9998;迟到回报最后300股、权益10498。
- 派息会漏记或多记应收/现金;换股后的迟到旧代码成交不能直接写回旧证券持仓。
这些是隔离的确定性引擎样例,不是实际GT账户金额。
实现
正常公司行为与校正共用 corporate_book 的原始计算逻辑。迟到回报跨过已处理的有效公司行为时,先复算当前已观察前缀,核对现金、批次取得日/成本及应收身份;覆盖不完整就失败,不以账户最终快照覆盖结果。
随后在私有经济账本按实际成交时间放入已经确认的手工事实,重放已发出的模拟成交、原现金变动与已执行的公司行为。原始策略不重跑,委托不补造,旧成交/历史日终行不重写;不存在的税费或现金对价不推算。普通日线成交的内部顺序使用冻结撮合模型,不把模型时刻写成实际券商时间。
现金与持仓在真实回报收到时原子替换;失败不推进游标。已发行单位、融资/资金流控制和任务目标状态保留,不重新发行单位或改用户参数。已收管理费和既有委托价格/费用保持原事实。现金计算直接使用固定金额,避免大额资金再经浮点转换。
校正新增独立审计:公司行为日期、冻结参数和SHA;现金前后与权益现金变化;逐代码股数及成本前后;前后账本摘要。原始成交股数、价格、费用和资金变动仍分开保存。换股后的卖后禁买事实沿已证实的后继代码传递,不冒充新增交易。
这是冻结回测合同内的经济账本校正,不是对实际GT税后派息或权益到账的独立核验。
验证范围
- 买/卖两方向 × 送转、派息、换股的最终股数/现金/权益对照通过。
- 期间存在已执行的同股/其他股票买入、即期或延期入金、显式融资及固定已收管理费,对照通过;原模拟成交列表逐字段不变。
- 派息启用/禁用、已付/待付、成本调整开/关八组合通过。禁用时不改变原观察日成交统计,仅比较最终经济事实,不将其误称同日成交。
- 两个100股批次、1.125倍送转,合计225股;不是把两段分别取整得到226股。
- 原子投影失败测试、来源绑定/金额/日期/后继链篡改拒绝测试通过。
- 本机Core895、交易625、Runner462/API127、前端2277通过;原ignore/skip不计通过。三项私有PG提交/权限/租约用例实际执行通过,最初错误筛选匹配0项的命令不计通过。
Runner正常构建保留现有Mac专属dead-code提示;格式化辅助脚本在lib.rs的模块排序比较处主动停止,没有强行覆盖模块顺序。最终源码检查与测试仍单独执行。
贯通与剩余门禁
提交能力增加 corporate_adjustments: v1,旧消费者不接受本轮手工输入。共享最终/流式成交投影保留校正结构并核对固定金额;页面保留原始交易,额外证据无效时单独报错而不藏掉原交易。
真实Rust样例经共享投影导出后,通过本机HTTP加载实际审计弹窗,1440/390、短屏及明暗主题共六组通过;无横向溢出、页面错误或交易写请求。原生Tab曾短暂离开弹窗,已补循环焦点;Esc回到原按钮。详见OmniQuant同名文档及 docs/evidence/manual-corporate-replay-20260914/browser.json。
Source d5明确冻结尚未获准解除,实际Source/Runner/生产联合验收仍未完成。新Linux配套验收与生产发布另列,不用旧AEGDYL/UUx5ru/FewUWP收据冒充本轮。继续核对红利再投入场时钟、后继证券数据范围、目标状态及跨模式ETF等剩余矩阵;本轮通过不代表完整Goal完成。
Linux配套补验
已推送功能提交:Engine05f1cbb、Service879a5a7、Trading559f5b1、UIf3c5470b(双远端已核对)。177引擎开发源码已ff到05,保留Service并行5991e77。独立只读corporate-replay-20260914-ZAnvlO快照972文件,4CPU/12GiB、boris运行、1GiB容量线保持。
Linux Core895、Trading625、Runner/API591全部通过(原9/63/16项ignore不计),源码前后未变。收据linux-tests.json及runtime.json。测试已结束;没有新的release构建、tag或生产重启,不覆盖旧完成快照。
生产UI/Paper/Live/Backtest等PID/实际SHA与前阶段相同,Source d5/PID1700096且tracked clean。没有真实委托、撤单或配置/通知写入。下一步直接处理上述剩余边界及正式Source/Runner准入,不重复本轮确定性测试或据此关闭完整Goal。