Code source ouvert

histdata : téléchargement de données historiques

Téléchargez des données historiques de marché depuis histdata.com et convertissez les barres M1 en Apache Parquet compressé. Choisissez parmi 34 instruments pour vos recherches en local.

Python 3.10+Apache ParquetzstdLicence MIT34 instruments
Voir sur GitHub
Exemple de CLI
$ pip install git+https://github.com/StratCraftsAI/histdata.git
$ histdata --pairs EURUSD GBPUSD --year-start 2020 --year-end 2025
Exemple de sortie : un fichier Parquet par instrument
output/EURUSD_M1.parquet
output/GBPUSD_M1.parquet

Fonctionnalités

Constituez un jeu de données de marché local et vérifiez sa couverture avant toute analyse quantitative.

34 instruments

23 paires de devises, deux matières premières (WTI et Brent) et neuf indices, dont le S&P 500, le Nikkei et le DAX.

Sortie Apache Parquet

Parquet avec compression zstd, lisible avec pandas, Polars, DuckDB et d'autres outils compatibles avec Arrow.

Outil en ligne de commande

Installez avec pip, puis sélectionnez les instruments et les années avec la commande histdata.

Sélection des archives

Les téléchargements M1 sélectionnent les archives annuelles ou mensuelles disponibles pour la période demandée et réutilisent les archives locales validées.

Schéma typé

Les colonnes OHLCV utilisent timestamp[ms] et float64. Vérifiez le fuseau horaire source et le mode d'utilisation de la CLI choisi avant l'analyse.

Dépendances Python

Utilise requests, beautifulsoup4, pyarrow et filelock. Python 3.10 ou une version ultérieure est requis.

Chaîne de traitement

Téléchargez les archives, analysez les données M1 et générez des fichiers Parquet typés.

1
Extraire le jeton
→
2
Télécharger le ZIP
→
3
Analyser le CSV M1
→
4
Générer le Parquet
histdata.com → ZIP (CSV) → list[OHLCVRow] → Parquet (zstd)

Instruments pris en charge

34 instruments couvrant le Forex, les matières premières et les indices mondiaux. L'historique disponible varie selon l'instrument.

Forex 23

Paires majeures

EURUSDGBPUSDUSDJPYUSDCHFUSDCADAUDUSDNZDUSD

Paires croisées

EURAUDEURCADEURCHFEURGBPEURNZDGBPAUDGBPCADGBPCHFGBPNZDAUDNZD

Paires croisées avec le JPY

AUDJPYCADJPYCHFJPYEURJPYGBPJPYNZDJPY

Matières premières 2

BCOUSDBrent Crude Oil
WTIUSDWTI Crude Oil

Indices 9

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

Schéma de sortie

Colonnes Parquet typées. Validez les horodatages et la qualité des données avant de combiner des jeux de données.

ColonneTypeDescription
timestamptimestamp[ms]Heure de la barre ; les téléchargements M1 normaux utilisent UTC, --skip-download conserve l'EST source
openfloat64Prix d'ouverture
highfloat64Prix le plus haut
lowfloat64Prix le plus bas
closefloat64Prix de clôture
volumefloat64Champ de volume de la source
Sourcehistdata.com — CSV ASCII générique délimité par des points-virgules ; aucune clé API requise
Fuseau horaire sourceEST (UTC-5, sans ajustement à l'heure d'été)
FormatApache Parquet + zstd

Démarrage rapide

Installez depuis GitHub et sélectionnez les instruments et la période dont vous avez besoin.

Installation
pip install git+https://github.com/StratCraftsAI/histdata.git
Utilisation de la CLI
# 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
Lire avec pandas
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

Options de la CLI

OptionValeur par défautDescription
--pairsForex (23)Instruments à télécharger. Utilisez "all" pour les 34 instruments.
--year-start2020Première année à télécharger.
--year-end2025Dernière année à télécharger.
--timeframeM1M1 convertit les barres d'une minute. L'option tick télécharge les archives, mais ne propose ni analyse des ticks ni sortie Parquet.
--output-dir./outputRépertoire des fichiers de sortie Parquet.
--zip-dir./downloadsRépertoire des archives ZIP téléchargées.
--skip-downloadoffConvertit uniquement les ZIP M1 existants ; conserve les horodatages EST de la source.
-v, --verboseoffActive les journaux de débogage.

Questions fréquentes

Ai-je besoin d'une clé API ?

Aucune clé API n'est requise. L'outil récupère un jeton d'archive auprès de histdata.com avant le téléchargement.

Combien de temps dure un téléchargement ?

La durée dépend du nombre et de la taille des archives disponibles, du réseau et du traitement local. L'outil limite la fréquence des requêtes ; aucun délai de fin n'est garanti.

Puis-je utiliser les fichiers pour la recherche quantitative ?

Les fichiers Parquet M1 peuvent être lus avec pandas ou d'autres outils compatibles avec Parquet. Vérifiez la couverture, la qualité, la correspondance des colonnes et les exigences de fuseau horaire avant l'importation dans une plateforme de recherche.

Dans quel fuseau horaire sont les horodatages ?

Le CSV source utilise l'EST fixe (UTC-5), sans ajustement à l'heure d'été. Les téléchargements M1 normaux convertissent les heures en UTC. Le mode --skip-download conserve les valeurs EST analysées de la source. Le type timestamp[ms] de Parquet ne contient aucune métadonnée de fuseau horaire.

Les données de ticks sont-elles prises en charge ?

L'option --timeframe tick permet de télécharger des archives de ticks, mais leur analyse et leur conversion en Parquet ne sont pas implémentées. Utilisez M1 pour la sortie OHLCV documentée.

Premiers pas

Logiciel à code source ouvert sous licence MIT. Examinez le code et validez un petit jeu de données avant d'élargir son utilisation.