AutoTS ist ein Python-Paket für Time-Series-Forecasting, ausgelegt auf schnelle Bereitstellung hochgenauer Prognosen im großen Maßstab.
Das Tool arbeitet direkt auf pandas DataFrames und folgt dem sklearn-Stil mit .fit() und .predict(). Damit lassen sich Kurse, Volumen und andere Finanz-Zeitreihen standardisiert verarbeiten.
In diesem How‑To-Guide erklären wir den Meta-Kontext von title und description, klären den Informations‑Intent und zeigen, wie man AutoTS einrichtet, anwendet und skaliert.
Der Workflow kombiniert Dutzende Modelle, von Baselines bis zu Deep‑Learning‑Ansätzen, und beschleunigt Iterationen durch automatisierte Modellwahl und Ensemblebildung.
Dieser Artikel richtet sich an Leser in Deutschland und liefert eine praxisnahe Anleitung von Installation über Datenformat bis zu Evaluation und Produktion für reproduzierbare Ergebnisse.
Wesentliche Erkenntnisse
- AutoTS bietet schnelle, skalierbare Prognosen für Finanzdaten.
- Arbeitet im pandas/sklearn‑Stil mit .fit() und .predict().
- Behandelt typische Zeitreihen wie Kurse und Volumen.
- Kombiniert viele Modelle zu effizienten Ensembles.
- Der Leitfaden führt von Installation bis Produktion für messbaren Erfolg.
Warum AutoTS für Finanz-Zeitreihen-Prognosen heute relevant ist
Finanzmärkte verlangen heute schnelle, skalierbare Forecasts für hunderte Instrumente zugleich. Volatile Kurse, kurze Entscheidungszyklen und ein hoher Automatisierungsbedarf machen robuste time series forecasting‑Workflows zur Kernanforderung in Research und Trading.
AutoML für time series forecasting: von Statistik bis Deep Learning
Ein einheitlicher Workflow bündelt naive und statistische Ansätze mit machine learning und deep learning. Die Suche über genetische Algorithmen, Cross‑Validation und Ensembling automatisiert Modellwahl und Preprocessing.
Praxisbezug: M6 Competition & 12 Monate Stock-Forecasting
Im realen Setup setzte sich AutoTS 2023 in der M6 Forecasting Competition durch und erzielte hohe Performance für 12‑monatige stock‑Entscheidungen.
Wann sich AutoTS besonders lohnt
- Viele Serien und Multi‑Asset‑Setups: automatisierte Modellwahl skaliert effektiv.
- Schnelle Iterationen im Research: weniger manueller Aufwand, reproduzierbare Runs.
- Audit & Compliance: Out‑of‑Sample‑Validierung bleibt entscheidend gegen Overfitting.
Was AutoTS ist und wie es sich von ähnlich benannten Projekten abgrenzt
Bevor Sie Code installieren, klären Sie, welches Projekt Sie wirklich brauchen. AutoTS ist in der Praxis meist als Project CATS (Catlin’s Automated Time Series) gemeint. Die richtige Codebase erkennen Sie an README‑Metadaten, klarer documentation und einer sklearn‑ähnlichen API.
Wesentliche Abgrenzung: Ein anderes, ähnlich benanntes Paket heißt Auto-TS (oft Auto_TS / AutoViML). Das ist eine völlig andere type Library mit anderem Installationsweg und anderem Python‑Import. Bei Project CATS erwarten Sie .fit()/.predict() auf pandas; bei Auto-TS dominieren Klassen wie auto_timeseries.
- Prüfen Sie repository‑author und Issues, um die aktive community zu sehen.
- Vergewissern Sie sich, dass der gewünschte import-Pfad zur Dokumentation passt.
- Lesen Sie das Quickstart im Repo, bevor Sie Pakete mischen.
„Die korrekte Code‑Basis verhindert falsche APIs, abweichende Parameter und nicht reproduzierbare Ergebnisse.“
Kurze Checkliste: Repository, README, examples, pip‑Name und Import testen. So arbeiten Sie sofort mit dem passenden Toolset und vermeiden Fehlinstallationen.
Installation und Setup in Python: schnell startklar in wenigen Minuten
Ein schnelles Setup erlaubt es, binnen minutes ein lauffähiges Forecast‑Experiment zu starten. Beginnen Sie mit dem Standardbefehl:
pip install autots
Für einige models sind optionale Dependencies nötig. Installieren Sie Erweiterungen nur bei Bedarf, um Konflikte zu vermeiden.
Führen Sie danach einen kurzen import-Check durch und testen Sie mit einem kleinen dataset. So erkennen Sie fehlende Pakete und Speicherprobleme früh.
- Prüfen Sie CPU‑Kerne und verfügbaren RAM.
- Beachten Sie BLAS/Linpack‑Setups: sie beeinflussen Performance und Stabilität.
- Wählen Sie zunächst die model_list „scalable“ für geringe Speicherbelastung.
Die Wahl der parameters wie num_validations oder max_generations reduziert Laufzeit und das Risiko von Abstürzen. Ordnen Sie Compute‑Ressourcen der machine zu: Laptops eignen sich für Tests, Server für großflächige Runs im Data Science‑Betrieb.
Datengrundlage für Finanzprognosen: time series richtig vorbereiten
Eine solide Datenbasis entscheidet oft über den Erfolg von Finanzprognosen. Bereinigen Sie Zeitstempel, vereinheitlichen Sie Zeitzonen und sortieren Sie das dataset chronologisch, bevor Sie Modelle trainieren.
Typische Finanzdaten und exogene Signale
Prognostiziert werden meist Close‑Preise, Volumen und abgeleitete Returns. Kalender- sowie Event-Effekte (Earnings, Holidays) sind nützliche exogene Signale.
- Close, Open, High, Low und Volumen als Kern‑Series.
- Events als zusätzliche Regressoren für bessere prediction-Qualität.
- Beachten Sie, dass mehrere Serien als Kombination stabile Ensembles ermöglichen.
Train/Test-Split & Validierung
Führen Sie zeitbasierte Splits durch, nie zufälliges Sampling. So vermeiden Sie Datenleakage und simulieren reale Vorhersagebedingungen.
Planen Sie Validierung als Kombination mehrerer Zeitfenster (rolling windows). Das misst Stabilität über verschiedene Marktphasen.
NaN-Werte, Ausreißer und Frequenzwahl
Da das Paket auf pandas DataFrames arbeitet, hilft es, NaNs vorab zu füllen, sofern keine automatische Imputationssuche nötig ist. Ein einfacher Fill (ffill/backfill) genügt oft.
Bei starken Ausreißern prüfen Sie Winsorizing oder gewichtete Filter. Manchmal ist eine automatische Transform‑Suche sinnvoll, wenn Daten sehr unregelmäßig sind.
Wählen Sie die Frequenz bewusst: daily für feine Signale, weekly/monthly zur Rauschreduzierung. Downsampling beschleunigt Training ohne großen Verlust bei langfristigen Vorhersagen.
Praktische Datenhygiene
- Einheitliche Zeitzone und eindeutige Zeitstempel.
- Keine doppelten Indizes; sortiert nach time.
- Dokumentieren Sie jede Aggregation und jede Fill‑Strategie im Experiment‑Log.
Eingabeformate in AutoTS: Wide vs. Long Format in pandas
Für robuste Vorhersagen ist das richtige DataFrame‑Layout oft entscheidend. Im Folgenden erklären wir die zwei unterstützten Formate und geben klare Hinweise zur Wahl.
Wide‑Format
Im Wide‑Format hat das DataFrame einen pandas.DatetimeIndex und jede Spalte repräsentiert eine separate series. Das ist ideal für multivariate Forecasts, weil Modelle simultan mehrere Signale verarbeiten.
Vorteil: Für Wide sind keine Spalten‑parameters nötig; Import und .fit() laufen direkt auf dem DataFrame.
Long‑Format
Das Long‑Format nutzt drei Spalten: Date, Series ID und Value. Es eignet sich für viele Entitäten, etwa hunderte Aktien oder Signals.
Beim Fit geben Sie explizit date_col, id_col und value_col an. So mappt das Training sauber jede Reihe zur richtigen series.
Praktische Tipps & Daten‑Checks
Machen Sie vor dem Fit immer einen schnellen preview der Daten. Achten Sie auf Datumsparser‑Fehler, String‑IDs und Duplikate.
- Konvertieren Sie Datumsspalten und setzen Sie eindeutige Indizes.
- Bereinigen Sie Duplikate und standardisieren Sie ID‑Formate.
- Dokumentieren Sie die gewählte format-Strategie im Team für Reproduzierbarkeit.
Erster Forecast mit autots ai: Minimalbeispiel mit load_daily und .predict()
In diesem Minimalbeispiel führen wir von einem geladenen Tages‑Datensatz bis zur ersten Vorhersage in wenigen Zeilen code. Das Ziel ist ein schneller, reproduzierbarer Einstieg in das time series forecasting.
Beispiel (kompakt):
from autots import AutoTS, load_daily
model = AutoTS(forecast_length=21, frequency=“infer“, prediction_interval=0.9, model_list=“superfast“, transformer_list=“fast“, max_generations=4, num_validations=2, validation_method=“backwards“)
data = load_daily()
model.fit(data)
prediction = model.predict()
Wichtige Start‑Parameter
forecast_length definiert den Horizont in Tagen. frequency kann auf „infer“ bleiben, wenn Datumsindizes korrekt sind. prediction_interval legt Konfidenz‑Bänder fest (z. B. 0.9).
Outputs richtig lesen
- Point‑Forecast: prediction.forecast
- Untere/Obere Bänder: prediction.lower_forecast / prediction.upper_forecast
- Result‑Tables zeigen Ranking und Metriken für getestete models
Zum schnellen Check nutzen Sie prediction.plot(model.df_wide_numeric). Vergleichen Sie Forecast und Historie auf Trendbrüche oder unrealistische Sprünge. Starten Sie bewusst mit „superfast“ und wenigen Generations, um rasch ein Baseline‑Resultat zu erhalten.
Die wichtigsten AutoTS-Parameter für präzise series forecasting Modelle
Die richtige Parametrierung entscheidet oft schneller über Forecast‑Qualität als die Auswahl einzelner models.
Model‑Listen: Auswahl je Ziel
Die vordefinierten model_list-Sets steuern Vielfalt und Laufzeit. Wählen Sie superfast für schnelle Exploration, fast für erste robuste Vergleiche und default für maximale Genauigkeit.
Für paralleles Testing gibt es fast_parallel (oder parallel). Bei vielen Serien reduziert scalable das Crash‑Risiko und spart RAM. Entscheiden Sie nach Ziel: schnelle Erkenntnisse vs. finale Modell‑Selektion.
Genetic Search: Suchraum kontrollieren
Die genetische Suche ist ein algorithm, der Preprocessing, model‑Kandidaten und Ensembles iterativ optimiert. Steuerbar ist sie über max_generations, num_validations und validation_method.
Starten Sie klein: wenige generations und num_validations für schnellen Proof‑of‑Concept. Erhöhen Sie danach schrittweise, um die Suche und Ensemblebildung zu vertiefen.
Prediction‑Intervalle: Risiken quantifizieren
Der Parameter prediction_interval liefert obere und untere Bänder statt nur Punktwerte. Das ist zentral für Risk‑Analysen und Szenario‑Denken im Finanzkontext.
Wählen Sie konservative Intervalle (z. B. 0.9) für Handelssignale mit Kapitalrisiko. Für explorative Tasks genügen engere Bänder, um Sensitivität zu prüfen.
Best Practices: Beginnen Sie mit einer kleinen Suche (superfast), prüfen Sie time‑stabile Validation‑Methoden (z. B. backwards) und skalieren Sie dann via mehr generations und stärkeren models, bis Ensemble‑Stabilität erreicht ist.
Modellvielfalt: von Naive & Statistik bis Machine Learning und Deep Learning
Eine strukturierte Übersicht der verfügbaren Modelltypen hilft, Aufwand und Erwartung an Prognosequalität realistisch zu setzen.
Wann einfache Baselines sinnvoll sind
Naive und statistische Modelle liefern oft überraschend starke Benchmarks im Finanzbereich.
Sie sind robust, transparent und leicht zu validieren. Als Referenz zeigen sie, ob komplexe Ansätze echten Mehrwert liefern.
Machine‑Learning‑Modelle: Chancen und Voraussetzungen
machine learning hilft bei nichtlinearen Effekten und beim Einbinden vieler Regressoren.
Vorteil: bessere Erfassung komplexer Muster. Voraussetzung: sauberes, ausreichend großes dataset und stabile Features.
Deep‑Learning: Potenzial und Risiken
deep learning kann subtile, zeitabhängige Strukturen lernen, bringt aber hohen Datenhunger und Varianz.
Overfitting ist bei Finanzdaten häufig. Deswegen immer mit starken Out‑of‑Sample‑Checks arbeiten.
Empfehlung: Starten Sie immer mit Baselines, steigern schrittweise die Modellkomplexität und prüfen jede Änderung mit strikten Validierungen.
- Nutzen Sie eine Kombination aus einfachen und komplexen models.
- Beginnen Sie mit Baselines, dann machine learning, zuletzt deep learning.
- Validieren Sie stabil über mehrere Zeitfenster für zuverlässiges forecasting.
Transformers & Feature Engineering: AutoTS für messy data und robuste Signale
Transformations und Feature‑Engineering formen rohe Finanz‑Daten zu stabilen Signalen für Modelltraining.
Time‑Series‑Transforms im sklearn‑Stil
AutoTS bietet über 30 Time‑Series‑Transforms im sklearn‑Stil mit .fit(), .transform() und .inverse_transform(). So lassen sich Skalierung und Box‑Cox-Varianten sauber zurückführen.
Transformer‑Tiefe & Speed
Die Parameter transformer_list und transformer_max_depth steuern Robustheit und Laufzeit. Für erste Runs wählen Sie „fast“ oder „superfast“ und setzen transformer_max_depth auf 2, um Geschwindigkeit zu erhöhen.
Regressor‑ und Feature‑Tools
Exogene Variablen wie Kalenderdaten, Makroindikatoren oder technische Indikatoren lassen sich leicht einbinden. Es existiert eine automatische Regressor‑Generierung als algorithmische Unterstützung.
Nutzen Sie die automatische Generierung, wenn viele Serien ähnliche Muster zeigen. Bei spezialisierten Signalen bleibt kuratierte Feature‑Auswahl meist besser.
- Warum wichtig: Finanz‑time series sind oft messy – NaNs, Ausreißer, Regimewechsel.
- Praxis: NaNs vorab füllen, wenn Speed priorisiert wird.
- Empfehlung: Tiefe begrenzen bei vielen Serien, gezielte Regressoren für kritische Signale.
Ensembling in AutoTS: Horizontal und Mosaic als Performance-Hebel
Kombinierte Vorhersagen aus mehreren models liefern oft robustere Signale als Einzelmodelle. Ein ensemble reduziert Varianz und fängt unterschiedliche Marktverhalten besser ab.
Warum Ensemble‑Methoden bei vielen Serien stark sind
Bei vielen series profitiert jede Reihe davon, dass sie individuell das beste Modell bekommt. Ensembles vermeiden, dass ein globales Modell alle Serien dominiert.
Horizontal‑Max & no_shared_fast: Skalierung über CPU‑Kerne
Die Kombination horizontal‑max mit model_list='no_shared_fast' skaliert gut, weil Modelle nur auf benötigten Serien laufen. Das nutzt die machine-Ressourcen effizient und reduziert IO‑Overhead.
Trade‑off Laufzeit vs. Genauigkeit
Ensembles verlangsamen die Vorhersage. Als Richtwert gilt: distance ist ~2× langsamer, simple ~3–5× langsamer. Planen Sie Predict‑Speed realistisch.
„Starten Sie mit einer schnellen Baseline ohne Ensemble und schalten Sie Ensembles als zweiten Schritt zur Performance‑Optimierung ein.“
- In die selection-Logik zuerst Baseline, dann Ensemble integrieren.
- Parameter: kurze max_generations, begrenzte Ensemble‑Größe für Tests.
- Skalierbare Runs: no_shared_fast + horizontal‑max für viele Serien.
Evaluation & Modellwahl: Metriken, Cross-Validation und Leaderboards
Saubere Evaluation trennt robuste Produktionsmodelle von kurzlebigen Best‑Case‑Treffern. Wählen Sie Metriken, die Geschäftsziele widerspiegeln und mehrere Validierungsfenster berücksichtigen.
Metric‑Weighting und runtime_weighting
AutoTS erlaubt eine combination aus Fehlermaßen und Laufzeit im metric_weighting. Erhöhen Sie runtime_weighting, wenn Produktions‑Constraints schneller Modelle belohnen sollen.
Das ist ein bewusster Trade‑off: etwas weniger Genauigkeit gegen höhere Stabilität und Predict‑Speed. Definieren Sie die parameters vorab: Fehlergewicht, Laufzeitlimit und Mindeststabilität.
Validation‑Results richtig interpretieren
Lesen Sie results aus model.results() und model.results(„validation“) als mehrteilige Tabelle. Achten Sie auf Varianz zwischen Zeitfenstern, nicht nur auf den Top‑Score.
- Prüfen Sie Ranglisten über mehrere time-Schnitte.
- Shortlisten nach Fehler + Laufzeit erstellen.
- Testen Sie Kandidaten in Out‑of‑Sample‑Runs vor Final‑Selection.
Ein minimal schlechteres, aber schnelleres und stabileres model ist in Finanzanwendungen oft wirtschaftlich sinnvoll.
Vorgehensweise zur finalen selection: Ziele definieren → Kandidaten shortlist → robuste Validierung über Zeit → Produktionschecks. Nur validierte, reproduzierbare Modelle sollen in Live‑Entscheidungen verwendet werden.
Skalierung & Produktion: viele Serien, Templates, Recovery und stabile Läufe
Skalierung in Produktionsumgebungen verlangt klare Strategien für Subset‑Training, verteiltes Training, Templates und Checkpoints. So minimieren Sie Fehlläufe und schützen Ergebnisse bei langen Runs.
Subset‑Training und Priorisierung
Bei Zehntausenden von series reduziert subset=100 Laufzeit und RAM. Das ist oft ausreichend, da ähnliche Reihen gut generalisieren.
Nutzen Sie weights, um wichtige Reihen bevorzugt zu trainieren. So erreichen kritische features schneller Produktionsreife.
Batching, verteiltes Training und Templates
Partitionieren Sie das dataset in Batches und verteilen Sie training-Jobs auf mehrere Instanzen der machine.
Exportieren Sie bewährte Template‑Konfigurationen per import/Export, um identische parameters und models schnell auf neue Daten zu übertragen.
Checkpointing, Wiederaufnahme und Interrupts
Aktivieren Sie result_file zur Speicherung je Generation. Mit import_results setzen Sie Runs nach Ausfall fort.
Setzen Sie model_interrupt=True: ein Ctrl+C überspringt das aktuelle Modell, ein zweiter beendet den Run. So verlieren Sie nicht den gesamten Fortschritt.
„Starten Sie klein, erhöhen Sie parameters schrittweise und versionieren Logs und Results für reproduzierbare Produktionsergebnisse.“
- Erst kleine Tests, dann Parameter erhöhen.
- Versionieren Sie Ergebnisse und code-Konfigurationen.
- Automatisieren Sie Template‑Imports für konsistente Deployments.
Fazit
Hier finden Sie eine kompakte Checkliste, um von der ersten Installation zur stabilen Forecast‑Pipeline zu gelangen.
Kurz zusammengefasst: Installation (pip install autots), Formatwahl (Wide/Long für pandas), erste Prediction mit superfast‑Parametern und belastbare, zeitbasierte Validierung bilden die Kernschritte für verlässliches time series forecasting.
Wichtig sind saubere data, konservative Modellwahl und reproduzierbare Runs. Nutzen Sie einfache Baselines, prüfen Sie models über mehrere Time‑Fenster und steigern Sie die Komplexität nur bei stabiler Out‑of‑Sample‑Performance.
Praktische Leitlinie: schnell starten (superfast/fast), gezielt vertiefen (Transforms/Ensembles), dann skalieren (subset, batching). Für Produktion: Dataset‑Versionierung, Dokumentation der Runs, Template‑Import/Export und Laufzeit‑Monitoring.
Als nächster Schritt: eigenes stock‑Universum auswählen, Start‑Notebook anlegen, Metriken definieren und schrittweise zur stabilen Pipeline ausbauen.
