新增期货数据动态播放器功能,包括基础版和增强版实现,添加测试脚本和详细文档说明。主要变更包括: 1. 实现买卖盘深度可视化播放功能 2. 添加播放控制、速度调节和跳转功能 3. 提供统一价格轴显示优化版本 4. 添加测试脚本验证功能 5. 编写详细使用文档和README说明
5.7 KiB
5.7 KiB
期货数据动态播放器 - Futures Data Player
概述
这是一个基于Python的期货数据可视化工具,专门用于展示AU2512期货合约的买卖盘深度变化。该工具可以按时间序列动态播放市场深度数据,帮助交易员和分析师更好地理解市场微观结构。
功能特性
核心功能
- 实时买卖盘深度可视化: 展示买1-5档和卖1-5档的价格和成交量
- 时序播放控制: 按数列号顺序播放数据,模拟真实交易过程
- 灵活的播放控制: 支持播放/暂停/停止/步进操作
- 可调节播放速度: 0.1x到10x速度调节
- 精确跳转功能: 可跳转到任意数列号
高级功能
- 价格趋势图表: 显示最近100个数据点的价格走势
- 成交量分析: 累积成交量变化趋势
- 买卖价差监控: 实时显示bid-ask spread
- 快速定位: 提供开始、25%、50%、75%、结束的快速跳转按钮
数据源
基于data/au2512_20251013.parquet文件,包含:
- 66,596个数据点
- 时间范围: 00:00.5 - 结束时间
- 价格区间: 实时计算
- 完整的买卖盘档位数据
安装要求
必需依赖
pip install pandas numpy matplotlib tkinter
Python版本
- Python 3.7+
使用方法
启动程序
# 基础版本
python futures_data_player.py
# 增强版本(推荐)
python futures_player_enhanced.py
操作指南
播放控制
- 播放/暂停: 点击"▶ Play"或"⏸ Pause"按钮
- 停止: 点击"■ Stop"按钮返回到开始
- 步进控制:
- "Step +1 ▶": 前进1个数据点
- "Step +10 ▶▶": 前进10个数据点
- "◀ Step -1": 后退1个数据点
- "◀◀ Step -10": 后退10个数据点
速度控制
- 滑块调节: 拖动速度滑块(0.1x - 10x)
- 快速按钮: 0.25x, 0.5x, 1x, 2x, 5x, 10x
跳转功能
- 精确跳转: 在输入框中输入数列号,点击"Jump"
- 快速跳转: 点击Start、25%、50%、75%、End按钮
图表说明
- 买盘深度图(上方): 绿色水平条,显示各买档价格的挂单量
- 卖盘深度图(中间): 红色水平条,显示各卖档价格的挂单量
- 价格趋势图(左下): 蓝色线条显示最近100个点的价格变化
- 成交量图(右下): 绿色线条显示累积成交量变化
界面布局
┌─────────────────────────────────────┬─────────────────┐
│ 图表显示区域 │ 控制面板 │
│ │ │
│ ┌─────────────────────────────────┐ │ 播放控制 │
│ │ 买盘深度图 │ │ 状态显示 │
│ └─────────────────────────────────┘ │ 速度控制 │
│ ┌─────────────────────────────────┐ │ 跳转控制 │
│ │ 卖盘深度图 │ │ 进度显示 │
│ └─────────────────────────────────┘ │ 数据统计 │
│ ┌─────────────────┬───────────────┐ │ │
│ │ 价格趋势 │ 成交量分析 │ │ │
│ └─────────────────┴───────────────┘ │ │
└─────────────────────────────────────┴─────────────────┘
数据结构
输入数据格式
time: 时间戳(MM:SS.秒格式)price: 最新成交价cumulative_volume: 累积成交量bid1_price~bid5_price: 买1到买5价格bid1_volume~bid5_volume: 买1到买5挂单量ask1_price~ask5_price: 卖1到卖5价格ask1_volume~ask5_volume: 卖1到卖5挂单量
可视化逻辑
- 买盘: 按价格从高到低排序,价格越高优先级越高
- 卖盘: 按价格从低到高排序,价格越低优先级越高
- 颜色编码:
- 绿色系:买盘
- 红色系:卖盘
- 蓝色虚线:当前成交价
技术特点
性能优化
- 多线程播放避免界面卡顿
- 数据预处理和缓存机制
- 高效的matplotlib渲染
用户体验
- 直观的图形界面
- 实时状态更新
- 精确的播放控制
- 响应式布局设计
使用场景
- 交易策略研究: 观察市场深度变化对价格的影响
- 风险分析: 识别流动性异常和市场冲击
- 教育培训: 帮助理解期货市场微观结构
- 数据分析: 深入研究价格发现过程
注意事项
- 首次运行可能需要下载依赖库
- 确保数据文件路径正确
- 大量数据播放时可能消耗较多内存
- 建议在性能较好的设备上运行以获得最佳体验
故障排除
常见问题
- 程序无法启动: 检查Python版本和依赖库安装
- 数据加载失败: 确认数据文件存在且格式正确
- 图表显示异常: 尝试重启程序或检查matplotlib配置
- 播放卡顿: 降低播放速度或关闭其他占用资源的程序
联系支持
如有问题,请检查控制台输出的错误信息,或确保所有依赖库正确安装。
版本: 1.0 最后更新: 2025-11-02 数据文件: au2512_20251013.parquet