Files

3.0 KiB
Raw Permalink Blame History

迭代目标:16-交易关联驱动持仓份额动态调整

迭代编号:16 | 创建:2026-09-08 状态:实施中 依据计划:PLAN-017 | 需求:R-018(已定稿,2026-09-08 老师逐项拍板)

目标描述

把「交易归属」从纯标签升级为账本写操作,落实 R-018 的数据域分界:幽灵清仓等同步机制只作用于「全部持仓」对账单域,不再写 strategy_holdings 账本;策略持仓份额只由交易关联分配器 + 手动份额操作驱动。

范围:策略级候选 + 统一份额分配器(委托已成交量拆 0..N 段 × 策略)+ 买卖联动账本(买入加仓/建新仓、卖出减仓/归零清仓、仓不足截断续分、无仓失败提示)+ 撤段逆操作(撤建仓买入=作废第三态、撤加仓=减回归零作废、撤卖出=恢复活动+份额加回,粒度=段)+ 归属分段存储(trade_order_attributions+ R-017 7 天候选退役 + 漏关联软提示 + PositionSync 删幽灵清仓逻辑。

目标分解(阶段)

  1. 阶段A 数据域分界PositionSync 删除幽灵清仓账本写(_autoCloseGhosts 不再 closeHolding),只保留对账单快照同步;漏关联软提示检测基础;
  2. 阶段B 存储地基strategy_holdings 增 void_at + closed_shares(幂等补列,close 时记录清仓前份额供撤段恢复);新建 trade_order_attributions 段表;trade_orders 原两列退役为冗余(读取改经段表);存量单组归属迁移为第一段;
  3. 阶段C 归属服务apply/revoke 判定动作表(买/卖 × 活动仓状态)+ 撤段逆操作 + 原子性(同事务撤旧段+加新段);
  4. 阶段D 候选与 APIorders/attribution-candidates 回归「策略级」(R-017 7 天候选退役;holdingId 键控/占位安全逻辑保留);orders/attribution-set(全量替换式)+ attribution-segments(读);
  5. 阶段E UI 分配器TradeRecordsTab 归属入口改策略下拉 + 段量 + 段列表(每段可撤);
  6. 阶段F 回归:新回归脚本(分界/分配器动作/撤段/迁移/软提示)+ 存量回归 + typecheck + build。

讨论过程(摘要)

2026-09-08 讨论收敛全部决策:Q1 策略级候选 / Q2 拆段 / Q3 保留建仓逻辑(份额基于 QMT 持仓创建)/ Q4 已成交量 / Q5 新买入=新仓不复活;R1 无仓卖出关联失败 / R2 分段存储 / R3 撤段逆操作(作废第三态+恢复活动)/ R4 统一分配器(不分子买卖、余额默认全量可改小、允许部分关联)/ R5 买入可拆段 / R6 撤加仓归零作废 / R7 段级取消;数据域分界(幽灵清仓不写账本);T1 关闭(无 30s 竞态);T2 R-017 退役;T3 漏关联软提示。

对老师/主理人的配合需求

  • 重启 DSH web 进程(服务端代码更新)+ 刷新页面人工验收;
  • 验收通过后迭代 16 标记「验收通过」,R-018 归档 + 需求池索引更新;
  • 迭代 12(R-014 幽灵清仓条款)、迭代 15(R-017 退役)为既有功能变更,人工验收时一并确认新行为符合预期。