Saturday 1 July 2017

Trading Strategie Gen Algorithmus


Es gibt eine große Anzahl von Literatur über den Erfolg der Anwendung von evolutionären Algorithmen im Allgemeinen und der genetische Algorithmus insbesondere auf die Finanzmärkte. Allerdings fühle ich mich unwohl, wenn ich diese Literatur lese. Genetische Algorithmen können die vorhandenen Daten überlagern. Mit so vielen Kombinationen ist es einfach, mit ein paar Regeln zu arbeiten, die funktionieren. Es kann nicht robust sein und es hat keine konsequente Erklärung dafür, warum diese Regel funktioniert und diese Regeln dont jenseits der bloßen (zirkulären) Argument, dass es funktioniert, weil die Tests zeigt es funktioniert. Was ist der aktuelle Konsens über die Anwendung der genetischen Algorithmus in der Finanzierung gefragt 18. Februar 11 um 9:00 Ive arbeitete an einem Hedge-Fonds, der GA-abgeleiteten Strategien erlaubt. Für die Sicherheit, es erfordert, dass alle Modelle lange vor der Produktion eingereicht werden, um sicherzustellen, dass sie noch in den Backtests gearbeitet. So könnte es eine Verzögerung von bis zu einigen Monaten geben, bevor ein Modell laufen durfte. Es ist auch hilfreich, das Stichprobenuniversum zu trennen, verwenden eine zufällige Hälfte der möglichen Aktien für die GA-Analyse und die andere Hälfte für Bestätigungs-Backtests. Ist das ein anderer Prozess, als Sie es vor einer anderen Handelsstrategie verwenden würden (Wenn ja, ist es mir nicht klar, was Sie von einem GA-Modell mit Daten zur Zeit t erhalten und dann bis tN testen, bevor Sie es vertrauen, im Vergleich zu Daten Zum Zeitpunkt tN, Testen von tN auf t, und verwenden Sie es sofort.) Ndash Darren Cook Nov 23 11 at 2:08 DarrenCook ein Problem Ich sehe, dass, wenn Sie testen von tN zu t und finden Sie es doesn39t gut funktionieren, dann gehen Sie Um ein anderes Modell zu erstellen, das im selben Zeitraum tN bis t (ad infinitum) getestet wird. Das führt die Wahrscheinlichkeit ein, dass bei der Modellerstellungsprozedur eine Übergröße erfolgt. Ndash Chan-Ho Suh Jul 22 15 um 5:24 In Bezug auf Daten-Snooping, wenn ein GA korrekt implementiert ist, sollte das kein Problem sein. Mutationsfunktionen sind spezifisch eingeschlossen, um zufällig durch den Problemraum zu suchen und Daten zu vermeiden, die snooping sind. Das heißt, das Finden der richtigen Mutationsstufen kann etwas von einer Kunst sein und wenn die Mutationsniveaus zu niedrig sind, dann ist es so, als ob die Funktion überhaupt nicht implementiert wäre. Ndash BioinformatikGal Apr 6 11 at 16:28 BoinformaticsGal ich verstehe nicht, wie die Einbeziehung von Mutationsfunktionen uns erlaubt, Daten zu schnüffeln. Nach der Suche, gibt es eine Fitness-Funktion, die jede Generation 39fit39 die Daten immer mehr macht. Oder bin ich nicht verständnis dich richtig ndash Vishal Belsare Sep 15 11 um 18:05 Theres eine Menge Leute hier reden darüber, wie GAs empirisch sind, haben keine theoretischen Grundlagen, sind Black-Boxen und dergleichen. Ich brauche zu unterscheiden Theres ein ganzer Zweig der Ökonomie gewidmet, um die Märkte in Bezug auf evolutionäre Metaphern zu betrachten: Evolutionäre Ökonomie Ich empfehle das Dopfer Buch, die Evolutionären Grundlagen der Ökonomie als Intro. Cambridge. orggbknowledgeisbnitem1158033sitelocaleenGB Wenn Ihre philosophische Ansicht ist, dass der Markt im Grunde ein riesiges Casino oder Spiel ist, dann ist ein GA einfach eine Black-Box und hat keine theoretische Grundlage. Allerdings, wenn Ihre Philosophie ist, dass der Markt ein Überleben-of-the-fittest Ökologie ist, dann GAs haben viele theoretische Grundlagen, und es ist völlig vernünftig, Dinge wie Corporate Speziation, Markt-Ökologie, Portfolio-Genome, Handels-Klima und die zu diskutieren mögen. Beantwortet Apr 5 11 at 15:42 In kurzer Zeit Skalen ist es mehr ein Casino. Wie die Natur, in der Tat. Ndash quantdev Apr 5 11 bei 20:46 quantdev, das Problem damit ist, dass GA - wie alle anderen quantitativen Methoden - nur mit kurzer Zeitskala arbeitet, wenn ich mich nicht irre. Also, wenn der Aktienmarkt eher wie ein Aktienmarkt ist, dann wäre GA völlig nutzlos. Ndash Graviton Apr 6 11 um 8:56 Graviton. Es gibt keinen inhärenten Grund, warum man nicht ein GA programmieren kann, um die Analyse zu längeren Zeitspannen zu machen. Der Zeitbereich eines GA wird in Generationen, nicht in Jahren oder Tagen gemessen. So müsste man einfach eine Population definieren, die Personen enthält, deren Generationen Jahre oder Jahrzehnte lang sind (dh Konzerne). Es gibt definitiv einige Arbeit, die sich an die Definition von Corporate 39genomes39 durch ihre Produktionsprozesse nähert. In einem solchen Modell würde man sich aufgrund eines bestimmten Marktklimas für ein effizientes Geschäftsmodell optimieren. Es ist jedoch kein Aktienkurs-Portfolio-Modell. Ndash BioinformaticsGal Apr 6 11 um 15:12 Angenommen, Sie vermeiden Daten-Snooping Bias und alle potenziellen Fallstricke der Verwendung der Vergangenheit, um die Zukunft vorauszusagen, vertrauenswürdige genetische Algorithmen, um die richtige Lösung zu finden, ist ziemlich viel auf die gleiche Wette, die Sie machen, wenn Sie Aktiv ein Portfolio verwalten, ob quantitativ oder diskretionär. Wenn Sie an die Effizienz des Marktes glauben, dann ist die Erhöhung Ihrer Transaktionskosten aus dem aktiven Management unlogisch. Wenn aber Sie glauben, dass es strukturelle Ampere psychologische Muster oder Mängel zu nutzen und die Auszahlung ist die Zeit und Geld für die Erforschung und Umsetzung einer Strategie die logische Wahl ist aktives Management wert ist. Das Ausführen einer GA-abgeleiteten Strategie ist eine implizite Wette gegen die Markteffizienz. Sie sagen im Grunde, ich glaube, es gibt falsche Bewertungen, die aus irgendeinem Grund auftauchen (Massen von irrationalen Menschen, Investmentfonds, die wegen fehlangepaßter Anreize usw. hüten), und das Ausführen dieser GA kann diese Datenmenge schneller ausführen, als ich kann . Antwortete am 18. Februar 11 um 15:49 manuelles Management eines aktiven Portfolios beinhaltet die Nutzung aller Informationen, die wir haben und eine logische Schlussfolgerung über den Markt ableiten und dann Strategien ausführen, ist dies eine rationale Tätigkeit. OTOH, mit GA ist mit einem Black-Box-Tool können wir erklären, das Ergebnis aus ihm aus allen akzeptierten Prinzipien abgeleitet. Ich bin nicht sicher, ob diese beiden wirklich gleich sind. Ndash Graviton Feb 18 11 at 15:57 Graviton Ja aber betrachte die Ähnlichkeiten zwischen GA39s und wie wir Menschen über Märkte lernen, Strategien entwickeln, aus Fehlern lernen und sich an veränderte Marktbedingungen anpassen. Wenn Sie recherchieren, was gewinnen und verlieren Aktien haben gemeinsam, oder was Volumen und Preismuster schaffen gute Trades, oder welches Modell ist die genaueste für die Bewertung von Derivaten, was Sie tun, ist Data-Mining die Vergangenheit in einer Weise. Wenn Marktbedingungen ändern Sie entweder neue Strategien zu handeln oder schließlich aus dem Geschäft gehen. Wenn es ausnutzbare Kanten auf dem Markt gibt, dann ist der einzige Unterschied zwischen Ihnen und einem GA ndash Joshua Chance 18. Februar 11 um 16:46 Graviton (in einem sehr breiten Sinn) ist, dass Sie eine Erzählung haben, eine Geschichte, um mit Ihrer Strategie zu gehen . Wir Menschen riskieren, ein scheinbar wiederkehrendes Muster zu finden und dann zu rationalisieren und eine Erzählung zu schaffen. GA39s riskieren dasselbe, nur ihr potentiell falsches Modell benutzt keine Worte, sie benutzen Mathe und Logik. Ndash Joshua Chance Feb 18 11 um 16:54 Die späte Thomas Cover. (Wahrscheinlich der führende Informationstheoretiker seiner Generation), als universelle Ansätze für Dinge wie Datenkomprimierung und Portfoliozuweisungen als echte genetische Algorithmen. Evolution hat keine Parameter zu passen oder zu trainieren. Warum sollten echte genetische Algorithmen universelle Ansätze keine Annahmen über die zugrunde liegende Verteilung von Daten machen. Sie machen keinen Versuch, die Zukunft von Mustern oder irgendetwas anderes vorherzusagen. Die theoretische Wirksamkeit von universellen Ansätzen (sie zeigen signifikante Umsetzungs-Herausforderungen, wie meine aktuelle Frage: Geometrie für Universal-Portfolios) von ihnen zu tun, was die Evolution verlangt. Die schnellsten, klügsten oder stärksten nicht unbedingt in der nächsten Generation überleben. Evolution begünstigt, dass Gen, Organismus, Meme, Portfolio oder Datenkomprimierung Algorithmus positioniert, um am leichtesten anpassen, was auch immer als nächstes passiert. Auch weil diese Ansätze keine Annahmen machen und nicht parametrisch betreiben, kann man alle Tests auch bei allen historischen Daten als Out-of-Sample betrachten. Sicherlich haben sie Einschränkungen, Sicherlich können sie für jede Art ein Problem arbeiten, das wir in unserem Gebiet sehen, aber gee, was für eine interessante Art, über die Dinge nachzudenken. Antwortete am 14. Juli um 15:42 Nun, das Ziel eines genetischen Algo ist es, die beste Lösung zu finden, ohne alle möglichen Szenarien durchzugehen, weil es zu lang wäre. Also natürlich ist es Kurvenanpassung, das ist das Ziel. Antwortete Mar 6 11 um 20:40 Aber es gibt einen signifikanten Unterschied zwischen der Überfüllung der Probe (schlecht) und Anpassung der Bevölkerung (gut). Das ist der Grund, warum viele vorschlagen, dass Sie Ihren Algorithmus mit einem Out-of-Probe-Test validieren. Ndash Joshua Jul 17 13 at 2:34 Ihre Antwort 2017 Stack Exchange, IncCreating ein Trading-System innerhalb Trading-System Lab Trading System Lab wird automatisch generieren Trading-Systeme auf jedem Markt in ein paar Minuten mit einem sehr fortgeschrittenen Computer-Programm bekannt als AIMGP (Automatic Induktion von Maschinencode mit genetischer Programmierung). Die Schaffung eines Trading Systems im Trading System Lab wird in 3 einfachen Schritten durchgeführt. Zuerst wird ein einfacher Präprozessor ausgeführt, der automatisch die notwendigen Daten aus dem Markt extrahiert und vorbereitet, mit dem Sie arbeiten möchten. TSL akzeptiert CSI, MetaStock, AIQ, TradeStation, kostenlose Internetdaten, ASCII, TXT, CSV, CompuTrac, DowJones, FutureSource, TeleChart2000v3, TechTools, XML, Binär und Internet Streaming Daten. Zweitens wird der Trading System Generator (GP) für mehrere Minuten oder mehr ausgeführt, um ein neues Trading System zu entwickeln. Sie können Ihre eigenen Daten, Muster, Indikatoren, Intermarket-Beziehungen oder fundamentale Daten innerhalb von TSL verwenden. Drittens ist das entwickelte Trading System formatiert, um neue Trading System Signale aus der TradeStation oder vielen anderen Handelsplattformen zu produzieren. TSL schreibt automatisch Easy Language, Java, Assembler, C-Code, C-Code und WealthLab Script Language. Das Trading System kann dann manuell gehandelt, über einen Broker gehandelt oder automatisch gehandelt werden. Sie können das Trading System selbst erstellen oder wir können es für Sie tun. Dann können Sie oder Ihr Broker das System entweder manuell oder automatisch handeln. Trading System Labs Genetisches Programm enthält mehrere Funktionen, die die Möglichkeit der Kurvenanpassung reduzieren oder ein Trading System produzieren, das nicht weiter in die Zukunft umgesetzt wird. Zuerst haben die entwickelten Trading-Systeme ihre Größe bis auf die niedrigstmögliche Größe durch den sogenannten Parsimon-Druck, der aus dem Konzept der minimalen Beschreibungslänge aufgeschnitten ist. So ist das resultierende Trading System so einfach wie möglich und es wird allgemein angenommen, dass je einfacher das Trading System ist, desto besser wird es in die Zukunft führen. Zweitens wird Zufall in den evolutionären Prozess eingeführt, der die Möglichkeit reduziert, Lösungen zu finden, die lokal, aber nicht global optimal sind. Zufälligkeit wird nicht nur die Kombinationen des genetischen Materials, das in den entwickelten Handelssystemen verwendet wird, sondern in Parsimondruck, Mutation, Crossover und anderen übergeordneten GP-Parametern eingeführt. Außerhalb der Stichprobenprüfung wird durchgeführt, während das Training mit statistischen Informationen durchgeführt wird, die sowohl im Testbeispiel als auch bei der Prüfung von Stichprobenhandelssystemen vorgestellt wurden. Ausführen von Protokollen werden dem Benutzer für Training, Validierung und Out of Sample Daten präsentiert. Gut verformt Out of Sample Performance kann indikativ sein, dass das Trading System mit robusten Eigenschaften entwickelt. Eine wesentliche Verschlechterung der automatischen Out-of-Sample-Tests im Vergleich zu den In-Sample-Tests kann bedeuten, dass die Schaffung eines robusten Handelssystems im Zweifel ist oder dass das Terminal oder Input Set möglicherweise geändert werden muss. Schließlich wird das Terminal-Set sorgfältig ausgewählt, um die Auswahl des ursprünglichen genetischen Materials nicht auf eine bestimmte Marktvorspannung oder - stimmung zu verzichten. TSL startet nicht mit einem vordefinierten Handelssystem. In der Tat wird zunächst nur der Input Set und eine Auswahl von Markteinführungsmodus oder Modi für die automatische Eingabesuche und Zuordnung vorgenommen. Ein Muster - oder Indikatorverhalten, das als eine bullische Situation betrachtet werden kann, kann innerhalb des GP verwendet, verworfen oder umgekehrt werden. Kein Muster oder Indikator ist einer bestimmten Marktbewegungsvorgabe vorab zugeordnet. Dies ist eine radikale Abkehr von der manuell generierten Trading System Entwicklung. Ein Trading System ist ein logischer Satz von Anweisungen, die dem Händler sagen, wann man einen bestimmten Markt kaufen oder verkaufen kann. Diese Anleitung erfordert selten eine Intervention durch einen Händler. Trading-Systeme können manuell gehandelt werden, indem sie Handelsanweisungen auf einem Computer-Bildschirm beobachten oder gehandelt werden können, indem sie dem Computer erlauben, Trades auf dem Markt automatisch einzugeben. Beide Methoden sind heute weit verbreitet. Es gibt mehr professionelle Geldmanager, die sich als systematische oder mechanische Händler betrachten als diejenigen, die sich selbst diskretionär betrachten, und die Leistung von systematischen Geldmanagern ist in der Regel besser als die von diskretionären Geldmanagern. Studien haben gezeigt, dass Handelskonten in der Regel öfter Geld verlieren, wenn der Kunde kein Trading System verwendet. Der deutliche Anstieg der Handelssysteme in den vergangenen 10 Jahren zeigt sich insbesondere in den Rohstoffmaklerfirmen, doch werden die Aktien - und Bondmarkt-Brokerfirmen zunehmend auf die Vorteile durch den Einsatz von Trading-Systemen aufmerksam und einige haben damit begonnen, Trading-Systeme anzubieten Einzelhandelskunden. Die meisten Investmentfonds-Manager verwenden bereits anspruchsvolle Computer-Algorithmen, um ihre Entscheidungen zu bestimmen, welche heißen Aktien zu wählen oder welche Sektor Rotation ist für Gunst. Computer und Algorithmen haben sich in den Mainstream in die Investition und wir erwarten, dass dieser Trend weiterhin als jüngere, mehr Computer versierte Investoren weiterhin erlauben Teile ihres Geldes von Trading Systems verwaltet werden, um das Risiko zu reduzieren und die Rendite zu erhöhen. Die enormen Verluste, die von Anlegern erlebt wurden, die an Kauf und Besitz von Aktien und Investmentfonds beteiligt waren, da der Aktienmarkt in den vergangenen Jahren geschmolzen ist, fördert diese Bewegung zu einem disziplinierteren und logischen Ansatz für Börseninvestitionen. Der durchschnittliche Investor erkennt, dass er oder sie derzeit erlaubt viele Aspekte ihres Lebens und das Leben ihrer Lieben zu halten oder kontrolliert von Computern wie die Autos und Flugzeuge, die wir für den Transport, die medizinische Diagnose-Ausrüstung, die wir für die Gesundheit Wartung, Die Heizungs - und Kälteregler, die wir für die Temperaturregelung verwenden, die Netzwerke, die wir für internetbasierte Informationen nutzen, auch die Spiele, die wir für Unterhaltung spielen. Warum dann einige Privatanleger glauben, dass sie aus der Hüfte in ihren Entscheidungen schießen können, was Aktien oder Investmentfonds zu kaufen oder zu verkaufen und zu erwarten, um Geld zu verdienen Schließlich ist der durchschnittliche Investor vorsichtig von der Beratung und Informationen von skrupellosen Brokern weitergeleitet worden , Wirtschaftsprüfer, Corporate Principals und Finanzberater. In den vergangenen 20 Jahren haben Mathematiker und Softwareentwickler Indikatoren und Muster auf Lager - und Rohstoffmärkten gesucht, die nach Informationen suchen, die auf die Richtung des Marktes hinweisen können. Diese Informationen können verwendet werden, um die Leistung von Handelssystemen zu verbessern. Im Allgemeinen wird dieser Entdeckungsprozess durch eine Kombination von Versuch und Irrtum und anspruchsvolleren Data Mining erreicht. Typischerweise wird der Entwickler Wochen oder Monate der Zahl knirschen, um ein mögliches Handelssystem zu produzieren. Viele Male dieses Trading-System wird nicht gut funktionieren, wenn tatsächlich in der Zukunft aufgrund der sogenannten Kurvenanpassung verwendet. Im Laufe der Jahre gab es viele Trading Systems (und Trading System Development Companies), die gekommen und gegangen sind, da ihre Systeme im Live-Handel versagt haben. Die Entwicklung von Trading-Systemen, die weiterhin in die Zukunft umsetzen, ist schwierig, aber nicht unmöglich zu erreichen, obwohl kein ethischer Entwickler oder Geldmanager eine unbedingte Garantie dafür gibt, dass jedes Trading System oder eine Aktien-, Anleihe - oder Investmentfonds weitergehen wird Um für immer in die Zukunft zu kommen. Was Wochen oder Monate für den Trading-System-Entwickler in der Vergangenheit produziert hat, kann nun in wenigen Minuten durch den Einsatz von Trading System Lab produziert werden. Trading System Lab ist eine Plattform für die automatische Generierung von Handelssystemen und Handelsindikatoren. TSL nutzt eine Hochgeschwindigkeits-Genetic Programming Engine und produziert Trading Systems mit einer Rate von über 16 Millionen Systembars pro Sekunde auf Basis von 56 Eingängen. Beachten Sie, dass nur wenige Eingaben tatsächlich verwendet werden oder notwendig sind, was zu generell einfachen entwickelten Strategiestrukturen führt. Mit etwa 40.000 bis 200.000 Systemen, die für eine Konvergenz benötigt werden, kann die Zeit bis zur Konvergenz für jeden Datensatz angenähert werden. Beachten Sie, dass wir nicht einfach eine rohe Kraftoptimierung bestehender Indikatoren durchführen, die nach optimalen Parametern suchen, aus denen in einem bereits strukturierten Handelssystem verwendet werden kann. Der Trading System Generator beginnt mit einem Nullpunkt-Ursprung, der keine Annahmen über die Marktbewegung in der Zukunft macht und dann die Handelssysteme mit einer sehr hohen Rate entwickelt, um die auf dem Markt vorhandenen Informationen zu kombinieren und neue Filter, Funktionen, Bedingungen und Beziehungen zu formulieren Fortschritte zu einem gentechnisch veränderten Handelssystem. Das Ergebnis ist, dass ein exzellentes Trading System in wenigen Minuten auf 20-30 Jahre täglich Marktdaten auf nahezu jedem Markt generiert werden kann. In den vergangenen Jahren gab es mehrere Ansätze zur Trading-System-Optimierung, die den weniger leistungsfähigen genetischen Algorithmus einsetzen. Genetische Programme (GPs) sind genetischen Algorithmen (GAs) aus mehreren Gründen überlegen. Zuerst konvergieren GPs auf einer Lösung mit einer exponentiellen Rate (sehr schnell und schneller), während genetische Algorithmen mit einer linearen Rate konvergieren (viel langsamer und nicht immer schneller). Zweitens generieren GPs Trading System Maschinencode, die das genetische Material (Indikatoren, Muster, Inter-Market-Daten) in einzigartiger Weise kombinierten. Diese einzigartigen Kombinationen sind möglicherweise nicht intuitiv offensichtlich und erfordern keine anfänglichen Definitionen des Systementwicklers. Die einzigartigen mathematischen Beziehungen können neue Indikatoren oder Varianten in der Technischen Analyse werden, die noch nicht entwickelt oder entdeckt wurden. GAs hingegen schauen einfach nach optimalen Lösungen, da sie über den Parameterbereich hinausgehen, dass sie keine neuen mathematischen Beziehungen entdecken und keinen eigenen Trading System Code schreiben. GPs erstellen Trading-System-Code von verschiedenen Längen, mit variablen Länge Genome, wird die Länge des Trading-System durch die so genannte nicht-homologe Crossover ändern und wird vollständig verwerfen ein Indikator oder Muster, das nicht zur Effizienz des Trading-System beitragen. GAs verwenden nur feste Größe Befehlsblöcke, die Verwendung von nur homologen Crossover und nicht produzieren variable Länge Trading System Code, noch werden sie verwerfen eine ineffiziente Indikator oder Muster so leicht wie ein GP. Schließlich sind genetische Programme ein neuer Fortschritt im Bereich des maschinellen Lernens, während genetische Algorithmen vor 30 Jahren entdeckt wurden. Genetische Programme beinhalten alle Hauptfunktionen von genetischen Algorithmen Crossover, Reproduktion, Mutation und Fitness, aber GPs beinhalten viel schnellere und robuste Features, so dass GPs die beste Wahl für die Herstellung von Trading Systems. Der GP, der im TSLs Trading System Generator eingesetzt wird, ist der schnellste GP, der derzeit verfügbar ist und in keiner anderen Finanzmarktsoftware der Welt verfügbar ist. Der genetische Programmieralgorithmus, Trading Simulator und Fitness Engines, die innerhalb von TSL verwendet wurden, übernahmen 8 Jahre. Trading System Lab ist das Ergebnis von Jahren harter Arbeit von einem Team von Ingenieuren, Wissenschaftlern, Programmierern und Händlern, und wir glauben, stellt die modernste Technologie zur Verfügung heute für den Handel der Märkte. SnowCron Genetische Algorithmus in FOREX Trading Systems mit genetischen Algorithmus zu schaffen Profitable FOREX Handelsstrategie. Genetischer Algorithmus in Cortex Neuronale Netzwerke Software Feedforward Backpropagation Neuronales Netzwerk Anwendung für genetische Berechnungen basierte Forex Trading. Dieses Beispiel verwendet Konzepte und Ideen des vorherigen Artikels, also lesen Sie bitte Neural Network Genetic Algorithm in FOREX Trading Systems zuerst, obwohl es nicht obligatorisch ist. Über diesen Text Bitte lesen Sie zuerst den Haftungsausschluss. Dies ist ein Beispiel für die Verwendung von Cortex Neural Networks Software genetische Algorithmus-Funktionalität, kein Beispiel für die Gewinnung von rentablen Handel. Ich bin nicht dein Guru, auch ich sollte nicht für deine Verluste verantwortlich sein. Cortex Neural Networks Software hat neuronale Netze in ihr, und FFBP, die wir vorher diskutiert haben, ist nur eine Möglichkeit, eine Forex Trading Strategien zu wählen. Es ist eine gute Technik, mächtig und wenn richtig angewendet, sehr versprochen. Allerdings hat es ein Problem - das neuronale Netzwerk zu unterrichten. Wir müssen die gewünschte Ausgabe kennen. Es ist ziemlich einfach zu tun, wenn wir die Näherung funktionieren, wir nehmen einfach den wahren Wert einer Funktion, weil wir wissen, was es sein sollte. Wenn wir neuronale Netzwerkprognosen machen. Wir verwenden die Technik (beschrieben in früheren Artikeln) der Lehre des Neuronalen Netzes auf die Geschichte, wieder, wenn wir voraussagen, sagen wir, einen Wechselkurs, wissen wir (während des Trainings) was die richtige Vorhersage ist. Allerdings, wenn wir ein Handelssystem bauen, haben wir keine Ahnung, was die richtige Handelsentscheidung ist, auch wenn wir den Wechselkurs kennen. In der Tat haben wir viele Devisenhandelsstrategien, die wir zu jedem Zeitpunkt nutzen können Wir müssen ein gutes finden - wie was sollten wir als die gewünschte Ausgabe unseres Neuronalen Netzes füllen Wenn Sie unserem vorherigen Artikel folgten, wissen Sie, dass wir betrogen haben, mit diesem Problem umzugehen. Wir lehrten das Neuronale Netzwerk, um Wechselkurs (oder Wechselkurs basierte Indikator) Vorhersage zu tun, und dann verwendet diese Vorhersage, um den Handel zu tun. Dann, außerhalb des Neuronalen Netzwerks Teil des Programms, haben wir eine Entscheidung getroffen, welche Neuronale Netzwerk ist die beste. Genetische Algorithmen können mit diesem Problem direkt umgehen, sie können das Problem lösen, um die besten Handelssignale zu finden. In diesem Artikel werden wir Cortex Neural Networks Software verwenden, um ein solches Programm zu erstellen. Mit genetischen Algorithmen Genetische Algorithmen sind sehr gut entwickelt und sehr vielfältig. Wenn du alles über sie lernen willst, schlage ich vor, dass du Wikipedia benutzt, da es sich bei diesem Artikel nur darum geht, was Cortex Neural Networks Software machen kann. Mit Cortex Neural Networks Software. Wir können ein Neuronales Netzwerk erstellen, das einige Inputs, sagen wir, Werte eines Indikators, und produziert einige Ausgaben, sagen wir, Handelssignale (kaufen, verkaufen, halten.) Und stoppen Verlust nehmen Gewinnniveaus für Positionen, die geöffnet werden sollen. Natürlich, wenn wir diese Neuronalen Netze säumen zufällig, werden die Handelsergebnisse schrecklich sein. Allerdings sagen wir, dass wir ein Dutzend solcher NNs erstellt haben. Dann können wir die Leistung von jedem von ihnen testen, und wählen Sie die beste, der Gewinner. Dies war die erste Generation von NNs. Um die zweite Generation fortzusetzen, müssen wir unserem Gewinner erlauben zu zeigen, aber um zu vermeiden, dass identische Kopien, können wir zufällige Geräusche zu seinen Abstammungsgewichten hinzufügen. In der zweiten Generation haben wir unsere erste Generation und ihre unvollkommenen (mutierten) Kopien. Lets testen erneut. Wir werden noch einen Gewinner haben, der BESSER ist, dann ein anderes Neuronales Netzwerk in der Generation. Und so weiter. Wir erlauben es einfach, die Gewinner zu züchten und die Verlierer zu beseitigen, genau wie in der Evolution des wirklichen Lebens, und wir werden unser Best-Trading Neural Network bekommen. Ohne vorherige Kenntnisse darüber, was das Handelssystem (genetischer Algorithmus) sein sollte. Neuronales Netzwerk Genetischer Algorithmus: Beispiel 0 Dies ist das erste Beispiel für genetisches Algorithmus. Und eine sehr einfache. Wir werden es Schritt für Schritt durchlaufen, um alle Tricks zu lernen, die folgende Beispiele verwenden werden. Der Code hat Inline-Kommentare, so können wir nur auf wichtige Momente konzentrieren. Zuerst haben wir ein neuronales Netzwerk geschaffen. Es benutzt zufällige Gewichte und wurde noch nicht unterrichtet. Dann, im Zyklus, machen wir 14 Exemplare davon, mit MUTATIONNN Fumktion. Diese Funktion macht eine Kopie einer Quelle Neuronales Netzwerk. Hinzufügen von zufälligen Werten von 0 zu (in unserem Fall) 0,1 zu allen Gewichten. Wir halten Griffe zu den resultierenden 15 NNs in einem Array, wir können es tun, da Handle nur eine ganzzahlige Zahl ist. Der Grund, warum wir 15 NNs verwenden, hat nichts mit dem Handel zu tun: Cortex Neural Networks Software kann bis zu 15 Zeilen auf einem Diagramm gleichzeitig aufstellen. Wir können verschiedene Ansätze für die Prüfung verwenden. Zuerst können wir das Lernset verwenden, alles auf einmal. Zweitens können wir auf 12000 Resonzen (von 100000) testen und durch das Lernset gehen, von Anfang bis Ende. Das macht Lernenden anders, denn wir werden nach Neuronalen Netzwerken suchen, die auf jedem gegebenen Teil der Daten rentabel sind, nicht nur auf dem ganzen Set. Der zweite Ansatz kann uns Probleme geben, wenn Daten vom Anfang bis zum Ende wechseln. Dann wird sich das Netzwerk weiterentwickeln, die Fähigkeit, am Ende des Datensatzes zu handeln, zu gewinnen und die Fähigkeit zu handeln, zu Beginn zu verlieren. Um dieses Problem zu lösen, werden wir zufällig 12000 Datensatzfragmente aus Daten nehmen und es dem Neuronalen Netzwerk zuführen. Ist einfach ein endloser Zyklus, da 100000 Zyklen nie mit unserer Geschwindigkeit erreicht werden. Unten fügen wir ein Kind für jedes Netzwerk mit etwas unterschiedlichen Gewichten hinzu. Beachten Sie, dass 0,1 für Mutation Tange ist nicht die einzige Wahl, da die Tatsache, auch dieser Parameter kann mit Hilfe von genetischen Algorithmus optimiert werden. Neu erzeugte NNs werden nach 15 vorhandenen hinzugefügt. Auf diese Weise haben wir 30 NNs in einem Array, 15 alte und 15 neue. Dann werden wir den nächsten Zyklus des Testens machen und die Verlierer von beiden Generationen töten. Um das Testen durchzuführen, wenden wir Neural Network auf unsere Daten an, um Ausgänge zu erzeugen und dann die Testfunktion aufzurufen, die diese Ausgänge verwendet, um den Handel zu simulieren. Ergebnisse des Handels werden verwendet, um zu beschwören, welche NNs am besten sind. Wir verwenden ein Intervall von nLearn Datensätzen, von nStart zu nStart nLearn, wobei nStart ein zufälliger Punkt innerhalb des Lernsatzes ist. Der untenstehende Code ist ein Trick. Der Grund, warum wir es verwenden, ist, die Tatsache zu veranschaulichen, dass der genetische Algorithmus einen genetischen Algorithmus erzeugen kann. Aber es wird nicht unbedingt das Beste sein, und auch, um vorzuschlagen, dass wir das Ergebnis verbessern können, wenn wir irgendwelche Einschränkungen für den Lernprozess implizieren. Es ist möglich, dass unser Handelssystem sehr gut auf lange Trades arbeitet und sehr schlecht auf kurz oder umgekehrt ist. Wenn ja, lange Trades sind sehr gut, kann dieser genetische Algorithmus auch bei großen Verlusten auf kurzen Trades gewinnen. Um es zu vermeiden, weisen wir den langjährigen Trades in ungeraden und kurzen Trades in gleichmäßigen Zyklen mehr Gewicht zu. Dies ist nur ein Beispiel, es gibt keine Garantie, dass es etwas verbessern wird. Mehr darüber unten, in der Diskussion über Korrekturen. Technisch, man muss es nicht tun, oder kann es anders machen Profit zu einem sortierten Array hinzufügen Es gibt eine Einfügeposition zurück, dann verwenden wir diese Position, um Neural Network Handle hinzuzufügen, Lernen und Testen von Gewinnen an nicht sortierte Arrays. Jetzt haben wir Daten für das aktuelle Neuronale Netzwerk auf dem gleichen Array-Index wie sein Gewinn. Die Idee ist, zu Array von NNs zu kommen, sortiert nach Profitabilität. Als Array ist nach Profit zu sortieren, um 12 von Netzwerken zu entfernen, die weniger rentabel sind, müssen wir nur NNs entfernen 0 bis 14 Handelsentscheidungen basieren auf dem Wert des Neuronalen Netzwerks, von diesem Gesichtspunkt aus ist das Programm identisch mit Beispielen aus Vorheriger Artikel. FOREX Trading-Strategie: Diskussion Beispiel 0 Zunächst einmal werfen wir einen Blick auf Charts. Das erste Diagramm für den Gewinn während der ersten Iteration ist überhaupt nicht gut, wie man erwarten sollte, das Neuronale Netzwerk verliert Geld (Bild evolution00gen0.png kopiert nach dem ersten Iteration aus Bilder Ordner): Das Bild für Profit auf Zyklus 15 ist besser, manchmal , Genetischer Algorithmus kann wirklich schnell lernen: Allerdings bemerke die Sättigung auf einer Gewinnkurve. Es ist auch interessant, auf die Art und Weise zu denken, wie sich einzelne Gewinne ändern, wenn man bedenkt, dass Kurve Zahl, sagen wir, 3 ist nicht immer für das gleiche Neuronale Netzwerk. Wie sie geboren werden und beendet die ganze Zeit: auch beachten Sie, dass aus wenig Forex automatisierte Handelssystem führt schlecht auf kurze Trades, und viel besser auf Longs, die möglicherweise oder nicht in Zusammenhang mit der Tatsache, dass Dollar im Vergleich zu Euro in diesem Zeitraum. Es kann auch etwas mit Parametern unseres Indikators zu tun haben (vielleicht brauchen wir einen anderen Zeitraum für Shorts) oder die Wahl der Indikatoren. Hier ist die Geschichte nach 92 und 248 Zyklen: Zu unserer Überraschung scheiterte der genetische Algorithmus vollständig. Lass uns versuchen, herauszufinden, warum, und wie man die Situation zu helfen. Zuerst einmal ist nicht jede Generation besser als die vorherige Die Antwort ist nein, zumindest nicht innerhalb des Modells, das wir verwendet haben. Wenn wir ENTIRE Lern-Set auf einmal genommen und verwendet es immer wieder, um unsere NNs zu lehren, dann ja, sie werden auf jeder Generation zu verbessern. Aber stattdessen nahmen wir zufällige Fragmente (12000 Datensätze in der Zeit) und benutzten sie. Zwei Fragen: warum das System auf zufällige Fragmente des Lernens gescheitert ist, und warum havent wir das ganze Lernset verwendet haben. Um die zweite Frage zu beantworten, habe ich. NNs haben sich sehr gut entwickelt. Und sie scheiterten auf Test-Set, aus dem gleichen Grund fehlschlägt es, wenn wir FFPB Lernen verwendet. Um es anders auszudrücken, haben unsere NNs überdimensioniert, sie haben gelernt, in der Umgebung zu überleben, die sie gewohnt sind, aber nicht draußen. Das passiert viel in der Natur. Der Ansatz, den wir stattdessen nahmen, sollte das kompensieren, indem wir NNs dazu zwingen, auf jedem zufälligen Fragment des Datensatzes gut zu spielen, so dass sie hoffentlich auch auf einem unbekannten Testset vorgehen konnten. Stattdessen scheiterten sie sowohl beim Testen als auch beim Lernen. Stellen Sie sich vor, Tiere, die in einer Wüste leben. Viel Sonne, kein Schnee. Dies ist ein metafor für Rising-Markt, wie für unsere NNs Daten spielen die Rolle der Umwelt. Tiere lernten in einer Wüste zu leben. Stellen Sie sich vor, Tiere, die in einem kalten Klima leben. Schnee und gar keine Sonne. Nun, sie haben sich angepasst. Doch in unserem Experiment haben wir zufällig unsere NNs in eine Wüste, im Schnee, im Wasser, auf die Bäume gelegt. Indem sie ihnen verschiedene Fragmente von Daten (zufällig steigend, fallend, flach) vorstellen. Tiere starben. Oder anders ausgedrückt, haben wir das beste Neuronale Netzwerk für den zufälligen Datensatz 1 ausgewählt, der für den steigenden Markt gilt. Dann haben wir den Gewinnern und ihren Kindern eine fallende Marktdaten vorgestellt. NNs schlecht durchgeführt, nahmen wir am besten von armen Performern, vielleicht einer der mutierten Kinder, die verlorene Fähigkeit, auf steigenden Markt zu handeln, aber bekam einige Fähigkeit, mit einem zu fallen. Dann machten wir den Tisch wieder, und wieder bekamen wir den besten Darsteller - aber am besten unter den armen Performern. Wir haben unseren NNs keine Chancen gegeben, universell zu werden. Es gibt Techniken, die es dem genetischen Algorithmus ermöglichen, neue Informationen zu erlernen, ohne die Leistung auf alte Informationen zu verlieren (schließlich können Tiere im Sommer und im Winter leben, so dass Evolution in der Lage ist, wiederholte Änderungen zu bewältigen). Wir können diese Techniken später besprechen, obwohl dieser Artikel mehr über die Verwendung von Cortex Neural Networks Software ist. Als über den Aufbau eines erfolgreichen Forex automatisierten Handelssystems. Neuronales Netzwerk Genetischer Algorithmus: Beispiel 1 Jetzt ist es Zeit, über Korrekturen zu sprechen. Ein einfacher genetischer Algorithmus, den wir im vorigen Schritt erstellt haben, hat zwei Hauptfehler. Erstens hat es geschafft, mit Gewinn zu handeln. Es ist ok, wir können versuchen, ein teilweise geschultes System zu benutzen (es war am Anfang rentabel). Der zweite Fehler ist ernster: Wir haben keine Kontrolle über die Dinge, die dieses System tut. Zum Beispiel kann es lernen, rentabel zu sein, aber mit riesigen Drawdowns. Es ist eine bekannte Tatsache, dass im wirklichen Leben die Evolution gleichzeitig mehr als einen Parameter optimieren kann. Zum Beispiel können wir ein Tier bekommen, das schnell laufen kann und kältebeständig ist. Warum nicht zu versuchen, das gleiche in unserem Forex automatisierten Handelssystem zu versuchen. Das ist, wenn wir Korrekturen verwenden, die nichts als die Menge der zusätzlichen Strafen sind. Sagen Sie, unser System handelt mit Drawdown 0,5, während wir es auf 0 - 0,3 Intervall bestätigen wollen. Um dem System zu sagen, dass es einen Fehler gemacht hat, verringern wir seinen Gewinn (einer verwendet, um zu bestimmen, welcher genetische Algorithmus gewonnen hat), das ist proportional zur Größe von DD. Dann kümmert sich der Evolutionsalgorithmus um den Rest. Es gibt noch wenige Faktoren, die wir berücksichtigen wollen: Vielleicht möchten wir mehr oder weniger gleich viele Kauf - und Verkaufsaktivitäten haben, wir wollen mehr von rentablen Operationen haben, dann von Misserfolgen, können wir die Gewinndiagramm haben Linear sein und so weiter. In evolution01.tsc implementieren wir einen einfachen Satz von Korrekturen. Zuerst verwenden wir eine große Anzahl für einen anfänglichen Korrekturwert. Wir multiplizieren sie mit einem kleinen (meist zwischen 0 und 1) Werten, je nach der Bestrafung, die wir anwenden möchten. Dann multiplizieren wir unseren Gewinn mit dieser Korrektur. Als Ergebnis wird der Gewinn korrigiert, um zu reflektieren, wie sehr der genetische Algorithmus unseren anderen Kriterien entspricht. Dann verwenden wir das Ergebnis, um ein Gewinner Neuronales Netzwerk zu finden. FOREX Trading-Strategie: Diskussion Beispiel 1 Beispiel 1 arbeitet viel besser als Beispiel 0. Während der ersten 100 Zyklen hat es viel gelernt, und Profit-Charts sehen beruhigend aus. Allerdings, wie in Beispiel 0, sind lange Trades viel rentabler, was höchstwahrscheinlich bedeutet, dass es ein Problem in unserem Ansatz gibt. Dennoch stellte das System ein Gleichgewicht zwischen zwei widersprüchlichen Anfangsbedingungen dar: Es gibt eine positive Dynamik sowohl beim Lernen als auch, wichtiger in der Testmenge. Wie für weiteres Lernen, im Zyklus 278 können wir sehen, dass unser System überholt wurde. Es bedeutet, wir haben noch Fortschritte beim Lernen gesetzt: Aber Test-Set zeigt Schwäche: Dies ist ein häufiges Problem mit NNs: Wenn wir es lehren, Lern-Set, lernt es, damit umzugehen, und manchmal lernt es auch zu gut Grad, wenn es verliert Leistung auf Prüf-Set. Um dieses Problem zu lösen, wird eine traditionelle Lösung verwendet: Wir suchen auf der Suche nach dem Neuronalen Netzwerk. Das führt am besten auf Test-Set, und speichern Sie es, Überschreiben der vorherigen besten, jedes Mal, wenn neue Spitze erreicht ist. Dies ist der gleiche Ansatz, den wir in der FFBP-Ausbildung verwendet haben, außer, diesmal müssen wir es selbst machen (Hinzufügen von Code, der nach einem besten Neuronalen Netzwerk auf einem Test-Set sucht und SAVENN anruft oder Gewichte des Neuronalen Netzwerks exportiert Datei). Auf diese Weise, wenn du dein Training aufhörst, hast du den besten Performer auf TESTING SET gespeichert und warte auf dich. Beachten Sie auch, dass es nicht die max. Profit sind Sie nach, aber optimale Leistung, also erwägen Sie Korrekturen, bei der Suche nach einem besten Performer auf einem Test-Set. Genetischer Algorithmus für FOREX Technische Analyse: Wo nun Nach dem Sieger Neuronales Netzwerk. Sie können den Schritten folgen, die im vorherigen Artikel beschrieben wurden, um Gewichte dieses Neuronalen Netzes zu exportieren. Und dann, um sie in Ihrer echten Handelsplattform zu verwenden, wie Meta Trader, Trade Station und so weiter. Alternativ können Sie sich auf andere Möglichkeiten der Optimierung des Neuronalen Netzwerks konzentrieren. Im Gegensatz zu FFBP-Algorithmen, hier können Sie sich von der Verwendung von Lern-und Test-Sets, und verschieben sequentielles Lernen. Download Cortex Bestellen Cortex View Price List Sichtbarkeit ist für diese Seite sehr wichtig. Wenn Sie es mögen, bitte verknüpfen Sie mit dieser URLAdvanced Trading Software: Technische Analyse und neuronale Netzwerke Erweiterte Strategie Optimierung Verbessern Sie Ihre Profitable Trading Ideen Optimierung ist der Prozess der Durchführung mehrerer Tests bei der Änderung der Parameter in Strategie Regeln oder Indikatoren verwendet. Der Zweck der Optimierung ist es, die besten und profitabelsten Einstellungen für einen bestimmten Indikator oder ein Preismuster zu finden, das auf einer bestimmten Sicherheit gehandelt wird. Optimierung kann Ihr Wissen über jede Strategie und Ihre Kompetenz über das, was in verschiedenen Arten von Märkten funktioniert, erheblich verbessern. Es erlaubt Ihnen, mit den Parametern Ihrer Strategie zu experimentieren, ohne ihre Hauptfunktionen zu ändern. Wann sollte die Optimierung verwendet werden Viele Händler verwenden die Optimierung zu Unrecht, um eine unvollständige Strategie zur Fertigstellung zu erzwingen. Allerdings, wenn die Optimierung richtig verwendet wird, kann es der Schlüssel Schritt bei der Vorbereitung Ihrer Strategie für echten Handel. Optimierung sollte erst gestartet werden, nachdem Sie eine Strategie getestet haben und sorgten dafür, dass es rentabel ist. Strategy Optimization Wizard Sie können eine Strategie für eine Vielzahl von Zeiträumen und Märkten optimieren und dabei ihre Spitzenleistung beibehalten. Der Strategy Optimization Wizard bietet Schritt für Schritt Anleitung für den Optimierungsprozess. Finden der optimalen Parameter Sie können die Optimierung verwenden, um sicherzustellen, dass Sie die optimalen Parameter für die Indikatoren verwenden, die auf Ihre Strategie angewendet werden. Automatische Walk-Forward-Testing Tradecision führt automatische Walk-Forward-Tests durch. Diese Art von Tests ist wichtig, weil es Ihnen hilft sicherzustellen, dass Sie erfolgreich handeln mit Ihrer optimierten Strategie. Mit der Walk-Forward-Testfunktion können Sie die Testtermine definieren und Ihnen so die Möglichkeit geben, die für die Optimierung und die Out-of-Probe-Prüfung zu verwendenden Bestände auszuwählen. Angabe von Bereich und Schritt Zusätzlich müssen Sie für jede Optimierungsvariable den Bereich (Minimum, Maximum) und Step (Inkrement) angeben. Bitte beachten Sie, dass je mehr Optimierungsvariablen Sie haben und je mehr von ihnen für jede Variable getestet wird, desto länger dauert der Optimierungsprozess. Anwenden des Algorithmus, der Ihnen am besten entspricht Der Optimierungsprozess kann je nach Anzahl der laufenden Simulationen Sekunden, Minuten oder Stunden dauern. Um die für die Optimierung benötigte Zeit zu reduzieren, können Sie entweder die Anzahl der Optimierungsparameter reduzieren oder genetische Algorithmen für die Optimierung verwenden. In diesen Fällen, wenn Sie mehrere Optimierungsvariablen und breite Suchbereiche haben, arbeiten die genetischen Algorithmen viel schneller als die erschöpfende Suche, während sie sehr robust bleiben. Genetische Algorithmen sind Suchalgorithmen, die auf der Mechanik der natürlichen Selektion und der Naturgenetik basieren. Sie verbinden das Überleben der passendsten Regel mit einem strukturierten und randomisierten Informationsaustausch. Genetische Algorithmen besitzen die besten Eigenschaften der anderen Optimierungsmethoden wie Robustheit und schnelle Konvergenz, die nicht von einem der Optimierungskriterien abhängen (z. B. auf Glätte). Exhaustive Search prüft alle möglichen Kombinationen der optimierten Parameter und stellt so sicher, dass die bestmögliche Lösung gefunden wird. Jedoch wird die Zeit, die für die Durchführung einer erschöpfenden Suche erforderlich ist, dramatisch erhöht, wenn die Anzahl der Parameter zunimmt.

No comments:

Post a Comment