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。