Tuesday 21 February 2017

Handels System Code

Trading Systems Coding Trading-Systeme sind einfach Gruppen von Regeln, die Händler verwenden, um ihre Einträge und Ausgänge aus einer Position zu bestimmen. Die Entwicklung und Nutzung von Handelssystemen können Händler dabei helfen, konsistente Renditen zu erzielen und Risiken zu begrenzen. In einer idealen Situation sollten Händler wie Roboter fühlen, Handlungen systematisch und ohne Emotionen ausführen. Also, vielleicht haben Sie sich selbst gefragt: Was ist ein Roboter aus meinem System zu stoppen Die Antwort: Nichts Dieses Tutorial wird Ihnen die Werkzeuge und Techniken, die Sie verwenden können, um Ihre eigenen automatisierten Handelssystem zu erstellen. Wie werden automatisierte Handelssysteme erstellt Automatisierte Handelssysteme werden erstellt, indem Sie Ihre Handelssystemregeln in Code umwandeln, den Ihr Computer verstehen kann. Ihr Computer führt dann diese Regeln durch Ihre trading-Software, die für Trades, die sich an Ihre Regeln. Schließlich werden die Trades automatisch mit Ihrem Broker platziert. Dieses Tutorial konzentriert sich auf den zweiten und dritten Teil dieses Prozesses, wo Ihre Regeln in einen Code konvertiert werden, den Ihre Handelssoftware verstehen und verwenden kann. Welche Trading-Software unterstützt automatisierte Handelssysteme Es gibt viele Handelsprogramme, die automatisierte Handelssysteme unterstützen. Einige werden automatisch generieren und platzieren Trades mit Ihrem Broker. Andere finden automatisch Trades, die Ihren Kriterien entsprechen, aber verlangen, dass Sie die Aufträge mit Ihrem Broker manuell platzieren. Darüber hinaus, vollautomatische Handelsprogramme erfordern oft, dass Sie spezielle Brokerage, die solche Funktionen unterstützen, müssen Sie auch ein zusätzliches Berechtigungsformular ausfüllen müssen. Vorteile und Nachteile Automatisierte Handelssysteme haben mehrere Vorteile, aber sie haben auch ihre Nachteile. Immerhin, wenn jemand hatte ein Handelssystem, das automatisch Geld verdient die ganze Zeit, er oder sie würde buchstäblich ein Geld machen Maschine Vorteile: Ein automatisiertes System nimmt die Emotionen und beschäftigt-Arbeit aus dem Handel, die Sie auf die Verbesserung konzentrieren können Ihre Strategie und Geld-Management-Regeln. 13 Sobald ein rentables System entwickelt ist, erfordert es keine Arbeit von Ihrer Seite, bis es bricht, oder Marktbedingungen fordern eine Änderung. Nachteile: Wenn das System nicht richtig codiert und getestet wird, können große Verluste sehr schnell auftreten. 13 Manchmal ist es unmöglich, bestimmte Regeln in Code zu setzen, was es schwierig macht, ein automatisiertes Handelssystem zu entwickeln. In diesem Tutorial lernen Sie, wie Sie ein automatisiertes Handelssystem planen und gestalten, wie Sie dieses Design in Code umwandeln, den Ihr Computer verstehen wird, wie Sie Ihren Plan testen, um eine optimale Leistung zu gewährleisten und schließlich, wie Sie Ihr System verwenden können. Trading Systems Coding: SystemdesignAutomatisierte Handelssysteme minimieren Emotionen, ermöglichen eine schnellere Auftragserfassung, führen zu größerer Konsistenz und lösen Pilotfehlerprobleme. Systems Trader teilen ihre Zeit zwischen Handel, Entwicklung, Backtesting, Optimierung und Forward-Tests, um tragfähige und hochwahrscheinliche Handelssysteme zu schaffen. Automatisierte Forex Trading Software scannt den Markt für günstige Trades basierend auf Ihrer Eingabe. Erfahren Sie mehr über dieses wertvolle Forex-Tool. Durch die Mischung von guter Analyse mit effektiver Umsetzung, können Sie drastisch verbessern Sie Ihre Gewinne in diesem Markt. Lernen Sie, um Ihre Trading-Methoden mit diesen sechs wichtigen Schritten Struktur hinzufügen. Die meisten Makler werden Ihnen mit Handelsaufzeichnungen, aber it039s auch wichtig, um den Track auf eigene Faust zu halten. Software hat Day-Trading schnell und automatisch gemacht - umso mehr Grund, so mühevoll wie möglich zu sein bei der Auswahl der richtigen für Ihre Bedürfnisse. It039s unmöglich, Katastrophe ohne Handelsregeln zu vermeiden - stellen Sie sicher, dass Sie wissen, wie sie für sich selbst zu entwickeln. Diese Schritte werden Sie zu einem disziplinierteren, intelligenteren und letztlich wohlhabenderen Händler machen. Häufig gestellte Fragen Abschreibungen können als steuerlich abzugsfähiger Aufwand verwendet werden, um die Steuerkosten zu senken und den Cashflow zu steigern. Erfahren Sie, wie Warren Buffett durch seine Anwesenheit an mehreren renommierten Schulen und seinen Erfahrungen aus der Praxis so erfolgreich wurde. Das CFA-Institut ermöglicht eine individuelle unbegrenzte Anzahl von Versuchen bei jeder Prüfung. Obwohl Sie die Prüfung versuchen können. Erfahren Sie mehr über durchschnittliche Börsenanalyse Gehälter in den USA und verschiedene Faktoren, die Gehälter und insgesamt Ebenen beeinflussen. Häufig gestellte Fragen Abschreibungen können als steuerlich abzugsfähiger Aufwand verwendet werden, um die Steuerkosten zu senken und den Cashflow zu steigern. Erfahren Sie, wie Warren Buffett durch seine Anwesenheit an mehreren renommierten Schulen und seinen Erfahrungen aus der Praxis so erfolgreich wurde. Das CFA-Institut ermöglicht eine individuelle unbegrenzte Anzahl von Versuchen bei jeder Prüfung. Obwohl Sie die Prüfung versuchen können. Erfahren Sie mehr über durchschnittliche Börsenanalyse Gehälter in den USA und verschiedene Faktoren, die Gehälter und Gesamtniveaus beeinflussen. Code Library System Handel Code wird in mehreren Beiträgen verbreitet, könnte es eine gute Idee, sie alle an einem Ort (hier) vor allem zu konsolidieren Wird ein bisschen zu chaotisch Ich schreibe auch monatlich für Technical Analysis of Stocks und Rohstoffe (TASC) Magazin in ihrer Trader8217s Tipps Abschnitt (meist Trading Blox-Code). Hier finden Sie alle unten stehenden Informationen: 8212 TASC Magazin Traders8217 Tipps 8212 TASC Traders Tipps (April 2010): Modifizierte Volumen Preis Trend Indicator in Excel Im Artikel Modified Volume-Preis Trend Indicator in dieser Ausgabe, Autor David Hawkins diskutiert eine Änderung von Die Volumen-Preis-Trend-Indikator (VPT), ​​bereits auf der Grundlage der Balance-Lautstärke-Indikator ursprünglich von Joseph Granville entwickelt. Link zu traders8217 Tipps Link zu Excel-Datei TASC Traders Tipps (Mai 2010): Smoothing b in Trading Blox In 8220Smoothing der Bollinger b8221 Artikel, Autor Sylvain Vervoort erklärt, wie man Rauschen aus der traditionellen b-Indikator, verwendet, um klare Wendepunkte und Divergenzen zu identifizieren . Link zu traders8217 Tipps Link zur tbx-Datei TASC Traders Tipps (Dezember 2010): Hull Moving Average In Trading-Indizes mit dem Hull Moving Average in dieser Ausgabe erklärt Autor Max Gardner, wie die Hull gleitenden Durchschnitt für langfristige Markt-Timing zu verwenden. Link zu traders8217-Tipps Link zu tbx-Datei 8212 MISC 8212 8212 CSI Unfair Advantage API 8212 RetrieveBackAdjustedContract2 API-Funktionsdokumentation Referenzhandbuch zu dieser wesentlichen Funktion aus dem CSI-API-Dokument. Link zum Original-Post-Link zum RTF-Dokument Rückgesetzten Futures-Kontrakt abrufen Einige Beispiel-Code in C über die API, um auf eine der wichtigsten Funktionen zuzugreifen, um einen Futures-Kontrakt mit jeder Art von Back-Adjustment, die von CSI angeboten wird, abzurufen. Link zur ursprünglichen Post Link zu C-Quelldatei CSI Individuelle Verträge Extractor Ein Dienstprogramm, um einzelne Verträge aus CSI8217s Unfair Advantage-Datenbank in Klartext-Dateien zu extrahieren. Link zu Original Link zu Zip Datei mit EXE 8212 Trading Blox 8212 MMDI Portfolio Filter Variation auf dem klassischen MACD Portfolio Filter, mit dem Moving Median Indikator anstelle des Standard Moving Average für den schnellen Durchschnitt. Link zur ursprünglichen Post Link to Block Datei (tbx) Verbesserte Vortex-und AVX-Indikatoren und AVX-System Die ursprüngliche Vortex-Indikator hatte einen Fehler (Lückenabwicklung für nicht-Forex-Märkte) und nicht mit einem exponentiellen gleitenden Durchschnitt für Glättung. Dies ist meine verbesserte Version mit einem grundlegenden Umkehrsystem, das es für entryexits verwendet, um die ursprüngliche Post Link zu Zip-Datei zu verknüpfen (enthält: Vortex Indicator 038 AVX Hilfsblockdatei (tbx), AVX Entry Exit Block (tbx), AVX System (tbs) 8212 R Code 8212 Walk-Forward-Implementierung von Vince8217s Leverage Space-Modell verwendet das LSPM R-Paket (von Josh Ulrich) in einem Walk-Forward-Ansatz, um eine adaptive Testmethode zu ermöglichen. Link zur ursprünglichen Post mit notwendigen Erläuterungen R-Code-Datei 8212 AmiBroker 8212 e-Verhältnis Berechnung Das e-Verhältnis ist eine praktische Möglichkeit, die Kante einer bestimmten Komponente eines Systems auszuwerten, ohne das System als Ganzes testen zu müssen Eingangssignal). Link zum ursprünglichen Post (enthält alle notwendigen Code-Snippets und Logik) 8212 TradersStudio 8212 e-Verhältnis Berechnung für Donchian Kanal Breakout-System Dieser Code enthält die notwendigen generischen Code, um das e-Verhältnis sowie eine Umsetzung zu berechnen, um die Berechnung zu einem Donchian gelten Kanal-Breakout-Eingangssignal. Link zur ursprünglichen Post Link zu Zip-Datei (mit Donchian Channel Indicator TS-Code, Benutzerdefinierte Handels-Bericht TS-Code, kaufen System TS-Code, verkaufen System TS-Code, Excel e-Verhältnis Makro (Textdatei), Excel Beispiel Arbeitsmappe) Überprüfen Sie die Liste der Globale Futures-Märkte Wisdom Trading bietet Zugang zu, von Mais in Südafrika, Palmöl in Malaysia zu Korean Won, brasilianischen Real oder japanischen Kerosin, um nur einige zu nennen, es ist beeindruckend und groß, von der Diversifizierung zu profitieren. Au. Tra. Sy Blog, Systematic Trading Forschung und Entwicklung, mit einem Geschmack von Trend folgend. Disclaimer: Die Wertentwicklung in der Vergangenheit ist nicht unbedingt ein Indikator für zukünftige Ergebnisse. Futures-Handel ist komplex und stellt das Risiko von erheblichen Verlusten als solche, kann es nicht für alle Anleger geeignet sein. Der Inhalt dieser Seite wird nur als allgemeine Information zur Verfügung gestellt und sollte nicht als Anlageberatung betrachtet werden. Alle Inhalte der Website sind nicht als Empfehlung zum Kauf oder Verkauf von Wertpapieren oder Finanzinstrumenten oder zur Teilnahme an einer bestimmten Handels - oder Anlagestrategie auszulegen. Die Ideen auf dieser Website sind nur die Meinungen des Autors. Der Autor kann eine Position in einem Finanzinstrument oder einer Strategie, auf die oben verwiesen wird, haben oder auch nicht. Jede Aktion, die Sie als Ergebnis von Informationen oder Analysen auf dieser Website nehmen, ist letztlich Ihre alleinige Verantwortung. HYPOTHETISCHE LEISTUNGSERGEBNISSE HABEN VIELE INHERENTE EINSCHRÄNKUNGEN, EINIGE VON DIESEN WERDEN BESCHRIEBEN. KEINE VERTRETUNG WIRD gemacht, dass jede Rechnung wird oder wahrscheinlich Gewinne oder Verluste ähnlich wie in FACT GEZEIGT zu erreichen, sind es oft starke Unterschiede zwischen HYPOTHETISCHEN ERGEBNISSE UND DIE TATSÄCHLICHE ERGEBNISSE DER FOLGE VON EINER BESTIMMTEN TRADING Programms vor. EINE DER EINSCHRÄNKUNGEN DER HYPOTHETISCHEN LEISTUNGSERGEBNISSE IST DAFÜR, DASS SIE ALLGEMEIN MIT DEM VORTEIL VON HINDSIGHT VORBEREITET WERDEN. FERNER NICHT HYPOTHETISCHEN TRADING FINANCIAL Risiken, UND KEIN HYPOTHETISCHEN Leumund KANN ACCOUNT VOLLSTÄNDIG FÜR DIE AUSWIRKUNGEN DER FINANZRISIKO der tatsächlichen Handels. Zum Beispiel, DIE FÄHIGKEIT VERLUSTE AUSHÄLT ODER EINEN BESTIMMTEN TRADING PROGRAMM TROTZ TRADING VERLUSTE zu halten sind materielle Punkte, die sich auch negativ auf IST-Trading-Ergebnisse beeinflussen können. ES GIBT ZAHLREICHE ANDERE FAKTOREN, DIE MÄRKTE IM ALLGEMEINEN ZUSAMMENHANG ODER DIE UMSETZUNG DER BESTIMMTEN TRADING-PROGRAMM FÜR DIE IN DER VORBEREITUNG DER HYPOTHETISCHEN ERGEBNISSE UND ALLE, der die Handels beeinflussen können ERGEBNISSE nicht vollständig berücksichtigt werden. DIESE PERFORMANCE TABELLEN UND ERGEBNISSE SIND HYPOTHETISCH IN DER NATUR UND NICHT VERTRETEN HANDEL IN RECHTSAKTEN. Kopie 2009-2012 Au. Tra. Sy Blog 8211 Automatisiertes Handelssystem mdash Sitemap Powered by WordpressDisclaimer HYPOTHETISCHE ODER SIMULIERTE LEISTUNGSERGEBNISSE HABEN BESTIMMTE INHERENTE EINSCHRÄNKUNGEN. EINE AKTUELLE LEISTUNGSAUFNAHME, SIMULATIVE ERGEBNISSE NICHT VERTRETEN. WENN DIE HÄNDE NICHT TATSÄCHLICH AUSGEFÜHRT WERDEN KÖNNEN, KÖNNEN DIE ERGEBNISSE AUSSERDEM AUF DIE AUSWIRKUNGEN AUF BESTIMMTE MARKTFAKTOREN ENTSTANDEN WERDEN KÖNNEN. SIMULATED HANDELSPROGRAMME IM ALLGEMEINEN SIND AUCH AUF DIE TATSACHE, DIE SIE MIT DEM VORTEIL VON HINDSIGHT ENTWERFEN. KEINE REPRÄSENTATION IST GEMACHT, DASS JEDE KONTO ODER GELTEND ZU ERWERBENDE GEWINNE ODER VERLUSTE VERÄNDERT WIRD. EasyLanguage und TradeStation sind eingetragene Warenzeichen von TradeStation Technologies, Inc. Einleitung Eine der größten Trends im Einzelhandel in den letzten zehn Jahren war die Zunahme der Popularität des automatisierten Handels. Bei dieser Art des Handels, auch bekannt als automatisierte Orderausführung, werden Kauf - und Verkaufssignale, die von einem Handelssystem generiert werden, automatisch von einer Plattform ausgeführt, die mit dem Händler-Brokerage-Konto verbunden ist. Dies ermöglicht eine Freisprecheinrichtung, die eine schnellere Ausführung, weniger Fehler und die Fähigkeit ermöglicht, kürzere Zeitrahmen mit höherfrequenten Strategien zu handeln. Da immer mehr Händler zum automatisierten Handel gezogen sind, hat sich das Interesse an systematischen Handelsstrategien erhöht. Während einige Trader ihre eigenen Trading-Strategien zu entwickeln, haben viele Händler die Programmierkenntnisse, die notwendig sind, um ihre Ideen umzusetzen. Andere Händler fehlen die spezifischen Kenntnisse der technischen Handelsmethoden oder die Erfahrung, die erforderlich ist, um eine tragfähige Strategie zu entwerfen. Selbst für Händler, die über die notwendigen Fähigkeiten für die Entwicklung von Handelssystemen verfügen, ist der beträchtliche Zeit - und Aufwand für die Entwicklung einer guten Strategie oft eine Abschreckung. Eine kürzlich entwickelte Lösung für dieses Problem ist die Verwendung von Computer-Algorithmen, um automatisch zu generieren Handelssystem-Code. Das Ziel dieses Ansatzes ist es, viele der Schritte im traditionellen Prozess der Entwicklung von Handelssystemen zu automatisieren. Im traditionellen, manuellen Ansatz zur Strategieentwicklung wählt der Trader Elemente der Handelsstrategie, die auf vorherigen Erfahrungen basieren, und Kenntnisse über technische Indikatoren, Einstiegs - und Ausstiegstypen sowie Strategieentwurf. Häufig basiert eine Strategie auf einer Markthypothese, dh einer Idee, wie der Markt funktioniert. Eine tragfähige Handelsstrategie wird typischerweise durch ein langes Trial-and-Error-Verfahren mit zahlreichen Iterationen, Revisionen und Tests entwickelt, bis akzeptable Ergebnisse erzielt werden. Dieser traditionelle Prozess der Entwicklung von Handelssystemen ist extrem zeitaufwändig und beinhaltet systematisch Beseitigung vieler Ideen, die einfach nicht funktionieren. Außerdem haben alle Händler Vorurteile darüber, wie die Märkte funktionieren, und diese Verzerrungen können den Systementwicklungsprozess beeinflussen. In einigen Fällen können diese Vorurteile hilfreich sein, aber sie können auch die möglichen Systeme einschränken, die der Händler berücksichtigen könnte. Anstatt mit einer voreingenommenen Ansicht und einem begrenzten Satz von Regeln, beginnt ein automatischer Code-Generator mit einem großen Satz von Regeln und sucht in einer unvoreingenommenen Weise für die Kombinationen, die arbeiten, während schnell die Beseitigung diejenigen, die nicht. Dieses Papier stellt einen Überblick über die automatische Codegenerierung für den Bau von Handelssystemen. Es werden sowohl einfache als auch komplexe Methoden diskutiert. Eine einfache Ad-hoc-Methode wird vorgestellt, die in der Scripting-Sprache von TradeStations EasyLanguage implementiert werden kann, um grundlegende Preismuster-basierte Strategien zu finden. Ein komplexer Ansatz auf der Grundlage der genetischen Programmierung wird ebenfalls diskutiert. Die automatische Erstellung von Handelssystemen ist eine attraktive Idee. Es gibt jedoch auch einige Nachteile. Zum einen sind rigorose Ansätze wie solche, die auf genetischer Programmierung beruhen, komplex und schwer umsetzbar. Auch die automatische Codeerzeugung beruht im Allgemeinen auf der historischen Simulation, dh ihrem Optimierungsprozess. Daher ist das Risiko einer Überanpassung zu berücksichtigen. Diese Vorbehalte werden ebenfalls diskutiert. Der grundlegende Ansatz Der grundlegende Algorithmus für den Bau von Handelssystemen mit automatischer Codegenerierung ist unten in Abb. 1. Es beginnt mit einer Methode zur Kombination verschiedener Elemente der Handelsstrategie. Diese Elemente können verschiedene technische Indikatoren, wie z. B. gleitende Durchschnittswerte, Stochastik, und so weiter verschiedene Arten von Ein-und Ausreise Bestellungen und logische Bedingungen für den Eintritt und Ausstieg aus dem Markt. Abbildung 1. Grundlegender Algorithmus für automatisierte Strategieentwicklung. Nachdem die verschiedenen Elemente zu einer kohärenten Strategie zusammengefasst sind, können sie auf dem Markt oder den Märkten von Interesse ausgewertet werden. Dies erfordert Marktdaten Preise, Volumen, offene Zinsen, etc. für jeden Markt. Im Allgemeinen würden Sie auch eine Reihe von Build-Ziele zu helfen, Rang oder punkten Sie jede Strategie. Beispiele für Build-Ziele umfassen verschiedene Leistungsmaße, wie etwa den Nettogewinn, den Drawdown, den Prozentsatz der Gewinner, den Gewinnfaktor und so weiter. Diese könnten als Mindestanforderungen, wie etwa ein Gewinnfaktor von mindestens 2,0, oder als Maximierungsziele, wie die Maximierung des Reingewinns, angegeben werden. Die Strategiegenerierungs - und Bewertungsschritte werden wiederholt, bis die Beendigungskriterien erfüllt sind. Die Abbruchkriterien könnten so einfach sein wie die Schaffung einer vorbestimmten Anzahl von verschiedenen Strategien, oder der Prozess kann gestoppt werden, nachdem keine weitere Verbesserung der Build-Ziele erreicht ist. Typischerweise wird ein Optimierungsalgorithmus verwendet, um die Strategien zu denen zu führen, die die Buildziele erfüllen. Die endgültigen Strategien sind diejenigen mit dem höchsten Rang oder Kerbe auf der Grundlage der Build-Ziele. Sie könnten entweder die einzige beste Strategie oder speichern Sie einige (oder alle) der Strategien, die von bauen Ziele. Wenn es mehrere Build-Ziele gibt, kann ein gewichteter Durchschnitt verwendet werden, um eine einzelne Metrik zu bilden. Dies ist die grundlegendste Ansicht des automatischen Systemaufbaus. Eine detailliertere Beschreibung wird im folgenden Abschnitt über die genetische Programmierung gegeben. Diese Beschreibung ignoriert auch das wichtige Problem der Überformatierung, bei dem die Strategie so eng an die Marktdaten angepasst ist, die während des Buildprozesses verwendet werden, dass die Strategie in Zukunft bei neuen Daten nicht gut funktioniert. Diese Frage wird auch im Folgenden behandelt. Theoretische Grundlagen der automatischen Codegenerierung Wie oben beschrieben, ist der Aufbau eines Handelssystems mit automatischer Codegenerierung im Wesentlichen ein Optimierungsproblem. Die Kombination von Strategie-Elementen, die die Build-Ziele maximiert, wird als letzte Strategie betrachtet. Einige Händler würden einwenden, dass Handelssysteme auf der Grundlage einer Hypothese des Marktverhaltens oder Handelns aufgebaut werden sollten. Wenn Sie eine gute Hypothese haben, wie die Märkte funktionieren, kann eine Strategie um diese Hypothese aufgebaut und getestet werden. Wenn es funktioniert, unterstützt es die Hypothese und rechtfertigt den Handel der Strategie. Tatsächlich ist der hier beschriebene Ansatz nicht grundsätzlich anders. Jede Kandidatenstrategie, die während des Buildprozesses aufgebaut wurde, wie in Fig. 1 ist im Wesentlichen eine Hypothese, die von der Evaluation entweder unterstützt oder widerlegt wird. Wenn Out-of-Sample-Tests verwendet werden, können die endgültigen Strategien durch die Out-of-Sample-Ergebnisse weiter unterstützt oder widerlegt werden. Eine weitere Möglichkeit, automatische Codegenerierung anzuzeigen, ist ein Problem der statistischen Schlussfolgerung. Die Preisdaten können als eine Kombination von Signal und Rauschen gedacht werden. Das Signal ist der handelbare Teil der Daten, und das Rauschen ist alles andere. In diesem Kontext ist der Strategieaufbauprozeß ein nichtlineares Kurvenanpassungsproblem, bei dem das Ziel darin besteht, Strategien zu finden, die dem Signal entsprechen, während das Rauschen ignoriert wird und Überanpassung vermieden wird. Gleichzeitig sind die Marktdaten oft nicht stationär: Die statistischen Eigenschaften ändern sich mit der Zeit. Eine erfolgreiche Strategie ist daher eine, die zu den stationären Elementen des Marktsignals mit angemessenen Freiheitsgraden passt, um eine Überanpassung zu vermeiden. Obwohl im Folgenden ausführlicher erörtert wird, wird im Allgemeinen ein Out-of-Sample-Test verwendet, um zu verifizieren, dass die Strategien nicht überkompatibel zum Markt sind. Pattern-Systemcodegenerator für TradeStation Dieser Abschnitt beschreibt einen Ad-hoc-Ansatz für die automatische Codegenerierung, bei dem ein Handelssystem für TradeStation automatisch andere, musterbasierte Handelssysteme für TradeStation generiert. Das AutoSystemGen-System sucht nach einem Satz von Handelsregeln zusammen mit den zugehörigen Parameterwerten, die einen bestimmten Satz von Leistungsanforderungen erfüllen. Abhängig von den Performance-Anforderungen, könnte es mehrere oder sogar Dutzende von Handelssystemen, die den Anforderungen entsprechen. Es schreibt dann den EasyLanguage-Code für jedes System in eine Datei. Für illustrative Zwecke sind die Regeln für die generierten Systeme auf Preismodelle beschränkt. Grundsätzlich könnte diese Technik erweitert werden, um automatisch Systemzeichnungen aus einer Vielzahl von Ein - und Ausstiegstechniken zu generieren, die für fast jeden Markt gelten. Preismusterregeln Während fast jede Art von Indikator oder Handelslogik in den hier beschriebenen Handelssystemgenerator einbezogen werden könnte, um die Dinge ziemlich einfach zu halten, werden die Regeln der erzeugten Systeme auf Preismuster beschränkt sein. Jede Eintragsvorschrift eines generierten Handelssystems hat die folgende Form: wobei P1 und P2 die Preise (offen, hoch, niedrig oder geschlossen) sind, N1 und N2 die Anzahl der zurückzulegenden Stäbe sind (z Und Ineq ist ein Ungleichheitsoperator, entweder lt oder gt. Beispiele für Regeln umfassen die folgenden: Schließen Sie lt Close2 Low2 lt High10 High3 gt Close4 und so weiter. P1, P2, N1, N2 und Ineq sind alle Variablen, die durch den Systemgenerierungsprozess bestimmt werden. N1 und N2 auf den Bereich 0 20 beschränkt. Außerdem ist die Anzahl der Regeln, NRules, eine Variable mit Werten von 1 bis 10. Ein Handelseintrag wird ausgelöst, wenn alle Regeln wahr sind. In diesem Fall wird der Eintrag an der offenen Stelle des nächsten Taktes aufgenommen. Die Handelsrichtung wird im Voraus festgelegt, so daß das System Systeme erzeugt, die entweder alle langen oder alle kurzen Trades sind. Um Trading-Logik sowohl für lange und kurze Trades zu erhalten, kann das System zweimal ausgeführt werden, einmal für lange Trades und das zweite Mal für kurze Trades. Trades wird auf dem Markt nach einer festen Anzahl von Bars, NX, die von einem bis 20 reichen ausgegeben werden. Finding the Rules Der Schlüssel zu diesem Prozess ist die Suche Kandidaten Handelssysteme. Ein System kann zwischen einer und zehn Regeln der oben gezeigten Form bestehen. Trades werden auf dem Markt eingegeben, wenn alle Regeln wahr sind und Trades eine bestimmte Anzahl von Bars später verlassen werden. Wenn dies als ein herkömmliches TradeStation-System mit maximal 10 Regeln kodiert wäre, würden es 52 Eingaben geben. Dies würde für eine umständliche Strategie zu machen. Stattdessen wird ein anderer Ansatz verwendet. Bei jedem Schritt der Optimierung werden die Werte für jede Variable (P1, P2, N1, N2, Ineq, NRules und NX) zufällig gewählt. Für jede Regel wird ein anderer Satz von Werten von P1, P2, N1, N2 und Ineq für eine Summe von NRules-Sätzen von Werten ausgewählt. Jeder Schritt der Optimierung wird ein anderes Handelssystem generieren, da die Variablen zufällig ausgewählt werden. Wenn die Leistungsresultate des Systems die vom Benutzer eingegebenen Anforderungen erfüllen, wird das erzeugte System in eine Datei im EasyLanguage-Code geschrieben. Alles zusammen setzen Der Code für das AutoSystemGen-System und die dazugehörigen Funktionen ist bei Breakout Futures (breakoutfutures) auf der Seite Free Downloads verfügbar. Die erste Eingabe zur Strategie heißt OptStep. Um das System auszuführen, sollte OptStep in der TradeStation optimiert werden, indem es von 1 bis zu einer großen Anzahl von 10.000 in Schritten von 1 variiert wird. Dies führt dazu, dass AutoSystemGen beispielsweise 10.000 verschiedene Handelssysteme erzeugt. Die, die die angegebenen Leistungskriterien erfüllen, werden in die Datei geschrieben, die als Eingabe für die Funktion WriteSystem (z. B. C: AutoSysGen-Output1.txt) angezeigt wird. Die Leistungskriterien werden über die System-Eingänge (reqNetProfit, reqMaxDD, etc.) vorgegeben. Die meisten der harten Arbeit wird durch die Funktionen ausgeführt, die das System aufruft. Die Funktion GetPatVars wählt zufällig die Werte für die Variablen aus, die die Handelsregeln bestimmen. Um festzustellen, ob in der nächsten Leiste ein Trade-Eintrag erfolgen soll oder nicht, werden die Preismusterregeln durch die Funktion EvalPattern ausgewertet. Wenn das System die Leistungskriterien erfüllt, wird der entsprechende EasyLanguage-Code erzeugt und mit der Funktion WriteSystem in eine Textdatei geschrieben. Beispiel Als Beispiel betrachten Sie den 30-jährigen Schatzanleihe-Futures-Markt (Symbol US. P in TradeStation 8). AutoSystemGen wurde in den letzten 20 Jahren der T-Bond-Preise optimiert, wobei der OptStep-Input von 1 auf 10000 erhöht wurde. Damit wurden 10.000 verschiedene Handelssysteme ausgewertet. Die Optimierung wurde zweimal durchgeführt, einmal für lange Trades und einmal für kurze Trades. Die folgenden Performance-Anforderungen wurden verwendet: Nettogewinn von mindestens 30.000, Worst-Case-Drawdown nicht mehr als 7500, mindestens 200 Trades, prozentual rentabel von mindestens 50 und Profit-Faktor von mindestens 1,2. Auf einem Dualcore-Computer mit Vista dauerte es etwa 10 Minuten, um jede Optimierung auszuführen (10.000 Systeme pro Optimierung). Die durch dieses Verfahren erzeugten Systeme sind nachfolgend dargestellt. Hierbei handelt es sich um die von der WriteSystem-Funktion in die Datei AutoSysGen-Output1.txt geschriebenen Systeme. Die ersten sind die Long-Only-Systeme, gefolgt von einem Short-Only-System (das einzige, das die Performance-Kriterien erfüllt). System 2332, US. P, 9172007 12:23:00, Long Trades Net Profit 53562.50, Max DD -7381.25, Num Trades 250, Prozentgewinne 56.80, Proffaktor 1.631 Var: EntNext (false) EntNext Open2 gt Low16 und Low9 gt Low3 Und Close14 lt Low6 und wenn EntNext dann kaufen nächste Bar auf dem Markt Wenn BarsSinceEntry gt NBarExS dann kaufen, um die nächste Bar auf dem Markt zu decken Wenn STrailOn dann kaufen, um die nächste Bar auf SStop stoppen Bis vor kurzem die meisten Anwendungen der genetischen Programmierung bis zur Strategie-Strategie wurden Akademische Studien auf begrenzte Regelsätze, übermäßig einfache Ein-und Ausfahrt Logik und benutzerdefinierten Code, so dass die Ergebnisse nicht geeignet für die meisten Händler. Gleichzeitig wurde die meiste verfügbare Software, die GP für den Markthandel implementiert, entweder auf professionelle Händler ausgerichtet und entsprechend festgesetzt oder ist sehr kompliziert einzurichten und zu verwenden. Adaptrade Builder wurde entwickelt, um GP einfach zu bedienen für jeden Händler, Einzel-oder Profi, die ein grundlegendes Verständnis des Strategie-Trading und der TradeStation-Plattform hat. Weitere Informationen über Builder finden Sie unter AdaptradeBuilder. Over-fitting Gebäude-Trading-Systeme über die automatische Code-Generierung ist eine Art von Optimierung. Die meisten systematischen Trader sind wohl mit der Parameteroptimierung vertraut, in der die Eingaben in eine Strategie optimiert werden. Im Gegensatz zur Parameteroptimierung optimiert die automatische Codegenerierung die Strategielogik. Dennoch ist das Risiko einer Überoptimierung oder Überanpassung auch für die automatische Codegenerierung ebenso wichtig wie für die Parameteroptimierung. Typischerweise wird die Optimierung über ein Segment von Daten, das sogenannte Optimierungs - oder In-Probe-Segment, durchgeführt und auf unterschiedlichen Daten getestet, die als Test - oder Out-of-Sample-Segment bezeichnet werden. Over-Fitting bezieht sich auf das Problem der Optimierung einer Strategie, so dass es passt das In-Beispiel-Segment gut, aber nicht gut auf alle anderen Daten, einschließlich der Out-of-Sample-Daten. Schlechte Out-of-Sample-Leistung wird in der Regel durch einen von mehreren Faktoren verursacht. Ein wichtiger Faktor ist die sogenannte Anzahl von Freiheitsgraden im In-Probe-Segment. Die Anzahl der Freiheitsgrade, die gleich der Anzahl der Trades abzüglich der Anzahl der Regeln und Bedingungen der Strategie ist, bestimmt, wie eng die Strategie den Daten entspricht. Wenn für jeden Parameter in der Strategie zugeordnete Eingaben hinzugefügt werden, kann die Anzahl der Strategie-Eingaben als Proxy für die Anzahl der Regeln und Bedingungen verwendet werden. Zum Beispiel, wenn eine Strategie hat 100 Trades und 10 Eingänge, es hat 90 Grad Freiheit. Je mehr Freiheitsgrade, desto unwahrscheinlicher ist es, dass die Strategie übermäßig an den Markt angepasst wird, und um so eher wird es eine gute Out-of-Sample-Performance aufweisen. Die Anzahl der Freiheitsgrade kann während des Build-Prozesses erhöht werden, indem die Anzahl der Trades und die Anzahl der Strategie-Eingaben als Build-Ziele berücksichtigt werden. Unter der Annahme, dass die Fitness-Metrik ein gewichteter Durchschnitt der Build-Ziele ist, werden alle anderen Aspekte gleich, die Erhöhung der Gewichtung für die Anzahl der Trades führt zu Strategien mit mehr Trades und damit mehr Freiheitsgrade. Ebenso führt eine Erhöhung der Gewichtung für die (negative) Anzahl von Eingaben zu Strategien mit weniger Eingaben, die auch die Anzahl von Freiheitsgraden erhöhen werden. Eine weitere Möglichkeit besteht darin, die statistische Signifikanz als bauliches Ziel einzubeziehen. Die statistische Signifikanz kann berechnet werden, indem der Schüler t-Test auf den durchschnittlichen Handel angewandt wird. Dies wird die Wahrscheinlichkeit, dass der durchschnittliche Handel größer als Null ist zu messen. Der t-Test basiert auf der Anzahl der Freiheitsgrade, ist aber ein vollständigeres Maß dafür, ob eine Strategie über-fit ist als die Anzahl der Freiheitsgrade allein. Eine Möglichkeit, die Out-of-Sample-Leistung zu verbessern, besteht also darin, die Bedeutung der Fitnessfunktion zu berücksichtigen, die dazu neigt, Strategien zu erzeugen, die eine hohe statistische Signifikanz aufweisen. Ein weiterer wichtiger Faktor, der die Out-of-Sample-Performance beeinflusst, ist die Vielfalt der Marktbedingungen im Segment "In-Probe". Generell ist es besser, über Daten zu optimieren, die eine breite Palette von Marktbedingungen einschließen, wie z. B. Aufwärtstrend - und Abwärtstrendmärkte, Konsolidierungsphasen, hohe und niedrige Volatilität usw. Je mehr Abwechslung im Segment der Stichproben, desto mehr Wahrscheinlich ist es, dass die Strategie wird gut auf andere Daten, einschließlich Out-of-Sample-Daten und in Echtzeit-Handel. Während die Zukunft nie genau die Vergangenheit dupliziert, vorausgesetzt, die Zukunfts - (oder Out-of-Sample-Daten) sind ähnlich genug, um zumindest einen Teil des In-Sample-Segments, sollte die Strategie gut auf neue Daten. Der Wert der Optimierung über eine Vielzahl von Marktbedingungen setzt voraus, dass eine gute Leistung über jeden Teil des In-Probe-Segments erreicht wird. Eine Möglichkeit, dies zu messen, ist der Korrelationskoeffizient der Eigenkapitalkurve, der misst, wie eng die Eigenkapitalkurve sich einer Geraden annähert. Wenn die Eigenkapitalkurve eine gerade Linie ist, bedeutet dies, dass die Performance über alle Segmente der Daten einheitlich ist. Offensichtlich ist dies wünschenswert, wenn das Ziel ist, eine gute Leistung über so viele verschiedene Arten von Marktbedingungen wie möglich zu erzielen. Der Korrelationskoeffizient für die durch automatische Codeerzeugung erzeugten Strategien kann durch Einbeziehen des Korrelationskoeffizienten als Buildziel und Gewichtung als Teil der Fitnessfunktion erhöht werden. Unglücklicherweise wird es Fälle geben, in denen sogar mit einer hohen Signifikanz, einem Korrelationskoeffizienten nahe 1 und einer breiten Vielfalt von Marktbedingungen im In-Probe-Segment die Out-of-Sample-Leistung schlecht ist. Dies kann aus mehreren Gründen passieren. Erstens kann sogar eine einfache Strategie mit wenigen Parametern in einigen Fällen das Rauschen eher als das Signal passen. Laut Definition ist Rauschen ein Teil der Marktdaten, die nicht zu rentablen Handelssignalen beitragen. Zweitens kann sich die Marktdynamik, auf der die Strategie-Logik basiert (d. H. Das Signal), in dem außerhalb des Abtastbereichs befindlichen Segment geändert haben, um die Leistung negativ zu beeinflussen. Dies ist manchmal auf eine grundlegende Veränderung des Marktes zurückzuführen, etwa auf den Umstieg vom Boden - auf den elektronischen Handel. Allerdings sind auch subtilere Veränderungen, oft im Zusammenhang mit den Handelsmustern der Marktteilnehmer, möglich, insbesondere für den kurzfristigen Handel. Wenn dies das Problem zu sein scheint, kann die Lösung so einfach sein wie die Rekonstruktion der Strategie mit neuen Handelslogik. Mit einem Tool wie Adaptrade Builder macht dies viel einfacher, als wenn ein manueller Ansatz für Trading-Strategie-Entwicklung verwendet wurden. Eine andere mögliche Lösung besteht darin, die neuesten Daten in das Optimierungssegment einzuschließen und es ausprobieren zu lassen, indem die Performance in Echtzeit verfolgt wird. In den meisten Fällen wird eine Strategie, die eine große Anzahl von Trades, einen hohen Wert und eine gute Performance auf dem In-Probe-Segment hat, auch für eine gewisse Zeit nach der Optimierung gut funktionieren. Für Informationen über Software für den Aufbau von Handelsstrategien mit genetischer Programmierung, klicken Sie bitte hier. Wenn Sie über Neuentwicklungen, Neuigkeiten und Angebote von Adaptrade Software informiert werden möchten, können Sie sich gerne an unsere E-Mail-Liste wenden. Vielen Dank.


No comments:

Post a Comment