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 b929fda..aa31353 100644 Binary files a/docs/ETH对冲策略说明.xmind and b/docs/ETH对冲策略说明.xmind differ diff --git a/docs/策略说明.md b/docs/策略说明.md index 7e1bf35..79bf777 100644 --- a/docs/策略说明.md +++ b/docs/策略说明.md @@ -2,7 +2,7 @@ > 依据当前代码逻辑整理(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 后再放大", ]]),