From 5369b4b04f54dd4f575511775d62f3e2147f80a2 Mon Sep 17 00:00:00 2001 From: dekun Date: Sun, 26 Jul 2026 19:37:20 +0800 Subject: [PATCH] Document plan-page watch rules: pin held strike, residual list, new ATM when flat. Co-authored-by: Cursor --- docs/ETH对冲策略说明.mm | 2 +- docs/ETH对冲策略说明.xmind | Bin 6846 -> 7110 bytes docs/策略说明.md | 39 +++++++++++++++++++++++++++++++--- scripts/gen_strategy_xmind.py | 16 +++++++++++++- 4 files changed, 52 insertions(+), 5 deletions(-) diff --git a/docs/ETH对冲策略说明.mm b/docs/ETH对冲策略说明.mm index 1ffe430..9fc09c7 100644 --- a/docs/ETH对冲策略说明.mm +++ b/docs/ETH对冲策略说明.mm @@ -1,4 +1,4 @@ - + diff --git a/docs/ETH对冲策略说明.xmind b/docs/ETH对冲策略说明.xmind index b929fdab60faa334bcb8ef563ed94a22951845c6..aa313532b175d972e7d0b10e75fe93778ccd7a69 100644 GIT binary patch delta 5677 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 F{SP(8yKevh delta 5402 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 t|A#aGY5!Y6Sd#Q0kfV*e<^TUm^ 依据当前代码逻辑整理(SIM 默认真值参数)。 > 关联:[开发方案](./开发方案.md)、[商业化与授权方案](./商业化与授权方案.md) -> 更新:2026-07-25 +> 更新:2026-07-26 --- @@ -138,7 +138,16 @@ 2. 本张期权 **不再盯盘、不再参与平仓扫描**,归档为「到期残留」; 3. 因期权 **逐仓**,残留 **不占用活跃持仓**,**不挡住下一组开仓**; 4. 下一组开平仓 **只扫当前活跃组期权**,不扫描历史残留腿; - 5. 残留期权到到期日再按 **内在价值** 单独结算(多半接近 0)。 + 5. 残留期权到到期日再按 **内在价值** 单独结算(多半接近 0); + 6. 页面:**活跃持仓区变空**;归档腿出现在「残留期权(待到期)」;下方期权盘口 **切回新 ATM**(见 4.6)。 + +残留到期结算口径: + +``` +结算价 = 内在价值(Put: max(K−S,0) / Call: max(S−K,0)) +期权盈亏 ≈ (结算价 − 开仓均价) × 数量 − 结算手续费 +整组净利 = 已实现永续盈亏 + 期权结算盈亏 − 全部手续费 +``` > 直觉:能双腿平就走 A;期权已经远虚平不掉就走 B,别把永续利润和下一单机会一起卡死。 @@ -147,7 +156,7 @@ - 净利一直未达标 → **不主动砍仓**,持有到期权到期。 - 到达期权到期时刻(OKX:UTC 08:00 = **上海 16:00**)→ 原因 `expiry`。 - **活跃组**:期权按标的结算价的 **内在价值** 入账;若永续仍在则市价平掉。 -- **残留组**(曾走 4.1.B):仅结算归档期权,不碰当前活跃仓。 +- **残留组**(曾走 4.1.B):永续早已平掉,**只结算归档期权**,不碰当前活跃仓、不改下方 ATM。 - 策略 **暂停时仍执行到期结算**,避免拖过期。 - 波动小、拖到到期:权利金亏损视为 **预算内成本**,可接受。 @@ -186,6 +195,28 @@ └─ 仅到期结算;不参与盯盘、不参与下一组平仓扫描 ``` +### 4.6 行情监控与页面展示 + +计划页下方期权盘口 **不是永远跟现价 ATM**,也 **不是永远跟开仓那张**,按仓位状态切换: + +| 状态 | 持仓区 | 「残留期权(待到期)」 | 下方期权盘口 | +|------|--------|---------------------|--------------| +| **有活跃组**(永续+期权都在) | 显示当前组 | 无(或仅历史残留) | **钉在持仓行权价**(标题「持仓期权 @ K」);浮盈亏/平仓价 **只用持仓合约盘口**,禁止借用新 ATM | +| **空仓**(无活跃组) | 空 | 无 | **跟现价 ATM**:\|ATM − 标的\| ≥ **5** 点时自动切到新行权价,供下一组选约 | +| **仅残留**(4.1.B:永续已平,期权归档等到期) | 空(活跃已 flat) | **显示归档合约**(到期/行权价) | **显示新 ATM**(为下一组开仓);**不**继续钉归档那张 | + +要点: + +1. **活跃持仓期间**:现价怎么走,下方监控都盯开仓那张;重启服务也不会漂到新 ATM。 +2. **平掉活跃组或走 4.1.B 后**:下方立刻回到「下一单 ATM」;归档腿只出现在残留列表,到期按内在价值结算。 +3. **浮盈亏口径**:持仓合约买一;不得用其他行权价的买一顶替(避免 1880 持仓显示成 1890 盘口)。 + +``` +有活跃仓 → 下方 = 持仓期权 @ 开仓行权价 +无活跃仓 → 下方 = 期权 ATM @ 当前现价档(可随价漂移 ≥5 点切换) +残留腿 → 只在「残留期权」行;到期结算;不占用下方 ATM +``` + --- ## 5. 策略侧重点 @@ -199,6 +230,7 @@ | **单组纪律** | 活跃持仓最多 1 组;远虚归档的残留期权不挡下一组(逐仓) | | **权利金是成本预算** | 小波动拖到期亏权利金,属于策略设计内损耗,不是异常 bug | | **目标平仓两分支** | 能平期权则双腿全平;远虚则只平永续、期权到期归档 | +| **监控分工** | 有仓钉持仓行权价;空仓/仅残留时下方跟新 ATM;残留腿单独列表 | 适合对外表述: @@ -301,3 +333,4 @@ | 2026-07-25 | 平仓顺序改为先期权后永续(与开仓同理:薄腿优先) | | 2026-07-26 | 到期按内在价值结算(对齐实盘);紧急平仓仍用 max(买一,标记,内在价值) | | 2026-07-26 | 明确两套目标平仓:双腿全平 / 远虚只平永续+期权归档到期;到期为未达标路径 | +| 2026-07-26 | 补充 §4.6:有仓钉持仓监控、空仓/仅残留跟新 ATM、残留列表与到期内在价值结算展示分工 | diff --git a/scripts/gen_strategy_xmind.py b/scripts/gen_strategy_xmind.py index c869e3f..bbe244a 100644 --- a/scripts/gen_strategy_xmind.py +++ b/scripts/gen_strategy_xmind.py @@ -412,6 +412,8 @@ def bodies() -> dict[str, list[str]]: "期权归档到期 · 不再盯盘", "逐仓不挡下一组开仓", "下一组不扫描残留期权", + "下方盘口切回新ATM", + "到期按内在价值结算", ], ), G( @@ -423,6 +425,16 @@ def bodies() -> dict[str, list[str]]: "残留组只结归档期权", ], ), + G( + "页面监控分工", + [ + "有活跃仓 → 钉持仓行权价", + "空仓 → 跟现价ATM(≥5点切换)", + "仅残留 → 列表显示归档腿", + "仅残留 → 下方仍是新ATM", + "浮盈亏只用持仓合约买一", + ], + ), L("另有:紧急全平 / 手动平仓"), ], style_id="sty-ops_close", @@ -545,7 +557,7 @@ def mm_flat() -> list[str]: mm("心法与节奏", [mm(x) for x in ["有波动多做", "目标 15U", "休息 5 分钟", "最多 1 组"]]), mm("仓位结构", [mm(x) for x in ["永续 1 · 期权 2", "先期权后永续", "ATM 选向"]]), mm("开仓", [mm(x) for x in ["前置检查", "选约门槛", "四步执行"]]), - mm("平仓", [mm(x) for x in ["目标A双腿", "目标B只平永续", "到期结算"]]), + mm("平仓", [mm(x) for x in ["目标A双腿", "目标B只平永续", "到期结算", "监控分工"]]), mm("关键参数", [mm(x) for x in ["仓位/杠杆/费率", "目标/休息/周末", "选约/偏差"]]), ], ), @@ -553,6 +565,8 @@ def mm_flat() -> list[str]: mm("⑦ 纪律要求", [mm(x) for x in [ "活跃1组 · 残留可共存", "远虚归档 · 不挡新开", + "有仓钉持仓 · 空仓跟ATM", + "残留列表 · 下方新ATM", "看净利 · 不报复", "SIM 后再放大", ]]),