huice/README_unified_final.md
Your Name 7f4f88e853 feat: 添加期货数据播放器及相关测试和文档
新增期货数据动态播放器功能,包括基础版和增强版实现,添加测试脚本和详细文档说明。主要变更包括:
1. 实现买卖盘深度可视化播放功能
2. 添加播放控制、速度调节和跳转功能
3. 提供统一价格轴显示优化版本
4. 添加测试脚本验证功能
5. 编写详细使用文档和README说明
2025-11-02 23:57:10 +08:00

177 lines
7.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 统一价格轴期货数据播放器 - 最终优化版
## 🎯 核心特性
### 💡 创新显示方式
- **倒置柱状图**: 成交量柱体从价格轴向下延伸,便于观察价格间隙
- **统一价格轴**: 买卖盘挂单在同一价格体系中对比显示
- **类对数刻度**: 成交量采用等距对数刻度,更好展示不同量级数据
### 📊 视觉效果
- **价格轴**: 横轴显示按真实tick (0.02元) 标注
- **成交量轴**: 纵轴显示,类对数刻度 [10, 30, 60, 150, 300, 600, 1500, 3000, 6000, 15000]
- **颜色编码**: 绿色=买盘,红色=卖盘,蓝色=当前价,黄色=价差区域
## 📈 显示逻辑详解
### 市场深度主图表
```
▲ 成交量 (对数刻度)
│ ● 1500 (成交量刻度点等距分布)
│ ● 600
│ ● 300
0 ──┼───────────────── ← 价格轴 (黑色横线)
│ │ ● 成交量柱体向下延伸
│ │ │●
│ │ │ │●
└──┼────┼─┼────▶ 价格 (¥)
904.86 904.88 904.90
```
### 关键设计要点
#### 1. 倒置显示优势
- **价格间隙突出**: 买卖价差在价格轴上方清晰可见
- **视觉聚焦**: 价格作为基准线,挂单量向下延伸
- **对比直观**: 不同价格档位的挂单量对比一目了然
#### 2. 类对数刻度设计
```python
volume_scale_points = [10, 30, 60, 150, 300, 600, 1500, 3000, 6000, 15000]
```
- **等距显示**: 10与30的间距 = 300与600的间距
- **业务相关性**: 覆盖期货交易常见挂单量范围
- **细节保留**: 小单量和大单量都能清晰显示
#### 3. 真实tick刻度
- **AU2512最小tick**: 0.02元
- **精确标注**: 横轴严格按照交易所规则标注
- **价格跳跃**: 真实反映买卖盘之间的价格间隙
## 🚀 使用方法
### 快速启动
```bash
# 运行完整应用
python futures_player_unified.py
# 查看演示效果
python demo_unified_player.py
# 功能测试
python test_unified_player.py
```
### 操作指南
#### 播放控制
- **▶ Play/⏸ Pause**: 播放或暂停时序数据
- **■ Stop**: 停止并回到开始位置
- **Step Controls**: ±1或±10步进播放
#### 速度调节
- **滑块控制**: 0.1x - 10x 无级调速
- **快速按钮**: 0.25x, 0.5x, 1x, 2x, 5x, 10x
#### 导航功能
- **快速跳转**: Start, 25%, 50%, 75%, End
- **精确跳转**: 输入具体序列号跳转
## 📋 界面布局
```
┌─────────────────────────────────────────────────────────────┬─────────────────┐
│ 图表显示区域 │ 控制面板 │
│ │ │
│ ┌─────────────────────────────────────────────────────┐ │ 播放控制 │
│ │ 倒置市场深度图表 │ │ 状态显示 │
│ │ 成交量↓ | 价格轴 (0) | 成交量↓ │ │ 速度控制 │
│ │ 绿色买盘 红色卖盘 │ │ 导航控制 │
│ └─────────────────────────────────────────────────────┘ │ 进度显示 │
│ ┌─────────────────┬─────────────────────────────────┐ │ 统计信息 │
│ │ 价格趋势图 │ 成交量分析图 │ │ │
│ └─────────────────┴─────────────────────────────────┘ │ │
│ ┌─────────────────────────────────────────────────────┐ │ │
│ │ 统计信息显示区 │ │ │
│ └─────────────────────────────────────────────────────┘ │ │
└─────────────────────────────────────────────────────────────┴─────────────────┘
```
## 🔍 数据解读指南
### 市场深度分析
1. **流动性观察**: 柱体越高表示该价位挂单量越大
2. **价差分析**: 黄色区域宽度显示买卖价差
3. **支撑阻力**: 高买柱形成支撑,高卖柱形成阻力
4. **订单分布**: 观察不同价位的挂单分布情况
### 交易信号识别
- **价差收窄**: 买卖价差变小,流动性改善
- **大单出现**: 某个价位柱体异常增高
- **失衡信号**: 买盘或卖盘明显占优
## ⚙️ 技术实现
### 核心算法
```python
# 成交量对数变换
def transform_volume(volume):
for i in range(len(volume_scale_points) - 1):
if volume_scale_points[i] <= volume < volume_scale_points[i + 1]:
ratio = (volume - volume_scale_points[i]) / (volume_scale_points[i + 1] - volume_scale_points[i])
return i + ratio # 等距映射
# 倒置显示
bars = ax.bar(all_prices, [-v for v in transformed_volumes]) # 负值向下
```
### 性能优化
- **高效渲染**: 优化的matplotlib绘图
- **内存管理**: 合理的数据处理策略
- **实时更新**: 流畅的播放体验
## 📊 数据源
### 文件信息
- **数据文件**: `data/au2512_20251013.parquet`
- **数据量**: 66,596个有效数据点
- **时间范围**: 00:00.5 - 59:59.5
- **价格区间**: 901.84 - 928.88元
### 数据字段
- 买1-5档价格和挂单量
- 卖1-5档价格和挂单量
- 最新成交价和累积成交量
- 时间戳信息
## 🎯 业务价值
### 交易决策支持
- **即时价差观察**: 直接看到买卖价差大小
- **流动性评估**: 快速评估市场深度
- **价格阻力识别**: 识别关键支撑和阻力位
- **订单流分析**: 观察买卖力量对比
### 市场分析
- **微观结构**: 深入了解市场微观结构
- **价格发现**: 观察价格形成过程
- **风险管理**: 评估市场冲击成本
## 🛠️ 系统要求
### 环境依赖
```bash
pip install pandas numpy matplotlib tkinter
```
### 硬件要求
- **内存**: 最少4GB推荐8GB
- **显示**: 1920x1080或更高分辨率
- **系统**: Windows/Linux/macOS
---
**版本**: 3.0 Final Edition
**最后更新**: 2025-11-02
**核心特性**: 倒置显示 + 类对数刻度 + 统一价格轴