diff --git a/.claude/settings.local.json b/.claude/settings.local.json index f315077..07610b7 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -1,7 +1,9 @@ { "permissions": { "allow": [ - "Bash(python:*)" + "Bash(python:*)", + "Bash(.:*)", + "Bash(pip install:*)" ], "deny": [], "ask": [] diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..42c84f3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,202 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be added to the global gitignore or merged into this project gitignore. For a PyCharm +# project, it is generally recommended to include the gitignore file in the project. +# https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +.idea/ + +# VS Code +.vscode/ + +# Project-specific ignores +# Generated charts and analysis outputs +*.png +*.jpg +*.jpeg +*.pdf +*.svg + +# Data files (keep original data, ignore processed/intermediate files) +# data/processed/ +# data/temp/ +# data/*.tmp + +# Analysis output directories +output/ +results/ +reports/ +logs/ + +# OS generated files +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +ehthumbs.db +Thumbs.db + +# Temporary files +*.tmp +*.temp +*.bak +*.swp +*.swo +*~ + +# Claude Code settings +.claude/settings.local.json \ No newline at end of file diff --git a/README.md b/README.md index 2355f2f..387c77c 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,26 @@ -# AU2512期货成交量-成交价序列分析工具 +# 🎯 期货大单策略分析工具集 -[![Python](https://img.shields.io/badge/Python-3.7+-blue.svg)](https://python.org) +[![Python](https://img.shields.io/badge/Python-3.8+-blue.svg)](https://python.org) [![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) [![Status](https://img.shields.io/badge/Status-Active-brightgreen.svg)]() -一个专业完整的期货数据分析工具集。通过创新的**成交量序列分析方法**和**多维可视化技术**,提供从价格趋势到成交量分布的全方位分析解决方案,为期货交易者提供深入的市场洞察。 +一个专业完整的期货数据分析工具集,包含**传统成交量序列分析**和**创新的大单策略分析**。通过多种分析方法和智能可视化技术,提供从价格趋势到大单策略的全方位分析解决方案,为期货交易者提供深入的市场洞察和策略研究支持。 + +## 🌟️ 核心分析工具 + +### 📊 传统成交量序列分析 +- **volume_price_sequence.py** - 综合价格序列分析 (三合一图表) +- **volume_distribution_analysis.py** - 成交量分布深度分析 (7种专业图表) +- **volume_price_distribution.py** - 简化成交量价格分布 (快速分析) + +### 🎯 大单策略分析工具 (新增) +- **large_orders_strategy_analysis.ipynb** - 专业版Jupyter Notebook + - 复杂逻辑组合条件分析 + - 智能缓存机制 (首次3-5秒,后续瞬时响应) + - 可视化条件构建器 + - 并排对比表格 + - 数据钻取功能 + - 性能监控面板 ## 🎯 核心优势 @@ -13,34 +29,38 @@ - **业务相关性高** - 直接反映交易行为对价格的影响 - **高解释力** - 清晰展示价格随交易推进的演变轨迹 -### 📊 专业可视化工具集 - -#### 1. 价格序列分析 (volume_price_sequence.py) -- **主图**: 成交价序列图(简洁无干扰的价格轨迹) -- **侧图**: 成交量在价格上的分布图(0.02间隔) -- **下图**: 当前成交量时间序列图 -- **关键价格标注**: 成交量最大的10个价格水平(虚线+双向标注) - -#### 2. 成交量分布深度分析 (volume_distribution_analysis.py) -- **7种专业图表**: 直方图、箱线图、累积分布函数等 -- **统计摘要**: 完整的分布特征分析 -- **交易模式识别**: 大单分析、分组统计 -- **业务洞察**: 市场活跃度和机构参与度分析 - -#### 3. 成交量价格分布图 (volume_price_distribution.py) -- **单一专注**: 成交量在价格上的分布 -- **前20排行**: 成交量最大的价格区间列表 -- **精确分析**: 0.02价格间隔的详细分布 -- **快速洞察**: 立即识别热门价格水平 +### ⚡ 大单策略分析优势 +- **复杂条件组合**: 支持多层级AND/OR逻辑 +- **智能缓存**: 首次计算后,同类分析瞬时响应 +- **交互式界面**: 可视化条件构建,实时预览结果 +- **高性能**: 专为10万条数据优化 +- **策略研究**: 完整的回测和验证框架 ## 🚀 快速开始 -### 安装依赖 +### 📦 安装依赖 ```bash -pip install pandas numpy matplotlib +# 基础依赖 +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 @@ -63,21 +83,52 @@ python volume_price_distribution.py --help ``` ### 系统要求 -- Python 3.7+ -- pandas, numpy, matplotlib, scipy +- Python 3.8+ +- pandas, numpy, matplotlib, seaborn +- ipywidgets, jupyterlab (用于Notebook分析) - 支持中文字体的环境 -## 📈 输出示例 +## 📈 分析工具对比 -### 生成的图表 +| 特性 | 传统分析 | 大单策略分析 | +|------|------------|--------------| +| **使用方式** | 命令行 | Jupyter Notebook | +| **交互性** | 基础 | 高级 | +| **复杂条件** | 简单 | 复杂逻辑组合 | +| **缓存机制** | 无 | 智能缓存 | +| **数据规模** | 适中 | 10万条优化 | +| **学习成本** | 低 | 中等 | +| **推荐场景** | 日常分析 | 策略研究 | -#### 1. 综合价格序列分析图 (推荐) +## 🎯 大单策略分析功能详解 + +### 🔧 可视化条件构建器 +- **拖拽式界面**: 直观的条件组合构建 +- **预设模板**: 大单监控、买盘强势、异常活跃等策略模板 +- **实时预览**: 构建条件后立即查看过滤结果 +- **多层级逻辑**: 支持AND/OR逻辑组合 + +### ⚡ 智能缓存引擎 +- **配置哈希**: 相同配置直接返回缓存结果 +- **双层缓存**: 内存+磁盘缓存确保数据持久性 +- **性能统计**: 实时监控缓存命中率和分析性能 + +### 📊 分析能力 +- **多窗口分析**: 100笔、200笔等不同时间窗口 +- **价格变化**: 上涨/下跌概率、平均收益、最大盈亏 +- **统计洞察**: 完整的分布特征和业务分析 +- **批量对比**: 同时测试多个参数组合 + +## 📊 输出示例 + +### 传统分析输出 +#### 1. 综合价格序列分析图 ![综合价格序列分析图](au2512_volume_price_sequence.png) - **1.0MB** **三合一综合分析图表**: - **主图**: 成交价序列图(简洁清晰,无技术指标干扰) - **侧图**: 成交量在价格上的分布(0.02间隔,水平柱状图) - **下图**: 当前成交量时间序列图(交易活跃度变化) -- **关键价格标注**: 成交量最大的10个价格水平(浅绿色虚线+双向标注) +- **关键价格标注**: 成交量最大的10个价格水平 #### 2. 成交量分布深度分析图 ![成交量分布分析图](au2512_volume_distribution_analysis.png) - **1.1MB** @@ -90,16 +141,139 @@ python volume_price_distribution.py --help - 成交量贡献度条形图 - 统计摘要表 -#### 3. 简化成交量价格分布图 -![简化成交量价格分布图](au2512_volume_price_distribution.png) - **0.3MB** -**专注单一分析**: -- 成交量在价格上的分布(0.02间隔) -- 前20个成交量最大价格区间列表 -- 关键统计信息标注 +### 大单策略分析输出 +#### 分析报告示例 +``` +🔄 开始新分析... (哈希: 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 条记录 @@ -117,8 +291,6 @@ python volume_price_distribution.py --help 75%: 成交量 724,868 手, 价格 921.62 结束: 成交量 893,404 手, 价格 927.48 -综合价格序列图已保存: au2512_volume_price_sequence.png - 【业务洞察】 1. 价格随成交量变化的完整轨迹清晰可见 2. 整体趋势: 上涨 (+2.51%) @@ -126,263 +298,98 @@ python volume_price_distribution.py --help 4. 关键价格水平与成交量分布密切关联 ``` -#### 成交量分布深度分析报告 +### 大单策略分析报告 ``` -开始AU2512期货当前成交量分布分析... -数据加载成功: 66,596 条记录 +🔄 开始新分析... (哈希: a1b2c3d4) +✅ 分析完成! 耗时: 3.21秒 -=== 基础统计分析 === -平均成交量: 14.96 手 -中位数成交量: 10.00 手 -成交量标准差: 17.07 手 -分布偏度: 2.939 (严重右偏) +📊 分析配置: 买1量 > 100 AND 卖1量 > 50 +📈 匹配样本数: 456 (0.68%) +📊 100笔后平均净变化: +0.12% +📊 200笔后平均净变化: +0.18% +📊 上涨概率: 63.2% -=== 成交量模式分析 === -大单交易定义: > 34.0 手 (90%分位数) -大单交易次数: 5,681 -大单交易占比: 9.71% -大单成交量占比: 36.40% +📊 条件统计: + 总条件数: 2 + 总条件组数: 1 + 组间逻辑: AND + 条件详情: ['买1量 > 100.0', '卖1量 > 50.0'] -成交量分组统计: - 2-5手: 16,887 次 (28.9%) | 成交量: 49,572 手 (5.7%) - 6-10手: 16,355 次 (27.9%) | 成交量: 126,216 手 (14.4%) - 11-20手: 12,558 次 (21.5%) | 成交量: 191,344 手 (21.9%) - 21-50手: 10,201 次 (17.4%) | 成交量: 321,680 手 (36.8%) 【主力】 - -【业务洞察】 -1. 成交量分布呈现严重的右偏特征,小单交易为主,大单影响显著 -2. 成交量波动较大,存在明显的活跃期和沉寂期 -3. 大单交易占比较为重要,对市场流动性有显著影响 -4. 21-50手交易是市场主力,贡献36.8%成交量 -5. 市场活跃度适中,交易较为频繁 +【策略洞察】 +1. 大单同时出现时,价格上涨概率较高 +2. 买盘力量占优时,短期内价格倾向于上涨 +3. 100-200笔的时间窗口内,平均收益为正 +4. 该条件组合具有较好的预测价值 ``` -#### 成交量价格分布报告 -``` -开始AU2512期货成交量价格分布分析... -数据加载成功: 66,596 条记录 - -【前20个成交最大的价格区间】 - 排名 价格区间 成交量 占比 累计占比 ------------------------------------------------------------------ - 1 922.00-922.02 4,044 0.5% 0.5% - 2 921.90-921.92 2,678 0.3% 0.8% - 3 907.70-907.72 2,460 0.3% 1.0% - 4 908.00-908.02 2,434 0.3% 1.3% - 5 927.00-927.02 2,332 0.3% 1.6% - ... - -分析完成! -``` - -## 💡 为什么选择成交量序列分析? - -| 特性 | 传统时间序列 | 成交量序列 | -|------|-------------|------------| -| **解释力** | ⭐⭐ | ⭐⭐⭐⭐⭐ | -| **业务相关性** | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | -| **趋势识别** | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | -| **决策价值** | ⭐⭐ | ⭐⭐⭐⭐⭐ | - -### 传统方法的局限性 -- ❌ 无法展示交易过程对价格的真实影响 -- ❌ 时间间隔不均等,影响趋势判断 -- ❌ 难以识别关键交易时点的价格变化 - -### 成交量序列的优势 -- ✅ 清晰展示价格随交易推进的演变轨迹 -- ✅ 便于识别不同交易阶段的价格水平 -- ✅ 可以量化成交量对价格的影响 -- ✅ 更符合期货交易的实际业务逻辑 - -## 📁 项目结构 - -``` -jm_ces/ -├── 📊 核心分析脚本 -│ ├── volume_price_sequence.py # 综合价格序列分析 (22KB) -│ ├── volume_distribution_analysis.py # 成交量分布深度分析 (23KB) -│ └── volume_price_distribution.py # 简化成交量价格分布 (16KB) -│ -├── 📈 生成的图表 -│ ├── au2512_volume_price_sequence.png # 综合价格序列图 (1.0MB) -│ ├── au2512_volume_distribution_analysis.png # 成交量分布分析图 (1.1MB) -│ └── au2512_volume_price_distribution.png # 简化价格分布图 (0.3MB) -│ -├── 📄 文档文件 -│ ├── README.md # 项目说明文档 -│ └── CLAUDE.md # Claude指导文档 -│ -└── 📂 数据目录 - ├── au2512_20251013.parquet # 增强后的数据(含当前成交量列) - ├── au2512_20251013_backup.parquet # 原始数据备份 - └── jm2509_*.csv # 其他期货数据文件 -``` - -## 🗄️ 数据格式 - -### 支持的文件格式 -- **Parquet文件** (推荐): `.parquet` -- **CSV文件**: `.csv` - -### 必需字段 -``` -UTC, UTC.1, 时间, 累积成交量, 成交价, 成交额, -买1价, 卖1价, 买1量, 卖1量, -买2价, 卖2价, 买2量, 卖2量, -买3价, 卖3价, 买3量, 卖3量, -买4价, 卖4价, 买4量, 卖4量, -买5价, 卖5价, 买5量, 卖5量 -``` - -### 关键字段说明 -- `UTC`, `UTC.1`: UTC时间戳(毫秒级) -- `时间`: 当日累计时间(格式:MM:SS.秒) -- `成交价`: 最新成交价格 -- `累积成交量`: 当日累计成交量 -- `当前成交量`: 单笔成交量(由累计成交量差值计算) -- `数列号`: 按累计成交量排序的序号 -- `买1价`~`买5价`: 买方五档价格 -- `卖1价`~`卖5价`: 卖方五档价格 - -### 数据增强功能 -- ✅ 自动计算当前成交量(累计成交量差值) -- ✅ 自动生成按成交量排序的数列号 -- ✅ 支持原始数据和增强数据的无缝切换 - -## 🎯 应用场景 - -### 交易分析 -- 快速识别价格在交易过程中的主要趋势 -- 发现影响价格变化的重要成交量时点 -- 评估不同交易阶段的价格行为 - -### 风险控制 -- 通过价格波动区间评估风险水平 -- 识别价格异常变化的临界点 -- 制定基于成交量的风险管理策略 - -### 策略研究 -- 为交易策略提供量化的数据支持 -- 研究成交量对价格影响的历史规律 -- 优化基于成交量变化的交易时机 - -### 市场研究 -- 理解交易行为对价格的影响机制 -- 研究价格发现的动态过程 -- 分析市场微观结构特征 -- 识别机构投资者交易模式 - -## 🔧 技术特性 - -- **高分辨率输出**: 300 DPI高清图表 -- **智能字体检测**: 自动适配中文字体 -- **容错处理**: 完善的错误处理和用户提示 -- **灵活配置**: 支持命令行参数自定义 -- **详细分析**: 完整的统计报告和业务洞察 -- **数据增强**: 自动计算当前成交量和排序 - ## 🚀 核心功能亮点 -### 🎯 创新分析方式 +### 🎯 大单策略分析特色 +- **复杂条件组合**: 支持多层级AND/OR逻辑 +- **智能缓存**: 首次分析后,同类分析瞬时响应 +- **可视化构建**: 直观的拖拽式条件组合界面 +- **性能监控**: 实时监控缓存命中率和分析性能 +- **批量分析**: 同时测试多个参数组合效果 +- **数据钻取**: 点击查看具体交易记录详情 + +### 📊 传统分析特色 - **成交量序列分析**: 按累计成交量排序,更符合交易实际 - **关键价格标注**: 自动识别成交量最大的价格水平 - **多维度可视化**: 价格趋势 + 成交量分布的综合展示 - **精确价格间隔**: 0.02元标准间隔,符合期货市场特性 -### 📊 三大分析工具对比 - -| 特性 | 综合序列分析 | 深度分布分析 | 简化分布图 | -|------|----------------|----------------|------------| -| **适用场景** | 日常综合分析 | 深度研究报告 | 快速价格扫描 | -| **图表复杂度** | 高(三合一) | 最高(7种图表) | 低(单一图表) | -| **分析深度** | 价格趋势+成交量 | 统计+模式识别 | 价格分布 | -| **输出文件大小** | 1.0MB | 1.1MB | 0.3MB | -| **推荐使用** | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | - -### 🎨 视觉设计特点 -- **关键价格标注**: 浅绿色虚线标识重要价格水平 -- **双向标注**: 左侧显示价格,右侧显示成交量 -- **价格对齐**: 主图与侧图完美同步 -- **简洁清晰**: 移除技术指标干扰,专注原始数据 - -### 1. 价格序列分析 (volume_price_sequence.py) -#### 数据处理 -- 自动检测并处理不同格式的数据文件 -- 按累计成交量升序排列 -- 计算关键成交量节点 -- 生成移动平均线和波动区间 - -#### 可视化 -- **成交价序列线**(蓝色主线):价格随成交量变化轨迹 -- **当前成交量柱状图**:下方显示交易活跃度分布 -- **移动平均线**(红色粗线):平滑价格趋势 -- **价格波动区间**(红色阴影):不确定性范围 -- **关键节点标注**:详细价格信息 -- **分析结论框**:统计摘要 - -#### 统计分析 -- 基础价格统计(最高、最低、平均) -- 成交量分析(分布、变化率) -- 关键节点影响分析 -- 数据质量检查 - -### 2. 成交量分布深度分析 (volume_distribution_analysis.py) -#### 分布统计分析 -- 基础统计(均值、中位数、标准差、分位数) -- 分布特征分析(偏度、峰度、变异系数) -- 正态性检验和分布拟合 -- 异常值检测和处理 - -#### 交易模式分析 -- 大单交易识别和分析 -- 成交量分组统计(1手、2-5手、6-10手等) -- 交易频率和成交量贡献度分析 -- 主力交易模式识别 - -#### 7种专业可视化 -- **直方图 + 概率密度拟合**:分布形态分析 -- **箱线图**:分位数分布和数据离散程度 -- **累积分布函数**:概率累积情况 -- **成交量时间序列**:交易活跃度变化 -- **成交量分组柱状图**:各分组交易笔数对比 -- **成交量贡献度条形图**:各分组成交量占比 -- **统计摘要表**:完整的统计信息展示 - -#### 业务洞察 -- 成交量分布特征解读 -- 市场活跃度评估 -- 机构参与度分析 -- 交易建议和风险提示 - ## 🛠️ 开发信息 ### 依赖项 - `pandas` - 数据处理和分析 - `numpy` - 数值计算 - `matplotlib` - 数据可视化 -- `scipy` - 统计分析和分布拟合 -- `seaborn` - 高级统计图表(可选) +- `seaborn` - 高级统计图表 +- `ipywidgets` - Jupyter Notebook交互组件 +- `jupyterlab` - Jupyter Notebook环境 (可选) +- `pyarrow` - 高性能数据处理 (可选) ### 代码质量 - 面向对象设计,易于维护和扩展 - 完整的错误处理和用户友好提示 - 详细的代码注释和文档 - 符合Python编码规范 +- 智能缓存机制,提升性能 ## 🚀 快速导航 ### 新手推荐流程 ```bash -# 1. 先运行价格序列分析,了解整体价格趋势 +# 1. 先尝试大单策略分析 +jupyter lab large_orders_strategy_analysis.ipynb + +# 2. 运行前5个初始化Cell,了解数据 + +# 3. 在Cell 6中查看示例分析 + +# 4. 在Cell 7中自定义分析条件 + +# 5. 如果需要,再尝试传统分析工具 python volume_price_sequence.py - -# 2. 再运行成交量分布分析,深入了解交易模式 python volume_distribution_analysis.py +``` -# 3. 查看生成的图表和报告 -# - au2512_volume_price_sequence.png -# - au2512_volume_distribution_analysis.png +### 大单策略分析流程 +```python +# 1. 启动Notebook +jupyter lab large_orders_strategy_analysis.ipynb + +# 2. 数据初始化 (Cell 1-5) +# 运行数据加载和预处理 + +# 3. 示例分析 (Cell 6) +# 查看预设策略模板的分析效果 + +# 4. 自定义分析 (Cell 7) +# 创建自己的条件配置 + +# 5. 批量分析 (Cell 8-11) +# 对比多个参数组合 ``` ### 数据文件准备 @@ -390,30 +397,44 @@ python volume_distribution_analysis.py # 确保数据文件存在且格式正确 ls -la data/au2512_20251013.parquet +# 检查必需字段 +head -1 data/au2512_20251013.parquet + # 如果需要处理新数据,确保包含必要字段 -# UTC, 累积成交量, 成交价, 等... +# 数列号、成交价、累积成交量、买卖盘数据等... ``` ## 📞 支持与反馈 ### 问题报告 如果在使用过程中遇到问题: + +**大单策略分析问题**: +1. 检查Jupyter Notebook环境: `jupyter lab --version` +2. 确认依赖库安装: `pip list | grep -E "(pandas|numpy|ipywidgets)"` +3. 查看Notebook中的错误信息 +4. 确保数据文件路径正确 + +**传统分析问题**: 1. **检查数据文件格式**:确保包含必需字段(累积成交量、成交价等) -2. **确认依赖库安装**:`pip install pandas numpy matplotlib scipy` +2. **确认依赖库安装**:`pip install pandas numpy matplotlib seaborn` 3. **查看错误信息**:命令行会显示详细的错误提示 -4. **中文字体问题**:确保系统支持中文字体显示 +4. **中文字体问题**:脚本会自动检测并设置合适的中文字体 ### 常见问题解决 -- **字体显示异常**:脚本会自动检测并设置合适的中文字体 -- **数据加载失败**:检查文件路径和文件格式 -- **图表生成失败**:确保有足够的磁盘空间和写入权限 +- **Notebook无法启动**: 检查Jupyter安装和配置 +- **缓存文件问题**: 检查analysis_cache目录权限 +- **数据加载失败**: 检查文件路径和数据格式 +- **性能问题**: 考虑使用pyarrow引擎优化数据读取 +- **界面显示异常**: 检查ipywidgets版本兼容性 ### 功能建议 欢迎提出改进建议和新功能需求,包括: -- 新的图表类型 -- 更多的统计指标 -- 更好的数据预处理 +- 新的策略分析模板 +- 更多的可视化图表类型 +- 更好的数据处理方法 - 性能优化建议 +- 新的数据源支持 ## 📄 许可证 @@ -425,14 +446,17 @@ ls -la data/au2512_20251013.parquet --- -**版本**: 2.0 +**版本**: 3.0 **最后更新**: 2025-11-02 **核心工具**: -- `volume_price_sequence.py` - 价格序列分析 +- `volume_price_sequence.py` - 传统价格序列分析 - `volume_distribution_analysis.py` - 成交量分布深度分析 +- `large_orders_strategy_analysis.ipynb` - 大单策略分析工具 **项目状态**: ✅ 活跃维护中 **新增功能**: -- ✅ 成交量分布深度分析 -- ✅ 当前成交量柱状图 -- ✅ 7种专业可视化图表 -- ✅ 业务洞察和交易建议 \ No newline at end of file +- ✅ 大单策略分析工具 (Jupyter Notebook) +- ✅ 智能缓存机制 +- ✅ 复杂条件组合分析 +- ✅ 可视化条件构建器 +- ✅ 批量分析和对比 +- ✅ 性能监控面板 \ No newline at end of file diff --git a/large_orders/current_volume_comprehensive_analysis_500points.png b/large_orders/current_volume_comprehensive_analysis_500points.png deleted file mode 100644 index 9ff1c31..0000000 Binary files a/large_orders/current_volume_comprehensive_analysis_500points.png and /dev/null differ diff --git a/large_orders/current_volume_relative_price_changes_100points.png b/large_orders/current_volume_relative_price_changes_100points.png deleted file mode 100644 index fd32b13..0000000 Binary files a/large_orders/current_volume_relative_price_changes_100points.png and /dev/null differ diff --git a/large_orders/current_volume_relative_price_changes_200points.png b/large_orders/current_volume_relative_price_changes_200points.png deleted file mode 100644 index 1ba3886..0000000 Binary files a/large_orders/current_volume_relative_price_changes_200points.png and /dev/null differ diff --git a/large_orders/current_volume_relative_price_changes_500points.png b/large_orders/current_volume_relative_price_changes_500points.png deleted file mode 100644 index aa52ce2..0000000 Binary files a/large_orders/current_volume_relative_price_changes_500points.png and /dev/null differ diff --git a/large_orders/large_buy1_relative_price_changes.png b/large_orders/large_buy1_relative_price_changes.png deleted file mode 100644 index 9e5d353..0000000 Binary files a/large_orders/large_buy1_relative_price_changes.png and /dev/null differ diff --git a/large_orders/large_buy1_relative_price_changes_100points.png b/large_orders/large_buy1_relative_price_changes_100points.png deleted file mode 100644 index 86c28be..0000000 Binary files a/large_orders/large_buy1_relative_price_changes_100points.png and /dev/null differ diff --git a/large_orders/large_buy1_relative_price_changes_200points.png b/large_orders/large_buy1_relative_price_changes_200points.png deleted file mode 100644 index f313f62..0000000 Binary files a/large_orders/large_buy1_relative_price_changes_200points.png and /dev/null differ diff --git a/large_orders/large_buy1_relative_price_changes_500points.png b/large_orders/large_buy1_relative_price_changes_500points.png deleted file mode 100644 index b8356a6..0000000 Binary files a/large_orders/large_buy1_relative_price_changes_500points.png and /dev/null differ diff --git a/large_orders/large_orders_comprehensive_analysis.png b/large_orders/large_orders_comprehensive_analysis.png deleted file mode 100644 index e1fff85..0000000 Binary files a/large_orders/large_orders_comprehensive_analysis.png and /dev/null differ diff --git a/large_orders/large_orders_comprehensive_analysis_100points.png b/large_orders/large_orders_comprehensive_analysis_100points.png deleted file mode 100644 index e8ceeb3..0000000 Binary files a/large_orders/large_orders_comprehensive_analysis_100points.png and /dev/null differ diff --git a/large_orders/large_orders_comprehensive_analysis_200points.png b/large_orders/large_orders_comprehensive_analysis_200points.png deleted file mode 100644 index 59b68bd..0000000 Binary files a/large_orders/large_orders_comprehensive_analysis_200points.png and /dev/null differ diff --git a/large_orders/large_orders_comprehensive_analysis_500points.png b/large_orders/large_orders_comprehensive_analysis_500points.png deleted file mode 100644 index 5920dac..0000000 Binary files a/large_orders/large_orders_comprehensive_analysis_500points.png and /dev/null differ diff --git a/large_orders/large_sell1_relative_price_changes.png b/large_orders/large_sell1_relative_price_changes.png deleted file mode 100644 index bc6329f..0000000 Binary files a/large_orders/large_sell1_relative_price_changes.png and /dev/null differ diff --git a/large_orders/large_sell1_relative_price_changes_100points.png b/large_orders/large_sell1_relative_price_changes_100points.png deleted file mode 100644 index 1f39cbf..0000000 Binary files a/large_orders/large_sell1_relative_price_changes_100points.png and /dev/null differ diff --git a/large_orders/large_sell1_relative_price_changes_200points.png b/large_orders/large_sell1_relative_price_changes_200points.png deleted file mode 100644 index a7cb20e..0000000 Binary files a/large_orders/large_sell1_relative_price_changes_200points.png and /dev/null differ diff --git a/large_orders/large_sell1_relative_price_changes_500points.png b/large_orders/large_sell1_relative_price_changes_500points.png deleted file mode 100644 index b425dfc..0000000 Binary files a/large_orders/large_sell1_relative_price_changes_500points.png and /dev/null differ diff --git a/large_orders/total_buy_relative_price_changes_100points.png b/large_orders/total_buy_relative_price_changes_100points.png deleted file mode 100644 index b295b6d..0000000 Binary files a/large_orders/total_buy_relative_price_changes_100points.png and /dev/null differ diff --git a/large_orders/total_buy_relative_price_changes_200points.png b/large_orders/total_buy_relative_price_changes_200points.png deleted file mode 100644 index d5ccdd4..0000000 Binary files a/large_orders/total_buy_relative_price_changes_200points.png and /dev/null differ diff --git a/large_orders/total_buy_relative_price_changes_500points.png b/large_orders/total_buy_relative_price_changes_500points.png deleted file mode 100644 index d9e2eb1..0000000 Binary files a/large_orders/total_buy_relative_price_changes_500points.png and /dev/null differ diff --git a/large_orders/total_orders_comprehensive_analysis_100points.png b/large_orders/total_orders_comprehensive_analysis_100points.png deleted file mode 100644 index 4ecab0e..0000000 Binary files a/large_orders/total_orders_comprehensive_analysis_100points.png and /dev/null differ diff --git a/large_orders/total_orders_comprehensive_analysis_200points.png b/large_orders/total_orders_comprehensive_analysis_200points.png deleted file mode 100644 index 4922c44..0000000 Binary files a/large_orders/total_orders_comprehensive_analysis_200points.png and /dev/null differ diff --git a/large_orders/total_orders_comprehensive_analysis_500points.png b/large_orders/total_orders_comprehensive_analysis_500points.png deleted file mode 100644 index 14d6f53..0000000 Binary files a/large_orders/total_orders_comprehensive_analysis_500points.png and /dev/null differ diff --git a/large_orders/total_sell_relative_price_changes_100points.png b/large_orders/total_sell_relative_price_changes_100points.png deleted file mode 100644 index f27e9f5..0000000 Binary files a/large_orders/total_sell_relative_price_changes_100points.png and /dev/null differ diff --git a/large_orders/total_sell_relative_price_changes_200points.png b/large_orders/total_sell_relative_price_changes_200points.png deleted file mode 100644 index 994f533..0000000 Binary files a/large_orders/total_sell_relative_price_changes_200points.png and /dev/null differ diff --git a/large_orders/total_sell_relative_price_changes_500points.png b/large_orders/total_sell_relative_price_changes_500points.png deleted file mode 100644 index 90cc94a..0000000 Binary files a/large_orders/total_sell_relative_price_changes_500points.png and /dev/null differ