Vue d'ensemble
Le MagicInput Dataset Builder joue un rôle essentiel dans la préparation de données d'entraînement étiquetées et de haute qualité
pour les modèles de trading crypto basés sur l'IA. Il simule les résultats de trading à partir d'une large gamme de préréglages de stratégies
et de conditions historiques pour générer un jeu de données riche au format .parquet
, optimisé pour
l'entraînement performant des modèles.
🛠 Configuration (config.yaml)
daysBack: 30
exportFolder: exports
categories:
- meme
datasetDir: datasets
baseDir: presets
direction: Both # Long, Short, Both
strategy: scalp # balance_midterm, long_term, scalp, swing
maxVariations: 100 # 0: Skip / test cap
isDryRun: false
writeThreshold: 500
maxMemoryMB: 8000
database:
provider: sqlite
connectionString: Data Source=trade.db
Cette configuration guide le simulateur pour :
- Le symbole et l'intervalle de temps cibles (ex. : BTC, 1m)
- L'intervalle de backtest en jours
- Les catégories et stratégies à inclure
- La direction de la simulation : Long / Short / Both
- Les limites mémoire et seuils d'écriture
- Le mode test à sec (dry-run) en option
🧩 Hiérarchie Catégorie / Direction / Stratégie
Chaque jeu de données est structuré dans une hiérarchie de dossiers à 3 niveaux :
- Catégorie : ex.
meme
,layer1
,AI
- Direction :
Long
,Short
,Both
- Stratégie :
balance_midterm
,long_term
,scalp
,swing
Chaque fichier YAML de préréglage définit des plages d'entrée paramétriques pour la génération du dataset.
🧠 Exemple de préréglage
name: Scalping Strategy - Long
description: Profil de trading à haute fréquence, court terme avec SL/TP serré et fort effet de levier
leverage: [25, 50, 75]
strategy: [0, 1, 2]
virtualBalance: [100, 250]
riskPercent: [3, 5]
stopLoss: [0.3, 0.5, 1.0]
takeProfit: [0.5, 1.0, 2.0]
trailingSLOffset: [0.2, 0.5]
breakevenActivation: [0.5, 1.0]
breakevenBuffer: [0.1, 0.2]
trailingTPTrigger: [1.0, 2.0]
trailingTPOffset: [0.5]
timeTriggerEnabled: [true]
timeTriggerMinutes: [1, 3, 5]
timeTriggerModes: [2]
change: [0.3, 0.5, 1.0]
direction: [0, 1]
interval: [1, 3, 5]
match: [0, 1, 2]
📦 Sortie du dataset
Les datasets finaux sont enregistrés sur disque dans :
/datasets/parquet_{YYYYMMDD}/{category}/{direction}/{symbol}.parquet
Exemple :
/datasets/parquet_20250713/meme/Both/WIF.parquet
🚀 Fonctionnalités du pipeline de simulation
- ✔️ Chargement et filtrage des préréglages
- ✔️ Contrôle directionnel (
Long
/Short
/Both
) - ✔️ Simulation parallèle avec gestion mémoire
- ✔️ Batch intelligent, journalisation de l'ETA, suivi de l'ID d'exécution
- ✔️ Mode test à sec (dry-run) en option
- ✔️ Exportation CSV prise en charge
🧼 Validation & réparation du dataset
- ✔️ Validation de la structure des en-têtes
- ✔️ Saut automatique des lignes nulles / NaN ou sans transaction
- ✔️ Sauvegarde
.bak
avant l’écrasement des fichiers défectueux - ✔️ Réenregistrement compressé en
.gz
- ✔️ Logs de débogage + déplacement des fichiers défectueux dans
__bad__/
- ✔️ Traitement thread-safe pour les grands datasets
📚 Catégories prises en charge
Ces catégories représentent des secteurs logiques du marché ou types de tokens.
Vous pouvez configurer n'importe quelle combinaison dans votre fichier config.yaml
.
- AI
- bitcoin-layer2
- bluechip / bluechip-alt
- defin / defin-alt
- enterprise-alt
- gaming
- highcap-alt
- high-volatility-alt
- identity
- infrastructure
- layer1 / layer2 / layer1-highcap
- legacy / legacy-alt
- meme
- metaverse
- new-alt
- ordinals
- pow-alt
- stablecoin
- storage
- video
- zero-knowledge
💡 Remarques
- La génération de datasets consomme beaucoup de ressources CPU/mémoire. Configurez
maxMemoryMB
etwriteThreshold
en conséquence. - Utilisez
isDryRun: true
pour valider la configuration et prévisualiser les variations sans écrire les fichiers. - Max variations permet d’éviter une surcharge mémoire avec un trop grand nombre de permutations.
- Toutes les simulations sont reproductibles avec le même
RunId
et la même configuration.