# 对冲计划 · 选约与虚实值 > 实现日:2026-08-05 · 吸收 `eth_hedge_sim`(比特骆驼)选约几何;退出仍用本仓 TP/SL/S*,**不**移植仿真「净盈亏 15U 离场」。 ## 1. 冻结规则 | 计划类型 | 允许虚实值 | 禁止 | 推荐模板 | |----------|------------|------|----------| | **永期保险** `perp_options`(开关关) | 实值、平值 | **虚值** | 距指数最近的实值/平值(做多 Put / 做空 Call) | | **永期以期权为主** `option_primary=1` | 实值、平值、**虚值** | —(间隔+杠杆门) | 做多 Call+永续空 / 做空 Put+永续多;详见 `docs/对冲计划-以期权为主.md` | | **期期** `options_options` | 平值、虚值 | **实值** | 平值跨式(ATM C+P);双虚值(OTM C+P) | 口径与 `lib/options/options_pricing_lib.option_moneyness` 一致:ATM 带 = `max(指数×0.2%, 2U)`。 永期几何兜底(与仿真一致): - Call 实值/平值:`K ≤ S` - Put 实值/平值:`K ≥ S` ## 2. 代码落点 | 层 | 文件 | 作用 | |----|------|------| | 选约/校验库 | `lib/hedge_plan/hedge_plan_moneyness_lib.py` | `is_itm_or_atm` / `is_atm_or_otm` / `pick_*` / `recommend_oo_legs` / `validate_*` | | 启动门禁 | `hedge_plan_orders_lib.validate_start_body` | 测算外再拦一遍;防绕过 UI 直 POST | | 测算 | `hedge_plan_register._preview_po/_preview_oo` | 预览同样拒绝违规腿 | | UI | `hedge_plan.js` + `hedge_plan_panel.html` | 筛选锁定、推荐按钮、选用前校验 | | Env | `env_ui_manifest` 永期分组 | `HEDGE_PLAN_ITM_MAX_DIST_USD` / `MIN_OPTION_HOURS` / `MIN_OPTION_LEVERAGE` | ## 3. Env | 键 | 默认 | 说明 | |----|------|------| | `HEDGE_PLAN_ITM_MAX_DIST_USD` | 空→沿用 `OKX_OPTIONS_ITM_MAX_DIST_USD`(常 30) | 永期过深实值上限;0=不限 | | `HEDGE_PLAN_MIN_OPTION_HOURS` | 8 | 仅当请求带 `hours_to_expiry` 时生效 | | `HEDGE_PLAN_MIN_OPTION_LEVERAGE` | 0 | `指数/卖一`;0=关闭 | ## 4. 可用性审计 | 项 | 结论 | |----|------| | 默认筛选 | 永期默认「实值/平值」;期期默认「平/虚」—减少误选 | | 推荐一键 | 永期「推荐」;期期「推荐跨式 / 推荐双虚」—降低手选成本 | | 文案 | 规则说明与 alert 明确禁虚(永期)/禁实(期期) | | 服务端一致 | UI 过滤可绕过时,preview/start 仍会 400 | | 兼容旧 API | 未传 `strike` 时从 `inst_id` 解析;未传 `index_px` 时永期用 `entry`、期期用上下破中点 | | 以期权为主 | 见 `docs/对冲计划-以期权为主.md`:点数目标+扣费净利出场(非仿真 15U 固定);保险模式仍不接仿真净盈亏离场 | **已知局限:** - 链上 `moneyness` 依赖刷新时指数;剧烈跳动后需「刷新链」再选。 - `MIN_OPTION_HOURS` 需前端/调用方传入 `hours_to_expiry` 才校验(当前链行未必带该字段)。 - 期期「推荐跨式」优先 ATM,若无 ATM 会回退到最近允许档(含 OTM)。 ## 5. 安全性审计 | 风险 | 控制 | |------|------| | 客户端改包选虚值永期保险 | `validate_start_body` + preview 服务端拒绝 | | 客户端选实值期期腿 | 同上 | | 过深实值权利金过贵 / 杠杆过低 | `ITM_MAX_DIST` + 可选 `MIN_OPTION_LEVERAGE` | | 误开实盘 | 既有 `HEDGE_PLAN_LIVE_ORDER` ∩ `LIVE_TRADING_ENABLED` ∩ 全仓(永期)门禁不变 | | 保险模式平仓 | 不变:交易所 TP/SL | | 以期权为主平仓 | 独立监控分支;不改保险模式路径 | ## 6. 测试 ```bash python -m unittest tests.test_hedge_plan_moneyness tests.test_hedge_plan_orders -v ``` 覆盖:虚实值几何、永期拒 OTM、期期拒 ITM、`validate_start_body` 集成。 ## 7. 与开发方案对齐 更新 `docs/对冲计划开发方案.md` §3.2 / §4.1 选约约束,与本文件一致。