Verständnis der historischen Ausführungprozesse
<< Click to Display Table of Contents >> Verständnis der historischen Ausführungprozesse |
NinjaTrader verwendet fortschrittliche Methoden und Techniken der historischen Fill-Verarbeitung, um die bestmöglichen Ergebnisse bei historischen Backtests zu erzielen.
Unser historischer Fill-Algorithmus läuft auf bestehenden Daten, die Sie im Backtesting verwenden, und simuliert historische Aufträge mit der unten beschriebenen Methode, die im Abschnitt "Verständnis des historischen Fill-Algorithmus" beschrieben ist. Sie können optional eine sekundäre Datenreihe einbeziehen, die verwendet wird, um eine detailliertere Ausführung von Aufträgen zu erhalten, was im Abschnitt "Verständnis der Auftragsabwicklung" erläutert wird
Verständnis des historischen Fill-Algorithmus
Historischer Fill-AlgorithmusNinjaTrader bietet zwei Möglichkeiten, die Granularität der historischen Auftragsabwicklung zu steuern: Standard und Hoch. Die Standard Order Fill Resolution verwendet einen Algorithmus, um jeden historischen Balken in drei virtuelle Balken aufzuteilen, um die Preisbewegung innerhalb des Zeitrahmens jedes Balkens nachzuahmen. Die virtuellen Balken werden basierend auf der Nähe des Eröffnungspreises zum Hoch- und Tiefpreis erstellt. Dies ermöglicht realistischere intrabar-Fills im Vergleich zu herkömmlichen Backtesting-Algorithmen, die nur statische OHLC-Werte verwenden.
Die Standardeinstellung erstellt virtuelle Balken nach der folgenden Logik:
Wenn der Open Preis des Balkens näher am Hoch preis als der Tief Preis liegt:
1. Eröffnungskurs zum Hochkurs 2. Ein Höchstkurs zum Tiefkurs 3. Niedriger Preis zum Schlusskurs Wenn der Eröffnungspreis der Bar näher am Tiefstpreis liegt als der Höchstpreis:
1. Eröffnungspreis zum Tiefpreis 2. Niedriger Preis zum hohen Preis 3. Hoher Preis zumSchlusskurs
SlippageSlippage kann zu Ihren Auftragsausführungen hinzugefügt werden, um die realen Marktbedingungen zu simulieren. Der Wert wird in "Ticks", dem Mindestwert der Fluktuation für ein Instrument, ausgedrückt und gilt nur für Markt-, Stop-Market- und Market-if-touchierte Orders. NinjaTrader fügt die Gleitfähigkeit zu jeder Bestellung hinzu, aber Sie können nicht mehr Gleitfähigkeit haben als den hohen/niedrigen Preis des nächsten Balkens. |
Verständnis der Auftragsabwicklungsauflösung
Auflösung der AuftragsabwicklungNinjaTrader ermöglicht es Ihnen, zusätzliche historische Daten einzubeziehen, die detaillierter sind als das, was Sie für den zu verwendenden Strategie-Backtest verwenden, um Ihnen mehr Datenpunkte für die Auftragsabwicklung zu geben. Ermöglicht eine höhere Genauigkeit in der Auftragsausführungssimulation.
Die Auftragsausführungsauflösung von "Standard (am schnellsten)" ist die Standardeinstellung und verwendet den vorhandenen Takttyp und das Intervall, in dem Sie den Backtest durchführen, um Ihre Aufträge auszuführen. Dies bedeutet, dass der historische Füllalgorithmus die gleichen Werte für Öffnen, Hoch, Niedrig, Schließen und Zeit verwendet, die der Strategie für die Ausführung der Auftragsfüllsimulation zur Verfügung stehen.
Wenn Sie die Orderfill-Auflösung "Hoch" wählen, können Sie eine sekundäre Balkenreihe festlegen, die als Preisdaten für die Ausführung Ihrer Aufträge verwendet werden soll, was Ihnen ermöglicht, detailliertere Daten einzubringen, als Sie es derzeit für die Strategie tun. Beispielsweise können Sie eine Strategie haben, die Sie auf "Daily"-Balken ausführen, aber dann "Minute"-Balken einfügen möchten, auf denen der historische Füllalgorithmus basiert.
Die sekundäre Balkenreihe imitiert die Einstellung "Preis basierend auf" in Ihren Einstellungen des Strategy Analyzers, wenn Sie verschiedene Preistypen mischen möchten, z.B. Signale von zuletzt basierten Daten erzeugen und diese zu einer Bid / Ask-Serie ausführen möchten, könnte dies mit einer weiteren kundenspezifischen Programmierung erreicht werden.
|