更新项目文档,详细说明新增的大单策略分析工具集功能,包括: - 新增Jupyter Notebook交互式分析工具 - 智能缓存机制说明 - 复杂条件组合分析功能 - 可视化条件构建器 - 性能监控面板 - 更新项目结构和依赖说明 - 新增应用场景和技术特性描述
462 lines
15 KiB
Markdown
462 lines
15 KiB
Markdown
# 🎯 期货大单策略分析工具集
|
||
|
||
[](https://python.org)
|
||
[](LICENSE)
|
||
[]()
|
||
|
||
一个专业完整的期货数据分析工具集,包含**传统成交量序列分析**和**创新的大单策略分析**。通过多种分析方法和智能可视化技术,提供从价格趋势到大单策略的全方位分析解决方案,为期货交易者提供深入的市场洞察和策略研究支持。
|
||
|
||
## 🌟️ 核心分析工具
|
||
|
||
### 📊 传统成交量序列分析
|
||
- **volume_price_sequence.py** - 综合价格序列分析 (三合一图表)
|
||
- **volume_distribution_analysis.py** - 成交量分布深度分析 (7种专业图表)
|
||
- **volume_price_distribution.py** - 简化成交量价格分布 (快速分析)
|
||
|
||
### 🎯 大单策略分析工具 (新增)
|
||
- **large_orders_strategy_analysis.ipynb** - 专业版Jupyter Notebook
|
||
- 复杂逻辑组合条件分析
|
||
- 智能缓存机制 (首次3-5秒,后续瞬时响应)
|
||
- 可视化条件构建器
|
||
- 并排对比表格
|
||
- 数据钻取功能
|
||
- 性能监控面板
|
||
|
||
## 🎯 核心优势
|
||
|
||
### 🔄 创新分析方法
|
||
- **按成交量排序** - 相比传统时间序列,更符合交易实际
|
||
- **业务相关性高** - 直接反映交易行为对价格的影响
|
||
- **高解释力** - 清晰展示价格随交易推进的演变轨迹
|
||
|
||
### ⚡ 大单策略分析优势
|
||
- **复杂条件组合**: 支持多层级AND/OR逻辑
|
||
- **智能缓存**: 首次计算后,同类分析瞬时响应
|
||
- **交互式界面**: 可视化条件构建,实时预览结果
|
||
- **高性能**: 专为10万条数据优化
|
||
- **策略研究**: 完整的回测和验证框架
|
||
|
||
## 🚀 快速开始
|
||
|
||
### 📦 安装依赖
|
||
```bash
|
||
# 基础依赖
|
||
pip install pandas numpy matplotlib seaborn
|
||
|
||
# Jupyter Notebook依赖 (大单策略分析)
|
||
pip install ipywidgets jupyterlab
|
||
|
||
# 高性能数据处理 (可选但推荐)
|
||
pip install pyarrow
|
||
```
|
||
|
||
### 🎯 大单策略分析 (推荐)
|
||
```bash
|
||
# 1. 启动Jupyter Notebook
|
||
jupyter lab large_orders_strategy_analysis.ipynb
|
||
|
||
# 2. 按顺序运行前5个初始化Cell
|
||
|
||
# 3. 在Cell 6-8中进行自定义分析
|
||
```
|
||
|
||
### 📊 传统分析工具
|
||
```bash
|
||
# 1. 价格序列分析(综合图表,推荐)
|
||
python volume_price_sequence.py
|
||
|
||
# 2. 成交量分布深度分析(7种专业图表)
|
||
python volume_distribution_analysis.py
|
||
|
||
# 3. 简化成交量价格分布图(快速分析)
|
||
python volume_price_distribution.py
|
||
|
||
# 4. 分析其他数据文件
|
||
python volume_price_sequence.py data/jm2509_20250709.csv
|
||
python volume_distribution_analysis.py data/jm2509_20250709.csv
|
||
python volume_price_distribution.py data/jm2509_20250710.csv
|
||
|
||
# 5. 查看帮助信息
|
||
python volume_price_sequence.py --help
|
||
python volume_distribution_analysis.py --help
|
||
python volume_price_distribution.py --help
|
||
```
|
||
|
||
### 系统要求
|
||
- Python 3.8+
|
||
- pandas, numpy, matplotlib, seaborn
|
||
- ipywidgets, jupyterlab (用于Notebook分析)
|
||
- 支持中文字体的环境
|
||
|
||
## 📈 分析工具对比
|
||
|
||
| 特性 | 传统分析 | 大单策略分析 |
|
||
|------|------------|--------------|
|
||
| **使用方式** | 命令行 | Jupyter Notebook |
|
||
| **交互性** | 基础 | 高级 |
|
||
| **复杂条件** | 简单 | 复杂逻辑组合 |
|
||
| **缓存机制** | 无 | 智能缓存 |
|
||
| **数据规模** | 适中 | 10万条优化 |
|
||
| **学习成本** | 低 | 中等 |
|
||
| **推荐场景** | 日常分析 | 策略研究 |
|
||
|
||
## 🎯 大单策略分析功能详解
|
||
|
||
### 🔧 可视化条件构建器
|
||
- **拖拽式界面**: 直观的条件组合构建
|
||
- **预设模板**: 大单监控、买盘强势、异常活跃等策略模板
|
||
- **实时预览**: 构建条件后立即查看过滤结果
|
||
- **多层级逻辑**: 支持AND/OR逻辑组合
|
||
|
||
### ⚡ 智能缓存引擎
|
||
- **配置哈希**: 相同配置直接返回缓存结果
|
||
- **双层缓存**: 内存+磁盘缓存确保数据持久性
|
||
- **性能统计**: 实时监控缓存命中率和分析性能
|
||
|
||
### 📊 分析能力
|
||
- **多窗口分析**: 100笔、200笔等不同时间窗口
|
||
- **价格变化**: 上涨/下跌概率、平均收益、最大盈亏
|
||
- **统计洞察**: 完整的分布特征和业务分析
|
||
- **批量对比**: 同时测试多个参数组合
|
||
|
||
## 📊 输出示例
|
||
|
||
### 传统分析输出
|
||
#### 1. 综合价格序列分析图
|
||
 - **1.0MB**
|
||
**三合一综合分析图表**:
|
||
- **主图**: 成交价序列图(简洁清晰,无技术指标干扰)
|
||
- **侧图**: 成交量在价格上的分布(0.02间隔,水平柱状图)
|
||
- **下图**: 当前成交量时间序列图(交易活跃度变化)
|
||
- **关键价格标注**: 成交量最大的10个价格水平
|
||
|
||
#### 2. 成交量分布深度分析图
|
||
 - **1.1MB**
|
||
**7种专业分析图表**:
|
||
- 直方图 + 概率密度拟合
|
||
- 箱线图(分位数分布)
|
||
- 累积分布函数
|
||
- 成交量时间序列
|
||
- 成交量分组柱状图
|
||
- 成交量贡献度条形图
|
||
- 统计摘要表
|
||
|
||
### 大单策略分析输出
|
||
#### 分析报告示例
|
||
```
|
||
🔄 开始新分析... (哈希: a1b2c3d4)
|
||
✅ 分析完成! 耗时: 3.21秒
|
||
|
||
📊 分析配置: 买1量 > 100
|
||
📈 匹配样本数: 1,234 (1.85%)
|
||
📊 100笔后平均净变化: +0.15%
|
||
📊 上涨概率: 67.3%
|
||
|
||
📊 缓存统计:
|
||
cache_hits: 15
|
||
cache_misses: 2
|
||
hit_rate_pct: 88.2%
|
||
total_analyses: 17
|
||
avg_analysis_time: 0.45
|
||
memory_cache_size: 5
|
||
disk_cache_files: 12
|
||
```
|
||
|
||
## 💡 为什么选择大单策略分析?
|
||
|
||
| 特性 | 传统分析 | 大单策略分析 |
|
||
|------|------------|--------------|
|
||
| **策略研究** | ⭐⭐ | ⭐⭐⭐⭐⭐ |
|
||
| **复杂条件** | ⭐ | ⭐⭐⭐⭐⭐ |
|
||
| **交互性** | ⭐⭐ | ⭐⭐⭐⭐⭐ |
|
||
| **性能** | ⭐⭐⭐ | ⭐⭐⭐⭐ |
|
||
| **学习成本** | ⭐⭐⭐⭐ | ⭐⭐⭐ |
|
||
|
||
### 大单策略分析的应用场景
|
||
- **策略验证**: 测试不同的大单条件组合效果
|
||
- **参数优化**: 寻找最佳的分析参数
|
||
- **回测研究**: 基于历史数据的策略验证
|
||
- **实时监控**: 监控大单出现的时机和效果
|
||
|
||
## 📁 项目结构
|
||
|
||
```
|
||
jm_ces/
|
||
├── 📊 核心分析脚本
|
||
│ ├── volume_price_sequence.py # 综合价格序列分析 (22KB)
|
||
│ ├── volume_distribution_analysis.py # 成交量分布深度分析 (23KB)
|
||
│ ├── volume_price_distribution.py # 简化成交量价格分布 (16KB)
|
||
│ └── analyze_large_orders.py # 传统大单分析 (已弃用)
|
||
│
|
||
├── 🎯 大单策略分析 (新增)
|
||
│ ├── large_orders_strategy_analysis.ipynb # Jupyter Notebook专业版
|
||
│ ├── large_orders_strategy_analysis_fixed.ipynb # 修复版本
|
||
│ └── notebook_usage_guide.md # 详细使用指南
|
||
│
|
||
├── 📈 生成的图表
|
||
│ ├── au2512_volume_price_sequence.png # 综合价格序列图 (1.0MB)
|
||
│ ├── au2512_volume_distribution_analysis.png # 成交量分布分析图 (1.1MB)
|
||
│ ├── au2512_volume_price_distribution.png # 简化价格分布图 (0.3MB)
|
||
│ └── analysis_cache/ # 智能缓存目录
|
||
│
|
||
├── 📄 文档文件
|
||
│ ├── README.md # 项目说明文档 (本文件)
|
||
│ ├── CLAUDE.md # Claude指导文档
|
||
│ └── notebook_usage_guide.md # Notebook使用指南
|
||
│
|
||
└── 📂 数据目录
|
||
├── au2512_20251013.parquet # 增强后的数据(含当前成交量列)
|
||
├── au2512_20251013_backup.parquet # 原始数据备份
|
||
└── jm2509_*.csv # 其他期货数据文件
|
||
```
|
||
|
||
## 🗄️ 数据格式
|
||
|
||
### 支持的文件格式
|
||
- **Parquet文件** (推荐): `.parquet`
|
||
- **CSV文件**: `.csv`
|
||
|
||
### 大单策略分析支持的字段
|
||
```
|
||
基础字段:
|
||
- 数列号、成交价、累积成交量、成交额
|
||
- 买1价~买5价、卖1价~卖5价
|
||
- 买1量~买5量、卖1量~卖5量
|
||
|
||
计算字段 (自动生成):
|
||
- total_bid_volume: 买盘总挂单量
|
||
- total_ask_volume: 卖盘总挂单量
|
||
- bid_ask_ratio: 买卖盘比率
|
||
- price_change: 价格变化
|
||
- volume_change: 成交量变化
|
||
- volume_ma_5/10/20: 成交量移动平均
|
||
```
|
||
|
||
## 🎯 应用场景
|
||
|
||
### 交易策略研究
|
||
- 大单触发点的识别和分析
|
||
- 买卖盘不平衡的时机捕捉
|
||
- 成交量突变对价格影响的量化分析
|
||
- 基于大单信号的交易策略验证
|
||
|
||
### 风险控制
|
||
- 大单冲击的风险评估
|
||
- 极端价格变化的预警机制
|
||
- 基于成交量模式的风险管理
|
||
|
||
### 市场研究
|
||
- 机构投资者行为分析
|
||
- 市场微观结构研究
|
||
- 大单对价格发现的影响机制
|
||
|
||
### 策略开发
|
||
- 回测策略的验证和优化
|
||
- 多因子策略的构建
|
||
- 实时交易信号的生成和验证
|
||
|
||
## 🔧 技术特性
|
||
|
||
### 大单策略分析特性
|
||
- **智能缓存机制**: 配置哈希 + 内存/磁盘双层缓存
|
||
- **高性能优化**: 专为10万条数据优化的处理流程
|
||
- **交互式界面**: 可视化条件构建和实时结果预览
|
||
- **批量分析**: 同时测试多个参数组合
|
||
- **性能监控**: 实时缓存命中率和响应时间统计
|
||
|
||
### 传统分析特性
|
||
- **高分辨率输出**: 300 DPI高清图表
|
||
- **智能字体检测**: 自动适配中文字体
|
||
- **容错处理**: 完善的错误处理和用户提示
|
||
- **详细分析**: 完整的统计报告和业务洞察
|
||
- **数据增强**: 自动计算当前成交量和排序
|
||
|
||
## 📊 输出示例
|
||
|
||
### 传统分析报告
|
||
```
|
||
开始AU2512期货成交量-成交价序列分析...
|
||
数据加载成功: 66,596 条记录
|
||
|
||
=== 数据分析 ===
|
||
数据概况:
|
||
累计成交量: 893,404 手
|
||
价格区间: 901.84 - 928.88
|
||
平均价格: 914.54
|
||
|
||
关键成交量节点:
|
||
起始: 成交量 320 手, 价格 904.76
|
||
25%: 成交量 273,254 手, 价格 911.94
|
||
50%: 成交量 527,232 手, 价格 909.18
|
||
75%: 成交量 724,868 手, 价格 921.62
|
||
结束: 成交量 893,404 手, 价格 927.48
|
||
|
||
【业务洞察】
|
||
1. 价格随成交量变化的完整轨迹清晰可见
|
||
2. 整体趋势: 上涨 (+2.51%)
|
||
3. 交易过程中价格呈现逐步上涨趋势
|
||
4. 关键价格水平与成交量分布密切关联
|
||
```
|
||
|
||
### 大单策略分析报告
|
||
```
|
||
🔄 开始新分析... (哈希: a1b2c3d4)
|
||
✅ 分析完成! 耗时: 3.21秒
|
||
|
||
📊 分析配置: 买1量 > 100 AND 卖1量 > 50
|
||
📈 匹配样本数: 456 (0.68%)
|
||
📊 100笔后平均净变化: +0.12%
|
||
📊 200笔后平均净变化: +0.18%
|
||
📊 上涨概率: 63.2%
|
||
|
||
📊 条件统计:
|
||
总条件数: 2
|
||
总条件组数: 1
|
||
组间逻辑: AND
|
||
条件详情: ['买1量 > 100.0', '卖1量 > 50.0']
|
||
|
||
【策略洞察】
|
||
1. 大单同时出现时,价格上涨概率较高
|
||
2. 买盘力量占优时,短期内价格倾向于上涨
|
||
3. 100-200笔的时间窗口内,平均收益为正
|
||
4. 该条件组合具有较好的预测价值
|
||
```
|
||
|
||
## 🚀 核心功能亮点
|
||
|
||
### 🎯 大单策略分析特色
|
||
- **复杂条件组合**: 支持多层级AND/OR逻辑
|
||
- **智能缓存**: 首次分析后,同类分析瞬时响应
|
||
- **可视化构建**: 直观的拖拽式条件组合界面
|
||
- **性能监控**: 实时监控缓存命中率和分析性能
|
||
- **批量分析**: 同时测试多个参数组合效果
|
||
- **数据钻取**: 点击查看具体交易记录详情
|
||
|
||
### 📊 传统分析特色
|
||
- **成交量序列分析**: 按累计成交量排序,更符合交易实际
|
||
- **关键价格标注**: 自动识别成交量最大的价格水平
|
||
- **多维度可视化**: 价格趋势 + 成交量分布的综合展示
|
||
- **精确价格间隔**: 0.02元标准间隔,符合期货市场特性
|
||
|
||
## 🛠️ 开发信息
|
||
|
||
### 依赖项
|
||
- `pandas` - 数据处理和分析
|
||
- `numpy` - 数值计算
|
||
- `matplotlib` - 数据可视化
|
||
- `seaborn` - 高级统计图表
|
||
- `ipywidgets` - Jupyter Notebook交互组件
|
||
- `jupyterlab` - Jupyter Notebook环境 (可选)
|
||
- `pyarrow` - 高性能数据处理 (可选)
|
||
|
||
### 代码质量
|
||
- 面向对象设计,易于维护和扩展
|
||
- 完整的错误处理和用户友好提示
|
||
- 详细的代码注释和文档
|
||
- 符合Python编码规范
|
||
- 智能缓存机制,提升性能
|
||
|
||
## 🚀 快速导航
|
||
|
||
### 新手推荐流程
|
||
```bash
|
||
# 1. 先尝试大单策略分析
|
||
jupyter lab large_orders_strategy_analysis.ipynb
|
||
|
||
# 2. 运行前5个初始化Cell,了解数据
|
||
|
||
# 3. 在Cell 6中查看示例分析
|
||
|
||
# 4. 在Cell 7中自定义分析条件
|
||
|
||
# 5. 如果需要,再尝试传统分析工具
|
||
python volume_price_sequence.py
|
||
python volume_distribution_analysis.py
|
||
```
|
||
|
||
### 大单策略分析流程
|
||
```python
|
||
# 1. 启动Notebook
|
||
jupyter lab large_orders_strategy_analysis.ipynb
|
||
|
||
# 2. 数据初始化 (Cell 1-5)
|
||
# 运行数据加载和预处理
|
||
|
||
# 3. 示例分析 (Cell 6)
|
||
# 查看预设策略模板的分析效果
|
||
|
||
# 4. 自定义分析 (Cell 7)
|
||
# 创建自己的条件配置
|
||
|
||
# 5. 批量分析 (Cell 8-11)
|
||
# 对比多个参数组合
|
||
```
|
||
|
||
### 数据文件准备
|
||
```bash
|
||
# 确保数据文件存在且格式正确
|
||
ls -la data/au2512_20251013.parquet
|
||
|
||
# 检查必需字段
|
||
head -1 data/au2512_20251013.parquet
|
||
|
||
# 如果需要处理新数据,确保包含必要字段
|
||
# 数列号、成交价、累积成交量、买卖盘数据等...
|
||
```
|
||
|
||
## 📞 支持与反馈
|
||
|
||
### 问题报告
|
||
如果在使用过程中遇到问题:
|
||
|
||
**大单策略分析问题**:
|
||
1. 检查Jupyter Notebook环境: `jupyter lab --version`
|
||
2. 确认依赖库安装: `pip list | grep -E "(pandas|numpy|ipywidgets)"`
|
||
3. 查看Notebook中的错误信息
|
||
4. 确保数据文件路径正确
|
||
|
||
**传统分析问题**:
|
||
1. **检查数据文件格式**:确保包含必需字段(累积成交量、成交价等)
|
||
2. **确认依赖库安装**:`pip install pandas numpy matplotlib seaborn`
|
||
3. **查看错误信息**:命令行会显示详细的错误提示
|
||
4. **中文字体问题**:脚本会自动检测并设置合适的中文字体
|
||
|
||
### 常见问题解决
|
||
- **Notebook无法启动**: 检查Jupyter安装和配置
|
||
- **缓存文件问题**: 检查analysis_cache目录权限
|
||
- **数据加载失败**: 检查文件路径和数据格式
|
||
- **性能问题**: 考虑使用pyarrow引擎优化数据读取
|
||
- **界面显示异常**: 检查ipywidgets版本兼容性
|
||
|
||
### 功能建议
|
||
欢迎提出改进建议和新功能需求,包括:
|
||
- 新的策略分析模板
|
||
- 更多的可视化图表类型
|
||
- 更好的数据处理方法
|
||
- 性能优化建议
|
||
- 新的数据源支持
|
||
|
||
## 📄 许可证
|
||
|
||
本项目采用 MIT 许可证,详见 LICENSE 文件。
|
||
|
||
## 🙏 致谢
|
||
|
||
感谢所有为期货数据分析和可视化做出贡献的开发者和研究人员,以及提供宝贵反馈的用户。
|
||
|
||
---
|
||
|
||
**版本**: 3.0
|
||
**最后更新**: 2025-11-02
|
||
**核心工具**:
|
||
- `volume_price_sequence.py` - 传统价格序列分析
|
||
- `volume_distribution_analysis.py` - 成交量分布深度分析
|
||
- `large_orders_strategy_analysis.ipynb` - 大单策略分析工具
|
||
**项目状态**: ✅ 活跃维护中
|
||
**新增功能**:
|
||
- ✅ 大单策略分析工具 (Jupyter Notebook)
|
||
- ✅ 智能缓存机制
|
||
- ✅ 复杂条件组合分析
|
||
- ✅ 可视化条件构建器
|
||
- ✅ 批量分析和对比
|
||
- ✅ 性能监控面板 |