Übersicht
Der MagicInput Dataset Builder spielt eine entscheidende Rolle bei der Erstellung hochwertiger, gelabelter Trainingsdaten
für KI-basierte Krypto-Handelsmodelle. Er simuliert Handelsergebnisse basierend auf einer Vielzahl vordefinierter Strategien
und historischer Bedingungen, um einen umfangreichen Datensatz im .parquet
-Format zu generieren, der für
leistungsstarkes Modelltraining optimiert ist.
🛠 Konfiguration (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
Diese Konfiguration steuert den Simulator hinsichtlich:
- Ziel-Symbol und Zeitintervall (z. B. BTC, 1m)
- Backtest-Zeitraum in Tagen
- Kategorien und Strategien, die einbezogen werden sollen
- Richtung der Simulation: Long / Short / Both
- Speichergrenzen und Schwellenwerte
- Optionaler Testlauf (Dry-Run)
🧩 Kategorie / Richtung / Strategie-Hierarchie
Jeder Datensatz ist in einer dreistufigen Ordnerstruktur organisiert:
- Kategorie: z. B.
meme
,layer1
,AI
- Richtung:
Long
,Short
,Both
- Strategie:
balance_midterm
,long_term
,scalp
,swing
Jede Preset-YAML-Datei definiert Parameterbereiche für die Datensatzgenerierung.
🧠 Beispiel-Preset
name: Scalping Strategy - Long
description: Hochfrequentes Kurzfrist-Tradingprofil mit engem SL/TP und hoher Hebelwirkung
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]
📦 Datensatzausgabe
Die endgültigen Datensätze werden auf der Festplatte gespeichert unter:
/datasets/parquet_{YYYYMMDD}/{category}/{direction}/{symbol}.parquet
Beispiel:
/datasets/parquet_20250713/meme/Both/WIF.parquet
🚀 Funktionen der Simulations-Pipeline
- ✔️ Laden und Filtern von Presets
- ✔️ Steuerung der Handelsrichtung (
Long
/Short
/Both
) - ✔️ Speichersichere parallele Simulation
- ✔️ Intelligente Batching-Prozesse, ETA-Protokollierung, Run-ID-Tracking
- ✔️ Optionaler Dry-Run-Modus zur Vorschau
- ✔️ Unterstützung für CSV-Export
🧼 Validierung und Reparatur von Datensätzen
- ✔️ Validierung der Header-Struktur
- ✔️ Automatisches Überspringen von Zeilen mit null/NaN oder keinen Trades
- ✔️ .bak-Backup vor dem Überschreiben fehlerhafter Dateien
- ✔️ Komprimiertes Speichern als
.gz
- ✔️ Debug-Protokolle und Verschiebung beschädigter Dateien nach
__bad__/
- ✔️ Thread-sichere Verarbeitung großer Datensätze
📚 Unterstützte Kategorien
Diese Kategorien repräsentieren logische Marktsegmente oder Token-Typen.
Sie können beliebige Kombinationen in Ihrer config.yaml
konfigurieren.
- 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
💡 Hinweise
- Die Erstellung von Datensätzen ist CPU-/speicherintensiv. Konfigurieren Sie
maxMemoryMB
undwriteThreshold
entsprechend. - Verwenden Sie
isDryRun: true
, um die Konfiguration zu validieren und Variationen vorab anzuzeigen, ohne Dateien zu schreiben. - Maximale Variationen helfen, Speicherüberläufe bei sehr großen Permutationen zu vermeiden.
- Alle Simulationen sind mit derselben
RunId
und Konfiguration reproduzierbar.