README_records_analysis.md 5.5 KB

期货开仓记录分析工具

概览

该工具基于 Lib/future/records.csv 的期货开仓记录,输出以 平均盈亏平均保证金收益率 为核心的多维度分析结果。脚本聚焦以下能力:

  • 自动清洗与增强原始数据:提取品种代码、识别开盘后时间段、计算保证金收益率、穿越均线数量、成交额分组等 15+ 个衍生字段。
  • 提供单一文件内的全套统计汇总、CSV 导出和可视化图表,方便快速洞察交易表现。
  • 所有结果默认输出至 Lib/future/analysis_results/ 目录,便于后续复盘或回测。

核心功能

数据预处理

  • 标的字段自动解析出品种代码(如“原油2002(SC2002.XINE)”→“SC”),提取成功率 100%。
  • 结合 MAPatternStrategy_v002.py 中的交易时间,计算 <30分钟 / 30-60分钟 / >1小时 三段开仓延迟区间。
  • 构建保证金收益率(交易盈亏 ÷ 保证金 × 100)、交易时段(夜盘/上午/下午)、穿越均线数量、成交额分组等指标。

多维度统计

  • 均线组合:统计出现次数、平均盈亏、平均保证金收益率、胜率与盈亏比,可快速筛选表现最稳健的组合。
  • 开盘后时间段:对比不同开仓延迟区间的平均盈亏与保证金收益率,直观判断开仓时机的重要性。
  • 均线 × 时间段交叉:同时查看胜率、平均盈亏、平均保证金收益率三张热力图,定位最优战术组合。
  • 交易类型 / 品种 / 品种代码:支持从“开多/开空”“商品/金融”“Top 品种代码”多层级对比收益表现。
  • 其他维度:控制台输出仍覆盖成交额分组、交易时段、穿越均线数量、多空对比、夜盘属性与组合策略排名等信息。

可视化输出(PNG)

  1. ma_lines_analysis.png
    • 4 个子图:出现次数、胜率、平均盈亏、平均保证金收益率,全部带数值标注,重点突出收益类指标。
  2. time_segment_analysis.png
    • 展示三个开盘时间段的平均盈亏与平均保证金收益率对比(双柱状图)。
  3. cross_analysis_heatmap.png
    • 3 张热力图:胜率、平均盈亏、平均保证金收益率(均线组合 × 开盘时间段)。
  4. variety_analysis.png
    • 交易类型与品种类型的胜率/收益率对比,快速锁定得分最高的资产类别。

说明:旧的 additional_analysis.png 已移除,所有图表均以平均盈亏与保证金收益率为主视角。

CSV 输出

文件 说明
records_enhanced.csv 增强后的明细数据,包含所有衍生字段
ma_lines_stats.csv 各均线组合的综合统计
time_segment_stats.csv 三段开盘时间的统计
symbol_stats.csv 各品种代码的统计
combo_strategy_stats.csv “均线组合×时间段×方向” 组合,样本量≥5

使用指南

1. 安装依赖

pip install pandas numpy matplotlib seaborn

2. 运行脚本

cd Lib/future
python records_analysis.py

3. 输出内容

  • 控制台:打印各维度汇总表,含样本量、平均盈亏、平均保证金收益率等。
  • analysis_results/:自动生成 PNG 图表与 CSV 文件。

指标解释

指标 定义
出现次数 分组内的交易笔数
胜率 盈利笔数 / 总笔数(交易盈亏 > 0 为盈利)
平均盈亏 交易盈亏字段的均值(元)
盈亏比 平均盈利金额 / 平均亏损金额(绝对值)
平均保证金收益率 单笔收益率(盈亏/保证金×100)的平均值

时间段计算:用品种对应的 trading_start_time 与委托时间求差,自动处理夜盘跨日情况;交易时段依次划分为夜盘(21:00-03:00)、上午(09:00-12:00)与下午(12:00-16:00)。

数据洞察速览(基于 1061 条样本)

  • 开仓时机:<30分钟平均盈亏 11,256 元、保证金收益率 5.73%,显著优于 >1小时段(1,073 元 / 4.17%)。
  • 均线组合MA20;MA30 在平均盈亏与保证金收益率上均表现亮眼(6,160 元 / 10.36%)。
  • 交易类型:开多的平均保证金收益率 5.38%,高于开空的 3.20%。
  • 品种类型:金融期货的平均保证金收益率 7.68%,显著优于商品期货的 3.42%。
  • 组合策略MA10;MA20 + >1小时 + 开空 的平均保证金收益率 21.25%,位列历史最佳组合之一。

以上数字会随最新数据自动更新,可直接参考控制台及 CSV 输出。

文件结构

Lib/future/
├── records.csv                 # 原始交易记录
├── records_analysis.py         # 主分析脚本
├── README_records_analysis.md  # 本文档
└── analysis_results/           # 输出目录
    ├── *.png                   # 4 张可视化图表
    ├── records_enhanced.csv    # 增强后的明细
    ├── ma_lines_stats.csv
    ├── time_segment_stats.csv
    ├── symbol_stats.csv
    └── combo_strategy_stats.csv

扩展建议

  • 添加更多维度:如持仓时长、波动率、止损/止盈比例等指标。
  • 引入机器学习:基于历史组合表现搭建简单的策略筛选模型。
  • 交互分析:将 CSV 导入 Notebook、BI 工具或 Plotly Dash 进行动态探索。

技术栈

  • Python 3.x
  • pandas / numpy:数据处理与统计
  • matplotlib / seaborn:绘图与热力图

如需调整统计口径或新增图表,可直接修改 records_analysis.py,所有逻辑均已模块化拆分,便于快速扩展。