Kurz und klar: Diese Open‑Source Python library erleichtert das Forecasting und die Anomaly Detection von Time Series. Sie bringt klassische Modelle und moderne Deep Learning‑Ansätze unter eine einheitliche API mit fit() und predict().
Für Finanzanwendungen bietet die Lösung einen kompakten Werkzeugkasten für Kurs-, Volatilitäts- und Liquiditätsprognosen. Anwender können univariate und multivariate time series abbilden und so mehrere Signale pro Zeitindex analysieren.
Praktisch: Der Workflow beschleunigt Experimente, erhöht die Vergleichbarkeit von models und unterstützt probabilistische forecasts mit Konfidenzintervallen. Gleichzeitig betonen wir saubere Methodik: korrekte Splits, Backtesting und Validierung ohne Leakage.
Das folgende Tutorial zeigt Setup, TimeSeries‑Objekte, erstes forecasting, Datenqualität, Covariates, Modellwahl sowie Training, Backtesting und Metriken. Ziel ist ein verlässlicher, reproduzierbarer Prozess für marketplace‑nahe Vorhersagefenster.
Wesentliche Erkenntnisse
- Die Library vereint klassische Verfahren und Deep Learning in einer konsistenten API.
- Sie unterstützt univariate wie multivariate time series für realistische Finanzdaten.
- Probabilistische Forecasts und Intervalle verbessern das Erwartungsmanagement.
- Saubere Splits, Backtesting und Metriken stehen im Fokus, nicht schnelle Hacks.
- Der einheitliche fit()/predict()-Workflow beschleunigt Modellvergleiche und Experimente.
Warum Darts für Finanz- und Marktprognosen heute relevant ist
Moderne Marktprognosen verlangen Tools, die Finanz‑Fragestellungen als Zeitreihenprobleme abbilden und robuste Resultate liefern. time series forecasting ist dabei kein Einzeiler: Märkte zeigen Regimewechsel, Ausreißer und eventbezogene Effekte.
Time Series Forecasting in der Praxis: Kurse, Volatilität, Nachfrage, Risiko
Wir übersetzen typische Finanzfragen in konkrete Zielgrößen: Renditen, Volatilität, Spreads und Handelsvolumen. Serie um Serie werden so zu messbaren Prediction‑Tasks.
Einheitliche API wie scikit‑learn: fit() und predict() als Workflow
Die einheitliche Schnittstelle beschleunigt Experimente. Trainieren, validieren und vergleichen geht mit wenigen Zeilen. Backtesting und probabilistische Intervalle sind direkt integrierbar.
Von ARIMA bis Transformer: „many models“ in einer Python Library
- Klassisch: ARIMA/ETS für lineare Muster.
- Machine learning: Regressionsansätze mit Lag‑Features.
- Deep learning models: RNNs und Transformer für komplexe Dynamik.
Der Wechsel zwischen diesen models ist nahtlos. Beim using darts‑Workflow erstellen Sie TimeSeries, splitten, fitten und erstellen Vorhersagen. Die Qualität hängt aber weiter stark von Datenaufbereitung, Covariates und sauberen Splits ab.
Installation und Projekt-Setup in Python
Ein stabiles Projekt-Setup ist die Grundlage für reproduzierbare Forecasts und robuste Experimente.
Empfohlen ist Python 3.10+ in einer isolierten Umgebung (venv oder conda). Legen Sie feste Abhängigkeiten mit einem Lockfile oder requirements.txt an, um Builds in Unternehmen reproduzierbar zu halten.
Installation per pip: Nutzen Sie pip install u8darts[all] für die volle Funktionalität. Extras bringen Unterstützung für Deep‑Learning‑Backends und nützliche Forecasting‑tools.
Ein minimales Setup enthält pandas, matplotlib und jupyter. Für neuronale Modelle ergänzen Sie PyTorch und optional Lightning. Nutzen Sie die mitgelieferten datasets zum schnellen Testen von Pipeline und Modellen, bevor Sie echte time series data anbinden.
- CSV/SQL → pandas → TimeSeries: so integrieren Sie die library in Ihre Data‑Science‑Toolchain.
- Dokumentieren Sie Torch‑Versionen und Systempakete, um inkompatible Builds zu vermeiden.
- Achten Sie auf saubere Zeitstempel, Frequenzen und fehlende Werte als Input für alle Modelle.
Zentrale Konzepte: TimeSeries-Objekt, Index und Werte
Das TimeSeries-Objekt ist die zentrale Abstraktion für konsistente Prognosen und saubere Evaluationen. Es verbindet einen Zeitindex mit einer oder mehreren Messreihen und fungiert als standardisierte Basis für Forecasting.
TimeSeries aus DataFrames und Spalten
Erstellen Sie TimeSeries aus einem pandas DataFrame mit TimeSeries.from_dataframe(), indem Sie time_col und value_cols angeben. Achten Sie auf korrekte Datentypen in der column und einen eindeutigen index, sonst entstehen Inkonsistenzen beim Splitten.
Frequenz, fehlende Punkte und Qualität
Definieren Sie die Frequenz (z. B. „D“, „H“, „MS“) und füllen Sie fehlende Zeitpunkte, damit Modelle verlässliche inputs erhalten. Typische Problemen in series data sind doppelte Timestamps, unregelmäßige Intervalle und Zeitzonenfehler—prüfen Sie diese früh.
Univariate vs. multivariate und Export
Univariate series enthalten eine Ziel‑value; multivariate time series halten mehrere Werte wie Close, Volume oder Volatility auf demselben time‑index. Für Reporting und Pipelines lassen sich TimeSeries zurück nach pandas, numpy oder polars exportieren.
- Praxisfolge: Ein sauberer Index und konsistente values reduzieren Fehler in Splits, Backtesting und Training erheblich.
Schnellstart: Erstes Forecasting-Beispiel mit Exponential Smoothing
In diesem example bauen wir einen kompakten End‑to‑End‑Workflow: CSV → DataFrame → TimeSeries. So entsteht schnell ein reproduzierbarer Basislauf für ein Finanz‑time‑series‑Setup.
Dataset laden und richtig splitten
Laden Sie das dataset in pandas und wandeln Sie es in eine TimeSeries um. Achten Sie auf die zeitliche Reihenfolge: Train und validation dürfen nicht vermischt werden.
Modell trainieren und Vorhersage erstellen
Als Einstieg passt Exponential Smoothing, weil es schnell konvergiert. Beispiel‑Workflow: ExponentialSmoothing.fit(train); prediction = model.predict(len(val), num_samples=1000).
Visualisierung und Interpretation
Plotten Sie Median sowie 5%/95% Quantile. So sehen Sie Ist‑values versus probabilistischen forecast und können Unsicherheit beurteilen.
- Wählen Sie die Prediction Length passend zur Business‑Frage (Day‑Ahead vs. Monatsprognose).
- Starten Sie mit MAE als einfache metrics-Kennzahl.
- Beachten: Guter Fit im Train ist kein Beleg für Vorhersagequalität auf der Validation.
Datenvorbereitung für Finanzdaten: Qualität, Lücken, Ausreißer
Saubere Daten sind die Grundlage jeder zuverlässigen Finanzvorhersage. Prüfen Sie frühzeitig Spalten, Index und fehlende Zeitpunkte. Nur so werden spätere Modelle stabil.
Data processing tools bieten Transformationen wie Skalierung, Auffüllen, Differencing und Box‑Cox. Wichtig ist die Reversibilität: Transformieren auf dem Train‑Set und zurücktransformieren für Reporting.
Fehlende Werte, Skalierung und Differencing
Entscheiden Sie je nach Use Case: Auffüllen kann für Reporting sinnvoll sein, Entfernen für kurzfristige Trading‑Signale. Bei vielen Modellen gilt: fit on train, transform val/test.
Differencing hilft gegen Nicht‑Stationarität und ist oft sinnvoll für Preis‑ versus Rendite‑Modelle. Skalierung verbessert Konvergenz in machine learning‑Netzen.
„Frühe Datenprüfungen reduzieren Bias und verhindern versteckte Fehler.“
- Prüf‑Workflow: column prüfen, index validieren, fehlende Zeitpunkte zählen.
- Häufige Fehler: falsche Zeitzonen, doppelte Indizes, Nullwerte durch Provider‑Bugs.
- Erst stabile Rohdaten, dann Feature Engineering und komplexe Modelle.
Feature Engineering und Covariates für bessere Prognosen
Gezieltes Feature Engineering erhöht die Aussagekraft von Time Series und reduziert Vorhersagefehler. Starten Sie klein: wenige, klare features wie EMA oder MA geben schnelle Hinweise auf Signalqualität.
Past vs. Future Covariates richtig einsetzen
Past Covariates sind nur historische Signale (z. B. realisierte Volatilität). Future Covariates sind im Voraus bekannt, etwa Kalender- oder Handelszeiten. Falsche Klassifikation führt zu Leakage und verfälschten Backtests.
Static Covariates als Metadaten nutzen
Attribute wie Asset‑Klasse, Markt oder Segment helfen globalen models, gemeinsame Muster zu lernen. Verwenden Sie Static Covariates sparsam und konsistent über alle series.
Encoder, Transformationen und Reversibilität
Nutzen Sie Zeit‑Features, das „position“-Encoding und Scaler mit Rücktransformation. Regression‑modelle brauchen oft explizite Lag‑features; deep learning profitiert trotzdem von sauberen Encodings.
- Beginnen Sie mit kleinem Feature‑Set.
- Validieren via Backtesting, um echten Mehrwert zu prüfen.
- Bei multivariate time series: mehrere Inputs, ein Target, einheitlicher Zeitindex.
„Kleine, geprüfte Features schlagen oft komplexe Modelle ohne saubere Encodings.“
Modellwahl in Darts: Statistik, Machine Learning und Deep Learning Models
Eine systematische Entscheidungslogik hilft, aus many models das passende Modell für Finanz‑Forecasts auszuwählen. Entscheidend sind Datenmenge, Stabilität, Saisonalität, Nichtlinearität, Interpretierbarkeit und Bedarf an Unsicherheit.
Klassische Modelle: ARIMA, Prophet, Theta
Klassische models wie ARIMA, ExponentialSmoothing oder Theta sind robuste Baselines. Sie eignen sich bei klaren saisonalen Mustern oder wenn schnelle, erklärbare Ergebnisse gefragt sind.
Regression-Modelle via SKLearnModel
Gradient‑Boosting (LightGBM/XGBoost/CatBoost) funktioniert gut als Brücke. Mit Lag‑Features und Covariates entstehen tabellarische Setups, die erklärbare prediction-Pipelines liefern.
Neural Networks und Deep Learning Models
RNN/DeepAR, N‑BEATS, TCN, Transformer und TFT spielen ihre Stärken bei vielen Reihen und komplexen Mustern aus. Solche deep learning models lohnen sich für lange Horizonte und nichtlineare Abhängigkeiten.
Foundation Models & Ensembles
Foundation Models (Chronos2, TimesFM) bieten schnelle, trainingsfreie Benchmarks. Ensembles kombinieren mehrere models zur Robustheit gegen Regimewechsel.
Validieren Sie jede Wahl mit sauberem backtesting und klaren Metriken statt per Bauchgefühl.
darts bibliothek ai: Lokale vs. globale Modelle für viele Zeitreihen
Panel‑Data‑Setups erlauben es, Lernmodelle auf mehreren Reihen gleichzeitig zu trainieren und Informationen zu teilen. Das ist besonders nützlich, wenn viele Assets ähnliche Muster zeigen.
Training Models on Multiple Time Series: Panel Data effizient nutzen
Globale Modelle lernen über viele time series hinweg. So profitiert das Training von gemeinsamen Signalen und stabilisiert Vorhersagen bei knappem Einzel‑Datensatz.
Strukturieren Sie die data mit Static Covariates für Markt‑ oder Segmentzugehörigkeit. Achten Sie auf einheitliche Frequenzen und saubere Indizes.
Wann globale Modelle Vorteile bringen
- Skalierung: Weniger Deployment‑Overhead bei hunderten Serien.
- Gemeinsame Muster: Saisonen, Events oder Volatilitätsphasen werden geteilt.
- Effizienz: Ein Modell statt vieler Einzelmodelle reduziert Wartung.
Sample Weights & Forecast Start Shifting
Nutzen Sie Sample Weights, um jüngere Beobachtungen oder Stressperioden stärker zu gewichten. Forecast Start Shifting hilft bei marktnahen Setups wie Day‑Ahead, wenn Inputs verzögert ankommen.
„Globale Modelle sind kein Allheilmittel — wählen Sie lokal bei hoher Heterogenität oder wenn Asset‑spezifische Interpretierbarkeit nötig ist.“
Praxis‑cases sind Multi‑Asset‑Volatilität, Retail‑Order‑Flows oder Multi‑Markt‑Reports. Nach der Entscheidung für lokal oder global folgen angepasste Splits, Validation und Backtesting.
Training, Validation und saubere Splits für Time Series Forecasting
Robuste Trainings‑Pipelines sind die Grundlage für verlässliche Prognosen. Beginnen Sie mit klaren, zeitbasierten Splits und dokumentieren Sie jeden Schritt.
Train/Val/Test ohne Leakage: zeitbasierte Splits und Rolling Windows
Teilen Sie Daten streng nach Zeit. Kein zufälliges Shuffling, keine Informationen aus späteren Perioden im Train‑Set. So vermeiden Sie Leakage und optimistische Fehlerabschätzungen.
Nutzen Sie rolling windows, um Stabilität über verschiedene Zeitfenster zu prüfen. Mehrere Fenster zeigen, ob ein Modell nur ein bestimmtes Testfenster gut trifft oder wirklich generalisiert.
Hyperparameter & Trainer: PyTorch Lightning, Early Stopping, Checkpoints
Für deep learning models setzen Sie PyTorch Lightning Trainer ein. Aktivieren Sie Early Stopping und regelmäßige Checkpoints. Verwenden Sie GPU, wenn verfügbar, und speichern Seeds sowie Versionsstände.
Fitten Sie Transformationen nur auf dem Train‑Set und wenden Sie sie auf Validation/Test an. So bleibt die Performance realistisch und vergleichbar mit späteren Backtesting‑Runs.
Überwachen Sie Loss‑Kurven, um error-Muster, Overfitting oder instabile Trainingsläufe zu erkennen. Passen Sie Fensterlängen, Regularisierung und Datenpipelines an und dokumentieren Sie Experimente für reproduzierbares learning.
- Praxis: Seeds, Checkpoints, klare Split‑Regeln.
- Validation: Nur für Hyperparameter, Test bleibt unberührt.
- Vorbereitung: Trainingssetup auf spätere Backtesting‑Logik abstimmen.
Backtesting und Modellvergleich mit realistischen Forecast-Simulationen
Backtesting macht Prognosen nachvollziehbar, weil es Forecasts unter realen historischen Bedingungen simuliert.
Mit systematischen Rücktests prüfen Sie Stabilität und messen, wie gut ein model über verschiedene Marktphasen performt.
Historische Backtests mit Moving Windows
Moving-Window-Backtests erzeugen wiederholte Vorhersagen über verschobene Zeitfenster.
Wählen Sie Fensterlänge, Schrittweite und Forecast-Horizont bewusst und notieren Sie die Refit-Strategie.
Baseline zuerst
Starten Sie mit einfachen Referenzen wie NaiveMovingAverage und NaiveDrift.
Diese Baselines zeigen, ob komplexe models echten Mehrwert liefern oder nur Overfit erzeugen.
Fehlerbilder und Interpretationen
Analysieren Sie nicht nur metrics, sondern auch systematische Fehler: Bias, Regimewechsel und saisonale Brüche.
Annotieren Sie Testperioden mit besonderen data-Events, damit Ausreißer die Bewertung nicht verfälschen.
- Faire Vergleiche: gleiche Splits, gleiche Covariates, identische Transformationen.
- Untersuchen Sie error‑Verteilungen, nicht nur Mittelwerte.
- Übergang zu probabilistischen Auswertungen: Intervalle und Unsicherheit sind oft entscheidend.
„Realistische Backtests liefern die Basis für belastbare Entscheidungen, welches Modell in welchen Fällen eingesetzt werden sollte.“
Metriken, Fehler und probabilistische Prognosen in Darts
Transparente Fehlermaße und kalibrierte Intervalle sind essenziell, damit Forecasts in Finance handhabbar werden.
Sie verbinden Modell‑Outputs mit Risiko‑ und Handelsentscheidungen.
Metrics auswählen: MAE, MASE, R2
MAE misst absolute Fehler robust gegen Ausreißer.
MASE erlaubt skalenfreie Vergleiche zwischen Zeitreihen.
R2 zeigt Fit‑Perspektiven, ist im Forecasting aber mit Vorsicht zu werten.
Probabilistic Forecasting: num_samples, Quantile und Intervalle
Nutzen Sie num_samples, um Stichproben aus einem modell zu ziehen und daraus Quantile zu berechnen.
Prediction Intervals dienen als Bandbreiten für Risiko, Szenario‑Planung und Limit‑Setzung.
Conformal Prediction: kalibrierte Unsicherheitsintervalle
Conformal Prediction kalibriert Intervalle so, dass die empirische Coverage der gewünschten Wahrscheinlichkeit entspricht.
Prüfen Sie Coverage, mittlere Breite und Stabilität in Backtests, um Über- oder Unterschätzung der Unsicherheit zu erkennen.
„Gut kalibrierte Intervalle sollen halten — empirisch und über Marktphasen.“
- Fehlerquellen: schlechte Kalibrierung, zu enge Bänder in Stressphasen, zu breite Bänder ohne Nutzwert.
- Evaluation: Coverage, Interval‑Breite und Konsistenz über mehrere time windows.
- Datenfokus: Konsistente Skalierung und Rücktransformationen sind Voraussetzung für aussagekräftige metrics.
Anomaly Detection als Ergänzung: Marktanomalien und Datenprobleme erkennen
Anomaly Detection ergänzt Forecasting‑Workflows, indem sie sowohl Marktbrüche als auch fehlerhafte Daten erkennt.
Im Kern liefert ein Scorer kontinuierliche Scores, ein Detector wandelt diese in binäre Alerts um. Solche Signale helfen, Trainingssets zu schützen und reale Events zu markieren.
Scorer & Detector kombinieren
Ein praktisches example: KMeansScorer(k=2, window=5) → scorer.fit(train) → anom_score = scorer.score(val).
Danach: QuantileDetector(high_quantile=0.99) auf Train‑Scores fitten und auf Val‑Scores detecten. Fenstergröße und Quantilwahl steuern die Sensitivität.
Forecasting‑Modelle als Anomaly‑Basis
Nutzen Sie Residuen (Predictions vs. Actuals) als Signal. Große Abweichungen markieren ungewöhnliche series‑Ereignisse oder schlechte values.
- Warum: Erkanntes kann echte Marktanomalie oder Provider‑Fehler sein.
- Workflow: Scorer → Detector → Visualisierung am time index.
- Praxisregel: Anomalien nicht blind löschen; zuerst klassifizieren, dann handeln.
„Anomaly Detection fungiert als automatischer QA‑Schritt vor Training und Backtesting.“
Fazit
Am Ende zählt ein klarer Prozess: saubere time‑Streifen, ein konsistenter index und klare column‑Strukturen bilden die Basis. Gute data‑Qualität und sinnvolle features reduzieren späteren Fehleraufwand.
Die darts‑Toolchain fasst forecasting, probabilistische forecast‑Intervalle, backtesting, Covariates und Anomaly Detection in einer einheitlichen API zusammen. So lassen sich experiments schnell reproduzieren.
Praktische Regel: Baseline‑models zuerst, dann ML‑Regression, bei großen panels Neural Networks und deep learning models. Trainings‑ und validation‑Regeln müssen strikt eingehalten werden.
Setzen Sie auf probabilistische forecasts, dokumentierte Metriken und ein Minimal‑Deploy: Baseline + Backtesting + Metrics. Abschließend: Monitoring, regelmäßiges Retraining und ein eigenes example mit echten datasets als nächster Schritt.
