Fix LIVE SoT P0/P1: closing state machine, OO exchange fills, BN balances.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
# 审计修改方案 — 2026-08-08 交易所 SoT 续修
|
||||
|
||||
## 目标
|
||||
|
||||
实盘以交易所仓位/成交为准;本地仅镜像。修完后无 P0/P1 仓位与状态机硬伤。
|
||||
|
||||
## 修改清单
|
||||
|
||||
### P0 状态机与错腿
|
||||
|
||||
1. `closing` 加入 `BLOCKING_STATUSES`;引擎 manage + emergency 处理 closing
|
||||
2. OKX `close_winning_oo`:先处理 closing(对齐 BN)
|
||||
3. emergency / `close_group`:检测期期 → `close_oo_full`
|
||||
4. 到期:期权交易所未空 → fail-closed;空后只平永续;fill 不用 intrinsic
|
||||
5. recover_opening:解析 `oo_put:`,双腿皆空才清槽
|
||||
6. 期期盈利腿:交易所张数下单,成交均价入账,验空再落 residual
|
||||
|
||||
### P1 镜像与可用性
|
||||
|
||||
7. 残仓已空:零价镜像仅标记 `exchange_flat`,不伪造交割现金(PnL 标未知/0+note)
|
||||
8. `close_oo_full`:用 fills 汇总 realized_pnl
|
||||
9. repair / abandon:交易所 size;永续已空可归档
|
||||
10. 币安余额接入资金门(能查多少接多少)
|
||||
11. 半自动:出场前要求盘口可成交(bid/ask 存在),否则 liquidity_wait
|
||||
|
||||
### 验收
|
||||
|
||||
- 单测覆盖 closing / emergency-OO / expiry 无 intrinsic / recover Put / BN bal stub
|
||||
- 再审计无 P0;P1 交割账单拉取可标「后续」若交易所 API 未接
|
||||
|
||||
### 实施结果(2026-08-08)
|
||||
|
||||
| 项 | 状态 |
|
||||
|----|------|
|
||||
| closing BLOCKING + engine | ✅ |
|
||||
| OKX OO win 顺序 + 交易所成交 | ✅ |
|
||||
| emergency/close_group → OO full | ✅ |
|
||||
| 到期无 intrinsic;只平永续 | ✅ |
|
||||
| recover oo_put 孤儿 Put | ✅ |
|
||||
| repair/abandon 交易所 size | ✅ |
|
||||
| BN 余额资金门 | ✅ |
|
||||
| 半自动买一闸 | ✅ |
|
||||
| 交割账单拉价 | ⏳ 后续(零价镜像+note) |
|
||||
|
||||
再审计:无剩余 P0;剩交割账单与期期开仓账本对称为 P2/后续。
|
||||
Reference in New Issue
Block a user