期权工具

📎 引用文件

本文引用的文件 - agent/src/tools/options_pricing_tool.py - agent/src/quantlib/options.py - agent/backtest/engines/options_portfolio.py - agent/backtest/options_payoff.py - agent/src/tools/options_chain_tool.py - agent/src/tools/options_payoff_tool.py - agent/mcp_server.py

目录

  1. 简介
  2. 项目结构
  3. 核心组件
  4. 架构总览
  5. 详细组件分析
  6. 依赖关系分析
  7. 性能与数值稳定性
  8. 策略构建、风险管理与对冲
  9. 数据分析、流动性评估与市场情绪
  10. 故障排查指南
  11. 结论
  12. 附录:API与参数说明

简介

本文件系统性介绍 Vibe-Trading 的期权工具集,覆盖三大工具: - options_pricing_tool:基于 Black-Scholes 的理论定价与希腊字母(Delta/Gamma/Theta/Vega/Rho)计算。 - options_chain_tool:获取并标准化美国上市期权的链式数据(Call/Put 合约、行权价、买卖盘、成交量、持仓量、隐含波动率、虚实状态),并提供到期日列表管理。 - options_payoff_tool:对多腿欧式期权策略进行到期收益图与盈亏分析,支持 Spot/IV 情景矩阵、盈亏平衡点、最大盈亏等指标。

同时,文档解释期权定价理论、波动率曲面建模与隐含波动率求解;记录策略构建、风险管理及对冲实践;提供数据分析、流动性评估与市场情绪指标的使用建议与示例思路。

项目结构

围绕期权能力的核心代码分布在以下模块: - 工具层(面向调用方/Agent):options_pricing_tool、options_chain_tool、options_payoff_tool - 量化库(底层数学实现):src/quantlib/options(BS 定价、Greeks、隐含波动率反解) - 回测引擎与策略分析:backtest/engines/options_portfolio(组合级 Greeks、美式早exercised启发、IV微笑)、backtest/options_payoff(确定性到期收益与情景网格) - MCP 集成入口:mcp_server.py 暴露 analyze_options 工具

graph TB A["MCP 入口<br/>analyze_options"] --> B["OptionsPricingTool<br/>Black-Scholes 定价与Greeks"] B --> C["QuantLib Options<br/>bs_price / bs_greeks / implied_volatility"] D["OptionsChainTool<br/>Yahoo 期权链"] --> E["Yahoo Client<br/>get_options"] F["OptionsPayoffTool<br/>多腿策略收益与情景"] --> G["Backtest Payoff<br/>expiry_payoff / scenario_grid"] G --> H["Engine BS 接口<br/>bs_price (复用)"] I["Options Portfolio Engine<br/>IV微笑/组合Greeks"] --> C

图表来源 - agent/mcp_server.py:944-953 - agent/src/tools/options_pricing_tool.py:77-172 - agent/src/quantlib/options.py:161-263 - agent/src/tools/options_chain_tool.py:37-100 - agent/src/tools/options_payoff_tool.py:21-225 - agent/backtest/options_payoff.py:274-457 - agent/backtest/engines/options_portfolio.py:53-98

章节来源 - agent/src/tools/options_pricing_tool.py:77-172 - agent/src/tools/options_chain_tool.py:37-100 - agent/src/tools/options_payoff_tool.py:21-225 - agent/src/quantlib/options.py:161-263 - agent/backtest/options_payoff.py:274-457 - agent/backtest/engines/options_portfolio.py:53-98 - agent/mcp_server.py:944-953

核心组件

章节来源 - agent/src/tools/options_pricing_tool.py:13-74 - agent/src/tools/options_chain_tool.py:18-34 - agent/src/tools/options_payoff_tool.py:21-120

架构总览

期权能力由“工具层 + 量化库 + 回测引擎”三层构成: - 工具层封装用户输入、错误处理与输出格式,屏蔽底层细节 - 量化库提供统一、可复用的定价与希腊字母实现,包含隐含波动率反解 - 回测引擎在组合层面聚合 Greeks,并引入 IV 微笑模型以贴近真实市场

sequenceDiagram participant U as "调用方" participant T as "OptionsPricingTool" participant Q as "QuantLib Options" U->>T : 传入 spot/strike/expiry/vol/rate/type T->>Q : bs_price(...) Q-->>T : 理论价格 T->>Q : bs_greeks(...) Q-->>T : Delta/Gamma/Theta/Vega/Rho T-->>U : JSON 结果(含 status/degenerate)

图表来源 - agent/src/tools/options_pricing_tool.py:95-172 - agent/src/quantlib/options.py:161-263

章节来源 - agent/src/tools/options_pricing_tool.py:95-172 - agent/src/quantlib/options.py:161-263

详细组件分析

期权定价工具(options_pricing_tool)

flowchart TD Start(["开始"]) --> Parse["解析并转换参数"] Parse --> Validate{"输入合法?"} Validate -- 否 --> Err["返回错误JSON"] Validate -- 是 --> Compute["计算 T, 调用 bs_price/greeks"] Compute --> Degenerate{"T==0 或非有限?"} Degenerate -- 是 --> Mark["标记degenerate并提示"] Degenerate -- 否 --> Ok["标记ok"] Mark --> Return["返回JSON"] Ok --> Return Err --> End(["结束"]) Return --> End

图表来源 - agent/src/tools/options_pricing_tool.py:13-74 - agent/src/tools/options_pricing_tool.py:95-172

章节来源 - agent/src/tools/options_pricing_tool.py:13-74 - agent/src/tools/options_pricing_tool.py:95-172

期权链工具(options_chain_tool)

sequenceDiagram participant U as "调用方" participant CT as "OptionsChainTool" participant YF as "Yahoo Client" U->>CT : ticker, optional expiration CT->>YF : get_options(ticker, expiration) YF-->>CT : 原始期权链数据 CT->>CT : 标准化字段/限制规模 CT-->>U : {"ok" : true, data : {ticker, expirations, calls, puts}}

图表来源 - agent/src/tools/options_chain_tool.py:37-100 - agent/src/tools/options_chain_tool.py:113-150

章节来源 - agent/src/tools/options_chain_tool.py:37-100 - agent/src/tools/options_chain_tool.py:113-150

期权收益工具(options_payoff_tool)

flowchart TD S(["开始"]) --> P["解析legs与参数"] P --> V{"输入合法?"} V -- 否 --> E["返回错误JSON"] V -- 是 --> EP["计算入场成本(含佣金)"] EP --> Curve["到期收益曲线(分段线性)"] Curve --> BE["解析盈亏平衡点/区间"] BE --> Grid["Spot×IV 情景矩阵"] Grid --> R["汇总摘要+曲线+矩阵"] R --> End(["结束"]) E --> End

图表来源 - agent/src/tools/options_payoff_tool.py:122-225 - agent/backtest/options_payoff.py:274-457

章节来源 - agent/src/tools/options_payoff_tool.py:122-225 - agent/backtest/options_payoff.py:274-457

量化库(QuantLib Options)

章节来源 - agent/src/quantlib/options.py:1-49 - agent/src/quantlib/options.py:161-263 - agent/src/quantlib/options.py:298-406

回测引擎(Options Portfolio Engine)

章节来源 - agent/backtest/engines/options_portfolio.py:35-47 - agent/backtest/engines/options_portfolio.py:53-98 - agent/backtest/engines/options_portfolio.py:173-517

依赖关系分析

graph LR OPT_P["options_pricing_tool"] --> QL["quantlib/options"] OPT_PAY["options_payoff_tool"] --> PAYOFF["backtest/options_payoff"] PAYOFF --> ENG_BS["engine.bs_price"] CHAIN["options_chain_tool"] --> YF["yahoo_client"] ENG["options_portfolio_engine"] --> QL

图表来源 - agent/src/tools/options_pricing_tool.py:9-10 - agent/src/tools/options_payoff_tool.py:11-12 - agent/backtest/options_payoff.py:14-15 - agent/backtest/engines/options_portfolio.py:29-30 - agent/src/tools/options_chain_tool.py:15-16

章节来源 - agent/src/tools/options_pricing_tool.py:9-10 - agent/src/tools/options_payoff_tool.py:11-12 - agent/backtest/options_payoff.py:14-15 - agent/backtest/engines/options_portfolio.py:29-30 - agent/src/tools/options_chain_tool.py:15-16

性能与数值稳定性

章节来源 - agent/src/quantlib/options.py:298-406 - agent/backtest/options_payoff.py:274-457

策略构建、风险管理与对冲

章节来源 - agent/backtest/options_payoff.py:460-497 - agent/backtest/engines/options_portfolio.py:438-478 - agent/src/skills/options-strategy/SKILL.md:120-143

数据分析、流动性评估与市场情绪

章节来源 - agent/src/tools/options_chain_tool.py:18-34 - agent/src/tools/options_chain_tool.py:113-150

故障排查指南

章节来源 - agent/src/tools/options_pricing_tool.py:13-40 - agent/src/tools/options_pricing_tool.py:108-172 - agent/src/tools/options_chain_tool.py:84-99 - agent/src/tools/options_payoff_tool.py:228-339

结论

Vibe-Trading 的期权工具集提供了从定价、链数据到策略收益分析的完整能力: - 统一的 Black-Scholes 实现确保定价与 Greeks 的一致性 - 隐含波动率求解具备鲁棒性,能识别不可报价的波动率带 - 收益分析工具支持多腿策略与情景压力测试,便于研究与风控 - 回测引擎引入 IV 微笑与组合 Greeks,更贴近真实市场行为 - 期权链工具提供流动性与情绪指标,支撑策略筛选与执行决策

附录:API与参数说明

章节来源 - agent/src/tools/options_pricing_tool.py:82-93 - agent/src/tools/options_chain_tool.py:48-68 - agent/src/tools/options_payoff_tool.py:33-120