Um die hier gestellte Frage etwas zu erweitern , möchte ich versuchen, eine Strategie mit einem simulierten (Papier-) Handel zu testen. Als ersten Schritt habe ich versucht, Broker zu finden, die eine bequeme simulierte Handelsplattform anbieten. Nach einigem Nachdenken habe ich mich jedoch für einen einfachen manuellen "Excel" -Ansatz entschieden. Meine Strategie basiert auf den folgenden Annahmen:
Also werde ich im Grunde auf den nächsten Handelstag warten, die tatsächlichen Preise an diesem Tag sehen und den Preis aufschreiben, den ich bezahlt/erhalten hätte. Unnötig zu erwähnen, dass es mir hier vor allem darum geht, eine möglichst realitätsnahe Simulation zu erstellen. Also habe ich mir überlegt, welche Faktoren berücksichtigt werden müssen, um diesen Simulationsprozess etwas lebensechter zu gestalten. Dabei bin ich auf folgende Liste gekommen:
Das letzte (dritte) Problem scheint problematisch, da ich nicht herausfinden kann, wie ich das berücksichtigen soll. Es ist völlig in Ordnung, nur den Schlusskurs für die Entscheidungsfindungsphase zu verwenden, aber wenn ich die Order am Tag danach ausführe, möchte ich sicher sein, dass ich die gewünschten Papiere tatsächlich kaufen/verkaufen kann, und das möchte ich nicht Nehmen Sie an, dass der Eröffnungskurs des Tages gleich dem Schlusskurs des letzten Tages ist. Nach meinem Verständnis muss ich also Zugriff auf das Auftragsbuch haben , um die tatsächlichen Geld-/Brief-Anforderungen zu sehen, einschließlich der Anzahl der Aktien (oder irgendetwas anderem). Es scheint mir, dass die Verwendung der Orderbuchaufzeichnungen in meinen Simulationen die Ergebnisse realer machen wird, sodass alle erfolglosen/teilweise ausgeführten Orders in die Berechnungen einbezogen werden.
Sind Sie einverstanden (damit? Kann ich tatsächlich auf diese Informationen zugreifen oder können sie indirekt auf irgendeine Weise berechnet werden? Welche anderen Faktoren könnte ich in meine Berechnungen einbeziehen, um sie robuster zu machen?
Ich glaube, du bist auf dem falschen Weg. Immer mehr Samples aus der realen Welt zu erhalten, macht Ihren Backtest nicht genauer, es bestätigt nur, dass Ihre Strategie einem bestimmten Sample-Pfad eines stochastischen Prozesses standhalten kann.
Der Grund, warum Sie es einfach finden, Gebühren, Provisionen, Steuern usw. einzubeziehen, liegt darin, dass es sich um einen statischen und konstanten Prozess handelt – nun, sie können sich im Laufe der Zeit ändern, sind aber definitiv nicht mit den Märkten korreliert.
Die Modellierung der Renditen über Nacht oder der obersten Ebenen des Auftragsbuchs am nächsten Tag ist eine ernsthafte Arbeit. Zuerst müssen Sie ein geeignetes Modell auswählen (das ist meist theoretische Arbeit, aber Erfahrung kann sehr helfen). Dann müssten Sie, um es datengesteuert zu machen, Tausende von Tagen mit Beispieldaten auf einer Reihe von Tausenden von Instrumenten durchpflügen, um ein „Gefühl“ (auch bekannt als signifikante Modellparameter) zu bekommen.
Apropos Data Mining, ich denke, Excel ist das falsche Werkzeug für den Job. Level-2-Daten (sogar nur die ersten 10 Levels) sind ein riesiger Blob. Beispielsweise wiegen die historischen Daten von NYSE OpenBook in den letzten 10 Jahren gewaltige 15 TB komprimiert (unkomprimiert 74 TB) und kosten 200.000 USD.
Wie auch immer, was andere Faktoren anbelangt, die berücksichtigt werden müssen:
Wie also all dies in einem Backtest berücksichtigen? Persönlich würde ich für jeden Faktor, den Sie berücksichtigen möchten, einige Strafbedingungen (als % auf Renditebasis) eingeben, nicht fest codieren. Sie können dann einen Belastungstest durchführen , indem Sie diese Parameter untersuchen (dh einige Werte im Bereich von 0 zuweisen, was auch immer passt). Untersuchen Sie sie einzeln (stellen Sie jeweils nur einen Strafterm ein), um ein Gefühl dafür zu bekommen, wie die Strategie auf Stress durch diesen Faktor reagieren könnte. Dann können Sie den Backtest mit typischen (oder beobachteten) Kombinationen von Penalty-Faktoren durchführen und sie langsam insgesamt betonen.
Bearbeiten Sie
nur, um Verwirrung über die Terminologie zu vermeiden. Ein Backtest im engeren Sinne (hätte ich diese Strategie vor X Jahren implementiert, was wäre passiert?) wird von keiner Modellierung profitieren, nur weil die reale Welt für uns „das Sampling übernimmt“.
Um jedoch die Robustheit einer Strategie zu bewerten, sollten Sie die zusätzlichen Faktoren berücksichtigen und einige Stresstests durchführen. Wenn die Strategie in der realen Welt oder in einem No-Stress-Szenario gut abschneidet, aber Verluste produziert, sobald hin und wieder ein kleiner Schlupf auftritt, könnten Sie daraus schließen, dass die Strategie sehr fragil ist. Der Schlüssel liegt darin, den maximalen Stress zu untersuchen, den die Strategie bewältigen kann (mit welchem Maß auch immer); wenn viel kann man die Strategie robust nennen.
Letzteres nenne ich persönlich einen Backtest; das erste Verfahren hieße "Verlängerung in die Vergangenheit" oder so.
Leichte Literatur:
Sie sagten, die Entscheidung wird von EOD getroffen. Wenn Sie die Entscheidung vor Börsenschluss getroffen haben, würde ich zum Schlusskurs ausführen. Wenn Sie Aktien mit einem anständigen Volumen handeln, würde ich mir keine Sorgen um die Liquidität machen.
Wenn die Gewinne Ihrer Strategie so gering sind, dass Ihre Gewinne beispielsweise durch die Geld-Brief-Spanne (ein Cent oder weniger für liquide Aktien) erheblich beeinträchtigt werden, würde ich den Ansatz überdenken. Sie werden feststellen, dass der Unterschied zwischen Markteröffnung und vorherigem Nachtschluss weitaus größer ist als das normale Geld-/Briefkurs.
Eugen S
Hroptatyr
Eugen S
Hroptatyr
John Bensin