34 个交易品种
23 个外汇货币对、2 个商品(WTI 和布伦特原油)及 9 个指数,包括标普 500、日经指数和 DAX。
从 histdata.com 下载历史市场数据,将 M1 数据转换为压缩 Apache Parquet 文件。从 34 个交易品种中选择所需数据,用于本地研究。
构建本地市场数据集,并在量化分析前检查其覆盖范围。
23 个外汇货币对、2 个商品(WTI 和布伦特原油)及 9 个指数,包括标普 500、日经指数和 DAX。
采用 zstd 压缩的 Parquet 文件,可用 pandas、Polars、DuckDB 及其他兼容 Arrow 的工具读取。
使用 pip 安装,通过 histdata 命令选择交易品种和年份。
M1 下载会根据请求的日期范围选择可用的年度或月度归档,并复用已验证的本地归档。
OHLCV 列使用 timestamp[ms] 和 float64 类型。分析前请检查源数据时区和所选的命令行工作流程。
依赖 requests、beautifulsoup4、pyarrow 和 filelock。需要 Python 3.10 或更高版本。
下载归档、解析 M1 数据,并写入具有明确数据类型的 Parquet 文件。
histdata.com → ZIP (CSV) → list[OHLCVRow] → Parquet (zstd)涵盖外汇、商品和全球指数,共 34 个交易品种。可用历史数据范围因品种而异。
Parquet 列具有明确的数据类型。合并数据集前,请验证时间戳和数据质量。
| 列名 | 类型 | 说明 |
|---|---|---|
| timestamp | timestamp[ms] | K 线时间;常规 M1 下载使用 UTC,--skip-download 保留源数据的 EST 时间 |
| open | float64 | 开盘价 |
| high | float64 | 最高价 |
| low | float64 | 最低价 |
| close | float64 | 收盘价 |
| volume | float64 | 源数据成交量字段 |
从 GitHub 安装,并选择所需的交易品种和日期范围。
pip install git+https://github.com/StratCraftsAI/histdata.git# Download EURUSD 2020-2025 and convert to Parquet
histdata --pairs EURUSD --year-start 2020 --year-end 2025
# Multiple pairs
histdata --pairs EURUSD GBPUSD USDJPY --year-start 2015 --year-end 2025
# All 34 instruments
histdata --pairs all --year-start 2020 --year-end 2025import pandas as pd
df = pd.read_parquet("output/EURUSD_M1.parquet")
print(df.head())
# timestamp open high low close volume
# 0 2023-01-02 17:00:00 1.07045 1.07048 1.07045 1.07048 0.0无需 API 密钥。下载工具会在下载前从 histdata.com 获取归档令牌。
耗时取决于可用归档的数量和大小、网络状况及本地处理速度。下载工具会限制请求频率,不保证完成时间。
M1 Parquet 文件可通过 pandas 或其他兼容 Parquet 的工具读取。导入研究平台前,请检查数据覆盖范围、质量、列映射和时区要求。
源 CSV 使用固定 EST(UTC-5),不进行夏令时调整。常规 M1 下载会转换为 UTC。--skip-download 流程保留解析后的源数据 EST 值。Parquet 的 timestamp[ms] 不含时区元数据。
--timeframe tick 选项可以下载 tick 归档,但尚未实现 tick 解析和 Parquet 转换。要获取文档所述的 OHLCV 输出,请使用 M1。