Files
btc_price_anany/README.md
riba2534 2b0eb4449f feat: 添加 K 线数据一键下载脚本
- 新增 download_data.py,从 Binance API 自动下载全部 15 个粒度 K 线数据
- 支持断点续传、限频重试、Ctrl+C 安全中断
- 更新 README 数据获取说明和项目结构
- requirements.txt 添加 requests 依赖

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 01:20:55 +08:00

6.1 KiB
Raw Permalink Blame History

BTC/USDT 价格分析框架

License: MIT Python 3.10+

一个全面的 BTC/USDT 价格量化分析框架,涵盖 25 个分析维度,从统计分布到分形几何。框架处理 Binance 多时间粒度 K 线数据1 分钟至月线),时间跨度 2017-08 至 2026-02生成可复现的研究级可视化图表和统计报告。

特性

  • 多时间粒度数据管道 — 15 种粒度1m ~ 1M统一加载器含数据校验
  • 25 个分析模块 — 各模块独立运行,单模块失败不影响其余模块
  • 统计严谨性 — 训练/验证集划分、多重假设检验校正、Bootstrap 置信区间
  • 出版级输出 — 53 张图表(支持中文字体)+ 1300 行 Markdown 研究报告
  • 模块化架构 — 可一键运行全部模块,也可通过 CLI 参数选择指定模块

项目结构

btc_price_anany/
├── main.py                 # CLI 入口
├── download_data.py        # 数据下载脚本
├── requirements.txt        # Python 依赖
├── LICENSE                 # MIT 许可证
├── data/                   # 15 个 BTC/USDT K线 CSV需下载
├── src/                    # 30 个分析与工具模块
│   ├── data_loader.py      # 数据加载与校验
│   ├── preprocessing.py    # 衍生特征工程
│   ├── font_config.py      # 中文字体渲染
│   ├── visualization.py    # 综合仪表盘生成
│   └── ...                 # 26 个分析模块
├── output/                 # 生成的图表53 张 PNG
├── docs/
│   └── REPORT.md           # 完整研究报告
└── tests/
    └── test_hurst_15scales.py  # Hurst 指数多尺度测试

快速开始

环境要求

  • Python 3.10+
  • 约 1 GB 磁盘空间K 线数据)

安装

git clone https://github.com/riba2534/bitcoin-all-klines-analysis.git
cd bitcoin-all-klines-analysis
pip install -r requirements.txt

使用

# 运行全部 25 个分析模块
python main.py

# 查看可用模块列表
python main.py --list

# 运行指定模块
python main.py --modules fft wavelet hurst

# 限定日期范围
python main.py --start 2020-01-01 --end 2025-12-31

数据说明

文件 时间粒度 行数(约)
btcusdt_1m.csv 1 分钟 ~4,500,000
btcusdt_3m.csv 3 分钟 ~1,500,000
btcusdt_5m.csv 5 分钟 ~900,000
btcusdt_15m.csv 15 分钟 ~300,000
btcusdt_30m.csv 30 分钟 ~150,000
btcusdt_1h.csv 1 小时 ~75,000
btcusdt_2h.csv 2 小时 ~37,000
btcusdt_4h.csv 4 小时 ~19,000
btcusdt_6h.csv 6 小时 ~12,500
btcusdt_8h.csv 8 小时 ~9,500
btcusdt_12h.csv 12 小时 ~6,300
btcusdt_1d.csv 1 天 ~3,100
btcusdt_3d.csv 3 天 ~1,000
btcusdt_1w.csv 1 周 ~450
btcusdt_1mo.csv 1 月 ~100

全部数据来源于 Binance 公开 API时间范围 2017-08-17BTCUSDT 上线日)至今。

数据未包含在仓库中,请使用内置脚本一键下载:

# 下载全部 15 个粒度(约需 30-60 分钟,支持断点续传)
python download_data.py

# 只下载指定粒度
python download_data.py 1d 1h 4h

# 查看可用粒度
python download_data.py --list

也可从 Binance 官方手动下载:https://data.binance.vision/?prefix=data/spot/daily/klines/BTCUSDT/1m/ (将 URL 中的 1m 替换为所需粒度即可)

分析模块

模块 说明
fft FFT 功率谱、多时间粒度频谱分析、带通滤波
wavelet 连续小波变换时频图、全局谱、关键周期追踪
acf ACF/PACF 网格分析,自相关结构识别
returns 收益率分布拟合、QQ 图、多尺度矩分析
volatility 波动率聚集、GARCH 建模、杠杆效应量化
hurst R/S 和 DFA Hurst 指数估计、滚动窗口分析
fractal 盒计数维度、Monte Carlo 基准、自相似性检验
power_law 双对数回归、幂律增长通道、模型比较
volume_price 量价散点分析、OBV 背离检测
calendar 星期、月份、小时、季度边界效应
halving 减半周期分析与归一化轨迹对比
indicators 技术指标 IC 检验(训练/验证集划分)
patterns K 线形态识别与前瞻收益验证
clustering 市场状态聚类K-Means、GMM与转移矩阵
time_series ARIMA、Prophet、LSTM 预测与方向准确率
causality 量价特征间 Granger 因果检验
anomaly 异常检测与前兆特征分析
microstructure 市场微观结构价差、Kyle's lambda、VPIN
intraday 日内交易时段模式与成交量热力图
scaling 统计标度律与峰度衰减
multiscale_vol HAR 波动率、跳跃检测、高阶矩分析
entropy 样本熵与排列熵的多尺度分析
extreme 极端值理论Hill 估计量、VaR 回测
cross_tf 跨时间粒度相关性与领先滞后分析
momentum_rev 动量 vs 均值回归方差比率、OU 半衰期

核心发现

完整分析报告见 docs/REPORT.md,主要结论包括:

  • 非高斯收益率BTC 日收益率呈现显著厚尾(峰度 ~10Student-t 分布拟合最优,而非高斯分布
  • 波动率聚集:强 GARCH 效应具有长记忆特征d ≈ 0.4),波动率持续性跨时间尺度成立
  • Hurst 指数 H ≈ 0.55:弱但统计显著的长程依赖,短期趋势性向长期均值回归过渡
  • 分形维度 D ≈ 1.4:价格序列比布朗运动更粗糙,呈现多重分形特征
  • 减半周期效应:减半后牛市统计显著,但每轮周期收益递减
  • 日历效应:可检测到微弱的星期和月度季节性;日内模式在扣除交易成本后不具可利用性

许可证

本项目基于 MIT 许可证 开源。