Files
crypto_monitor/docs/永期对冲计算器.md
T
dekun d89aff3ad6 Use absolute coin counts in perp-options points mode.
Treat 2:4 as 2 perp + 4 option coins instead of normalizing to 1:2, and disable embed page caching so hub iframe picks up trade UI updates.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 22:54:16 +08:00

5.9 KiB
Raw Blame History

永期对冲计算器

中控 策略计算器 第 3 个 tab:永期对冲。用于离线测算「永续 1 币 + 买方期权」在目标盈利口径下的期权仓位,或按永续:期权比例反推达目标所需波动点数。

入口:中控 → 策略计算器 → 永期对冲
APIPOST /api/calculator/perp-options
逻辑库:lib/hub/hub_perp_options_calc_lib.py
单测:tests/test_hub_perp_options_calc_lib.py

与实例页「对冲计划」不同:本页不实盘下单、不拉期权链,价格与杠杆均为手填。


共同假设

口径
品种 BTC / ETH
永续仓位 固定 1 币
单币权利金 现价 / 期权杠杆(例:1800÷100=18U
权利金 按全亏计入;忽略时间价值 / Theta
永续手续费 开+平各 0.05%PERP_TAKER_FEE_RATE,默认 0.0005
期权手续费 不算
交易资金 仅参考:与 现价/永续杠杆 比保证金是否够开
ct_mult 默认 0.01;张数 = 期权币数 / ct_mult
展示 金额与点数统一 小数点后两位

模式一:由波动推期权仓位(calc_mode=size

已知波动(点数或波动率%)、目标盈利、期权杠杆 → 反推期权开多少币/张。

公式

单币权利金 = 现价 / 期权杠杆
永续毛收益 = 波动点数 × 1
           (波动率模式:现价 × 波动率% × 1)
平仓价     ≈ 现价 + 波动点数(永续方向对按上涨测算)
永续手续费 = (开仓名义 + 平仓名义) × 0.05%

权利金预算 = 永续毛收益 − 目标盈利 − 永续手续费
期权币数   = 权利金预算 / 单币权利金
期权张数   = 期权币数 / ct_mult

若权利金预算 ≤ 0:提示「波动收益不足以覆盖目标盈利+手续费,无法开期权」。

情景

A · 永续方向对(期权全亏)

净利 = 永续毛收益 − 权利金总额 − 永续手续费
     (设计上 ≈ 目标盈利)

B · 期权方向对(永续 1 币反向亏同等波动)

期权内在 = 期权币数 × 波动点数
期权净利 = 期权内在 − 权利金总额
永续亏损 = −永续毛收益
组合净利 = 期权净利 + 永续亏损

C · 横盘(最大亏损)

波动≈0、期权到期无内在价值:

永续盈亏 ≈ 0
永续开平手续费 = 2 × 现价 × 1 × 0.05%   (同价开平)
最大亏损 = 权利金总额 + 永续开平手续费
组合净利 = −最大亏损

忽略资金费 / Theta 过程中的中间态;口径与「权利金按全亏」一致。

手测示例

现价 1800、波动 50 点、目标盈利 15、期权杠杆 100、永续杠杆 10:

约值
单币权利金 18U
永续手续费 1.83U
权利金预算 33.18U
期权币数 / 张数 ≈1.84 币 / ≈184 张
A 净利 ≈15U
B 期权净利 / 组合 ≈59U / ≈9U

模式二:由币数推波动点数(calc_mode=points

已知永续币数 / 期权币数(如 1:22:4)、目标盈利、期权杠杆 → 反推两套情景要涨/跌多少点才能达到目标。

按绝对币数,不再把输入归一到「永续 1 币」。填 2 与 4 → 永续 2 币 + 期权 4 币(权利金、保证金、手续费均按 2 倍于 1:2 放大;达同一目标盈利所需点数会变小)。

仓位

永续币数 = 输入的永续币数
期权币数 = 输入的期权币数
权利金总额 = 期权币数 × (现价 / 期权杠杆)
永续保证金 = 现价 × 永续币数 / 永续杠杆

情景 A · 永续方向对

净利 = 目标盈利:

qty×move  权利金  fee(move,qty) = 目标
fee = (2×现价 + move) × qty × 0.05%

move = (目标 + 权利金 + 2×现价×qty×0.05%) / (qty × (1  0.05%))

情景 B · 期权方向对(以组合净利为准)

组合净利 = 目标盈利:

组合 = 期权币数×move − 权利金 − 永续币数×move
     = move×(期权币数  永续币数) − 权利金

move = (目标 + 权利金) / (期权币数 − 永续币数)

要求期权币数 > 永续币数;若相等,组合恒为 −权利金,无法解出正目标。

结果区展示:所需波动点数(及折合%)、组合净利、其中期权净利、其中永续盈亏。

手测示例

现价 1800、目标 15、期权杠杆 100、币数 1:2 → 权利金总额 36U:

情景 所需点数(约)
A 永续方向对(净利=15 ≈52.83
B 组合净利=15 51.00
C 横盘最大亏损 37.80(权利金 36 + 同价开平费 1.8)

币数 2:4(权利金 72U、保证金 360U):

情景 约值
仓位 永续 2 币 / 期权 4 币(400 张)
A 所需点数 ≈45.32
B 组合达目标 43.50
C 横盘最大亏损 75.60

API 请求体(摘要)

{
  "calc_mode": "size | points",
  "base": "ETH",
  "spot": 1800,
  "capital_usdt": 3000,
  "target_profit_u": 15,
  "move_mode": "points",
  "move_value": 50,
  "perp_leverage": 10,
  "option_leverage": 100,
  "ct_mult": 0.01,
  "ratio_perp": 1,
  "ratio_opt": 2
}
  • size 模式必填 move_valuepoints 模式用 ratio_perp / ratio_opt,可不填波动。

相关文件

路径 作用
lib/hub/hub_perp_options_calc_lib.py 纯函数测算
manual_trading_hub/hub.py POST /api/calculator/perp-options
manual_trading_hub/static/index.html 计算器 tab UI
manual_trading_hub/static/calculator.js 提交与结果渲染
lib/trade/trade_fee_lib.py 永续双边手续费

不做

实盘开平仓、拉 OKX 期权链卖一、把本页结果自动写入对冲计划。

振幅统计页可对历史日表做同口径对照,见 振幅统计说明.md「永期对冲对照」。