Sunday 4 June 2017

Trading System Design Und Optimierung


Hochfrequenz-Handelssystemdesign und Prozessmanagement Hochfrequenz-Handelssystemdesign und Prozessmanagement Berater: Roy E. Welsch. Abteilung: System Design und Management Programm. Herausgeber: Massachusetts Institute of Technology Ausgabedatum: 2009 Die Handelsfirmen sind heutzutage in hohem Maße auf Data Mining, Computermodellierung und Softwareentwicklung angewiesen. Finanzanalysten führen viele ähnliche Aufgaben wie in der Software - und Fertigungsindustrie durch. Allerdings hat die Finanzbranche noch nicht vollständig standardisierte Systeme Engineering Frameworks und Prozessmanagement Ansätze, die in der Software-und Fertigungsindustrie erfolgreich waren. Viele der traditionellen Methoden für Produktdesign, Qualitätskontrolle, systematische Innovation und kontinuierliche Verbesserung in Ingenieurdisziplinen können auf das Finanzbereich angewendet werden. Diese These zeigt, wie das Wissen aus Ingenieurdisziplinen das Design und das Prozessmanagement von Hochfrequenz-Handelssystemen verbessern kann. Hochfrequenz-Handelssysteme sind berechnungsbasiert. Diese Systeme sind automatische oder halbautomatische Softwaresysteme, die inhärent komplex sind und ein hohes Maß an Designgenauigkeit erfordern. Die Gestaltung eines Hochfrequenz-Handelssystems verbindet mehrere Felder, darunter quantitative Finanzierung, Systemdesign und Software-Engineering. In der Finanzbranche, in der mathematische Theorien und Handelsmodelle relativ gut recherchiert werden, ist die Fähigkeit, diese Entwürfe in echten Handelspraktiken umzusetzen, eines der Schlüsselelemente einer Wachstumsfirma der Wertpapierfirmen. Die Fähigkeit, Investitionsideen effektiv und effizient in leistungsstarke Handelssysteme umzuwandeln, kann einem Investmentunternehmen einen großen Wettbewerbsvorteil verschaffen (vgl.). Diese Arbeit bietet eine detaillierte Studie aus hochfrequenten Handelssystemdesign, Systemmodellierung und Prinzipien sowie Prozessmanagement Für die systementwicklung Besonderes Augenmerk wird auf Backtesting und Optimierung gelegt, die als die wichtigsten Teile beim Aufbau eines Handelssystems gelten. Diese Forschung baut System-Engineering-Modelle, die den Entwicklungsprozess zu führen. Es verwendet auch experimentelle Handelssysteme, um die in dieser Arbeit angesprochenen Prinzipien zu überprüfen und zu validieren. Schließlich kommt diese These zu dem Schluss, dass systemtechnische Grundsätze und Rahmenbedingungen der Schlüssel zum Erfolg für die Implementierung von Hochfrequenzhandel oder quantitativen Anlagesystemen sein können. Thesis (S. M.) - Massachusetts Institute of Technology, System Design und Management Programm, 2009. Kataloge von PDF-Version der Arbeit. Enthält bibliographische Bezüge (S. 78-79). Schlüsselwörter: System Design und Management Programm. Meine AccountTrading-Systeme: Fehlersuche und Optimierung 1313 Auch nach erfolgreichem Design und Aufbau eines funktionierenden Handelssystems kann ein Händler feststellen, dass sein System unvollkommen ist. Es kann einige Probleme geben, wie ein Ereignis, das Verluste erzeugt oder vielleicht die Regeln zu breit sind und optimiert werden müssen. Was ist der einfachste Weg, um das Problem zu beheben Wie effektiv ist die Optimierung Dieser Abschnitt zeigt Ihnen, wie Sie Ihr Handelssystem zu beheben und zu optimieren, um Gewinne zu maximieren und Verluste zu minimieren. Troubleshooting Fehlersuche ist ein sehr wichtiger Aspekt der Systementwicklung. Ein anständiges Handelssystem wird in den meisten Marktbedingungen rentabel sein, aber wenn es gelegentlich große Verluste macht, können Sie arbeiten, um das Problem zu identifizieren und zu lösen. Hier sind vier einfache Schritte: 1. Identifizieren Sie das Problem - Finden Sie alle Instanzen, in denen das Problem während Ihres Backtests aufgetreten ist, und starten Sie die Aufnahme, wenn das Problem während des Live-Trades auftritt. Beachten Sie bei jeder Instanz die Tendenzen der folgenden vier Faktoren: Diagrammmuster oder Preisreihen - Spike in den Preisen.13 Volumen - Großes Volumen anfänglich und niedriges Volumen danach.13 BidAsk verbreiten - Spike im Preis auf niedrigem Volumen zeigt oft ein Große Spread.13 Margin (falls verwendet). 13 13Diese sind einige der Bereiche, in denen Probleme auftreten können, die wir sehen können, indem wir die untenstehende Tabelle analysieren. Beachten Sie die Preisspitzen auf niedriger Lautstärke durch den grünen Pfeil. Beachten Sie auch die große Lautstärke (in der Nähe des blauen Pfeils), gefolgt von geringer Lautstärke danach. Wenn keiner von diesen herausfindet, um der Täter zu sein, gibt es andere Faktoren, die analysiert werden können, wie Blockgrößen und fortgeschrittene Diagrammmuster.2. Bewerten Sie das Problem - Verwenden Sie die Informationen, die Sie gesammelt haben, um festzustellen, was genau das System zu Fehlfunktionen oder einen Verlust zu generieren. Dies geschieht oft durch den gesunden Menschenverstand oder durch die Analyse von Transaktionslogs (die von Ihrem Broker bereitgestellt werden). Hier sind Beispiele dafür, wie einige Bedingungen der vier oben aufgeführten Faktoren der Grund für ein identifiziertes Problem darstellen können: Diagrammmuster oder Preisreihen - Das System kann bei starken Abfällen nicht verkaufen oder bei steilen Aufstiegen kaufen. Vielleicht hat das System nicht genügend Zeit zu kaufen oder zu verkaufen. Volumen - Das System ist nicht in der Lage, während der Rückgänge zu verkaufen oder während der Erhöhung zu kaufen. Vielleicht hat das Eigenkapital ein so niedriges Handelsvolumen, dass das System nicht in der Lage ist, zu einem Preis zu kaufen oder zu verkaufen. Während dieser Fälle kann der Preis irreführend sein, ohne eine Berücksichtigung von Volumen und Bidask. BidAsk verbreiten - Das System macht einen Kauf, aber nicht so viel wie es beim Verkauf zu profitieren. Dies könnte auf die Tatsache zurückzuführen sein, dass der Händler vergessen hat, die Bidask-Spreads zu betrachten. Wenn ein System programmiert ist, um zu dem aktuellen Preis zu kaufen und zu verkaufen, zahlt es tatsächlich die Frage. Und wenn verkauft, verkauft es nicht zum aktuellen Preis, sondern zum Gebotspreis. Manchmal können die Unterschiede zwischen dem Angebot und der Frage groß sein, was zu unerwünschten Verlusten führt. Margin - Das System verkauft plötzlich ohne ersichtlichen Grund. Wenn dies geschieht, können Sie vergessen haben, Randanrufe zu berücksichtigen. 13 3. Betrachten Sie die Alternativen - versuchen Sie einfach einige Lösungen für die Probleme, die Sie identifiziert haben. Betrachten Sie die folgenden Alternativen, die den obigen Problemen entsprechen. Chart-Muster oder Preis-Serie - Eine Alternative ist einfach zu sagen, das System zu warten, bis der Preis stabilisiert vor dem Kauf. Dies kann getan werden, indem Sie die Unterschiede zwischen den vorherigen Preisen und dem aktuellen Preis, um eine Regel zu erstellen. Volume - Um dieses Problem zu lösen, können Sie eine Regel, die das Eigenkapital erfordert eine bestimmte Menge an Volumen vor der Ausführung eines trade. BidAsk erfordert Verbreitung - Hier möchten Sie vielleicht kaufen und verkaufen auf der Grundlage der Geld-und Brief-Preise anstelle der aktuellen Preis. Margin - Verwendung Margin kann profitabel sein, wenn das Risiko effektiv verwaltet wird. Die Begrenzung nach unten sollte Sie davon abhalten, Randanrufe zu erhalten. Dies kann mit nachlaufenden Stop-Loss-Punkten oder anderen ähnlichen Taktiken getan werden, um den Nachteil zu begrenzen. 13 4. Umsetzung einer Lösung - Schließlich müssen wir die Lösung anwenden und sehen, wie es funktioniert. Paper Trading oder Back-Tests wieder vor Live-Trading ist oft eine gute Idee nach der Anwendung einer Lösung, weil manchmal Lösungen haben unbeabsichtigte Konsequenzen. Zum Beispiel können zusätzliche Regeln diese Tage beschränken, aber auch die Gesamtgewinne verringern (aufgrund verpassten Chancen).Optimierung Optimierung bedeutet einfach, die besten Sätze von Parametern für einen bestimmten Markt zu finden. Dieser Prozess kann die Ergebnisse geringfügig verbessern. Allerdings trägt es auch viele Risiken, weil seine zugrunde liegende Annahme ist, dass die vergangene Wertentwicklung für zukünftige Kursbewegungen indikativ ist. Die Optimierung kann durch Ändern der Werte des Parameters erfolgen, den Sie optimieren möchten, und dann diese Tests erneut testen. Beachten Sie, dass die anderen Parameter für die Auswirkungen der zu bestimmenden Änderungen konstant bleiben müssen. Sobald Sie den Wert gefunden haben, der die höchste Leistung im Back-Test liefert, implementieren Sie ihn in das Handelssystem. Lasst uns ein Beispiel ansehen. Sagen Sie einen Händler analysiert die SampP 500 und festgestellt, dass er oder sie könnte das System durch eine Tages-Chart zu optimieren. Der gleiche Vorgang kann auch in höherem Maße erfolgen. Zum Beispiel, wenn ein einfacher gleitender Durchschnitt von 6 Arbeit besser als 8 für eine MA-Crossover-Strategie in einem bestimmten Markt, dann 6 verwendet werden würde. Das Problem hier ist nicht nur in der Annahme, sondern auch in der Tatsache, dass das System in vielen anderen Märkten schlimmer werden kann, wodurch es weniger universell wird. Viele Systementwickler verzichten auf die Optimierungsstufe aus diesen beiden Gründen: Optimierung übertreibt oft Ergebnisse. Dies ist, weil die Parameter so spezifisch und nicht-universal sind, dass jede Veränderung im Markt (dh die Zukunft) Instabilität verursachen kann. In vielen Fällen wird die Optimierung die Leistung nicht sinnvoll verbessern. Leichte Verbesserungen können jedoch offensichtlich sein, aber der Verfall der Universalität ist ein hoher Preis zu zahlen. 13 Grundsätzlich sollte die Optimierung nur breite Einstellungen für Parameter definieren, anstatt spezifische Regeln einzurichten - auch wenn es im Backtesting und im Papierhandel erfolgreich war. Schlussfolgerung Die Fehlersuche ist entscheidend, um Ihr System so zu gestalten, wie Sie es wollen. Es ist wichtig, irgendwelche Probleme zu identifizieren, indem man die Fälle beobachtet, in denen sie aufgetreten sind, und dann zu bewerten, wie bestimmte Bedingungen von mehreren Faktoren - wie Preismuster, Volumen, Bidask-Spread und Marge - das Problem verursacht haben könnte. Optimierung kann Ihre Ergebnisse zu verbessern, aber es ist wichtig zu erinnern, dass es seine Grenzen hat. Nicht nur, dass es auf der Annahme basiert, dass die vergangene Leistung die Zukunft anzeigt, aber es ist nicht die Bühne, in der der Trader bestimmte Regeln schafft - Optimierung geht es nur darum, breite Einstellungen zu definieren. In der nächsten und letzten Tranche, werden wir einen Überblick über alles, was wir abgedeckt zusammen mit einigen Ratschlägen und Ressourcen, um Ihnen zu helfen, eine Kenntnisse der Handelssystem Design und Entwicklung zu gewinnen. Hochfrequenz Handelssystem Design und Prozess-Management Hochfrequenz-Trading-System-Design und Prozessmanagement Berater: Roy E. Welsch. Abteilung: System Design und Management Programm. Herausgeber: Massachusetts Institute of Technology Ausgabedatum: 2009 Die Handelsfirmen sind heutzutage in hohem Maße auf Data Mining, Computermodellierung und Softwareentwicklung angewiesen. Finanzanalysten führen viele ähnliche Aufgaben wie in der Software - und Fertigungsindustrie durch. Allerdings hat die Finanzbranche noch nicht vollständig standardisierte Systeme Engineering Frameworks und Prozessmanagement Ansätze, die in der Software-und Fertigungsindustrie erfolgreich waren. Viele der traditionellen Methoden für Produktdesign, Qualitätskontrolle, systematische Innovation und kontinuierliche Verbesserung in Ingenieurdisziplinen können auf das Finanzbereich angewendet werden. Diese These zeigt, wie das Wissen aus Ingenieurdisziplinen das Design und das Prozessmanagement von Hochfrequenz-Handelssystemen verbessern kann. Hochfrequenz-Handelssysteme sind berechnungsbasiert. Diese Systeme sind automatische oder halbautomatische Softwaresysteme, die inhärent komplex sind und ein hohes Maß an Designgenauigkeit erfordern. Die Gestaltung eines Hochfrequenz-Handelssystems verbindet mehrere Felder, darunter quantitative Finanzierung, Systemdesign und Software-Engineering. In der Finanzbranche, in der mathematische Theorien und Handelsmodelle relativ gut recherchiert werden, ist die Fähigkeit, diese Entwürfe in echten Handelspraktiken umzusetzen, eines der Schlüsselelemente einer Wachstumsfirma der Wertpapierfirmen. Die Fähigkeit, Investitionsideen effektiv und effizient in leistungsstarke Handelssysteme umzuwandeln, kann einem Investmentunternehmen einen großen Wettbewerbsvorteil verschaffen (vgl.). Diese Arbeit bietet eine detaillierte Studie aus hochfrequenten Handelssystemdesign, Systemmodellierung und Prinzipien sowie Prozessmanagement Für die systementwicklung Besonderes Augenmerk wird auf Backtesting und Optimierung gelegt, die als die wichtigsten Teile beim Aufbau eines Handelssystems gelten. Diese Forschung baut System-Engineering-Modelle, die den Entwicklungsprozess zu führen. Es verwendet auch experimentelle Handelssysteme, um die in dieser Arbeit angesprochenen Prinzipien zu überprüfen und zu validieren. Schließlich kommt diese These zu dem Schluss, dass systemtechnische Prinzipien und Rahmenbedingungen der Schlüssel zum Erfolg für die Implementierung von Hochfrequenzhandel oder quantitativen Anlagesystemen sein können. Thesis (S. M.) - Massachusetts Institute of Technology, System Design und Management Programm, 2009. Kataloge von PDF-Version der Arbeit. Enthält bibliographische Bezüge (S. 78-79). Schlüsselwörter: System Design und Management Programm. Meine AccountTrading Systems Coding: Testing, Troubleshooting und Optimierung Jetzt, da Sie ein Trading System entworfen und codiert haben, ist es Zeit, es zu testen, um sicherzustellen, dass Ihre Codierung frei von logischen und technischen Fehlern ist. Wir werden auch auf etwas bekannt als Optimierung - ein Feature in einigen Trading-Programme, die Ihnen erlaubt, Feinabstimmung Ihrer Trading-Regeln, um die Aktien, die Sie auf den Handel zu planen. Testen Ihres Trading-Systems Die überwiegende Mehrheit der Trading-Anwendungen, die Programmiersprachen unterstützen, unterstützen auch Test-Tools. Diese Werkzeuge sind in zwei Kategorien unterteilt: 1. Technische technische Test-Tools suchen nach technischen Fehlern in Ihrem Code. Wenn Sie beispielsweise vergessen, ein Semikolon nach einer Anweisung hinzuzufügen, wird Ihnen das technische Test-Tool mitgeteilt, dass Ihre Anweisung ungültig ist. Der Standort des technischen Testwerkzeugs hängt von der verwendeten Handelsanwendung ab. MetaTrader zeigt einen Fehler oder fehlerhafte Ergebnisse an, wenn Sie versuchen, Ihren Code zu kompilieren, während Trading-Anwendungen wie Tradecision ein Code-Check-Dienstprogramm in die Schnittstelle integriert haben, mit der Sie Ihren Code auf Fehler überprüfen können, bevor Sie ihn anwenden. 2. Logische Logische Test-Tools suchen nach logischen Fehlern in Ihrem Code. Zum Beispiel, wenn Sie zufällig ein größeres als Zeichen anstelle eines weniger als Zeichen (das ist kein technischer Fehler) verwendet wird, wird ein logisches Test-Tool zeigen Ihnen, dass Ihre Ergebnisse keinen Sinn machen. Das beliebteste logische Test-Tool ist das Backtesting-Tool. Mit diesem Tool können Sie Daten übernehmen und Ihr Handelssystem auf diese Daten anwenden. Dies gibt Ihnen eine Vorstellung von folgendem: Ob Ihr Handelssystem ein rentables ist 13 Welche Bedingungen erweisen sich am meisten profitabel 13 Wenn irgendwelche Fehler in Ihren Regeln vorhanden sein könnten (Weitere Informationen finden Sie unter Backtesting: Interpretieren der Vergangenheit.) Fehlerbehebung bei Ihrem Trading System Wie bei jeder anderen Art von Programmierung, kann die Fehlersuche eine langwierige und schwierige Aufgabe sein. Das Finden von Fehlern in Ihrem Code erfordert systematische Sortierung durch Ihren Code, um syntaktische Fehler zu identifizieren, die, obwohl oft kleinere, Ihr Programm zum Stillstand bringen können. Hier sind einige häufige Fehler zu suchen: Fehlende Semikolons nach Aussagen - diese müssen nach jeder Aussage sein. 13 Undefinierte Variablen - Denken Sie daran, dass Sie sie vorher erklären müssen, bevor Sie sie verwenden 13 Rechtschreibfehler - Wenn irgendwelche Namen oder Funktionen falsch geschrieben werden, gibt die Handelsanwendung einen Fehler zurück (siehe Beispiel unten). 13 Falsche Verwendung von () - Denken Sie daran, dass ein Wert einem anderen Wert zuweist, während Mittel gleich sind. 13 Falsche Verwendung von integrierten Funktionen - Konsultieren Sie Ihre Trading Applikationsdokumentation oder Anwendungsprogrammierschnittstelle (API), um sicherzustellen, dass Sie die korrekte Syntax verwenden. Einige Trading-Anwendungen enthalten eine Funktion, mit der Sie Ihren Code testen können, bevor Sie ihn verwenden oder kompilieren. Diese Funktion ermöglicht es Ihnen, zu sehen, was der Fehler ist und auf welcher Zeile es gefunden werden kann. Nehmen Sie Tradecision zum Beispiel: Hier sehen wir, dass Tradecision uns den Ort (Zeile und Spalte) des Fehlers gibt, eine Beschreibung des Fehlers und die Art des Fehlers (in diesem Fall ist es syntaktisch). Wenn wir den Ausdruck betrachten, können wir sehen, dass in Spalte 8 xrossBelow keine gültige Funktion ist. Wenn wir das x (das ist in Spalte 8) mit einem c ersetzen, dann haben wir gültigen Code. Wenn wir uns bei MetaTrader anschauen, können wir sehen, dass die Fehler auftauchen, wenn wir versuchen, das Programm zu kompilieren: Hier sehen wir, dass in der Beschreibung die BuyNow Variable nicht definiert ist. Ein Doppelklick auf diese Fehlermeldung bringt uns an den spezifischen Ort des Fehlers im Code. Wie Sie sehen können, geben die meisten Trading-Anwendungen Ihnen eine einfache Möglichkeit, technische Fehler zu finden und sie zu beheben. Die Behebung der Fehler beinhaltet einfach systematisch durch jede Fehlermeldung und dann die Neukompilierung des Codes und der Anwendung des Handelssystems auf Ihre Charts. Optimierung Ihres Trading-Systems Mit einigen Trading-Applikationen können Sie die zu optimierenden Variablen auswählen. Tradecision, zum Beispiel, können Sie leicht wählen Sie eine Variable und ersetzen Sie es mit Code, der Optimierung versuchen wird. Optimierung selbst ist einfach ein Prozess, der den optimalen Wert für ein bestimmtes Handelssystemelement auf der Grundlage vergangener Ergebnisse und Performance findet. Beachten Sie, dass eine Überoptimierung zu Handelssystemen führt, die sich nicht in der Lage sind, sich an die Marktbedingungen anzupassen, daher ist es wichtig, nur einige wichtige Variablen zu optimieren, nicht jede Variable Hier ist das, was die Optimierungsfunktion in der Tradecision aussieht: Sie können sehen, dass wir deklariert haben Zwei neue Variablen und setzen sie gleich. Das bedeutet einfach, dass das Handelsprogramm dies mit der optimalen Anzahl ersetzen wird. Als nächstes können Sie sehen, dass wir die neuen Variablen in unserer Handelsstrategie verwendet haben. Schließlich setzen wir einen Bereich für die Zahlen (damit das Programm nicht nach unendlich suchen). Einige andere Handelsprogramme haben Funktionen, die in ähnlicher Weise funktionieren, so dass Sie den numerischen Wert durch a ersetzen und die Handelsanwendung erklären, um sie zu optimieren. Fazit Inzwischen sollten Sie ein funktionierendes Handelssystem entwickelt haben, in dem Sie Vertrauen haben können. Im nächsten Teil dieser Serie werden Sie lernen, wie Sie Ihr Trading-System auf Charts anwenden und wie man es benutzt, um Handelsentscheidungen zu treffen

No comments:

Post a Comment