Bitsgap logo
 Suche
Walk-Forward-Test für Krypto-Bots: Ein Praxisbeispiel

Walk-Forward-Test für Krypto-Bots: Ein Praxisbeispiel

Wählen Sie Einstellungen auf früheren Daten, frieren Sie diese für ein späteres Fenster ein und erhalten Sie den Verlauf des Eigenkapitals. Gehen Sie die Aufteilung nach Datum, die Auswahlregel, das Compounding und die Entscheidungen zum offenen Bestand durch.

Sie testen zwanzig Bot-Konfigurationen auf demselben Chart und wählen diejenige mit der höchsten Rendite aus. Deren Einstellungen spiegeln nun Informationen aus dem gesamten Zeitraum wider. Wenn Sie sie erneut auf denselben Daten ausführen, erhalten Sie keine neuen Erkenntnisse.


Beim Walk-Forward-Test werden Einstellungen wiederholt in einem früheren Trainingsfenster ausgewählt, für ein späteres Testfenster eingefroren und die Ergebnisse aus diesen späteren Fenstern zusammengeführt. So lässt sich ein Auswahlprozess unter wechselnden Bedingungen untersuchen, wobei zukünftige Preise bei jeder Auswahlentscheidung außen vor bleiben.

Bei GRID- und DCA-Strategien gibt es ein zusätzliches Abrechnungsproblem: Coins und offene Positionen können das Stichtag überdauern. Ein sinnvoller Test benötigt eine Regel für diese Bestände, bevor das erste Ergebnis vorliegt.

Training, Test und Forward-Demo bedeuten unterschiedliche Dinge

BegriffWas Sie tunWas es zeigen kann
In-Sample-TrainingVergleichen Sie zulässige Einstellungen in einem früheren historischen FensterWelchen Kandidaten Ihre Auswahlregel wählen würde
Out-of-Sample-HistorientestFühren Sie die gewählten Einstellungen im nächsten Fenster ohne erneutes Anpassen ausWie sich diese Auswahl auf späteren historischen Daten verhält
Walk-Forward-SequenzWiederholen Sie Training und Test, während die Zeit fortschreitetDas kombinierte Verhalten des Auswahlprozesses
Forward-DemoEin Setup einfrieren und neue Marktdaten mit virtuellem Kapital beobachtenOb der Workflow und das Verhalten in einer neuen Periode Ihrem Plan entsprechen

Die allgemeine Backtesting-Anleitung behandelt die umfassenderen Einschränkungen historischer Simulationen. Walk-Forward fügt eine wiederholte Zeitaufteilung hinzu; es beseitigt jedoch weder Ausführungsvoraussetzungen, noch Datenfehler oder die Versuchung, Regeln nach Sichtung der Ergebnisse zu überarbeiten.

Die Walk-Forward-Dokumentation von QuantConnect beschreibt die Parameterauswahl über rollierende Fenster hinweg sowie den Zielkonflikt bei der Häufigkeit der Optimierung. Häufigeres Re-Optimieren führt zu mehr Entscheidungen und bietet mehr Gelegenheiten, sich an aktuellem Rauschen anzupassen.

Walk-Forward-Test für Krypto-Bots: Ein Praxisbeispiel-1

Schreiben Sie das Protokoll, bevor Sie die Ergebnisse vergleichen

Wählen Sie den Markt, das Datenintervall, die Zeitzone und die genauen Kandidateneinstellungen aus. Halten Sie die Kandidatenliste so klein, dass sie überprüfbar bleibt. Ein Test mit drei festgelegten Konfigurationen lässt sich leichter erklären als eine Suche durch Tausende undokumentierter Kombinationen.

Geben Sie außerdem Folgendes an:

  • Die Trainingsdauer und Testdauer, einschließlich der genauen Stichtags-Zeitstempel.
  • Die Auswahlkennzahl, das Mindestmaß an Evidenz und die Entscheidungsregel bei Gleichstand.
  • Gebühren, Slippage, Mindestgrößen, Rundung und das Ausführungsmodell.
  • Die Behandlung von Beständen und offenen Orders an jedem Stichtag.
  • Das Startvermögen des Benchmarks und die Rebalancing-Regeln.

Ein hypothetisches Protokoll könnte zum Beispiel den Kandidaten mit der höchsten Trainingsrendite unter drei Kandidaten auswählen, deren Trainings-Drawdown unter einem festgelegten Limit bleibt. Qualifiziert sich keiner, hält die Strategie im nächsten Testmonat Cash. Legen Sie das Drawdown-Limit und das Fallback fest, bevor Sie die Testmonate betrachten.

Das Limit ist eine Auswahlbeschränkung, kein Versprechen über zukünftigen Drawdown. Eine Strategie, die es im Trainingsfenster einhält, kann es im Testfenster überschreiten.

Teilen Sie die Zeiträume so auf, dass kein Testmonat doppelt gezählt wird

Verwenden Sie in diesem beispielhaften rollierenden Zeitplan drei Monate als Trainingsfenster und einen Monat als Testfenster. Alle untenstehenden Zeitstempel sind in UTC angegeben, und jedes Intervall schließt den Beginn ein und das Ende aus.

RundeTrainingsfensterUnberührtes Testfenster
11. Jan bis 1. Apr1. Apr bis 1. Mai
21. Feb bis 1. Mai1. Mai bis 1. Jun
31. Mär bis 1. Jun1. Jun bis 1. Jul
41. Apr bis 1. Jul1. Jul bis 1. Aug

Trainingsfenster überschneiden sich. Die vier Testfenster tun dies nicht. Der April kann nach Abschluss als historisches Trainingsdatenmaterial für die nächste Runde dienen; Sie dürfen jedoch den Kursverlauf des Aprils nicht verwenden, um die im April selbst getesteten Einstellungen auszuwählen.

Speichern Sie die Auswahl, die an jedem Stichtag getroffen wurde. Ein vollständiges Protokoll umfasst auch abgelehnte Kandidaten und deren Trainingskennzahlen, sodass eine andere Person nachvollziehen kann, warum der Gewinner ausgewählt wurde.

Eine vollständige erste Runde

Die folgende Tabelle enthält fiktive Lehrwerte. Es handelt sich nicht um gemessene Backtesting-Ergebnisse oder Marktbeobachtungen. Angenommen, die schriftliche Auswahlregel verlangt einen Trainings-Drawdown von höchstens 10 % und wählt dann die höchste Netto-Trainingsrendite aus. Alle Renditen sind nach den im Modell angegebenen Kosten berechnet.

KandidatTrainingsrenditemaximaler Drawdown im TrainingZulässig?
A+5,0 %8,0 %Ja
B+8,0 %15,0 %Nein
C+4,0 %6,0 %Ja

Das Protokoll wählt A aus. Die höhere Rendite von Kandidat B setzt die festgelegte Drawdown-Beschränkung nicht außer Kraft. Kandidat C bleibt im Protokoll, auch wenn er den Vergleich verliert.

Frieren Sie A für April ein. Angenommen, das Lehrbeispiel weist ihm für April eine Nettorendite von −2 % zu. Dieser Wert wird in das Out-of-Sample-Protokoll übernommen. Zu C zu wechseln, weil es im April besser abgeschnitten hätte, würde den Testmonat in die Entscheidungsfindung einbeziehen.

Am Stichtag im Mai vergleicht das ursprüngliche Protokoll erneut alle Kandidaten anhand der Daten von Februar bis April. Es kann C für Mai auswählen, wenn C diesen neuen Trainingsvergleich gewinnt. Dies ist eine geplante Aktualisierung unter Verwendung der zu diesem Zeitpunkt verfügbaren Informationen.

Fassen Sie die späteren Testfenster zu einer gemeinsamen Equity-Kurve zusammen

Nehmen wir an, die nächsten Auswahlen und Testergebnisse sehen wie folgt aus. Diese Werte setzen das gleiche fiktive Buchhaltungsbeispiel fort und stammen nicht aus einer echten Strategie-Simulation.

TestmonatAusgewählte KonfigurationNettorendite im TestStartkapitalEndkapital
AprilA−2,0 %1.000,00 $980,00 $
MaiC+1,0 %980,00 $989,80 $
JuniA−3,0 %989,80 $960,11 $
JuliC+2,0 %960,11 $979,31 $

Die zugrunde liegenden ungerundeten Endwerte sind 980, 989,8, 960,106 und 979,30812. Die kombinierte Rendite beträgt:

(1 − 0,02) × (1 + 0,01) × (1 − 0,03) × (1 + 0,02) − 1 = −2,069188 %.

Die Addition der vier Prozentsätze ergibt −2 %, was vom aufgezins­ten Ergebnis abweicht. Übernehmen Sie das Endkapital des vorherigen Fensters in das nächste und runden Sie nur zur Anzeige.

Die Monatsend-Beobachtungen zeigen einen stärksten Rückgang von etwa 3,99 % gegenüber den anfänglichen 1.000,00 $. Das Eigenkapital hätte im Monatsverlauf noch weiter fallen können, daher lässt sich anhand der monatlichen Beobachtungen der tatsächliche maximale Drawdown nicht bestimmen.

Für dieses Rechenbeispiel gilt: Jeder Stichtagsreset ist in den angegebenen monatlichen Nettorenditen enthalten. Ein echter Backtest muss diese Resets anhand seiner Bestände und seines Ausführungsmodells berechnen.

Entscheiden Sie, was mit offenen GRID- oder DCA-Beständen geschieht

Angenommen, ein Bot beendet den April mit 0,01 BTC und 400 USDT. Bei einem angenommenen BTC-Kurs von 50.000 $ beträgt sein Eigenkapital 900 USDT. Zu Beginn eines neuen Monats wird das ursprüngliche Startvermögen von 1.000 USDT nicht wiederhergestellt.

Wählen Sie eine einheitliche Stichtagsregelung:

Bestände übernehmen. Übertragen Sie die tatsächlichen Coins, das Guthaben und den Positionsstatus in das nächste Testfenster. Legen Sie fest, wie sich eine Änderung der Einstellungen auf bestehende Orders und Bestände auswirkt. Der Simulator muss diesen Übergang unterstützen; ein neuer Backtest, der mit den Standardwerten startet, bildet dies möglicherweise nicht ab.

Schließen und zurücksetzen. Offene Orders stornieren, verbleibende Positionen gemäß dem angegebenen Ausführungsmodell verkaufen oder schließen, Kosten abziehen und das nächste Fenster mit dem daraus resultierenden Eigenkapital beginnen. Falls das nächste Setup einen Startbestand an Coins benötigt, diesen Erwerb und die entsprechenden Kosten ebenfalls modellieren.

Beide Stichtagsregelungen können einen realen Betriebsprozess abbilden. Wenn man sie nachträglich anhand der Ergebnisse mischt, können Verluste verschleiert werden. Verwenden Sie im Benchmark nach Möglichkeit dieselbe Regelung und zeigen Sie die Auswirkungen einer abweichenden Regelung als separat gekennzeichneten Sensitivitäts-Check.

Überprüfen Sie das Fill-Modell und den Benchmark

Dass eine Kerze einen Limitpreis berührt, beweist nicht, dass Ihre Order vollständig ausgeführt worden wäre. Kerzendaten verbergen zudem oft, ob zuerst das Kauf- oder das Verkaufsniveau erreicht wurde. Dicht gesetzte GRID-Einstellungen können in einer Simulation, die von einer günstigen Reihenfolge innerhalb der Kerze ausgeht, attraktiv erscheinen.

Dokumentieren Sie, wie das Modell mit Teilausführungen, Ausführungsreihenfolge, Spread und Gaps umgeht. Wiederholen Sie die Analyse mit ungünstigeren Kosten oder Ausführungen, sofern das Tool dies unterstützt. Ein Fazit, das nach einer kleinen Kostenänderung verschwindet, sollte genauer untersucht werden.

Verwenden Sie für den Vergleich dieselben Daten, das gleiche Startkapital und die gleichen Anfangswerte. Ein Bot, der zur Hälfte in Coins und zur Hälfte in Cash startet, ist nicht direkt mit einem Benchmark vergleichbar, der vollständig investiert beginnt – es sei denn, Sie erläutern diesen Unterschied in der Allokation.

Die Backtesting-Ergebnis-Checkliste ist hilfreich, um den resultierenden Bericht zu überprüfen. Behalten Sie den monatlichen Verlauf, die Handelsaktivität, das Exposure und die Kosten zusammen mit der Gesamtrendite im Blick.

Halten Sie die abschließende Bewertung getrennt vom Protokolldesign.

Wiederholte Walk-Forward-Tests können selbst zu Training werden. Wenn Sie alle vier Testmonate untersuchen, die Kandidatenliste ändern und denselben Zeitraum erneut durchlaufen, hat die überarbeitete Methode Informationen aus diesen Monaten verwendet.

Protokollieren Sie diese Überarbeitung und reservieren Sie den später unberührten Verlauf oder neue Forward-Daten für die nächste Auswertung. Ein neues Label auf denselben Daten macht sie nicht wieder „ungesehen“.

Der herunterladbare Bericht kann einfach gehalten sein: eine Zeile pro Runde mit Trainingsdaten, Kandidatenversion, Auswahlkennzahlen, gewählter Konfiguration, Testdaten, Kostenmodell, Stichtagsregelung und Netto-Testergebnis. Bewahren Sie die Rohberichte und Datenverweise daneben auf. Das folgende Beispiel enthält die fiktive Tabelle als exportierbare CSV-Datei, um die Buchführung zu üben.

Führen Sie nach den historischen Überprüfungen einen festen Demo-Lauf durch

Üben Sie die Buchführung des Beispiels

Laden Sie die vier fiktiven Testmonats-Zeilen herunter, einschließlich Start- und Endkapital. Dies sind erfundene Lehrwerte, kein Backtesting-Bericht.

Beobachten Sie Ihr Setup in der Bitsgap-Demo

Nachdem Sie Ihre historische Analyse in einem Tool abgeschlossen haben, das die erforderlichen Fenster und die Buchhaltung unterstützt, frieren Sie eine unterstützte Bot-Konfiguration in der Bitsgap-Demo ein. Notieren Sie das Startvermögen und die Einstellungen, und beobachten Sie den Bot dann mit virtuellem Kapital und aktuellen Marktpreisen. Die Demo ist eine eigenständige Forward-Demo; dieser Ablauf setzt keinen integrierten Walk-Forward-Optimierer voraus.

Häufig gestellte Fragen

Verhindert der Walk-Forward-Test Overfitting?

Es reduziert eine Quelle von In-Sample-Bias, indem jedes Auswahlfenster von seinem späteren Test getrennt wird. Wiederholte Protokolländerungen, Datenlecks, unrealistische Ausführungen und selektive Berichterstattung können dennoch zu irreführenden Ergebnissen führen.

Wie lang sollten die Fenster sein?

Es gibt keine universelle Länge. Die Handelsfrequenz, die verfügbare Historie und die Auswahlmethode bestimmen, wie viele Belege jedes Fenster enthält. Die Aufteilung in drei Monate und einen Monat dient hier als Lehrbeispiel.

Kann ich die Renditen aus einzelnen Testfenstern addieren?

Verkettete sequenzielle Renditen, indem jedes Testfenster mit dem Endkapital des vorherigen Fensters startet. Bewahren Sie außerdem den zugrunde liegenden Verlauf des Kapitals, die Kosten und die Exponierung; eine alleinige Endprozentzahl verschleiert wichtige Unterschiede.

Ist eine Forward-Demo dasselbe wie ein Out-of-Sample-Backtest?

Ein historischer Out-of-Sample-Test verwendet spätere historische Daten in einem Simulator. Die Forward-Demo beobachtet neue Daten mit virtuellem Kapital. Beide Methoden haben ihre Grenzen, und keine garantiert Live-Ausführungen oder zukünftige Renditen.

Wollen Sie mehr Gewinn mit Kryptowährungen erreichen?

Bitsgap hilft Krypto-Händlern, mit automatisierten Handelslösungen 24/7 mehr Geld zu verdienen.

Testversion starten

*7-Tage PRO Tarif Testversion. Keine Kreditkarte erforderlich

Testen Sie den PRO-Tarif von Bitsgap kostenlos für 7 Tage, entscheiden Sie sich später für einen Tarif

In 3 Schritten erledigt und handelt für Sie.

Alle Ihre Daten sind durch eine High-End-Verschlüsselung gesichert.