# 期货数据动态播放器 - 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 - 结束时间 - 价格区间: 实时计算 - 完整的买卖盘档位数据 ## 安装要求 ### 必需依赖 ```bash pip install pandas numpy matplotlib tkinter ``` ### Python版本 - Python 3.7+ ## 使用方法 ### 启动程序 ```bash # 基础版本 python futures_data_player.py # 增强版本(推荐) python futures_player_enhanced.py ``` ### 操作指南 #### 播放控制 1. **播放/暂停**: 点击"▶ Play"或"⏸ Pause"按钮 2. **停止**: 点击"■ Stop"按钮返回到开始 3. **步进控制**: - "Step +1 ▶": 前进1个数据点 - "Step +10 ▶▶": 前进10个数据点 - "◀ Step -1": 后退1个数据点 - "◀◀ Step -10": 后退10个数据点 #### 速度控制 - **滑块调节**: 拖动速度滑块(0.1x - 10x) - **快速按钮**: 0.25x, 0.5x, 1x, 2x, 5x, 10x #### 跳转功能 1. **精确跳转**: 在输入框中输入数列号,点击"Jump" 2. **快速跳转**: 点击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渲染 ### 用户体验 - 直观的图形界面 - 实时状态更新 - 精确的播放控制 - 响应式布局设计 ## 使用场景 1. **交易策略研究**: 观察市场深度变化对价格的影响 2. **风险分析**: 识别流动性异常和市场冲击 3. **教育培训**: 帮助理解期货市场微观结构 4. **数据分析**: 深入研究价格发现过程 ## 注意事项 1. 首次运行可能需要下载依赖库 2. 确保数据文件路径正确 3. 大量数据播放时可能消耗较多内存 4. 建议在性能较好的设备上运行以获得最佳体验 ## 故障排除 ### 常见问题 1. **程序无法启动**: 检查Python版本和依赖库安装 2. **数据加载失败**: 确认数据文件存在且格式正确 3. **图表显示异常**: 尝试重启程序或检查matplotlib配置 4. **播放卡顿**: 降低播放速度或关闭其他占用资源的程序 ### 联系支持 如有问题,请检查控制台输出的错误信息,或确保所有依赖库正确安装。 --- **版本**: 1.0 **最后更新**: 2025-11-02 **数据文件**: au2512_20251013.parquet