README_STRATEGY_TEST.md 6.3 KB

深度实值牛差策略测试工具使用说明

概述

基于您在 Lib/Options/README.md 中描述的深度实值买购和卖购组合的牛差策略,我已经创建了完整的整合测试工具。

🎯 核心特性

✅ 已完成的功能整合

  1. 策略核心逻辑 - 深度实值买购 + 平值卖购组合
  2. 数据导出功能 - 支持CSV格式导出,便于线下分析
  3. 分项收益分析 - 分别分析买购和卖购的收益情况
  4. 期权分析工具 - 内置期权损益分析和可视化
  5. 收益对比分析 - 与ETF持有收益的详细对比

📁 文件说明

  • deep_itm_bull_spread_strategy.py - 🌟 主文件(所有功能已整合)
  • test_integrated_strategy.py - 本地功能验证测试
  • README_STRATEGY_TEST.md - 本使用说明文档

策略核心逻辑

根据您的策略描述,实现了以下核心交易逻辑:

开仓条件

  1. 买购选择:深度实值认购期权(时间价值 ≤ 0.0001)
  2. 卖购选择:平值认购期权(权利金 ≥ 最小阈值)
  3. 张数配置:每组30张(可配置)

平仓条件

  1. 到期移仓:距离到期7-2个交易日内
  2. ETF大涨:接近最大盈利时
  3. ETF下跌:卖购权利金 ≤ 0.0005时

加仓逻辑

  • ETF下跌超过阈值时(沪深300ETF: 0.2,上证50ETF: 0.1)
  • 避免在相同价格水平重复加仓

🚀 使用方法

1. 线上环境(聚宽平台)- 推荐

步骤

  1. deep_itm_bull_spread_strategy.py 完整复制到聚宽平台
  2. 在聚宽研究环境中运行以下代码:

    # 运行完整回测和分析
    strategy, results = test_strategy()
    
    # 导出数据到CSV(用于线下分析)
    positions_df, trades_df, daily_df = strategy.export_data_to_csv("bull_spread_300etf")
    
    # 分析期权组合
    option_analysis = analyze_bull_spread_example()
    
    # 收益对比分析
    comparison_results = compare_with_etf_holding()
    

输出文件

  • bull_spread_300etf_positions.csv - 持仓数据
  • bull_spread_300etf_trades.csv - 交易记录
  • bull_spread_300etf_daily.csv - 每日损益(包含买购/卖购分项)

2. 本地测试验证

运行功能验证测试:

cd /path/to/jukuan
python Lib/Options/test_integrated_strategy.py

测试内容

  • ✅ 期权分析工具
  • ✅ 收益对比分析
  • ✅ 数据导出功能

📊 分项收益分析特色

🔍 买购和卖购分别分析

本工具的核心特色是分别分析买购和卖购的收益情况,而不是仅看组合总收益:

测试结果示例(以4.0价位为例):

价格变化 ETF收益 买购收益 卖购收益 牛差总收益 收益差异
-20% -20,000元 -180,400元 +82,000元 -98,400元 -78,400元
-5% -5,000元 -98,400元 +82,000元 -16,400元 -11,400元
0% 0元 -16,400元 +82,000元 +65,600元 +65,600元
+5% 5,000元 +65,600元 0元 +65,600元 +60,600元
+20% 20,000元 +311,600元 -246,000元 +65,600元 +45,600元

📈 关键洞察

  1. 买购期权

    • 标的下跌时损失较大(深度实值变为平值/虚值)
    • 标的上涨时收益显著(杠杆效应)
  2. 卖购期权

    • 标的下跌时提供稳定收益(权利金收入)
    • 标的上涨时限制总收益(被行权)
  3. 组合效果

    • 在标的横盘或温和上涨时表现最佳
    • 通过卖购收入降低买购成本

🎯 策略适用性

最佳表现区间:标的价格 0% 到 +10% 变化 风险区间:标的价格 -10% 以下变化 收益受限区间:标的价格 +15% 以上变化

参数配置

策略参数(可在代码中调整)

params = {
    '一组张数': 30,
    '最小权利金': {'沪深300ETF': 0.03, '上证50ETF': 0.05},
    '最少开仓日期': 20,  # 距离到期日天数
    '买购时间价值阈值': 0.0001,
    '卖购平仓权利金阈值': 0.0005,
    '合约到期移仓日期最大': 7,
    '合约到期移仓日期最小': 2,
    '加仓窗口阈值': {'沪深300ETF': 0.2, '上证50ETF': 0.1}
}

测试参数

  • 标的:300ETF (510300.XSHG)
  • 测试期间:2024-01-01 到 2025-06-30
  • 初始资金:100,000元

风险提示

  1. 模拟环境限制:简化版使用模拟期权定价,实际表现可能不同
  2. 交易成本:未充分考虑手续费、滑点等交易成本
  3. 流动性风险:深度实值期权可能存在流动性不足问题
  4. 模型风险:期权定价模型的准确性影响策略表现

🔧 主要功能类和方法

DeepITMBullSpreadStrategy 类

核心方法

  • run_backtest() - 运行完整回测
  • generate_detailed_report() - 生成分项收益分析报告
  • export_data_to_csv(filename_prefix) - 导出数据到CSV
  • plot_detailed_performance() - 绘制分项收益图表

OptionsAnalyzer 类

核心方法

  • analyze_options(*options) - 期权组合分析
  • 支持格式:('buy', 'call', premium, strike, quantity)

便捷函数

  • test_strategy() - 一键运行完整测试
  • analyze_bull_spread_example() - 期权组合分析示例
  • compare_with_etf_holding() - 收益对比分析

📋 使用流程建议

线上环境工作流

  1. 上传文件:将 deep_itm_bull_spread_strategy.py 上传到聚宽
  2. 运行回测:执行 test_strategy() 获取策略表现
  3. 导出数据:使用 export_data_to_csv() 导出详细数据
  4. 下载分析:下载CSV文件到本地进行深度分析

线下分析工作流

  1. 数据准备:使用导出的CSV文件
  2. 分项分析:重点关注买购和卖购的分别表现
  3. 参数优化:基于分析结果调整策略参数
  4. 风险评估:评估不同市场环境下的表现

⚠️ 重要提示

  1. 数据完整性:线上环境使用真实期权数据,线下测试使用模拟数据
  2. 交易成本:实际交易需考虑手续费、滑点等成本
  3. 流动性风险:深度实值期权可能存在流动性问题
  4. 风险管理:建议添加止损和仓位管理机制

🎯 核心优势:本工具实现了您要求的所有功能整合,特别是买购和卖购的分项收益分析,为策略优化提供了详细的数据支持。