Open Source

histdata: Historische Daten herunterladen

Historische Marktdaten von histdata.com laden und M1-Kerzen in komprimiertes Apache Parquet umwandeln. 34 Instrumente stehen für lokale Analysen zur Auswahl.

Python 3.10+Apache ParquetzstdMIT-Lizenz34 Instrumente
Auf GitHub ansehen
CLI-Beispiel
$ pip install git+https://github.com/StratCraftsAI/histdata.git
$ histdata --pairs EURUSD GBPUSD --year-start 2020 --year-end 2025
Beispielausgabe: eine Parquet-Datei pro Instrument
output/EURUSD_M1.parquet
output/GBPUSD_M1.parquet

Funktionen

Einen lokalen Marktdatensatz aufbauen und seine Abdeckung vor der quantitativen Analyse prüfen.

34 Instrumente

23 Devisenpaare, zwei Rohstoffe (WTI und Brent) und neun Indizes, darunter S&P 500, Nikkei und DAX.

Ausgabe in Apache Parquet

Parquet mit zstd-Komprimierung, lesbar mit pandas, Polars, DuckDB und anderen Arrow-kompatiblen Werkzeugen.

Kommandozeilenwerkzeug

Mit pip installieren und Instrumente sowie Jahre mit dem Befehl histdata auswählen.

Archivauswahl

M1-Downloads wählen verfügbare Jahres- oder Monatsarchive für den gewünschten Zeitraum aus und verwenden geprüfte lokale Archive erneut.

Typisiertes Schema

Die OHLCV-Spalten verwenden timestamp[ms] und float64. Vor der Analyse die Quellzeitzone und den gewählten CLI-Ablauf prüfen.

Python-Abhängigkeiten

Verwendet requests, beautifulsoup4, pyarrow und filelock. Python 3.10 oder neuer ist erforderlich.

Verarbeitungsschritte

Archive herunterladen, M1-Daten einlesen und typisierte Parquet-Dateien schreiben.

1
Token auslesen
→
2
ZIP herunterladen
→
3
M1-CSV einlesen
→
4
Parquet schreiben
histdata.com → ZIP (CSV) → list[OHLCVRow] → Parquet (zstd)

Unterstützte Instrumente

34 Instrumente aus den Bereichen Devisen, Rohstoffe und globale Indizes. Die verfügbare Historie variiert je nach Instrument.

Devisen 23

Hauptwährungspaare

EURUSDGBPUSDUSDJPYUSDCHFUSDCADAUDUSDNZDUSD

Kreuzwährungspaare

EURAUDEURCADEURCHFEURGBPEURNZDGBPAUDGBPCADGBPCHFGBPNZDAUDNZD

JPY-Kreuzwährungspaare

AUDJPYCADJPYCHFJPYEURJPYGBPJPYNZDJPY

Rohstoffe 2

BCOUSDBrent Crude Oil
WTIUSDWTI Crude Oil

Indizes 9

AUXAUDASX 200
FRXEURCAC 40
GRXEURDAX 30
HKXHKDHang Seng
JPXJPYNikkei 225
NSXUSDNASDAQ 100
SPXUSDS&P 500
UDXUSDUS Dollar Index
UKXGBPFTSE 100

Ausgabeschema

Typisierte Parquet-Spalten. Vor dem Zusammenführen von Datensätzen Zeitstempel und Datenqualität prüfen.

SpalteTypBeschreibung
timestamptimestamp[ms]Kerzenzeit; normale M1-Downloads verwenden UTC, --skip-download behält die EST-Quellzeit bei
openfloat64Eröffnungskurs
highfloat64Höchstkurs
lowfloat64Tiefstkurs
closefloat64Schlusskurs
volumefloat64Volumenfeld der Quelle
Quellehistdata.com — Generisches ASCII-CSV mit Semikolon als Trennzeichen; kein API-Schlüssel erforderlich
Zeitzone der QuelleEST (UTC-5, ohne Sommerzeitumstellung)
FormatApache Parquet + zstd

Schnellstart

Von GitHub installieren und die benötigten Instrumente sowie den Zeitraum auswählen.

Installation
pip install git+https://github.com/StratCraftsAI/histdata.git
CLI-Nutzung
# 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 2025
Mit pandas einlesen
import 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

CLI-Optionen

OptionStandardwertBeschreibung
--pairsDevisen (23)Herunterzuladende Instrumente. Mit "all" alle 34 Instrumente auswählen.
--year-start2020Erstes Jahr für den Download.
--year-end2025Letztes Jahr für den Download.
--timeframeM1M1 wandelt Ein-Minuten-Kerzen um. Die Option tick lädt Archive herunter, bietet aber weder einen Tick-Parser noch eine Parquet-Ausgabe.
--output-dir./outputVerzeichnis für Parquet-Ausgabedateien.
--zip-dir./downloadsVerzeichnis für heruntergeladene ZIP-Archive.
--skip-downloadoffNur vorhandene M1-ZIPs umwandeln; die EST-Zeitstempel der Quelle bleiben erhalten.
-v, --verboseoffDebug-Protokollierung aktivieren.

Häufige Fragen

Brauche ich einen API-Schlüssel?

Es ist kein API-Schlüssel erforderlich. Vor dem Download ruft das Werkzeug ein Archiv-Token von histdata.com ab.

Wie lange dauert ein Download?

Die Dauer hängt von Anzahl und Größe der verfügbaren Archive, dem Netzwerk und der lokalen Verarbeitung ab. Das Werkzeug begrenzt die Anfragerate; eine bestimmte Abschlusszeit wird nicht garantiert.

Kann ich die Ausgabe für quantitative Forschung verwenden?

M1-Parquet-Dateien lassen sich mit pandas oder anderen Parquet-kompatiblen Werkzeugen einlesen. Vor dem Import in eine Forschungsplattform Datenabdeckung, Qualität, Spaltenzuordnung und Zeitzonenanforderungen prüfen.

In welcher Zeitzone liegen die Zeitstempel vor?

Die Quell-CSV verwendet feste EST (UTC-5) ohne Sommerzeitumstellung. Normale M1-Downloads wandeln die Zeit in UTC um. Mit --skip-download bleiben die eingelesenen EST-Quellwerte erhalten. Parquet timestamp[ms] enthält keine Zeitzonenmetadaten.

Werden Tick-Daten unterstützt?

Die Option --timeframe tick kann Tick-Archive herunterladen, aber das Einlesen von Tick-Daten und die Parquet-Konvertierung sind nicht implementiert. Für die dokumentierte OHLCV-Ausgabe M1 verwenden.

Loslegen

Quelloffene Software unter der MIT-Lizenz. Den Quellcode prüfen und einen kleinen Datensatz validieren, bevor die Software breiter eingesetzt wird.