options-trading-backtester:在 Python 里回测期权策略

前言

期权策略上线前,常见做法是手写脚本、在表格里估盈亏,或依赖未把手续费、滑点、波动率变化写进模型的工具。参数一改就要重跑,Iron Condor、Strangle 等结构的腿数和到期日也不相同,很难在统一框架里对比胜率、Sharpe、最大回撤和资金曲线。

下面介绍 SkillHub 上的 options-trading-backtester(坐标 @user_15292d5a/yjkj-options-trading-backtester)。它把「策略类型说明 + Python 回测思路 + 默认配置 + 命令行参数」收进一份 SKILL.md,供编码 Agent 在用户提出回测、验配置或看交易历史时按文档生成或执行流程。SkillHub 分类为 data-analysis,社区来源,页面标注版本 1.0.0,标签 requires_api_key=false(无需 API Key)。

这是什么

options-trading-backtester 面向「用 Python 构建并运行期权策略回测」的场景:支持 Iron Condor、Strangle、Calendar Spread、Vertical Credit Spread;在描述中强调对历史数据回测,并纳入滑点、每合约 $0.65 手续费,以及 IV crush 建模;输出 Sharpe ratio、胜率、最大回撤、期望值(expectancy)和权益曲线(equity curve)。

SkillHub 发布者为 user_15292d5a;Skill 卡片注明许可为 MIT-0,部署地域为全球。官方 API 简介与 SkillHub 技能页一致。安装包内的 skill-card.md 同时提示:输出可能包含随机化演示结果,在用于实盘或严肃策略评估前须由具备资质的人员复核。

核心功能

支持的策略类型

Skill 文档用表格归纳四类策略及适用语境(节选含义如下):

策略 要点 文档中的适用场景
Iron Condor 卖出 OTM 看跌价差 + OTM 看涨价差 中性行情、高 IV
Strangle 同到期卖出 OTM 看跌与看涨 成本低、波动大
Calendar Spread 同执行价买远月、卖近月 时间价值衰减、均值回归
Vertical Credit Spread 牛市看跌或熊市看涨价差 有方向、风险有限

回测与成本假设

文档中的回测引擎为事件驱动思路,可对合成或真实历史数据做测试(compatibility 写明 Python 3.10+,依赖 pandas、numpy、scipy、matplotlib;可选 yfinance 作免费数据源)。

常量示例:

  • 手续费:COMMISSION = 0.65(美元/合约)
  • 滑点:SLIPPAGE = 0.02(美元/股)

Iron Condor 示例函数会估算净权利金、最大亏损、胜率、平均盈亏、Sharpe、最大回撤与期望值等,并支持多入场点聚合统计。

风控与过滤规则

SKILL.md 的 Error Handling 一节约定:

  1. IV 低于 20% 时拒绝开仓(权利金过薄)
  2. 买卖价差大于 $0.50 时拒绝
  3. 距到期不足 14 天时跳过(避免临近到期的 gamma 风险)
  4. 四腿 Iron Condor 往返佣金按每合约 \(0.65 计(文档示例为四腿合计 **\)2.60**)

Agent 触发场景

官方描述建议在用户要求 backtest an options strategy、test a config 或 analyze trade history 时启用本 Skill。

安装与启用

通过 SkillHub CLI 安装

先确认本机是否已有 skillhub:

command -v skillhub && skillhub --version

未安装时,可按 SkillHub 安装文档使用官方脚本(完整安装含 CLI 与默认 Skill):

curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash

仅安装 CLI:

curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash -s -- --cli-only

安装本 Skill 时,必须用 --dir 指向当前 Agent 的 skills 目录,否则默认落在 ./skills/ 且可能不被识别:

skillhub install @user_15292d5a/yjkj-options-trading-backtester --dir <你的 skills 目录>

常见路径(来自 SkillHub 安装文档):

  • Cursor:~/.cursor/skills/
  • Claude Code:~/.claude/skills/
  • Codex:~/.codex/skills/ 或项目下的 .agents/skills/

通过对话让 AI 安装

SkillHub 技能页提供的提示词为:请根据 https://skillhub.cn/install/skillhub.md,安装 @user_15292d5a/yjkj-options-trading-backtester。

典型用法

Skill 文档假设将回测脚本放在 scripts/backtest.py(内容由 Agent 按 SKILL.md 内嵌示例生成或补全)。命令行用法如下。

Iron Condor 回测:

python scripts/backtest.py --strategy iron_condor --symbol SPY --iv 0.30 --days 45 --short-delta 0.20 --width 5

其他策略示例:

python scripts/backtest.py --strategy strangle --symbol AAPL --iv 0.35 --days 30
python scripts/backtest.py --strategy calendar --symbol NVDA --days 45
python scripts/backtest.py --strategy vertical_spread --symbol TSLA --iv 0.40 --width 10

可选参数包括 --output,用于将结果写入 JSON 文件。

默认策略配置见文档中的 config/strategies.json 示例:

{
  "iron_condor_default": {
    "strategy": "iron_condor",
    "short_delta": 0.20,
    "wings_width": 5,
    "expiration_days": 45,
    "max_loss_per_trade": 400,
    "starting_capital": 10000
  }
}

在 Cursor 等环境中,更常见的路径是:安装 Skill 后,用自然语言描述标的、策略类型、IV 与到期天数,由 Agent 读取 SKILL.md 生成脚本、跑回测并解释 Sharpe、胜率、回撤等指标。

适用场景与注意

适合谁:需要在对话或项目里快速搭期权回测脚手架的开发者、量化分析或策略研究人员;希望统一讨论 Iron Condor 等结构参数(如 short_delta、width、days)的团队。

使用上应注意:

  1. 数据与结论性质:skill-card.md 明确提示,Skill 可能把随机化演示结果呈现为历史回测,在未接入经校验的行情数据与完整策略逻辑前,应视为合成演示,不能当作投资建议或实盘依据。
  2. 包内容与文档路径:从 SkillHub 下载的安装包以 SKILL.md 与说明文件为主;scripts/、config/ 需由 Agent 或你本地按文档创建,安装后不会自动出现完整 Python 工程树。
  3. 版本信息:SkillHub 页面显示 v1.0.0;包内 SKILL.md frontmatter 为 1.0.15,以你实际安装包为准核对行为。
  4. 合规:金融类输出须人工复核;组织内部署前按安全与合规要求审查生成代码与配置。

SkillHub 当前展示评分 100000、下载 774(统计以页面为准,会随时间变化)。

结尾

options-trading-backtester 把期权多腿策略的回测参数、成本假设和指标输出收敛到一份 Agent Skill,适合在「先验配置、再看 Sharpe 与回撤」的迭代里减少重复造轮子。安装与说明以 SkillHub 为准:

  • 技能页:https://www.skillhub.cn/skills/user_15292d5a/yjkj-options-trading-backtester
  • API 坐标:https://api.skillhub.cn/user_15292d5a/yjkj-options-trading-backtester
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye