Lade...
 

Backtest (de)

 

Allgemeine Hinweise

Das backtesting einer Strategie wurde als Schlüsselfunktion implementiert um die Performance einer Strategie auf historischer Basis zu überprüfen.
Es ist möglich einen Backtest für ein einzelnes Instrument zu starten oder für eine ganze Instrumentliste (Portfolio).

Der Backtest benötigt folgendes:

Ab AgenaTrader Discovery oder höher: AgenaTrader++ (plusplus) Strategie.

Das Backtest Setup finden Sie in der Hauptmenüleiste in den Kategorien: Haupt -> Neu -> Backtest.

Backtest  

 

 Workflow:

  • Wählen Sie im SetupEscort eine Analyzer Session aus.
  • Legen Sie im SetupEscort Ihre Einstiegs-, Stopp- und Target-Parameter fest
  • Wählen Sie unter Haupt -> Neu -> Backtest
  • Wählen Sie unter „Allgemeine Optionen“ Ihre Strategie (z.B. AT++)
  • Wählen Sie die gewünschte Datenquelle: z.B. „Datenfeed“ oder „File with Ticks“ (diese müssen Sie downloaden und/oder aus Ihrem File auswählen)
  • Legen Sie die Zeiteinheit fest
  • Wählen Sie die gewünschte Instrumentenliste (optional: wählen Sie zusätzlich per Mausklick ein bestimmtes Instrument an)
  • Definieren Sie Start und Ende mit Datum und Uhrzeit
  • Wählen Sie aus den Tabs den Reiter „Einstellungen“ an
  • Stellen Sie unter „Backtest Parameters“ Ihr Entry-Signal ein und überprüfen Sie, dass Stopps und Targets mit Ihrem Setup übereinstimmen, Sie haben jedoch die Möglichkeit, auch hier noch etwas zu ändern. Bestätigen Sie mit dem „Save Setup“-Button.
  •  Wählen Sie unter „Parameters“ Ihre Analyzer Session (z.B. „Standard“)
  •  Definieren Sie die Zahl der gewünschten Bars, Kaufkraft usw.
  •  Bestätigen Sie mit „Save Setup“. Bitte beachten Sie: Wenn Sie unter „Backtest Parameters“ das Setup verändert haben, überschreiben Sie mit „Save Setup“ Ihre Einstellungen im SetupEscort.
  •  Starten Sie mit „Laufen lassen“ den Backtest, wobei Sie hier nun festlegen können, ob Sie die gesamte Instrumentenliste oder nur ein ausgewähltes Instrument backtesten möchten
  •  Im Bereich unter der Instrumentenliste können Sie den Fortschritt der Berechnungen beobachten bzw. diese stoppen.


Backtest  
 

General Optionen

Input (Eingabe) Reiter ermöglichst die folgenden Einstellungen:

Parameter Bedeutung
Start Date&Time Ein Datum und eine Uhrzeit für den Backtest Start wählen
End Date&Time Ein Datum und eine Uhrzeit für das Backtest Ende wählen
Instrument Lists Auswahl einer Instrumentlsite
Time-Frame Das Zeitintervall für den Daten am Chart e.g. 1Min, 1Stunde, 1Tag (Time-Frame = Ticks ist nicht möglich)
Strategy Eine Strategie wählen (Bsp. selbstprogrammiert oder AT++).Eine AT++ Strategie muss mit dem Setup-Escort erstellt werden, und im Einstellungen-(Settings-)Reiter ausgewählt werden.
Run Hier kann zwischen "run on selected (einzelnes) instrument" oder "run on instrument list" (Portfolio) gewält werden damit wird der Backtest gestartet.
Open Öffnet einen bereits berechneten Backtest der in der Vergangenheit gespeichert wurde
Data Source Hier kann ausgewählt werden ob die Daten zur Kalkulation des Backtests von einem DatenFeed kommen oder von einer Datei.
Datei: mit Bars oder mit Ticks. Die Datei sollte keine Kopfzeile beinhalten.


GeneralOptionsBacktest  

Result (Ergebnis) Reiter bietet die folgenden Möglichkeiten an:

Parameter Bedeutung
View Type Das Ergebnis wird entweder in Amount (Betrag), Percent (Prozent) oder Ticks ausgegeben.
Save Result Ermöglicht das Speichern von Backtest Ergebnissen.


 

Settings (Einstellungen) Reiter

Dieser Reiter zeigt zwei Typen von Strategien:

1. Selbstprogrammierte Strategien oder importierte Strategien

Die Parametereinstellungen können bearbeitet werden.

Zusätzliche Parameter:

  • Buying Power (Kaufkraft)
  • Cash Value (Kontobetrag)
  • Commission (Kommission)
  • Order Handling Mode: tbd (Standard/Advanced: Uni Achen)
  • Slippage (Schlupfverluste)


Backtest Settings  

2. AgenaTrader++ Strategien
Die AT++ Paramenter sind hauptsächliche dieselben wie bereits oben angezeigt, weisen jedoch kleine Unterschiede auf:

  • Die Backtest Parameters Kategorie enthält die Einstellungen aus dem Setup Escort
  • Die Parameters Kategorie erlaubt es eine Analyzer Escort session aus dem Setup Escort zu wählen
  • Es ist mögliche die bearbeiteten Einstellungen mit dem Save Setup Button zu speichern
    • Das speichern überschreibt die Einstellungen im Setup Escort.

SettingsBacktest

Unter Kategorie "Trading" stehen die folgenden Funktionen zur Verfügung:

Funktion Beschreibung
Enable Trading Breaks Im Marktplatz-Escort eingestellte Handelspausen können berücksichtigt oder nicht berücksichtig werden. Ist dieser Parameter als „true“ gesetzt, errechnet der Backtest seine Ergebnisse nur innerhalb der in AgenaTrader eingestellten Handelszeiten. Pre- oder Postmarket-Bewegungen werden nicht berücksichtigt.
Last Opended Trade Handle Mode Sollte während des Backtest der letzte Trade nicht abgeschlossen werden können, dann kann ausgewählt werden, ob dieser Trade dennoch geschlossen werden soll (Option: Close) oder offen bleibt (LeaveOpen). Bei „LeaveOpen“ fehlt für den letzten Trade die Gewinn&Verlust Berechnung.
Orders Handling Mode Standard oder Advanced. Weitere Funktionen für Advanced: Orders settings
Dot Calcualte Entry Market Orders onclose: Optionen „true“ (wahr) oder „false“ (falsch).
Dot Calcualte Exit Market Orders onclose: Optionen „true“ (wahr) oder „false“ (falsch).
Die Standard Einstellung basiert auf dem Backtest Standard Modus. Dort werden Market Orders immer mit dem nächsten Open der Kerze berechnet. Die Funktion kann bei Advanced verändert werden, infolgedessen auch das Close der Kerze verwendet wird.
Dot Decision Mode:
- BestCase: Nicht eindeutige Orders werden mit dem Best möglichen Ergebnis kalkuliert.
- WorstCase: Nicht eindeutige Orders werden mit dem schlechtesten Ergebnis kalkuliert, dass eintreffen kann.
- Ignore: Nicht eindeutige Orders werden ignoriert.


 

Data Source

Backtesting Data Source  

Mögliche Optionen:
- Datenfeed (Bsp. YFeed, TeleTrader usw. oder ein Datenfeed von einem Broker)
- File with Bars: Daten aus einer Datei mit Bars
- File with Ticks: Daten aus einer Datei mit Ticks.

Dateiformat und Formatierung für Daten aus einer Datei:

File with Bars: .csv und .txt  

Backtesting Data Source Code1

File with Ticks: .csv und .txt

Backtesting Data Source Code2

 

Charts Reiter

Der Charts Reiter wird aufgeteilt zwischen Equity Kurve und Chart Historie.
Die Equity Kurve enthält informatione entweder über ein Instrument oder über eine gesamte Instrument Liste (Portfolio) während die Chart Historie immer nur ein Instrument anzeigt.

Backtest(1)  

Die Funktionen Show, Equity und X Axis stehen erst zu Verfügung, nachdem ein Backtest errechnet wurde. 

Repräsentation der Equity Kurve

  • Wenn die Option Show All (alles anzeigen) aktiv ist, zeigt die Equity Kurve alle Trades des backtesting Ergebnisses.
  • Wenn die Option Show Chart (Chart anzeigen) aktiv ist, zeigt die Equity Kurve all jene Trades die von der aktuellen Chart Historie angezeigt werden (Zoom).


Diese beiden Optionen haben auch Auswirkungen auf andere Reiter: Backtest Charts2

  • Show All Auswirkugen auf folgend Reiter: Summary, Trades, Orders, Executions und Periods. Die Ergebnisse dieser Reiter werden für alle Trades ausgegeben.
  • Show Chart Auswirkungen auf folgende Reiter: Summary, Trades, Orders, Executions und Periods. Die Ergebnisse dieser Reiter werden nur für jene Trades ausgegeben, welche von der Chart Historie angezeigt werden (Zoom).

Backtest Charts3

  • Equity Single (einzeln): zeigt nur das ausgewählte Instrument an während
  • Equity All (alle): Instrumete der Instrumente Liste (Portfoliio) anzeigt und für jedes Instrument eine eigene Kurve zeichnet
  • Equity Account (Konto): alle Instrumente der Instrument Liste (Portfolio) in einer gemeinsamen Kurve anzeigt


Arz Wichtige Information! Die Optionen Show All oder Show Chart haben keine Auswirkungen wenn die Equity Optionen auf All oder Account gesetzt wurden. Die Resultate der oben angeführten Reiter werden in diesem Fall immer auf Basis der gesamten Trades berechnet.

Die X Axis Optionen erlauben es die Equity Kurve entweder mit Datum & Gewinn/Verlust oder mit Trades & Gewinn/Verlust anzuzeigen.

 

Navigation
Zur Analyse der Ergebnisse gibt es zwei Zoom Möglichkeiten:

  1. Mausrad
  2. Halten der rechten Maustaste und einen Bereich in der Chart Historie oder Equity Kurve auswählen.

Wie bereits erwähnt haben die Show All oder Show Chart Optionen eine Auswirkung an der Ausgabe der Equity Kurve sowie den Ergebnissen in den anderen Reitern.
Wenn Show Chart aktiv ist, zeigt der Zoom in der Chart Historie die selben Ergebnisse in der Equity Kurve an.
Wenn Show All aktiv ist, hat der Zoom in der Chart Historie keine Auswirkungen auf die Equity Kurve.

Das zoomen in der Equtiy Kurve, auf der anderen Hand, hat immer Auswirkungen auf die Chart Historie und es werden die selben Informationen ausgegeben.

 

Kontext Menü

Kontext Menü Optionen:

  • Copy (kopieren)
  • Save Image As... (Bild speichern als...)
  • Page Setup... (Seiteneisntellungen für den Druck)
  • Print... (Drucken)
  • Show Point Values (Punktwerte anzeigen)
  • Set Scale to Default (Scalierung auf Default zurücksetzen)

Backtest Charts Context  

 

Kontext Menü Graph:

  • Cumulative Profit (kummulierter Gewinn)
  • Daily Net Profit (netto Gewinn pro Tag)
  • Entry Efficiency (Effizienz Einstieg)
  • Exit Efficiency (Effizienz Ausstieg)
  • MAE
  • MFE
  • Monthly Net Profit (netto Profit pro Monat)
  • Weekly Net Profit (netto Profit pro Woche)
  • Total Efficiency (Effektivität Total)
  • Trade Profit/Loss (Gewinn/Verlust pro Trade)


Backtest Charts Graph

 

Kontext Menü Trades:

  • All (alle)
  • Long (nur Long Positionen)
  • Short (nur Short Positionen)

Backtest Charts Trades

 

Kontext Menü Winning/Losing:

  • All (alle)
  • Winning (nur Trades mit Gewinn)
  • Losing (nur Trades mit Verlust)

Backtest Charts Winning Losing

 

Summary (Zusammenfassung) Reiter

Wie der Name bereits impliziert ist der Summary Reiter eine Zussammenfassung aller Trading Ergebnisse.

Backtest Summary  

Indikator Erklärungen:
Die Indikatoren Ergebnisse sind in drei Spalten aufgeteilt: Alle Long und Short Trades gemeinsam sowie Long Trades alleinstehend und Short Trades alleinstehend.

Parameter Bedeutung
Total Net Profit Gesamter Gewinn netto (Gross Profit minus Gross Loss)
Gross Profit Gewinn generiert von allen Trades innerhalb der angegeben Zeitspanne
Gross Loss Verlust generiert von allen Trades innerhalb der angegeben Zeitspanne.
Profit Factor Gross Gewinn dividiert durch Gross Verlust (Bsp. 1 = Gewinn und Verlust sind gleich hoch)
Cumulative Profit Kumulierter Gewinn
Maximum Drawdown Maximaler Verlust in einer einzigen Trading Serie
Commission Kommission generiert für den Broker
Total Number of Trades Eine monetäre Zahl aller Trades
Winning Trades Eine monetäre Zahl aller Trades mit Gewinn
Losing Trades Eine monetäre Zahl aller Trades mit Verlust
Average Trade Durchschnittlicher Gewinn oder Verlust pro Trade
Average Winning Trade Durchschnittlicher Gewinn der profitable Trades
Average Losing Trade Durchschnittlicher Verlust der nicht profitablen Trades
Ration (Win/loss) Verhältnis zwischen Gewinn/Verlust
Maximum Consequence Winners Höchstzahl an Trades einer Gewinnserie
Maximum Consequence Losers Hochstzahl an Trades einer Verlustserie
Largest Winning Trade Höchster Gewinn eines Trades
Largest Losing Trade Höchster Verlust eines Trades
Number of Trades per Day Gesamtzahlt an Trades pro Tag
Average Time in Market (Min) Durchschnittliche Zeit (in Minuten) der Trades im Markt
Average Bars in Trade Durchschnittliche Anzahl der Bars (Bsp. Kerzen) der Trades im Markt
Profit per Month Gewinn aller Trades der in einem Monat generiert wurde
Average MAE(maximum adverse excursion) Durchnittswert der maximalen negativ Kursbewegung die diese Strategie durchläuft gegen des initialen Einstiegs. Diese Kalkulation überprüft die Effektivität der gewählten Strategie und Ihre Chance Preisbewegungen vorherzusagen. Eine niedrige Zahl verweist auf eine effektive Strategie.
Average MFE (maximum favorable excursion) Durchnittswert der maximalen positiv Kursbewegung die diese Strategie durchläuft zugunsten des initialen Einstiegs. Diese Kalkulation überprüft die Effektivität der gewählten Strategie und Ihre Chance Preisbewegungen vorherzusagen. Eine hohe Zahl verweist auf eine effektive Strategie.
Average ETD Durchschnittswert über die Effektivität der Exit Condition, wie gut diese in der Lage ist, die gewünschten Preisbewegungen einzufangen. Dieser Wert zeigt die Differenz zwischen dem best möglichen Preis (MFE) und dem eigentlichen Ausstiegspreis. Eine niedrige Zahl verweist auf eine effektive Exit Condition.

 

Trades Reiter

Der Trades reiter enthält alle Trades aus der Backtest Zusammenfassung.
Mit einem Rechtklick auf die Spaltennamen öffnet sich das Kontextmenü. Die Choose columns Option ermöglicht ein hinzufügen oder entfernen von Spalten.
Mit einem Rechtsklick in die Liste öffnet sich ein anderes Kontextmenü mit der Option die Liste als MS Excel zu exportieren.

BacktestKumPnL  

Tipp: Der G&V zeigt den Gewinn und Verlust des aktuellen Trades an. Der Kumulierte G&V zeigt immer den aktuellen Gesamt-G&V an. Im Bild kann man sehr schön erkennen, wie von oben nach unten - ausgehend vom ersten G&Vder jeweils nächste G&V abgezogen bzw. hinzugerechnet wird.
Das Ergebnis steht dann in der "Kom. G&V"-Spalte, diesem Ergebnis wird dann wiederum der nächste G&V hinzugerechnet oder abgezogen. So geht das im "Zickzack" immer weiter bis zum letzten Trade. Dabei ist zu berücksichtigen, dass es im Cent-Bereich zu minimalsten Abweichungen kommen kann, da der G&V auf zwei Stellen hinter dem Komma gerundet wird, der Preis jedoch manchmal auf drei Stellen und mehr.

Orders Reiter

Der Orders Reiter enthält alle Orders aus der Backtest Zusammenfassung.
Mit einem Rechtklick auf die Spaltennamen öffnet sich das Kontextmenü. Die Choose columns Option ermöglicht ein hinzufügen oder entfernen von Spalten.
Mit einem Rechtsklick in die Liste öffnet sich ein anderes Kontextmenü mit der Option die Liste als MS Excel zu exportieren.

Backtest Orders  

 

Beschreibung Orderausführung

Der Backtest simuliert ein Echt-Zeit Verhalten in zwei verschieden Modi.:
Modus Nr. 1 - Tick basierend (hat dasselbe Verhalten wie das Simulationskonto).
Wenn der aktuelle Tick eine offene order berührt, dann wird dieser Tick Preis als "fill" Preis verwendet.
Modus Nr. 2 - Kerzen basierend (simuliert den Tick basierenden Modus).

Jede Kerze wird in vier Teile aufgeteilt:

  • wachsende Kerze: Open; High; Low; Close.
  • fallende Kerze: Open; Low; High; Close.

Wenn z.B. der High Preis eine offene Order berührt, dann wird dieser Preis als "fill" Preis verwendet.
Dasselbe ist gültig, wenn eine offene Order den Open, Low oder Close Preis berührt.

Unterschiede zwischen Market, Stop und StopLimit Order:
Eine Market und Stop Order wird mit derselben Kerze ausgeführt.
Eine StopLimit Order wird mit der nächsten Kerze ausgeführt.
Beispiel. Wenn z.B. Zeiteinheit = 1 Tag, dann wird eine StopLimit Order erst am darauf folgenden Tag ausgeführt, während eine Market und Stop Order am selben Tag ausgeführt wird.

 

Executions (Ausführungen) Reiter

Der Executions Reiter enthält alle Order Ausführungen aus der Backtest Zusammenfassung.
Mit einem Rechtklick auf die Spaltennamen öffnet sich das Kontextmenü. Die Choose columns Option ermöglicht ein hinzufügen oder entfernen von Spalten.
Mit einem Rechtsklick in die Liste öffnet sich ein anderes Kontextmenü mit der Option die Liste als MS Excel zu exportieren.

Backtest Executions  

 

Periods (Perioden) Reiter

Der Periods Reiter enthält Backtest Ergebnisse in einer Zusammenfassung basierend auf verschiedenen Kalender Einstellungen.
Mit einem Rechtklick auf die Spaltennamen öffnet sich das Kontextmenü. Die Choose columns Option ermöglicht ein hinzufügen oder entfernen von Spalten.
Mit einem Rechtsklick in die Liste öffnet sich ein anderes Kontextmenü mit den Optionen die Liste als MS Excel zu exportieren sowie verschiede Ergebnisausgaben.

Ausgabemöglichkeiten (types):

  • Annual (Jahr)
  • Monthly (Monat)
  • Weekly (Woche)
  • Day of Week (Wochentage)
  • Daily (Tag)
  • Hour of Day (Tageszeit)


Backtest Periods  

Backtest Periods1  

 

Trading Info Reiter

Der Trading Info Reiter enthalt alle Trade Informationen dargestellt als Baum.
Es sind Trading relevante Informationen wie Partial Trade (Teiltrade), Order und Execution (Ausführung) angeführt.
Mit einem Rechtklick auf die Spaltennamen öffnet sich das Kontextmenü. Die Choose columns Option ermöglicht ein hinzufügen oder entfernen von Spalten.

Backtest Trading Info  

Wissenswertes

Damit der Backtest Signale für den Einstieg generieren kann, muss definiert werden wieviel Historie dieses Signal benötigt. Dazu muss die Einstellung "Bars benötigt" angepasst werden.
In der Regel ist die Standard Einstellung mit 20 Bars völlig ausreichend. Sollte das Signal, welches über den Condition Escort erstellt oder selbst programmiert wurde, jedoch mehr Historie benötigen, dann muss diese Einstellung darauf angepasst werden. Dabei ist zu beachten, dass die angegeben Historie zur Berechnung benötigt wird und einer Einstellung von 20 Bars wird erst ab dem 21. Bar ein Signal angezeigt werden.

Hinweis für Markttechnik Signale:
Signale die mit Markttechnik Indikatoren wie dem P123 erstellt wurden, benötigen eine sehr lange Historie um Signale richtig anzuzeigen. Hier sollten mindestens 500 oder mehr Bars einstellt werden. Zu beachten ist, dass genügend Historie vom Datenfeed oder einer Datei geliefert werden. Die ersten z.B. 500 Bars zeigen keine Signale an, sondern erst die darauf folgenden Bars.

Weiterentwicklung von Standard zu Advanced

In Zusammenarbeit mit der Universität Aachen (Institut für Mathematik), wurde die Funktion Backtest des AgenaTrader weiterentwickelt und der Advanced Modus geschaffen. Das Foschungspaper von Dr. Stanislaus Maier-Paape und Dr. Andreas Platen weist darauf hin, dass eine Strategie im Backtest lediglich Ergebnisse für historische Daten liefert und keine Grundlage sein darf für den Live Handel, da die zukünftigen Ergebnisse sehr stark davon abweichen können. Die Funktion Backtest, die von allen führenden Softwareherstellern angeboten wird, spielt dennoch eine wesentliche Rolle für die Qualität der Software. Ein gut funktionierender Backtest Algorithmus ist förderlich um ein gut funktionierenden Handelssystem zu entwickeln. Je genauer die Ergebnisse im Backtest kalkuliert werden, desto zuverlässiger ist das Handelssystem im Live-Trading.

Die Forschung zeigt im Weiteren auf, dass trotz sehr fortschrittlich entwickelter Algorithmen und Tests am Markt, die Berechnungen in einigen Fällen nicht korrekt ausgegeben werden. In einem dieser Fälle spricht man von Situationen die nicht eindeutig feststellbar sind, kurz SNU (situation which is not unique). Um es zu ermöglichen auch auf SNUs zu reagieren, wurde die Funktion „Decision Mode“ entwickelt, welche dem Anwender der Software eine Entscheidungsmöglichkeit gibt. Folgende drei Einstellungen können getroffen werden:

  • Worst case: Der SNU wird anhand des schlecht möglichsten Ergebnisses evaluiert.
  • Best case: Der SNU wird anhand des best möglichen Ergebnisses evaluiert.
  • Ignore: Das Einstiegssignal oder der ganze Trade wird ignoriert.

SNUs treten nur in Verbindung mit Stop, Limit und StopLimit Orders auf. Market Orders können immer eindeutig festgestellt werden.

Search AgenaTrader Wiki

Sprache wechseln