期权 & 期货

期权期货交易系统设计

标准期货合约(有到期日交割)与期权合约(Call/Put)的完整交易系统架构设计,涵盖期货定价、Black-Scholes 期权定价、Greeks 风险指标、策略组合、保证金计算、结算交割与风控引擎。

1. 期权期货总览

交割期货 (Futures)

有明确到期日的标准化合约。到期时按结算价交割(现金或实物)。价格围绕现货 + 持有成本波动。常见季度/月度合约。

期权 (Options)

赋予买方在到期日以行权价买入(Call)或卖出(Put)标的资产的权利(非义务)。买方支付权利金,卖方收取权利金但承担义务。

核心区别

期货:双方都有义务。期权:买方有权利无义务,卖方有义务无权利。期货保证金双向收取,期权只收卖方保证金。

加密市场特点

Deribit 是最大加密期权交易所。BTC/ETH 期权流动性最好。加密期权波动率高(60-120%),远高于传统市场。

2. 期货合约基础

期货合约规格

// === 合约规格定义 ===
interface FuturesContract {
  symbol: string;            // "BTC-20240329" (标的-到期日)
  underlying: string;        // "BTC"
  quoteCurrency: string;     // "USDT"
  contractSize: number;      // 每张合约面值, e.g. 0.001 BTC
  tickSize: number;          // 最小价格变动, e.g. 0.1 USDT
  minOrderQty: number;       // 最小下单量, e.g. 1 张
  maxLeverage: number;       // 最大杠杆, e.g. 100x

  // 到期与交割
  listingDate: Date;         // 上线日期
  expiryDate: Date;          // 到期日 (交割时间)
  settlementType: "CASH" | "PHYSICAL";  // 结算方式

  // 费率
  makerFee: number;          // 挂单费率, e.g. 0.01%
  takerFee: number;          // 吃单费率, e.g. 0.05%
  settlementFee: number;     // 交割费率, e.g. 0.015%
}

// === 交割期货 vs 永续合约 ===
//
//  维度           交割期货              永续合约
//  ───────────────────────────────────────────────
//  到期日         有 (季度/月度/周)       无
//  价格锚定       基差到期收敛           资金费率
//  结算方式       到期交割               无交割
//  持仓成本       无资金费率             每8h资金费率
//  套利方式       基差套利               资金费率套利
//  适用场景       套期保值/远期锁价      投机/日内交易

// === 常见合约周期 ===
// 当周 (Weekly):    本周五 08:00 UTC 交割
// 次周 (Bi-weekly): 下周五 08:00 UTC 交割
// 当季 (Quarterly): 本季末月最后一个周五交割
// 次季 (Bi-quarterly): 下季末月最后一个周五交割

期货交割流程

3. 期货定价与基差

持有成本定价模型

// === 期货理论价格 (Cost of Carry Model) ===
// F = S × e^((r + c - y) × T)
//
// F = 期货理论价格
// S = 现货价格
// r = 无风险利率 (年化)
// c = 存储/持有成本 (年化, 加密货币通常为0)
// y = 便利收益率 (持有现货的额外收益, 如 staking 收益)
// T = 到期时间 (年)

// 例: BTC 现货 42,000, 无风险利率 5%, 90天到期
// F = 42000 × e^(0.05 × 90/365)
// F = 42000 × e^(0.01233)
// F = 42000 × 1.01241
// F ≈ 42,521 USDT (理论上比现货贵 521)

// === 基差 (Basis) ===
basis = futuresPrice - spotPrice
basisRate = basis / spotPrice × 100%
annualizedBasis = basisRate / T_years × 100%

// basis > 0 → 升水 (Contango): 市场看涨或持有成本为正
// basis < 0 → 贴水 (Backwardation): 市场看跌或供给紧张
// basis → 0 → 到期收敛: 交割时基差趋近于零

// === 基差套利 (Cash-and-Carry Arbitrage) ===
// 当 F_market > F_theoretical (升水过大):
//   1. 买入现货 (Spot)
//   2. 卖出期货 (Short Futures)
//   3. 到期交割, 基差收敛获利
//   4. 利润 = basis - 融资成本 - 交易费用
//
// 当 F_market < F_theoretical (贴水过大):
//   1. 卖出现货 / 做空现货
//   2. 买入期货 (Long Futures)
//   3. 到期交割获利 (反向套利)

基差计算器

调整现货和期货价格,实时计算基差、年化收益和套利机会:

期货基差 & 套利计算器 — 理解期货定价与基差收敛

理论期货价格S × e^((r+c)×T) = 42000 × e^(0.0500×0.2466) = 42521.01 USDT
市场期货价格42500.00 USDT
定价偏差-21.01 USDT (合理范围)
基差 (Basis)+500.00 USDT (升水 Contango)
基差率+1.1905%
年化基差率+4.83%
理论基差 (持有成本)521.01 USDT
正向套利: 买现货 + 卖期货 (基差收敛获利)
套利毛利: (42500 - 42000) × 1 = 500.00 USDT
融资成本: 42000 × 1 × 5.0% × 0.2466年 = 517.81 USDT
净套利利润: 500.00 - 517.81 = -17.81 USDT
年化收益率: 4.83%

期限结构 (Term Structure)

升水 (Contango)

远期合约价格 > 近期合约 > 现货。正常市场状态。反映了持有成本(资金利率、存储成本)。升水越大,套利空间越大。

贴水 (Backwardation)

远期合约价格 < 近期合约 < 现货。通常出现在市场恐慌或大幅下跌时。交易者急于卖出远期合约对冲风险。

基差收敛

无论升水还是贴水,到期时期货价格必然收敛到现货价格。这是基差套利的核心原理。收敛速度在最后一周加快。

期限结构交易

做多近期 + 做空远期 = 日历价差策略。利用不同到期日合约间的价差变化获利。风险低于裸多/裸空。

4. 期权合约基础

期权合约规格

// === 期权合约定义 ===
interface OptionContract {
  symbol: string;          // "BTC-20240329-45000-C" (标的-到期日-行权价-类型)
  underlying: string;      // "BTC"
  optionType: "CALL" | "PUT";
  strikePrice: number;     // 行权价, e.g. 45000 USDT
  expiryDate: Date;        // 到期日
  exerciseStyle: "EUROPEAN" | "AMERICAN";  // 行权方式
  contractSize: number;    // 每张合约对应的标的数量, e.g. 1 BTC
  settlementType: "CASH";  // 加密期权通常现金结算

  // 交易参数
  tickSize: number;        // 最小价格变动
  minOrderQty: number;     // 最小下单量
}

// === 核心概念 ===
//
// 权利金 (Premium): 买方为获得权利所支付的价格
//   Premium = 内在价值 + 时间价值
//
// 内在价值 (Intrinsic Value):
//   Call: max(S - K, 0)   当 S > K 时有内在价值
//   Put:  max(K - S, 0)   当 S < K 时有内在价值
//
// 时间价值 (Time Value):
//   = Premium - Intrinsic Value
//   距到期越远, 时间价值越大
//   到期时时间价值归零 (Theta Decay)
//
// 虚实状态 (Moneyness):
//   ITM (实值): Call时 S>K, Put时 S<K → 有内在价值
//   ATM (平值): S ≈ K → 时间价值最大
//   OTM (虚值): Call时 S<K, Put时 S>K → 无内在价值

// === 行权方式 ===
// 欧式 (European): 只能在到期日行权 → 加密期权主流
// 美式 (American): 到期前任何时间可行权 → 较少见
//
// 自动行权: 到期时 ITM 期权自动行权(现金结算)
// 行权阈值: 通常内在价值 > 0.01% 才自动行权

期权买方 (Long)

支付权利金获得权利。最大亏损 = 权利金(有限)。盈利空间大(Call理论无限)。不需要保证金,只需支付权利金。适合投机和保险。

期权卖方 (Short)

收取权利金承担义务。最大盈利 = 权利金(有限)。亏损空间大(Call理论无限)。需要缴纳保证金。适合做市和收取权利金。

看涨期权 (Call)

赋予买方以行权价K买入标的的权利。看涨时买入Call获利。预期不涨时卖出Call赚权利金。Delta为正值(0~1)。

看跌期权 (Put)

赋予买方以行权价K卖出标的的权利。看跌时买入Put获利。可用于对冲持仓风险(保险)。Delta为负值(-1~0)。

5. 期权定价 (Black-Scholes)

Black-Scholes 公式

// === Black-Scholes 期权定价模型 ===
// 前提假设:
//   1. 标的价格服从几何布朗运动 (对数正态分布)
//   2. 无交易成本和税收
//   3. 可以连续交易, 无卖空限制
//   4. 无风险利率恒定
//   5. 波动率恒定 (实际中波动率是变化的 → 隐含波动率)

// === 核心公式 ===
d1 = (ln(S/K) + (r + σ²/2) × T) / (σ × √T)
d2 = d1 - σ × √T

// 看涨期权价格
Call = S × N(d1) - K × e^(-r×T) × N(d2)

// 看跌期权价格
Put  = K × e^(-r×T) × N(-d2) - S × N(-d1)

// N(x) = 标准正态分布的累积分布函数

// === 例: BTC Call 期权 ===
// S = 42,000 (现货), K = 43,000 (行权价)
// T = 30/365 ≈ 0.0822 (30天), r = 5%, σ = 80%
//
// d1 = (ln(42000/43000) + (0.05 + 0.64/2) × 0.0822) / (0.8 × √0.0822)
//    = (-0.02353 + 0.03123) / 0.22933
//    = 0.03357
// d2 = 0.03357 - 0.22933 = -0.19576
//
// Call = 42000 × N(0.0336) - 43000 × e^(-0.05×0.0822) × N(-0.1958)
//      = 42000 × 0.5134 - 42823 × 0.4224
//      ≈ 21,563 - 18,088
//      ≈ 3,475 USDT

// === Put-Call Parity (买卖权平价) ===
// Call - Put = S - K × e^(-r×T)
// 如果不成立 → 存在套利机会
// 用途: 从 Call 价格推导 Put 价格, 或检验定价一致性

// === 隐含波动率 (IV) ===
// 已知期权市场价格, 反向求解 σ (使用牛顿迭代法)
// IV 是市场对未来波动率的预期
// IV > 历史波动率 → 市场预期波动加大
// IV Smile: OTM 和 ITM 的 IV 高于 ATM → 波动率微笑

期权定价计算器

输入参数实时计算 Black-Scholes 期权价格和 Greeks:

Black-Scholes 期权定价计算器 — 调整参数实时计算期权价格 & Greeks
虚值 OTM

期权价格 (权利金)4708.83 USDT
内在价值0.00 USDT
时间价值4708.83 USDT
d1 / d20.0300 / -0.1994
Delta (Δ)
0.5167
价格敏感度
Gamma (Γ)
0.000041
Delta变化率
Theta (Θ)
-66.35
每日时间衰减
Vega (ν)
48.02
波动率敏感度
Rho (ρ)
13.97
利率敏感度
Delta = 0.5167 → 标的价格每涨 1 USDT,期权价格变动约 0.5167 USDT
Theta = -66.35 → 每过 1 天,期权价值因时间衰减约 66.35 USDT
Vega = 48.02 → 波动率每变 1%,期权价格变动约 48.02 USDT

6. Greeks 风险指标

// === Greeks 详解 ===

// ① Delta (Δ) — 最重要的 Greek
// 含义: 标的价格变动1单位, 期权价格变动多少
// Call Delta: 0 ~ +1 (ATM ≈ 0.5)
// Put Delta:  -1 ~ 0 (ATM ≈ -0.5)
//
// 用途:
//   - 对冲比率: 卖出1张Call需要持有 Δ 单位的标的来Delta中性
//   - 近似概率: Delta ≈ 期权到期时为 ITM 的概率
//   - 例: Delta = 0.4 → BTC涨 100, 期权涨 ~40

// ② Gamma (Γ) — Delta 的变化率
// 含义: 标的价格变动1单位, Delta 变动多少
// ATM 期权 Gamma 最大, 深度 ITM/OTM Gamma 接近 0
// 临期 ATM 期权 Gamma 极大 (Pin Risk)
//
// 风险管理:
//   - Gamma > 0 (买方): 价格大幅波动有利
//   - Gamma < 0 (卖方): 价格大幅波动不利 → 需要频繁对冲

// ③ Theta (Θ) — 时间衰减
// 含义: 每过1天, 期权价值减少多少 (通常为负数)
// ATM 期权 Theta 绝对值最大
// 临期时 Theta 加速衰减 (最后30天尤其明显)
//
// 卖方优势: 时间流逝对卖方有利 (收取 Theta)
// 买方劣势: 即使标的不动, 期权价值也在减少

// ④ Vega (ν) — 波动率敏感度
// 含义: 隐含波动率变动1%, 期权价格变动多少
// ATM 长期期权 Vega 最大
//
// 交易波动率:
//   - 买入期权 (Long Vega): 预期波动率上升时获利
//   - 卖出期权 (Short Vega): 预期波动率下降时获利
//   - Vega 是期权独有的风险维度, 期货没有

// ⑤ Rho (ρ) — 利率敏感度
// 含义: 利率变动1%, 期权价格变动多少
// 对短期期权影响较小
// 对长期深度 ITM 期权影响较大

// === 做市商的 Greek 管理 ===
// 目标: 维持组合的 Delta、Gamma、Vega 中性
//
// Delta 对冲: 用标的或期货动态对冲 Delta
// Gamma 对冲: 用其他期权对冲 Gamma (买入/卖出不同行权价)
// Vega 对冲: 用不同到期日的期权对冲 Vega
//
// 对冲频率:
//   Delta → 实时 (几秒一次)
//   Gamma/Vega → 定期 (分钟级别)
Delta 中性策略

通过对冲使组合 Delta = 0,消除方向性风险。只赚取 Theta(时间衰减)和 Vega(波动率变化)的收益。做市商的核心策略。

Gamma Scalping

保持 Delta 中性,利用 Gamma 正值在标的波动时反复调仓获利。买入期权后,标的涨时卖出、跌时买入,每次调仓锁定利润。

Theta 收租

卖出期权收取权利金,赚取每日时间衰减。需要管理 Gamma 和尾部风险。常用策略: 卖出 OTM Put (类现货+)。

波动率交易

不预测方向,只预测波动率。IV 低时买入期权 (Long Vega),IV 高时卖出 (Short Vega)。需要 Delta 对冲消除方向暴露。

7. 期权策略组合

常用策略详解

// === 1. 牛市看涨价差 (Bull Call Spread) ===
// 构成: 买入低行权价Call + 卖出高行权价Call (同到期日)
// 例: 买入 BTC Call K=42000 (付 2500) + 卖出 Call K=46000 (收 1000)
// 净支出: 2500 - 1000 = 1500 USDT
// 最大盈利: (46000 - 42000) - 1500 = 2500 USDT (BTC ≥ 46000时)
// 最大亏损: 1500 USDT (BTC ≤ 42000时)
// 盈亏平衡: 42000 + 1500 = 43500

// === 2. 跨式 (Straddle) ===
// 构成: 同时买入相同行权价的 Call + Put (同到期日)
// 例: 买入 Call K=42000 (付 2500) + 买入 Put K=42000 (付 2500)
// 净支出: 5000 USDT
// 盈亏平衡: 42000 ± 5000 → 37000 或 47000
// 适用: 预期大幅波动, 方向不确定 (如重大事件前)
// 风险: 如果价格不动, 双份时间衰减 (Theta)

// === 3. 铁鹰 (Iron Condor) ===
// 构成: 卖出 Put Spread + 卖出 Call Spread
//   买入 Put K=38000 + 卖出 Put K=40000
//   卖出 Call K=44000 + 买入 Call K=46000
// 净收入: (1500-800) + (1500-800) = 1400 USDT
// 最大盈利: 1400 (价格在40000-44000之间)
// 最大亏损: 2000 - 1400 = 600 (价格超出46000或低于38000)
// 适用: 预期低波动率, 价格区间震荡

// === 4. 保护性看跌 (Protective Put) ===
// 持有 1 BTC 现货 + 买入 Put K=40000
// 相当于为持仓买保险: 最大亏损 = (42000-40000) + 权利金
// 保留了上行空间, 限制了下行风险
// 成本: 权利金 (类似保险费)

// === 5. Covered Call (备兑看涨) ===
// 持有 1 BTC 现货 + 卖出 Call K=45000
// 收取权利金增厚收益, 但上行空间受限
// 如果 BTC 涨超45000, 被迫以45000卖出
// 适用: 温和看涨或横盘时增强收益

策略损益分析器

选择策略,查看构成、到期损益图和盈亏平衡点:

期权策略 PnL 分析器 — 选择策略查看到期损益
买入看涨 (Long Call)
看涨策略。最大亏损 = 权利金,最大盈利无限。
适用场景: 预期 BTC 大涨
操作类型行权价权利金现金流
买入看涨 Call42,0002,500-2,500
净权利金-2,500 USDT
+5900
-2500
0
50400
33600
-2500.00 USDT
最大盈利+5900 USDT
最大亏损-2500 USDT
盈亏平衡点44500 USDT

8. 保证金与结算

// === 期权保证金计算 (卖方) ===

// 方法一: SPAN-like 保证金 (CME 风格)
// 扫描16种价格/波动率情景, 取最大亏损作为保证金

// 方法二: 简化公式 (Deribit 风格)
// Call 卖方保证金:
initialMargin_Call = max(
  premium + 0.15 * S - max(K - S, 0),   // 公式A: 考虑实虚值
  premium + 0.10 * S                      // 公式B: 最低保证金
)

// Put 卖方保证金:
initialMargin_Put = max(
  premium + 0.15 * S - max(S - K, 0),
  premium + 0.10 * S
)

// 组合保证金优化 (Portfolio Margin):
// 对冲组合可减少保证金, 例:
// Bull Call Spread: 保证金 = max(K_high - K_low, 0) - 净权利金收入
// Iron Condor: 保证金 = max(Call翼宽, Put翼宽) - 净权利金收入
// 比裸卖保证金大幅降低

// === 期权结算流程 ===
// 到期前:
//   T-1h: 停止新开仓
//   T-0:  停止所有交易
//
// 结算:
//   结算价 = 到期前30分钟指数时间加权均价
//
//   ITM期权 (内在价值 > 阈值):
//     自动现金结算
//     Call: 买方收到 (结算价 - K) × 合约面值
//     Put:  买方收到 (K - 结算价) × 合约面值
//
//   OTM期权:
//     自动放弃, 价值归零
//     卖方保证金全额释放
//
// 结算后:
//   所有仓位清除
//   保证金释放
//   PnL 结算到账户余额
买方无保证金

期权买方在开仓时支付全部权利金,之后不需要额外保证金。最大亏损在开仓时已确定 = 权利金。不存在爆仓风险。

卖方需保证金

期权卖方承担义务,必须缴纳保证金。标的价格不利波动时,保证金要求增加。保证金不足会被强平。

组合保证金

对冲组合(如价差)的保证金远低于裸卖。系统识别组合关系,只收取最大净风险的保证金。大幅提高资金效率。

现金结算

加密期权通常采用现金结算。到期时按结算价计算盈亏,以USDT/USDC直接结算,无需交割实际BTC。

9. 风控引擎

// === 期权风控特殊处理 ===

// 1. Delta 限制
// 单账户最大 Delta 暴露: ±500 BTC
// 避免单一方向性风险过大
maxDelta = sum(position.qty * option.delta for each position)
if abs(maxDelta) > MAX_DELTA_LIMIT:
    reject("Delta exposure exceeds limit")

// 2. Vega 限制
// 单账户最大 Vega 暴露: ±100 BTC
// 避免波动率突变导致巨额亏损
maxVega = sum(position.qty * option.vega for each position)

// 3. 卖方保证金实时监控
function checkSellerMargin(account):
    for position in account.shortOptionPositions:
        currentMargin = calcMargin(position, markPrice, iv)
        if account.availableBalance < currentMargin * 0.75:
            triggerMarginCall(account, position)
        if account.availableBalance < currentMargin * 0.50:
            triggerLiquidation(account, position)

// 4. 隐含波动率风控
// 市场 IV 突然飙升 → 卖方保证金需求暴增
// 系统措施:
//   - IV 变化 > 30% 在 5分钟内 → 暂停新开仓
//   - IV > 200% → 提高保证金系数
//   - IV < 10% → 提示价格可能异常

// 5. 到期日风控
// Pin Risk: 到期时标的价格接近行权价
// 大量期权在 ATM 附近, 行权/放弃的不确定性极大
// 措施:
//   - 到期前 2h 提高 ATM 期权保证金
//   - 到期前 30min 禁止新开仓
//   - 自动行权阈值: 内在价值 > 0.01%

10. 系统架构设计

关键服务设计

// === 1. 期权订单簿设计 ===
// 与现货/期货不同: 期权有大量交易对
// BTC期权: 10个到期日 × 20个行权价 × 2(Call/Put) = 400个订单簿
// 策略: 轻量级订单簿, 按需加载, 空闲超时回收

interface OptionOrderBook {
  underlying: string;       // "BTC"
  expiryDate: Date;         // 到期日
  strikePrice: number;      // 行权价
  optionType: "CALL"|"PUT"; // 类型
  bids: PriceLevel[];       // 买盘
  asks: PriceLevel[];       // 卖盘
}

// 订单簿键: "BTC-20240329-45000-C"
// 按 underlying+expiryDate 分组, 同一到期日的所有行权价在一个引擎线程

// === 2. 定价服务 (Pricing Service) ===
// 职责: 计算理论价格, 提供报价参考, IV 曲面构建
class PricingService {
  // 实时计算所有活跃合约的理论价格
  calculateTheoPrice(option, spotPrice, iv):
    return blackScholes(spotPrice, option.strike, option.T, r, iv, option.type)

  // 从市场价格反推隐含波动率
  impliedVolatility(marketPrice, S, K, T, r, type):
    // Newton-Raphson 迭代
    sigma = 0.5  // 初始猜测
    for i in range(100):
      price = blackScholes(S, K, T, r, sigma, type)
      vega = calcVega(S, K, T, r, sigma)
      sigma = sigma - (price - marketPrice) / vega
      if abs(price - marketPrice) < 0.01: break
    return sigma

  // 构建 IV 曲面 (Volatility Surface)
  buildIVSurface(options):
    // X轴: 行权价/Moneyness
    // Y轴: 到期时间
    // Z轴: 隐含波动率
    // 用于: 新合约定价, 异常检测, 风险评估
}

// === 3. Greeks 计算服务 ===
// 高频计算: 每秒更新所有活跃合约的 Greeks
// 批量计算: 标的价格变化时, 批量更新同一 underlying 的所有合约
// 缓存策略: Redis 存储, 100ms TTL

// === 4. 期权链 (Option Chain) 数据推送 ===
// T型报价: 按行权价排列, 左边 Call, 右边 Put
// 推送内容: 每个合约的 bid/ask/last/vol/OI/IV/Delta
// 频率: 100ms - 1s, 按标的分频道
// WebSocket: subscribe("option_chain:BTC:20240329")

11. 期货期权 vs 永续合约

// === 完整对比: 现货 vs 永续 vs 交割期货 vs 期权 ===
//
// ┌────────────┬──────────┬───────────┬───────────┬───────────┐
// │    维度     │   现货    │  永续合约  │ 交割期货   │   期权     │
// ├────────────┼──────────┼───────────┼───────────┼───────────┤
// │ 到期日      │ 无       │ 无        │ 有         │ 有        │
// │ 杠杆       │ 无(1x)   │ 1-125x   │ 1-100x    │ 买方无限   │
// │ 方向       │ 只能做多  │ 多/空     │ 多/空      │ 4种组合   │
// │ 价格锚定   │ -        │ 资金费率   │ 基差收敛   │ BS模型    │
// │ 保证金     │ 全额      │ 双方      │ 双方       │ 仅卖方    │
// │ 最大亏损   │ 全额      │ 保证金    │ 保证金     │ 买方:权利金│
// │ 最大盈利   │ 无限      │ 无限      │ 无限       │ 买方:无限  │
// │ 持仓成本   │ 无        │ 资金费率  │ 无         │ Theta衰减 │
// │ 交割       │ 即时      │ 无        │ 到期结算   │ 行权结算  │
// │ 复杂度     │ 低        │ 中        │ 中         │ 高        │
// │ 适用场景   │ 长期持有  │ 投机/对冲  │ 套保/套利  │ 风险管理  │
// └────────────┴──────────┴───────────┴───────────┴───────────┘

// === 产品选择指南 ===
//
// 1. "我看好BTC会涨"
//    → 现货买入 (最安全)
//    → 永续做多 (加杠杆)
//    → 买入Call (有限亏损+杠杆)
//
// 2. "我想对冲持仓风险"
//    → 买入Put期权 (保险策略)
//    → 卖出期货锁定价格
//
// 3. "我想赚取收益但不想承担大风险"
//    → 卖出OTM Call (Covered Call)
//    → Iron Condor (区间震荡获利)
//
// 4. "我预期大幅波动但不确定方向"
//    → 买入Straddle/Strangle
//    → 期权买方 (Long Gamma)
//
// 5. "我想无风险套利"
//    → 基差套利 (现货+期货)
//    → Put-Call Parity 套利
//    → 跨交易所价差套利
期货优势

结构简单,易于理解。到期日明确,基差可预测。适合套期保值和基差交易。与现货关联度高,流动性好。

期货劣势

到期必须交割/移仓。没有非线性收益。持续持仓需要不断换月(Roll)。爆仓风险与永续相同。

期权优势

非线性收益结构,可精确定制风险。买方亏损有限。可交易波动率维度。策略组合丰富灵活。

期权劣势

定价复杂(BS模型/Greeks)。时间衰减(Theta)对买方不利。流动性通常不如期货。买卖价差较大。

12. 完整订单流程

数据模型

// === 期权仓位数据模型 ===
interface OptionPosition {
  id: string;
  userId: string;
  contractSymbol: string;    // "BTC-20240329-45000-C"
  side: "LONG" | "SHORT";   // 买方 or 卖方
  quantity: number;          // 持仓张数
  avgPrice: number;          // 平均成交价 (权利金)

  // 卖方相关
  margin: number;            // 冻结保证金 (仅卖方)
  maintenanceMargin: number; // 维持保证金

  // 实时计算 (缓存在 Redis)
  markPrice: number;         // 标记价格 (BS计算)
  unrealizedPnl: number;     // 未实现盈亏
  delta: number;             // 仓位 Delta
  gamma: number;             // 仓位 Gamma
  theta: number;             // 仓位 Theta
  vega: number;              // 仓位 Vega

  createdAt: Date;
  updatedAt: Date;
}

// === 期权交割记录 ===
interface OptionSettlement {
  id: string;
  contractSymbol: string;
  settlementPrice: number;   // 结算价
  settlementType: "EXERCISE" | "EXPIRE_WORTHLESS" | "CASH_SETTLE";

  // 每个仓位的结算明细
  positions: {
    userId: string;
    side: "LONG" | "SHORT";
    quantity: number;
    pnl: number;              // 结算盈亏
    marginReleased: number;   // 释放的保证金
  }[];

  settledAt: Date;
}

// === 期货交割记录 ===
interface FuturesDelivery {
  id: string;
  contractSymbol: string;    // "BTC-20240329"
  deliveryPrice: number;     // 交割结算价
  totalVolume: number;       // 参与交割的总量

  positions: {
    userId: string;
    side: "LONG" | "SHORT";
    quantity: number;
    entryPrice: number;
    pnl: number;             // (deliveryPrice - entryPrice) * qty * direction
    marginReleased: number;
  }[];

  deliveredAt: Date;
}