# OKX 期权模块 — 技术方案 > 适用范围:`crypto_monitor_okx` 实例;永续与期权共用同一套 `OKX_API_*`,不新增 PM2 进程. ## 1. 目标 在现有 OKX 监控实例中增加 **USDⓈ 本位期权(买方)** 能力: - 永续/关键位与期权:**同一账户 API**(`OKX_API_*`) - 两个 ccxt 客户端:`exchange`(defaultType=swap)与 `exchange_options`(defaultType=option),身份相同 - 顶栏资金:**资金账户/交易账户=USDT**;**期权资金/期权交易=USDC** - 支持 **手动 USDT→USDC 兑换** 与 **账户内划转**(无主↔子划转) - **无总资金池上限**;单笔权利金上限可配置(默认 10 USDC) ## 2. 交易规则(硬约束) | 规则 | 说明 | |------|------| | 仅买方 | 开仓 `buy`,平仓 `sell`;禁止卖方开仓 | | 产品 | `BTC-USD_UM` / `ETH-USD_UM`(线性,USDC/USDG 结算) | | 到期 | 仅展示 ≤2 日到期合约(可配置 `OKX_OPTIONS_MAX_DTE_DAYS`) | | 虚实 | 仅 **轻度实值**(`OKX_OPTIONS_ITM_ONLY`) | | 合约规格 | **1 张 = 0.01 ETH/BTC**(`ctMult=0.01`,以接口为准) | | 报价单位 | 盘口 ask/bid = **每 1 ETH/BTC** 的 USD 价 | | 权利金 | `总权利金 = 报价 × ETH数量`;`张数 = ETH数量 / 0.01` | | 单笔预算 | `≤ OKX_OPTIONS_TRADE_BUDGET_USDC`(默认 10),算张数 × `OKX_OPTIONS_BUDGET_BUFFER`(默认 0.95) | | 开仓 | 限价买单,价格 = 卖一 | | 平仓 | 限价卖单,价格 = 买一(市价需显式开启且二次确认) | | 监控 | 浮盈 / 已付权利金 ≥ 100% → 企业微信推送一次 | ## 3. 架构 ``` crypto_okx(单 PM2) ├── exchange (swap) ← OKX_API_* └── exchange_options (option)← 同一套 OKX_API_* lib/options/ ├── okx_options_lib.py # 封装于 lib/exchange/ ├── options_pricing_lib.py ├── options_db.py ├── options_monitor_lib.py └── options_register.py # 路由 + 监控线程 ``` **说明:** `defaultType` 分离避免错路由;密钥身份唯一.旧 `OKX_OPTIONS_API_*` 已废弃. ## 4. 资金与兑换 ### 4.1 展示(实例顶栏) - **资金账户 / 交易账户**:USDT(永续侧) - **期权资金账户 / 期权交易账户**:USDC - 总资金:USDT + USDC(1:1),同账户 USDT 不重复累加期权侧 USDT ### 4.2 兑换与划转 - 系统设置「币种兑换」:资金账户内 USDT ↔ USDC - 「期权划转」:同账户 funding ↔ trading(USDC/USDT) - **已移除**主↔子账户划转 ## 5. 环境变量(要点) ```bash OKX_API_KEY= OKX_API_SECRET= OKX_API_PASSPHRASE= OKX_OPTIONS_ENABLED=true OKX_OPTIONS_TRADE_BUDGET_USDC=10 OKX_OPTIONS_ACCOUNT_LABEL=账户·期权 ``` 详见 [env配置说明.md](./env配置说明.md) 与 `.env.example`. ## 6. 相关文档 - [期权用法.md](./期权用法.md) - [对冲计划开发方案.md](./对冲计划开发方案.md)