# 比特骆驼自动化对冲系统 — 策略说明 > 产品:**比特骆驼自动化对冲系统**(工程 `eth_hedge_sim`) > 依据当前代码逻辑整理(SIM 默认真值参数)。 > 关联:[开发方案](./开发方案.md)、[商业化与授权方案](./商业化与授权方案.md)、[实盘索引](./实盘策略说明.md)、[OKX实盘](./OKX实盘策略说明.md)、[币安实盘](./币安实盘策略说明.md) > 更新:2026-07-26 **运行模式**:设置页「运行模式」可切 **SIM / LIVE**;交易所 API 录入后写入服务器 `.env`(不回传明文)。LIVE 须二次确认输入 `LIVE`;**OKX / 币安均可真下单**(须选对应当前交易所并配齐密钥)。有持仓时不可切模式。 --- ## 1. 策略一句话 用 **ATM 期权买方** 表达方向弹性,用 **反向永续** 做对冲腿;波动大时争取多轮兑现净盈利,波动小时接受权利金磨损,**到期自动全平**。 本质是 **概率与样本**:不追求每天固定轮次,而按行情吃机会。 **行情来源可切换(SIM)**:系统设置中可选 **OKX** 或 **币安** 公共行情;成交仍为本机模拟撮合,**不下真单**。 | 交易所 | 永续(默认) | 期权 | 说明 | |--------|--------------|------|------| | OKX | ETH-USDT-SWAP | ETH-USD_UM(偏 USDC 保证金族) | 当前默认 | | 币安 | ETHUSDT(USDT-M) | 欧洲期权 ETH-YYMMDD-行权价-C/P(USDT) | 后期实盘优先候选 | 有持仓时不可切换交易所;切换后自动套用该所合约并重连行情。 --- ## 2. 仓位结构(默认) | 腿 | 默认数量 | 方向规则 | 成交方式 | |----|----------|----------|----------| | 永续 ETH-USDT-SWAP | **1 ETH** | 见下表 | 市价(吃买一/卖一 + 滑点) | | 期权 ETH-USD_UM | **2 ETH** 名义 | 只买不卖 | 开仓吃卖一,平仓吃买一 | **开仓顺序**:先成交期权 → 确认后再市价成交永续。永续盘口失败则回滚期权扣款,不留半边仓。 **平仓顺序**:同样先平期权(买一薄)→ 再瞬时平永续。平期权期间永续对冲先留着;永续盘口失败则回滚期权入账。 永续杠杆默认 **3×**(可配)。同时最多 **1 组**仓,禁止叠仓开下一组。 ### 2.1 开仓方向(ATM 相对现价优先) 行权价相对标的有偏离时(币安粗档常见),**先按 ATM 偏上/偏下选向**;仅当行权价与标的贴平(≈)时,才回退卖一比价。 | 条件 | 期权 | 永续 | bias | |------|------|------|------| | ATM 行权价 **<** 标的(如 1850 vs 1859) | 买入 Call | 做空 | `strike_below_spot` | | ATM 行权价 **>** 标的(如 1875 vs 1859) | 买入 Put | 做多 | `strike_above_spot` | | ATM ≈ 标的,且 Call 卖一 > Put 卖一 | 买入 Call | 做空 | `call_ask_gt_put` | | ATM ≈ 标的,且 Put 卖一 > Call 卖一 | 买入 Put | 做多 | `put_ask_gt_call` | | ATM ≈ 标的且卖一相等 | 不开仓,继续等待 | — | — | 直觉:偏下行权价用 Call+空,偏上行权价用 Put+多;贴平时再按权利金溢价侧选向。 --- ## 3. 开仓机制 ### 3.1 流程概览 ``` 策略运行中 → 无持仓且不在休息期 → 非周末跳过(若开启) → 选到期:剩余时长 ≥ min_option_hours(默认 12h) → 该到期 ATM 行权价(最接近标的) → 若开启 atm_open_offset_enabled:|ATM − 标的| ≤ max_atm_open_offset(默认 3)否则跳过 → 选向:ATM 偏下→Call+空;偏上→Put+多;贴平→卖一比价 → 期权杠杆 = 标的价 ÷ 卖一权利金 ≥ min_option_leverage(默认 100) → 先开期权(吃卖一)→ 再市价开永续(一组) → 锁定 initial_premium = 期权成交价 × 期权名义(不含费) ``` ### 3.2 选约约束 | 参数 | 默认 | 作用 | |------|------|------| | `min_option_hours` | 12 | 过滤过近到期,减少刚开仓就到期 | | `min_option_leverage` | 100 | 权利金相对标的不能太贵(现价/卖一) | | `atm_open_offset_enabled` | false | 开仓 ATM 偏差限制开关(默认关) | | `max_atm_open_offset` | 3 | 开关开启后:\|ATM − 标的\| 超过则不开 | | ATM | — | 同到期、最接近指数/标记价的行权价 | 无合格合约时:状态停留等待,记录「无合格期权…」,不硬开。 ### 3.3 时间与节奏 | 规则 | 说明 | |------|------| | 开仓时间窗 | **已取消**,全天可尝试(仍受选约约束) | | 周六/周日 | 默认 **跳过新开仓**(上海时区,`skip_weekends`);持仓仍可平 | | 每日轮次上限 | **不限制**;波动大可能多轮,波动小可能一轮都难 | | 组间休息 | 全平后默认休息 **300 秒**(`rest_seconds`)再开下一组 | | 同时持仓 | 最多 1 组 | ### 3.4 费用(SIM) - 永续、期权均按可配 `fee_rate`(默认 0.0005)计费。 - 滑点按约 1 倍费率计入成交价,手续费另扣。 - 开仓现金:支付期权权利金 + 开仓手续费;永续开仓主要扣费。 --- ## 4. 平仓机制 平仓分两大类:**① 目标平仓**(净盈利达标);**② 到期平仓**(目标未达标,拖到到期)。 目标平仓又分两种落地方式(双腿全平 / 只平永续+期权归档到期)。 ### 4.1 目标平仓(第一优先级) **净盈利**口径(盯盘用,主要看买一,不看标记价): ``` 净盈利 ≈ 永续浮盈 + 期权浮盈 − 预估平仓手续费 期权浮盈 = 当前买一 × 数量 − 初始权利金 ``` | 出场模式 | 默认 | 触发条件 | |----------|------|----------| | `fixed_usdt` | 目标 **15 USDT** | 净盈利 ≥ `net_profit_target` | | `premium_multiple` | 倍数 **1.0** | 净盈利 ≥ `initial_premium × premium_exit_multiple` | 说明:权利金倍数模式下,**1× = 赚回一倍权利金金额的净利**(例如权利金 20.41,目标约 20.41,不是 40.82)。 达标后按期权状态走下面 **A / B** 两套(不是互相替换,按能否平掉期权分支): #### 4.1.A 双腿全平(期权仍有可平价值 / 非远虚) - 条件:净利达标,且期权 **不是远虚**(仍可能有买一可平)。 - 动作:校验买一深度 + 买一/标记偏差(默认 ≤30%)→ **先平期权、再平永续**。 - 通不过流动性 → `liquidity_wait`,继续等待(不改开仓组)。 #### 4.1.B 只平永续 + 期权归档到期(远虚) 筛选约 **100× 杠杆** 期权时,标的波动约 **1%** 量级后,买方腿常变为**远虚**(内在价值≈0),买一往往枯死、整组硬平会卡死。 - 条件:净利达标,且期权已是 **虚值且远虚**(内在价值 ≈ 0)。 - 动作: 1. **只市价平掉永续**,兑现净利里永续那一截; 2. 本张期权 **不再盯盘、不再参与平仓扫描**,归档为「到期残留」; 3. 因期权 **逐仓**,残留 **不占用活跃持仓**,**不挡住下一组开仓**; 4. 下一组开平仓 **只扫当前活跃组期权**,不扫描历史残留腿; 5. 残留期权到到期日再按 **内在价值** 单独结算(多半接近 0); 6. 页面:**活跃持仓区变空**;归档腿出现在「残留期权(待到期)」;下方期权盘口 **切回新 ATM**(见 4.6)。 残留到期结算口径: ``` 结算价 = 内在价值(Put: max(K−S,0) / Call: max(S−K,0)) 期权盈亏 ≈ (结算价 − 开仓均价) × 数量 − 结算手续费 整组净利 = 已实现永续盈亏 + 期权结算盈亏 − 全部手续费 ``` > 直觉:能双腿平就走 A;期权已经远虚平不掉就走 B,别把永续利润和下一单机会一起卡死。 ### 4.2 到期平仓(目标未达标) - 净利一直未达标 → **不主动砍仓**,持有到期权到期。 - 到达期权到期时刻(OKX:UTC 08:00 = **上海 16:00**)→ 原因 `expiry`。 - **活跃组**:期权按标的结算价的 **内在价值** 入账;若永续仍在则市价平掉。 - **残留组**(曾走 4.1.B):永续早已平掉,**只结算归档期权**,不碰当前活跃仓、不改下方 ATM。 - 策略 **暂停时仍执行到期结算**,避免拖过期。 - 波动小、拖到到期:权利金亏损视为 **预算内成本**,可接受。 ### 4.3 平仓流动性闸门(仅 4.1.A) 双腿全平时: - 期权买一深度需覆盖平仓名义; - 买一相对标记偏差默认 ≤ **30%**(`close_bid_mark_max_pct`); - 不满足 → `liquidity_wait`,继续等待。 **4.1.B / 到期 / 紧急全平**:不适用「必须卖掉期权买一」这套闸门(到期与残留按内在价值;紧急可绕过)。 **紧急全平**:活跃组尽量双腿平掉;残留期权一并按内在价值结算。 ### 4.4 其它平仓入口 / 原因码 | 原因码 | 含义 | |--------|------| | `fixed_usdt` / `premium_multiple` | 目标平仓 · 双腿全平(4.1.A) | | `target_perp_only` | 目标平仓 · 只平永续,期权归档到期(4.1.B) | | `expiry` | 到期结算(活跃组或残留期权) | | `emergency` | 界面紧急全平 | | `manual` | 手动平仓 | ### 4.5 流程总览 ``` 有活跃持仓 ├─ 净利达标? │ ├─ 是 · 期权远虚(内在价值≈0)→ 平永续,期权归档到期,可开下一组 │ └─ 是 · 非远虚 → 试双腿全平(流动性闸门)→ 失败则等待 └─ 否 → 持有直到到期 → 内在价值结算(+ 若有永续则平永续) 残留期权(已归档) └─ 仅到期结算;不参与盯盘、不参与下一组平仓扫描 ``` ### 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. 策略侧重点 | 侧重点 | 说明 | |--------|------| | **吃波动,不赌横盘** | 买方期权需要标的走动;大波动利于达标出场 | | **概率与轮次** | 波动日可能多轮;磨盘日可能零轮或一轮认亏 | | **确定性时间规则** | 用周末跳过、到期全平,**不做**难以精准的横盘识别 | | **费用后净利** | 出场看扣完预估平仓费后的净盈利,避免「账面赚、平完亏」 | | **单组纪律** | 活跃持仓最多 1 组;远虚归档的残留期权不挡下一组(逐仓) | | **权利金是成本预算** | 小波动拖到期亏权利金,属于策略设计内损耗,不是异常 bug | | **目标平仓两分支** | 能平期权则双腿全平;远虚则只平永续、期权到期归档 | | **监控分工** | 有仓钉持仓行权价;空仓/仅残留时下方跟新 ATM;残留腿单独列表 | 适合对外表述: > 适合有波动的时段;震荡磨盘是主要磨损源。不怕单边大波动本身,怕没波动却持续付时间价值。 --- ## 6. 风险点评估 ### 6.1 主要风险 | 风险 | 等级 | 说明 | 缓解(已有/建议) | |------|------|------|------------------| | **横盘 / 低波动** | 高 | Theta 消耗权利金;永续几乎不贡献利润 | 周末跳过;到期认亏全平;接受磨损日 | | **方向选错** | 中高 | 卖一比价并非预测圣杯;错向时期权可能失利,永续端也可能承压 | 净盈利达标才兑现;到期强平止损时间 | | **开平滑点与手续费** | 中 | 双边 taker + 滑点侵蚀小目标利润 | 目标默认 15U 需覆盖费用;勿把目标设过低 | | **期权流动性** | 中 | 远虚时买一枯死 | 4.1.B 只平永续+归档;到期内在价值结算 | | **杠杆与保证金** | 中 | 永续 3×,标的急跌/急涨挤压保证金 | 控制名义、保留资金缓冲;实盘注意强平线 | | **同到期 ATM 拥挤** | 低–中 | 临近到期价差与盘口恶化 | `min_option_hours`;到期强平 | | **SIM≠实盘** | 高(若直接外推) | 本地撮合、深度与成交假设简化 | 小资金实盘验证后再放大 | | **交易所限流 / 断连** | 中 | 行情中断导致延误开平 | 健康检查;部署侧监控 | ### 6.2 明确不做什么(边界) - 不做卖方期权(不收权利金那套)。 - 不做横盘「智能识别」开仓过滤。 - 不做多组并行。 - 当前主路径为 **SIM**;实盘需另行授权与二次确认(见商业化方案)。 ### 6.3 损益直觉 - **有利波动**:期权端弹性(2 ETH 名义)常快于永续(1 ETH)的对冲损耗 → 易达净利目标。 - **不利 / 无波动**:权利金贬值 + 费用 → 拖到到期全平,单组亏损量级约在 **权利金量级 + 双边费用**(再叠加永续期间浮亏/浮盈)。 --- ## 7. 最小资金推荐 以下按 **默认仓位**(永续 1 ETH、期权 2 ETH 名义、杠杆 3×)估算,标的价按 **ETH ≈ 1,800–2,200 USDT** 量级。 ### 7.1 单组占用粗算 | 项目 | 约略金额(USDT) | |------|------------------| | 永续保证金(名义÷杠杆) | ≈ 1,800–2,200 ÷ 3 ≈ **600–750** | | 期权权利金(ATM、短期限,2 ETH) | 常见约 **15–60**(行情波动大时更高) | | 开平手续费 / 滑点缓冲 | **20–50** | | 逆向波动缓冲(避免过紧) | **300–800**(经验缓冲,非精确 VaR) | ### 7.2 建议档位 | 档位 | 建议权益(USDT) | 适用 | |------|------------------|------| | **绝对下限(不推荐)** | ≥ **1,500** | 仅能勉强覆盖保证金 + 小权利金,缓冲极薄,易心态与风控双紧 | | **最小可用** | ≥ **3,000** | 默认参数下可跑 SIM / 极小实盘验证,仍偏紧 | | **推荐起步** | ≥ **5,000** | 留出磨损日与波动缓冲,更符合「概率样本」玩法 | | **较舒适** | ≥ **10,000** | 参数微调、连续多日磨损时更从容 | > 缩放规则:若把永续改为 `0.5 ETH`、期权 `1 ETH`,资金需求大约可按比例减半,但费用占比会上升,小目标更难赚。 ### 7.3 与出场目标的关系 - 默认净利目标 **15 USDT**:在费用后属于「小而频」目标,依赖波动日多次兑现。 - 单日/单组最坏常见情形更接近 **亏掉当期权利金 + 费用**(外加永续路径损益),资金规划应按 **多次磨损日** 而非「每组必赚 15」来留余量。 ### 7.4 SIM 默认 系统默认虚拟权益 `initial_equity = 10,000` USDT(策略设置可改;保存且数值变更时在无持仓下重置账本),**不代表**实盘建议入金。 实盘试跑建议仓位:**永续 0.1 ETH / 期权 0.2 ETH 名义**(k=0.1),并同比下调净利目标。分所口径见 [OKX实盘策略说明](./OKX实盘策略说明.md)、[币安实盘策略说明](./币安实盘策略说明.md)。 --- ## 8. 关键可配参数速查 | 参数 | 默认 | 类别 | |------|------|------| | `perp_qty_eth` | 1 | 仓位 | | `option_qty_eth` | 2 | 仓位 | | `leverage` | 3 | 永续 | | `fee_rate` | 0.0005 | 成本 | | `exit_mode` | fixed_usdt | 出场 | | `net_profit_target` | 15 | 出场 | | `premium_exit_multiple` | 1.0 | 出场 | | `rest_seconds` | 300 | 节奏 | | `skip_weekends` | true | 时间 | | `min_option_hours` | 12 | 选约 | | `min_option_leverage` | 100 | 选约 | | `atm_open_offset_enabled` | false | 开仓 ATM 偏差开关 | | `max_atm_open_offset` | 3 | 开仓 ATM 偏差上限 | | `close_bid_mark_max_pct` | 30 | 平仓流动性 | --- ## 9. 修订记录 | 日期 | 说明 | |------|------| | 2026-07-25 | 初稿:对齐当前开平仓、周末跳过、到期全平、净盈利口径与资金建议 | | 2026-07-25 | 平仓顺序改为先期权后永续(与开仓同理:薄腿优先) | | 2026-07-26 | 到期按内在价值结算(对齐实盘);紧急平仓仍用 max(买一,标记,内在价值) | | 2026-07-26 | 明确两套目标平仓:双腿全平 / 远虚只平永续+期权归档到期;到期为未达标路径 | | 2026-07-26 | 补充 §4.6:有仓钉持仓监控、空仓/仅残留跟新 ATM、残留列表与到期内在价值结算展示分工 | | 2026-07-26 | 设置页 SIM/LIVE 切换;API 密钥落 `.env`;OKX LIVE 开平仓;币安密钥可存 |