Add OKX hedge-plan P0: env group, preview page, and PnL scenario math.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,109 @@
|
||||
# 对冲计划策略说明与 P0 校验
|
||||
|
||||
> 配套实现方案:[对冲计划开发方案.md](./对冲计划开发方案.md)
|
||||
> 本文记录 **策略口径** 与 **P0 代码校验**,确认可继续 P1+.
|
||||
|
||||
---
|
||||
|
||||
## 1. 策略摘要
|
||||
|
||||
| 类型 | 账户 | 作用 |
|
||||
|------|------|------|
|
||||
| **永期对冲** | 永续子账户 + 期权主账户买方 | 全仓做方向,期权买保险 |
|
||||
| **期期对冲** | 仅期权主账户双买方 | 目标价兑现盈利腿,亏损腿到期 |
|
||||
|
||||
### 永期结束与统计
|
||||
|
||||
| 事件 | 期权处理 | 计划 | 统计公式 |
|
||||
|------|----------|------|----------|
|
||||
| 止盈 | 不强平 | **结束** | **止盈盈利 − 权利金** |
|
||||
| 止损 | **强制平** | **结束** | **期权盈利 − 永续亏损**(有符号相加) |
|
||||
|
||||
### 期期结束与统计
|
||||
|
||||
| 事件 | 处理 | 统计 |
|
||||
|------|------|------|
|
||||
| 达目标价 | 只平盈利腿 | 待亏损腿到期后结账 |
|
||||
| 到期无盈利 | **结束** | **总亏损** |
|
||||
|
||||
起止均企业微信推送(P2+ 监控落地后再接).
|
||||
|
||||
### 门禁
|
||||
|
||||
- 永期开仓:**仅** `POSITION_SIZING_MODE=full_margin`
|
||||
- 非全仓:永期可测算不可开;期期 P0 起可测算(开仓后续版本)
|
||||
- env:OKX「对冲计划」分组;须 `HEDGE_PLAN_ENABLED=true` 才显示导航
|
||||
|
||||
---
|
||||
|
||||
## 2. P0 已交付
|
||||
|
||||
| 项 | 状态 |
|
||||
|----|------|
|
||||
| env 白名单「对冲计划」9 字段 | 有 |
|
||||
| OKX `.env.example` 字段 | 有 |
|
||||
| `/hedge-plan` 页(永期列表 / 期期 T) | 有 |
|
||||
| `/api/hedge-plan/market|options-chain|preview|gates` | 有 |
|
||||
| 全仓建议张数(可用×0.98×10x) | 有 |
|
||||
| 情景测算止盈/止损口径 | 有 |
|
||||
| 启动开仓 | **禁用**(明示 P0) |
|
||||
| 历史/统计/监控/微信 | **未做**(P1–P5) |
|
||||
|
||||
关键文件:
|
||||
|
||||
- `lib/hedge_plan/hedge_plan_calc_lib.py`
|
||||
- `lib/hedge_plan/hedge_plan_register.py`
|
||||
- `lib/hedge_plan/templates/hedge_plan_panel.html`
|
||||
- `lib/common/static/hedge_plan.js`
|
||||
- `tests/test_hedge_plan_calc.py`
|
||||
|
||||
---
|
||||
|
||||
## 3. 校验清单(可行性)
|
||||
|
||||
### 计算口径
|
||||
|
||||
```
|
||||
止盈: perp_pnl(tp) - premium
|
||||
止损: option_expiry_pnl(spot=sl) + perp_pnl(sl)
|
||||
期期到期无盈利: expiry_flat_total <= 0 → 记总亏损
|
||||
```
|
||||
|
||||
单测覆盖:`tests/test_hedge_plan_calc.py`.
|
||||
|
||||
### 门禁
|
||||
|
||||
- `risk` + 永期 → `can_start=false`,文案含「全仓」
|
||||
- `HEDGE_PLAN_ENABLED=false` → 导航隐藏(服务端 template 读 env)
|
||||
|
||||
### 行情
|
||||
|
||||
- 永续:`exchange.fetch_ticker` + `get_available_trading_usdt` + `compute_full_margin_sizing`
|
||||
- 期权:`build_option_chain`(与期权页同源)
|
||||
|
||||
### 已知边界(非 P0 bug)
|
||||
|
||||
1. 建议张数未强制 `amount_to_precision`(开仓阶段再对齐交易所精度).
|
||||
2. 止盈账扣全额权利金,与期权是否仍持仓无关(策略如此).
|
||||
3. 热更新 `HEDGE_PLAN_ENABLED` 后需刷新页面才显隐导航.
|
||||
4. 嵌入壳 Tab 已注册 `hedge_plan`;中控能力勾选若需显式「对冲」可后续加.
|
||||
|
||||
---
|
||||
|
||||
## 4. 服务器启用步骤
|
||||
|
||||
```bash
|
||||
# env 配置页 → 对冲计划 → HEDGE_PLAN_ENABLED=true → 保存
|
||||
# 或服务器:
|
||||
cd /opt/crypto_monitor/crypto_monitor_okx
|
||||
# 确保 .env 含 HEDGE_PLAN_* 字段后
|
||||
pm2 restart crypto_okx --update-env
|
||||
```
|
||||
|
||||
验收:
|
||||
|
||||
1. 顶栏出现「对冲计划」
|
||||
2. 永期可见建议张数(全仓时)
|
||||
3. 点「计算」得到止盈/止损合计
|
||||
4. 「启动计划」禁用
|
||||
5. env 页可见「对冲计划」分组
|
||||
Reference in New Issue
Block a user