Das Backtesten von Handelssystemen ist eine wichtige Sache. Ob das System danach manuell gehandelt wird oder automatisch laufen gelassen wird - Jedes System sollte zuerst ausführlichen Tests unterzogen werden bevor es live geht. Das Testen eines Systems lässt sich in zwei Phasen unterteilen:
Backtesten mit historischen Daten
Beim backtesten mit historischen Daten lässt man das Handelssystem einfach mal über eine ausgewählte vergangene Zeitperiode durchlaufen. Danach gibt es eine Auswertung in welcher man sehen kann wie das System performt hätte in der entsprechenden Zeitperiode mit den entsprechenden Einstellungen.
Dabei ist es wichtig, dass man verlässliche historische Daten verwendet. Am besten auch die Daten des Brokers über welchen man das System dann später laufen lassen will. Denn nur so kommt man am ehesten an die Resultate ran welche dann auch effektiv erzielt werden könnten mit dem System.
Desweiteren ist es wichtig, dass man das System über eine möglichst lange Zeitperiode backtestet. Hierbei kommt es natürlich drauf an, in welchem Timeframe das System laufen soll. Bei einem System welches für den 5 Minuten Timeframe ausgerichtet ist, ist ein Backtest über die letzten 3 Monate schon eine eher lange Periode. Ein System welches für den 1 Stunden Timeframe ausgerichtet ist, sollte mindestens über eine Zeitperiode von 1 Jahr backgetestet werden. Bei einem System welches für den 1 Tageschart ausgerichtet ist, sollten der Backtest demnach mind. 5 Jahre umfassen usw. Grundsätzlich gilt: Je länger die Zeitperiode des Backtests, desto verlässlicher die Resultate.
Aus den den Backtests können wir jetzt wertvolle Daten rausziehen. Dabei sind die wichtigsten Kriterien:
-Max. Drawdown!!!
-Profit
-Profit Factor
-Konstanz des Graphen
Das absolute Killer Kriterium ist der Maximale Drawdown. Denn ein System kann noch so erfolgreich sein, wenn irgendwann ein zu grosser Drawdown kommt, dann sind die ganzen Gewinne wieder weg. Und vor allem birgt ein solches System grosse Risiken und diese gilt es zu vermeiden.
Falls die Resulate des Backtests nicht zufriedenstellend sind, können die Einstellungen des Systems angepasst werden. Dazu lässt man am besten mal den Computer mit dem Optimizer drüber und probiert die verschiedenen Variablen aus. Das Optimieren eines Handelssystems sollte man aber mit Vorsicht geniessen. Ich habe dazu einen separaten Thread "Optimieren von Handelssystemen" gemacht. Wenn dabei immer noch kein zufriedenstellendes Resultet erreicht werden kann, dann scheint die Strategie wohl einfach nicht aufzugehen. Es ist sehr wichtig, dass man das auch einsehen kann. Es kommt oft vor, dass man sich irgendwelche Strategien ausdenkt und wenn man diese dann in ein HS umwandelt und testet merkt man, dass die Performance einfach nicht stimmt oder aber zwischen durch zu grosse Drawdowns entstehen, was das HS zu risikoreich macht. In diesem Fall sollte man dies abzeptieren und sich einem neuen Projekt widmen.
Forward testen auf einem Demokonto
Nachdem die Backtests abgeschlossen sind, sollte das System zuerst für eine gewisse Zeitperiode auf einem Demokonto unter "Live Bedingungen" getestet werden. Auch hier sollte die Zeitdauer des Tests dem entsprechenden Timeframe des Systems angepasst werden. Und auch hier gilt wieder: Je länger der Test durchgeführt wurde, desto verlässlicher die Daten.
Wie seht ihr das? Mich nehmen folgende Dinge wunder:
- Über was für eine Zeiperiode lässt ihr die Backtests im Normalfall laufen?
- Was für Werte (Drawdown, Profit Factor, ...) erachtet ihr als gut?
Backtesten mit historischen Daten
Beim backtesten mit historischen Daten lässt man das Handelssystem einfach mal über eine ausgewählte vergangene Zeitperiode durchlaufen. Danach gibt es eine Auswertung in welcher man sehen kann wie das System performt hätte in der entsprechenden Zeitperiode mit den entsprechenden Einstellungen.
Dabei ist es wichtig, dass man verlässliche historische Daten verwendet. Am besten auch die Daten des Brokers über welchen man das System dann später laufen lassen will. Denn nur so kommt man am ehesten an die Resultate ran welche dann auch effektiv erzielt werden könnten mit dem System.
Desweiteren ist es wichtig, dass man das System über eine möglichst lange Zeitperiode backtestet. Hierbei kommt es natürlich drauf an, in welchem Timeframe das System laufen soll. Bei einem System welches für den 5 Minuten Timeframe ausgerichtet ist, ist ein Backtest über die letzten 3 Monate schon eine eher lange Periode. Ein System welches für den 1 Stunden Timeframe ausgerichtet ist, sollte mindestens über eine Zeitperiode von 1 Jahr backgetestet werden. Bei einem System welches für den 1 Tageschart ausgerichtet ist, sollten der Backtest demnach mind. 5 Jahre umfassen usw. Grundsätzlich gilt: Je länger die Zeitperiode des Backtests, desto verlässlicher die Resultate.
Aus den den Backtests können wir jetzt wertvolle Daten rausziehen. Dabei sind die wichtigsten Kriterien:
-Max. Drawdown!!!
-Profit
-Profit Factor
-Konstanz des Graphen
Das absolute Killer Kriterium ist der Maximale Drawdown. Denn ein System kann noch so erfolgreich sein, wenn irgendwann ein zu grosser Drawdown kommt, dann sind die ganzen Gewinne wieder weg. Und vor allem birgt ein solches System grosse Risiken und diese gilt es zu vermeiden.
Falls die Resulate des Backtests nicht zufriedenstellend sind, können die Einstellungen des Systems angepasst werden. Dazu lässt man am besten mal den Computer mit dem Optimizer drüber und probiert die verschiedenen Variablen aus. Das Optimieren eines Handelssystems sollte man aber mit Vorsicht geniessen. Ich habe dazu einen separaten Thread "Optimieren von Handelssystemen" gemacht. Wenn dabei immer noch kein zufriedenstellendes Resultet erreicht werden kann, dann scheint die Strategie wohl einfach nicht aufzugehen. Es ist sehr wichtig, dass man das auch einsehen kann. Es kommt oft vor, dass man sich irgendwelche Strategien ausdenkt und wenn man diese dann in ein HS umwandelt und testet merkt man, dass die Performance einfach nicht stimmt oder aber zwischen durch zu grosse Drawdowns entstehen, was das HS zu risikoreich macht. In diesem Fall sollte man dies abzeptieren und sich einem neuen Projekt widmen.
Forward testen auf einem Demokonto
Nachdem die Backtests abgeschlossen sind, sollte das System zuerst für eine gewisse Zeitperiode auf einem Demokonto unter "Live Bedingungen" getestet werden. Auch hier sollte die Zeitdauer des Tests dem entsprechenden Timeframe des Systems angepasst werden. Und auch hier gilt wieder: Je länger der Test durchgeführt wurde, desto verlässlicher die Daten.
Wie seht ihr das? Mich nehmen folgende Dinge wunder:
- Über was für eine Zeiperiode lässt ihr die Backtests im Normalfall laufen?
- Was für Werte (Drawdown, Profit Factor, ...) erachtet ihr als gut?