09a763e47d
Co-authored-by: Cursor <cursoragent@cursor.com>
2.7 KiB
2.7 KiB
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. 环境变量(要点)
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.example.