Thursday 7 September 2017

Forex Forecasting Genetic Algorithm


Ein Forex-Handelssystem basierend auf einem genetischen Algorithmus Erste Online: 04 April 2012 Received: 20 April 2010 Akzeptiert: 21 März 2012 Zitieren Sie diesen Artikel als: Mendes, L. Godinho, P. Dias, J. J. Heuristics (2012) 18: 627 In diesem Artikel wird ein genetischer Algorithmus beschrieben, der darauf abzielt, eine Reihe von Regeln zu optimieren, die ein Handelssystem für den Forex-Markt darstellen. Jedes Individuum in der Bevölkerung repräsentiert einen Satz von zehn technischen Handelsregeln (fünf, um eine Position einzugeben, und fünf andere zum Verlassen). Diese Regeln haben insgesamt 31 Parameter, die den einzelnen Genen entsprechen. Die Bevölkerung entwickelt sich in einer gegebenen Umgebung, definiert durch eine Zeitreihe eines bestimmten Währungspaars. Die Fitness eines einzelnen Individuums zeigt, wie gut es sich an die Umgebung anpassen konnte, und es wird durch Anwendung der entsprechenden Regeln auf die Zeitreihen berechnet und dann das Verhältnis zwischen dem Gewinn und dem maximalen Abzug (das Stirling-Verhältnis) . Es wurden zwei Währungspaare verwendet: EUR / USD und GBP / USD. Unterschiedliche Daten wurden für die Evolution der Bevölkerung und für die Prüfung der besten Individuen verwendet. Die Ergebnisse des Systems werden diskutiert. Die besten Personen sind in der Lage, sehr gute Ergebnisse in der Trainingsreihe zu erreichen. In den Testreihen zeigen die entwickelten Strategien einige Schwierigkeiten, positive Ergebnisse zu erzielen, wenn man Transaktionskosten berücksichtigt. Wenn Sie die Transaktionskosten ignorieren, sind die Ergebnisse meist positiv, was zeigt, dass die besten Individuen einige Prognosemöglichkeiten haben. Genetische Algorithmen Finanzen Technische Handelsregeln Devisenkurse Referenzen Alvarez-Diaz, M. Alvarez, A. Vorhersage von Wechselkursen mittels genetischer Algorithmen. Appl. Econ. Lette. 10 (6), 319322 (2003) CrossRef Google Scholar Brabazon, A. ONeill, M. Entwicklung der technischen Handelsregeln für Spot-Devisenmärkte mit grammatischer Evolution. Berechnet. Manag. Sci 1 (3), 311327 (2004) MATH CrossRef Google Scholar Davis, L. Handbuch der genetischen Algorithmen. Van Nostrand-Reinhold, New York (1991) Google Scholar Dempster, M. A.H. Jones, C. M. Ein adaptives Echtzeit-System mit genetischer Programmierung. Quant. Finanzierung 1 (4), 397413 (2001) CrossRef Google Scholar Dunis, C. Harris, A. et al. Optimierung von Intraday-Handelsmodellen mit genetischen Algorithmen. Neuronales Netz. World 9 (3), 193223 (1999) Google Scholar Eling, M. Schuhmacher, F. Hat die Wahl der Leistungsmaßnahme Einfluss auf die Bewertung von Hedgefonds J. Bank. Finanzen 31 (9), 26322647 (2007) CrossRef Google Scholar Fama, E. F. Effiziente Kapitalmärkte: eine theoretische und empirische Arbeit. J. Finanzen 25 (2), 383417 (1970) CrossRef Google Scholar Goldberg, D. Genetische Algorithmen in der Suche, Optimierung und Machine Learning. Addison-Wesley, Reading (1989) MATH Google Scholar Grefenstette, J. J. Genetische Algorithmen für wechselnde Umgebungen. In: Parallele Problemlösung aus der Natur 2, Brüssel (1992) Google Scholar Harding, D. Nakou, G. et al. Die Vor-und Nachteile von Drawdown als statistisches Maß für das Risiko für Investitionen. AIMA Journal, April 1617 (2003) Google Scholar Hirabayashi, A. Aranha, C. et al. Optimierung der Handelsregel in Devisen mit dem genetischen Algorithmus. In: Verfahren der 11. Jahrestagung über die genetische und evolutionäre Berechnung GECCO09 (2009) Google Scholar Hryshko, A. Downs, T. System für den Devisenhandel mit genetischen Algorithmen und Verstärkung Lernen. Int. J. Syst. Sci 35 (13), 763774 (2004) MATH CrossRef Google Scholar Kaboudan, M. A. Genetische Programmierung Vorhersage der Aktienkurse. Berechnet. Econ. 16 (3), 207236 (2000) MATH CrossRef Google Scholar LeBaron, B. Technische Handelsregel Rentabilität und Devisen-Intervention. J. Int. Econ. 49 (1), 125143 (1999) CrossRef Google Scholar LeBaron, B. Technische Trading-Rentabilität an den Devisenmärkten in den 1990er Jahren (2002) Levich, R. M. Thomas, L. R. Die Bedeutung der technischen Handelsregel profitiert im Devisenmarkt: ein Bootstrap-Ansatz. J. Int. Geld Financ. 12 (5), 451474 (1993) CrossRef Google Scholar Menkhoff, L. Taylor, M. P. Die hartnäckige Leidenschaft der Devisenfachleute: technische Analyse. J. Econ. Lit. 45 (4), 936972 (2007) CrossRef Google Scholar Meyers, T. A. Der technische Analysekurs. McGraw-Hill, New York (1989) Google Scholar Mitchell, M. Eine Einführung in genetische Algorithmen. MIT Press, Cambridge (1996) Google Scholar Neely, C. Weller, P. Intraday technischen Handel auf dem Devisenmarkt. J. Int. Geld Financ. 22 (2), 223237 (2003) CrossRef Google Scholar Neely, C. Weller, P. et al. Ist die technische Analyse in der Devisenmarkt profitabel Eine genetische Programmierung Ansatz. J. Financ. Quant. Anal. 32 (4), 405426 (1997) CrossRef Google Scholar Neely, C. J. Weller, P. A. Et al. Die Anpassungsmärkte Hypothese: Beweise aus dem Devisenmarkt. J. Financ. Quant. Anal. 44 (02), 467488 (2009) CrossRef Google Scholar Olson, D. Haben Handelsregel Gewinne in den Devisenmärkten im Laufe der Zeit sank J. Bank. Finanzierung 28 (1), 85105 (2004) CrossRef Google Scholar Osman, I. H. Kelly, J. P. Meta-Heuristik: Theorie amp Anwendungen. Kluwer Academic, Dordrecht (1996) MATH Google Scholar Park, C.-H. Irwin, S. H. Was wissen wir über die Rentabilität der technischen Analyse J. Econ. Surv. 21 (4), 786826 (2007) CrossRef Google Scholar Pictet, O. V. Dacorogna, M. M. Et al. Mit genetischen Algorithmen für eine robuste Optimierung in Finanzanwendungen. Neuronales Netz. World 5 (4), 573587 (1995) Google Scholar Reeves, C. R. Mit genetischen Algorithmen mit kleinen Populationen. In: Proceedings of the Fünfte Internationale Konferenz über genetische Algorithmen. Morgan Kaufmann, San Mateo (1993) Google Scholar Rothlauf, F. Goldberg, D. Redundante Darstellungen in der evolutionären Berechnung. Illinois Genetische Algorithmen Labor (IlliGAL) Bericht (2002) Schulmeister, S. Komponenten der Rentabilität des technischen Devisenhandels. Appl. Financ. Econ. 18 (11), 917930 (2008) CrossRef Google Scholar Sweeney, R. J. Schlagen der Devisenmarkt. J. Finance 41 (1), 163182 (1986) Google Scholar Wilson, G. Banzhaf, W. Interday Devisenhandel mit linearen genetischen Programmierung. In: Verfahren der 12. Jahrestagung zur genetischen und evolutionären Berechnung GECCO10 (2010) Google Scholar Copyright-Informationen Springer ScienceBusiness Media, LLC 2012 Autoren und Mitgliedsverbände Lus Mendes 1 Pedro Godinho 2 Joana Dias 3 Email-Autor 1. Faculdade de Economia Universidade de Coimbra Coimbra Portugal 2. Faculdade de Economia und GEMF Universidade de Coimbra Coimbra Portugal 3. Faculdade de Economia und Inesc-Coimbra Universidade de Coimbra Coimbra Portugal Über diesen Artikel Drucken ISSN 1381-1231 Online ISSN 1572-9397 Verlagsname Springer USSnowCron Genetischer Algorithmus in FOREX Trading Systems Mit Genetic Algorithm, um profitable FOREX Trading-Strategie zu schaffen. Genetischer Algorithmus in Cortex Neuronale Netze Software Feedforward Backpropagation Neuronales Netz Anwendung für genetische Berechnungen basierte Forex Trading. Dieses Beispiel verwendet Konzepte und Ideen des vorherigen Artikels, so lesen Sie bitte Neural Network Genetic Algorithm in Forex Trading Systems zuerst, obwohl es nicht obligatorisch ist. Zu diesem Text Zuerst lesen Sie bitte den Haftungsausschluss. Dies ist ein Beispiel für die Verwendung von Cortex Neural Networks Software genetischen Algorithmus-Funktionalität, nicht ein Beispiel, wie man profitabel Handel tun. Ich bin nicht euer Guru, und ich sollte auch nicht für eure Verluste verantwortlich sein. Cortex Neural Networks Software hat neuronale Netzwerke in ihr, und FFBP wir diskutiert, bevor ist nur eine Möglichkeit der Auswahl eines Forex Trading-Strategien. Es ist eine gute Technik, leistungsstark und wenn richtig angewendet, sehr vielversprechend. Allerdings hat es ein Problem - das Neuronale Netz zu lehren. Müssen wir die gewünschte Ausgabe wissen. Es ist ziemlich einfach zu tun, wenn wir Funktion Näherung tun, nehmen wir nur den realen Wert einer Funktion, weil wir wissen, was es sein sollte. Wenn wir neuronale Netzwerk-Prognose. Verwenden wir die in früheren Artikeln beschriebene Technik des Neuronalen Netzes über die Geschichte, wenn wir, wie wir sagen, einen Wechselkurs voraussagt, wissen wir (während des Trainings), was die richtige Vorhersage ist. Allerdings, wenn wir ein Handelssystem zu bauen, haben wir keine Ahnung, was die richtige Handelsentscheidung ist, auch wenn wir wissen, der Wechselkurs Wie die Tatsache, wir haben viele Forex Trading-Strategien können wir zu jedem Zeitpunkt verwenden, und Müssen wir eine gute finden - wie Was sollten wir als die gewünschte Leistung des Neuronalen Netzes füttern Wenn Sie unserem vorherigen Artikel gefolgt sind, wissen Sie, dass wir betrogen haben, um mit diesem Problem umzugehen. Wir lehrten das Neuronale Netz zu tun Wechselkurs (oder Wechselkurs-basierte Indikator) Vorhersage, und dann verwendet diese Vorhersage zu tun Handel. Dann, außerhalb der Neural Network Teil des Programms, haben wir eine Entscheidung, auf die Neural Network ist die beste. Genetische Algorithmen können mit diesem Problem direkt umgehen, können sie lösen das Problem als die besten Trading-Signale 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 Sie alles über sie lernen wollen, schlage ich vor, Sie verwenden Wikipedia, da dieser Artikel nur darüber, was Cortex Neural Networks Software tun kann. Mit der Cortex Neural Networks Software. Können wir ein Neuronales Netz schaffen, das einige Werte, zB Werte eines Indikators, annimmt und einige Outputs erzeugt, zB Handelssignale (Kauf, Verkauf, Halten) und Stop-Loss / Take-Profit für Positionen, die geöffnet werden sollen. Natürlich, wenn wir diese Neural Network s Gewichte zufällig seed, werden die Handelsergebnisse schrecklich sein. Allerdings können wir sagen, wir haben ein Dutzend solcher NNs. Dann können wir testen Leistung von jedem von ihnen, und wählen Sie die beste, der Gewinner. Dies war die erste Generation von NNs. Um mit der zweiten Generation fortzufahren, müssen wir unseren Siegern erlauben, zu formen, aber um zu vermeiden, identische Kopien zu erhalten, können wir einige zufällige Laute hinzufügen, um seine absteigenden Gewichte. In der zweiten Generation haben wir unseren ersten Sieger und seine unvollkommenen (mutierten) Kopien. Lassen Sie uns erneut testen. Wir haben einen weiteren Sieger, der BESSER ist als jedes andere Neuronale Netzwerk in der Generation. Und so weiter. Wir erlauben es den Gewinnern, zu züchten und die Verlierer zu eliminieren, genau wie in der wirklichen Evolution, und wir werden unser bestes Trading Neural Network bekommen. Ohne vorheriges Wissen über das, was das Handelssystem (genetischer Algorithmus) sein sollte. Neuronales Netzwerk Genetischer Algorithmus: Beispiel 0 Dies ist das erste Beispiel eines genetischen Algorithmus. Und eine sehr einfache. Wir werden Schritt für Schritt durch sie gehen, um alle Tricks zu lernen, die folgende Beispiele nutzen werden. Der Code hat Inline-Kommentare, so können nur auf wichtige Momente konzentrieren. Zuerst haben wir ein neuronales Netzwerk geschaffen. Es ist mit zufälligen Gewichten, und wurde noch nicht unterrichtet. Dann, im Zyklus, machen wir 14 Kopien davon, mit MUTATIONNN fumction. Diese Funktion macht eine Kopie eines Quell-Neuronalen Netzes. Zufallswerte von 0 bis (in unserem Fall) 0,1 zu allen Gewichten addieren. Wir halten Griffe zu resultierenden 15 NNs in einem Array, können wir es tun, da Handle ist nur eine ganze Zahl. 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 Chart gleichzeitig darstellen. 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 Resonanzen (von 100000) testen und durch das Lernset gehen, von Anfang bis Ende. Das wird lernen, verschiedene, wie wir für Neural Network s, die profitabel sind, auf einem bestimmten Teil der Daten, nicht nur auf den gesamten Satz zu suchen. Der zweite Ansatz kann uns Probleme, wenn Daten ändern, von Anfang bis Ende. Dann wird das Netzwerk entwickeln, die Fähigkeit zu erwerben, am Ende des Datensatzes handeln, und verlieren Fähigkeit, den Handel an seinem Anfang. Um dieses Problem zu lösen, werden wir zufällige 12000 Datensätze Fragmente aus Daten zu nehmen, und füttern sie an das neuronale Netzwerk. Ist einfach ein endloser Zyklus, da 100000 Zyklen nie bei unserer Geschwindigkeit erreicht werden. Darunter fügen wir ein Kind für jedes Netzwerk, mit etwas anderen Gewichten. Beachten Sie, dass 0,1 für Mutation Tange ist nicht die einzige Wahl, wie die Tatsache, auch dieser Parameter kann mit Hilfe von genetischen Algorithmus optimiert werden. Neu erstellte NNs werden nach 15 bestehenden hinzugefügt. Auf diese Weise haben wir 30 NNs in einem Array, 15 alte und 15 neue. Dann werden wir den nächsten Testzyklus durchführen und Verlierer von beiden Generationen töten. Um Tests durchzuführen, wenden wir Neuronales Netz an unsere Daten an, um Ausgänge zu erzeugen und dann Testfunktion aufzurufen, die diese Ausgänge zur Simulation des Handels verwendet. Die Ergebnisse des Handels werden verwendet, um zu entwerten, welche NNs am besten sind. Wir verwenden ein Intervall von nLearn-Datensätzen, von nStart bis nStart nLearn, wobei nStart ein zufälliger Punkt innerhalb des Lernsatzes ist. Der Code unten ist ein Trick. Der Grund, warum wir es verwenden, ist die Tatsache zu veranschaulichen, dass genetischer Algorithmus einen genetischen Algorithmus erzeugen kann. Aber es wird nicht notwendigerweise die beste sein, und auch, um vorzuschlagen, dass wir das Ergebnis verbessern können, wenn wir einige Einschränkungen des Lernprozesses implizieren. Es ist möglich, dass unser Handelssystem sehr gut auf langen Trades funktioniert und sehr schlecht auf kurzem, oder umgekehrt. Wenn, sagen wir, lange Trades SEHR gut sind, kann dieser genetische Algorithmus gewinnen, auch mit großen Verlusten auf Short Trades. Um es zu vermeiden, weisen wir den Long-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 müssen Sie es nicht tun, oder können es anders machen. Fügen Sie einem sortierten Array einen Gewinn hinzu. Es gibt eine Einfügeposition zurück, dann verwenden wir diese Position, um Neural Network Griff hinzuzufügen, Lernen und Testen von Gewinnen in nicht sortierte Arrays. Jetzt haben wir Daten für das aktuelle Neuronale Netzwerk mit dem gleichen Array-Index wie sein Gewinn. Die Idee ist, zu Array von NNs, sortiert nach Rentabilität zu gelangen. Da Array nach Gewinn sortiert ist, um 1/2 von Netzwerken zu entfernen, die weniger rentabel sind, müssen wir nur NNs 0 bis 14 entfernen. Entscheidungen für den Handel basieren auf dem Wert des Neuronalen Netzwerksignals, von diesem Standpunkt aus ist das Programm identisch Beispiele aus dem vorherigen Artikel. FOREX Trading-Strategie: Diskussion Beispiel 0 Zunächst einmal können wir einen Blick auf Charts. Das erste Diagramm für den Gewinn während der ersten Iteration ist nicht gut, wie zu erwarten ist, verliert das Neuronale Netz Geld (Bild evolution00gen0.png kopiert nach der ersten Iteration aus dem Bilderordner): Das Bild für Profit auf Zyklus 15 ist manchmal besser , Genetische Algorithmus kann wirklich schnell lernen: Allerdings bemerken die Sättigung auf einer Gewinn-Kurve. Interessant ist auch, wie sich einzelne Profite verändern, wobei man bedenkt, dass die Kurvenzahl, sagen wir, 3 nicht immer für dasselbe Neuronale Netz gilt. Wie sie geboren und beendet werden die ganze Zeit: Beachten Sie auch, dass aus kleinen Forex-automatisierte Handelssystem führt schlechte auf kurze Trades, und viel besser auf longs, die möglicherweise mit der Tatsache, dass der Dollar im Vergleich zu sinken In diesem Zeitraum. Es kann auch etwas mit den Parametern unseres Indikators zu tun haben (vielleicht brauchen wir verschiedene Zeit für Shorts) oder die Wahl der Indikatoren. Hier ist die Geschichte nach 92 und 248 Zyklen: Zu unserer Überraschung, genetischen Algorithmus völlig versagt. Lets versuchen, herauszufinden, warum, und wie die Situation zu helfen. Zunächst einmal, ist nicht jede Generation soll besser als die previuos ein Die Antwort ist nein, zumindest nicht innerhalb des Modells, das wir verwendet haben. Wenn wir ENTIRE Lernen auf einmal gesetzt und es immer wieder verwendet, um unsere NNs zu lehren, dann ja, werden sie auf jede Generation zu verbessern. Stattdessen nahmen wir zufällige Fragmente (12000 Datensätze in der Zeit), und verwendet sie. Zwei Fragen: Warum das System fehlgeschlagen auf zufällige Fragmente von Lern-Set, und warum havent wir ganze Lern-Set verwendet Nun. Um die zweite Frage zu beantworten, habe ich. NNs durchgeführt sehr - auf Lern-Set. Und sie fehlgeschlagen beim Testen Set, aus dem gleichen Grund scheitert es, wenn wir FFPB-Lernen verwendet. Um es anders auszudrücken, wurden unsere NNs überspezialisiert, sie haben gelernt, in der Umgebung zu überleben, die sie gewohnt sind, aber nicht draußen. Das geschieht sehr viel in der Natur. Der Ansatz, den wir stattdessen beabsichtigten, war zu kompensieren, dass durch die zwingende NNs, um gut auf jedem zufälligen Fragment des Datensatzes durchzuführen, so dass hoffentlich konnten sie auch auf einem unbekannten Test-Set. Stattdessen scheiterten sie sowohl beim Testen als auch beim Lernsatz. Stellen Sie sich vor, Tiere, die in einer Wüste leben. Viel Sonne, kein Schnee. Dies ist eine Metafor für rizing 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 zu leben. Schnee und keine Sonne. Nun, sie stellten sich. Allerdings haben wir in unserem Experiment zufällig unsere NNs in einer Wüste, im Schnee, im Wasser, an den Bäumen platziert. Indem man sie mit verschiedenen Datenfragmenten (zufällig steigend, fallend, flach) präsentiert. Tiere starben. Um es anders auszudrücken, haben wir das beste Neuronale Netzwerk für den Zufallsdatensatz 1 ausgewählt, der zum Beispiel für den steigenden Markt war. Dann stellten wir den Gewinnern und ihren Kindern eine sinkende Marktdatenlage vor. NNs schlecht durchgeführt haben, nahmen wir am besten von schlechten Leistungsträgern, vielleicht, einer der mutierten Kinder, die Fähigkeit verloren, auf dem steigenden Markt zu handeln, aber bekam einige Fähigkeit, mit fallender zu bewältigen. Dann drehten wir den Tisch wieder um, und wieder haben wir den besten Spieler - aber am besten unter schlechten Künstlern. Wir haben einfach nicht unsere NNs alle Chancen, universal zu werden. Es gibt Techniken, die den genetischen Algorithmus erlauben, neue Informationen zu erlernen, ohne die Leistung auf alten Informationen zu verlieren (schließlich können die Tiere im Sommer und im Winter leben, richtig, so Evolution ist in der Lage, wiederholende Änderungen zu behandeln). Wir können diese Techniken später zu diskutieren, obwohl dieser Artikel ist mehr über die Verwendung von Cortex Neural Networks Software. Als über den Aufbau eines erfolgreichen Forex-automatisierten Handelssystems. Neuronales Netz 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 gelang es nicht, mit Gewinn zu handeln. Es ist ok, wir können versuchen, teilweise geschultes System zu benutzen (es war am Anfang rentabel). Der zweite Fehler ist ernster: wir haben keine Kontrolle über Dinge, die dieses System tut. Zum Beispiel kann es lernen, rentabel zu sein, aber mit riesigen Drawdowns. Es ist eine bekannte Tatsache, dass Evolution im wirklichen Leben mehr als einen Parameter gleichzeitig optimieren kann. Zum Beispiel können wir ein Tier bekommen, das schnell laufen kann und resistent gegen Kälte sein kann. Warum nicht zu versuchen, das Gleiche in unserem Forex-automatisierten Handelssystem. Das ist, wenn wir Korrekturen verwenden, die nichts als die Menge der zusätzlichen Strafen sind. Sagen wir, 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 Profit (einer verwendet, um zu bestimmen, welcher genetische Algorithmus gewonnen hat) in dem Grad, der proportional zur Größe von DD ist. Dann kümmert sich der Evolutionsalgorithmus um den Rest. Es gibt nur wenige weitere Faktoren, die wir in Betracht ziehen wollen: Vielleicht möchten wir mehr oder weniger gleich viele Kauf - und Verkaufsgeschäfte haben, wir wollen mehr rentable Geschäfte haben, dann von Ausfällen können wir die Gewinndiagramme wollen Linear sein und so weiter. In evolution01.tsc implementieren wir einen einfachen Satz von Korrekturen. Zuerst verwenden wir eine große Zahl für einen anfänglichen Korrekturwert. Wir multiplizieren es mit einem kleinen (in der Regel zwischen 0 und 1) Werte, abhängig von der Strafe, die wir anwenden möchten. Dann multiplizieren wir unseren Gewinn mit dieser Korrektur. Als Ergebnis wird der Gewinn korrigiert, um zu reflektieren, wie viel der genetische Algorithmus unseren anderen Kriterien entspricht. Dann verwenden wir das Ergebnis, um einen Gewinner Neural Network zu finden. FOREX Handelsstrategie: Beispiel 1 Beispiel 1 arbeitet viel besser als Beispiel 0. Während der ersten 100 Zyklen hat es viel gelernt, und Gewinndiagramme sehen beruhigend aus. Allerdings sind, wie in Beispiel 0, lange Trades viel mehr rentabel, was wahrscheinlich bedeutet, dass es ein Problem in unserem Ansatz. Dennoch hat das System eine Balance zwischen zwei widersprüchlichen Anfangsbedingungen gefunden: Es gibt einige positive Dynamiken sowohl beim Lernsatz als auch, noch wichtiger, beim Testen. Wie für das weitere Lernen, bei Zyklus 278 können wir sehen, dass unser System übertraf. Es bedeutet, dass wir noch Fortschritte beim Lernen haben: Aber Testset zeigt Schwäche: Dies ist ein häufiges Problem mit NNs: Wenn wir es lernen, lernen, lernt es, damit umzugehen, und manchmal lernt es zu gut - um die Grad, wenn es verliert Leistung auf Testsatz. Um dieses Problem zu lösen, wird eine herkömmliche Lösung verwendet: Wir suchen das Neuronale Netz. Die am besten auf dem Test-Set durchgeführt wird, und speichern Sie es, überschreiben vorherige beste, jedes Mal, wenn neue Spitze erreicht wird. Dies ist der gleiche Ansatz, den wir in FFBP-Training, außer, diesmal haben wir es selbst tun (Hinzufügen von Code, der für ein bestes Neuronales Netzwerk sucht auf einem Test-Set und Aufrufen von SAVENN oder Exportieren von Gewichten von Neural Network zu einem Datei). Auf diese Weise, wenn Sie Ihr Training zu stoppen, haben Sie die besten Performer ON TESTING SET gespeichert und warten auf Sie. Beachten Sie auch, dass es nicht die max. Profitieren Sie nach, aber optimale Leistung, so betrachten Korrekturen, bei der Suche nach einem besten Darsteller auf einem Test-Set. Genetischer Algorithmus für FOREX Technische Analyse: Wo jetzt Nachdem Sie Ihre Gewinner erhalten Neuronales Netzwerk. Können Sie die im vorherigen Artikel beschriebenen Schritte ausführen, um die Gewichte dieses Neuronalen Netzwerks zu exportieren. Und dann nutzen sie in Ihrer Echtzeit-Handelsplattform, wie Meta Trader, Trade Station und so weiter. Alternativ können Sie sich auf andere Möglichkeiten der Optimierung des Neuronalen Netzes konzentrieren. Anders als mit FFBP-Algorithmus, hier können Sie Avay aus mit Lern-und Test-Sets zu erhalten, und verschieben sequentiellen Lernen. Download Cortex Order Cortex Preisliste ansehen Die Sichtbarkeit ist für diese Seite sehr wichtig. Wenn Sie möchten, wenden Sie sich bitte Link zu dieser URLThere ist ein großer Teil der Literatur über den Erfolg der Anwendung der evolutionären Algorithmen im Allgemeinen und der genetische Algorithmus im Besonderen, auf die Finanzmärkte. Jedoch fühle ich mich unwohl, wenn ich diese Literatur lese. Genetische Algorithmen können die vorhandenen Daten überbestücken. Mit so vielen Kombinationen, ist es leicht zu kommen mit ein paar Regeln, die funktionieren. Es kann nicht robust sein und es hat keine konsistente Erklärung, warum diese Regel funktioniert und diese Regeln dont jenseits der bloßen (kreisförmigen) Argument, dass es funktioniert, weil die Tests zeigt es funktioniert. Was ist der aktuelle Konsens über die Anwendung der genetischen Algorithmus in Finanzen gefragt, Feb 18 11 um 9:00 Uhr Ive arbeitete an einem Hedgefonds, der GA-abgeleiteten Strategien erlaubt. Aus Sicherheitsgründen mussten alle Modelle lange vor der Produktion eingereicht werden, um sicherzustellen, dass sie noch in den Backtests gearbeitet haben. Es könnte also eine Verzögerung von bis zu mehreren Monaten geben, bevor ein Modell ausgeführt werden darf. Es ist auch hilfreich, um die Stichprobe Universum verwenden eine zufällige Hälfte der möglichen Aktien für die GA-Analyse und die andere Hälfte für die Bestätigung Backtests. Ist das ein anderer Prozess, als Sie vor dem Vertrauen auf eine andere Handelsstrategie (Wenn ja, ist es nicht klar, was Sie aus der Herstellung eines GA-Modells mit Daten auf die Zeit t, dann testen bis tN, bevor sie vertrauen, versus mit Daten Um Zeit tN, Testen von tN zu t, und es sofort.) Ndash Darren Cook DarrenCook eine Frage Ich sehe, ist, dass, wenn Sie tN von tN zu t und finden es doesn39t gut funktionieren, dann you39re gehen Um ein anderes Modell zu erzeugen, das in demselben Zeitraum tN bis t (ad infinitum) getestet wird. Dies führt zu der Wahrscheinlichkeit eines Quotientenübertritts während des Modellbildungsprozesses. Ndash Chan-Ho Suh In Bezug auf Daten-Snooping, wenn ein GA korrekt implementiert ist, sollte das kein Problem sein. Mutationsfunktionen werden spezifisch eingeschlossen, um zufällig den Problemraum zu durchsuchen und Datenschnüffeln zu vermeiden. Das Finden der richtigen Mutationsniveaus kann etwas von einer Kunst sein und wenn die Mutationsniveaus zu niedrig sind, dann ist es so, als ob die Funktion überhaupt nicht implementiert wurde. Ndash BioinformaticsGal BoinformaticsGal Ich don39t verstehen, wie die Einbeziehung von Mutationsfunktionen ermöglicht es uns, Daten snooping zu vermeiden. Nach der Suche gibt es eine Fitness-Funktion, die jede Generation 39fit39 die Daten immer mehr macht. Oder bin ich nicht verstehen Sie richtig ndash Vishal Belsare Theres eine Menge Leute hier reden, wie GAs sind empirisch, haben keine theoretischen Grundlagen, sind Black-Boxen und dergleichen. Ich biete an, Theres ein ganzer Zweig der Volkswirtschaft zu widmen, der gewidmet ist, Märkte in Bezug auf evolutionäre Metaphern zu betrachten: Evolutionäre Ökonomie Ich empfehle das Dopferbuch, die Evolutionsgrundlagen der Ökonomie, als Intro. Cambridge. org/gb/knowledge/isbn/item1158033sitelocaleenGB Wenn Ihre philosophische Ansicht ist, dass der Markt im Grunde ein riesiges Casino oder Spiel ist, dann ist ein GA einfach ein Black-Box und hat keine theoretische Grundlage. Allerdings, wenn Ihre Philosophie ist, dass der Markt ist eine Überlebens-of-the-Fittest Ökologie, dann GAs haben viele theoretische Grundlagen, und seine vollkommen vernünftig, um Dinge wie Corporate Species, Markt-Ökosysteme, Portfolio-Genome, Handelsklima und die Diskussion diskutieren mögen. Antwort # 2 am 15:42 Bei kurzer Zeit Skalen ist es mehr ein Casino. Wie die Natur, in der Tat. Ndash quantdev Das Problem mit diesem ist, dass GA - wie jede andere quantitative Methoden - nur mit kurzer Zeitskala funktioniert, wenn ich mich nicht irre. Also, wenn Börse eher wie eine Börse ist, dann wäre GA völlig nutzlos. Ndash Nachricht senden Zuzwinkern Graviton USA, Graviton. Es gibt keinen inhärenten Grund, warum man nicht programmieren konnte ein GA zu tun, Analyse zu längeren Zeitspannen zu tun. Der Zeitbereich eines GA wird in Generationen, nicht in Jahren oder Tagen gemessen. So müsste man einfach eine Bevölkerung definieren, die Personen enthält, deren Generationen Jahre oder Jahrzehnte lang sind (dh Gesellschaften). Es gibt definitiv einige Arbeiten, die die Definition von Unternehmen 39genomes39 durch ihre Produktionsprozesse. In einem solchen Modell würde man bei einem bestimmten Marktklima ein effizientes Unternehmensmodell optimieren. It39s nicht ein Aktienkurs-Portfolio-Modell, jedoch. Ndash BioinformaticsGal Angenommen, Sie vermeiden Daten-Snooping Bias und alle potentiellen Fallstricke der Verwendung der Vergangenheit, um die Zukunft vorherzusagen, vertrauensvolle genetische Algorithmen, um die richtige Lösung zu finden, ziemlich viel kocht auf die gleiche Wette, die Sie machen, wenn Sie Aktives Management eines Portfolios, ob quantitativ oder diskretionär. Wenn Sie an die Effizienz des Marktes glauben, dann die Erhöhung Ihrer Transaktionskosten aus aktivem Management ist unlogisch. Wenn Sie jedoch glauben, es gibt strukturelle amp psychologische Muster oder Fehler zu nutzen und die Auszahlung lohnt sich die Zeit und Geld für die Erforschung und Umsetzung einer Strategie die logische Wahl ist aktives Management. Das Ausführen einer GA-abgeleiteten Strategie ist eine implizite Wette gegen die Markteffizienz. Youre im Grunde sagen, dass ich glaube, es gibt Fehleinschätzungen, die aus irgendeinem Grund (Massen irrationaler Menschen, Investmentfonds Herding wegen fehlausgerichteter Anreize, etc.) auftreten und das Ausführen dieser GA kann diese Masse von Daten so schnell wie möglich sortieren . Beantwortet manuell ein aktives Portfolio beinhaltet die Nutzung aller Informationen, die wir haben und eine logische Schlussfolgerung über den Markt und dann führen Strategien auf sie dies ist eine rationale Aktivität. OTOH, mit GA ist mit einem Black-Box-Tool können wir nicht erklären, das Ergebnis daraus abgeleitet von jeder akzeptierten Grundsätze. Ich bin mir nicht sicher, ob diese beiden wirklich die gleichen sind. Ndash Graviton Ja, aber betrachten die Gemeinsamkeiten zwischen GA39s und wie wir Menschen lernen, über Märkte, Strategien entwickeln, aus Fehlern lernen und an sich ändernde Marktbedingungen anzupassen. Wenn Sie erforschen, welche Gewinne und Verluste Aktien gemeinsam haben, oder was Volumen und Preis Muster gute Geschäfte zu schaffen, oder welches Modell ist die genaueste für die Bewertung Derivate, was Sie tun, ist Data-Mining die Vergangenheit in einer Weise. Wenn Marktbedingungen ändern Sie entweder Handel neue Strategien oder schließlich gehen aus dem Geschäft. Wenn es ausnutzbare Kanten auf dem Markt gibt, dann ist der einzige Unterschied zwischen Ihnen und einem GA ndash Joshua Chance Graviton (im weitesten Sinne) ist, dass Sie eine Erzählung, eine Geschichte, um mit Ihrer Strategie zu gehen haben . Uns Menschen Risiko eine scheinbar wiederkehrende Muster zu finden und dann rationalisieren und eine Erzählung. GA39s riskieren dasselbe, nur ihr potenziell falsches Modell benutzt keine Worte, sie benutzen Mathe und Logik. Ndash Joshua Chance Feb 18 11 at 16:54 Der verstorbene Thomas Cover. (Wahrscheinlich der führende Informationstheoretiker seiner Generation), als universelle Ansätze zu Dingen wie Datenkomprimierung und Portfoliozuweisungen als wahre genetische Algorithmen. Evolution hat keine Parameter zu passen oder zu trainieren. Warum sollten echte genetische Algorithmen Universalansätze keine Annahmen über die zugrunde liegende Verteilung von Daten machen. Sie machen keinen Versuch, die Zukunft von Mustern oder irgendetwas anderem vorauszusagen. Die theoretische Wirksamkeit von universellen Ansätzen (sie stellen erhebliche Herausforderungen bei der Umsetzung dar, wie meine jüngste Frage: Geometry for Universal Portfolios), die von ihnen fordern, was die Evolution fordert. Die schnellsten, intelligentesten oder stärksten nicht unbedingt in der nächsten Generation zu überleben. Evolution favorisiert, dass Gen, Organismus, Meme, Portfolio oder Datenkomprimierung Algorithmus positioniert, um am einfachsten anpassen, was auch immer passiert. Da diese Ansätze keine Annahmen treffen und nicht-parametrisch arbeiten, kann man alle Tests, auch auf allen historischen Daten, als Out-of-Sample betrachten. Sicherlich haben sie Einschränkungen, Sicherlich können sie nicht für jede Art ein Problem arbeiten, mit dem wir in unserem Bereich konfrontiert sind, aber gee, was für eine interessante Art, über die Dinge nachzudenken. Antwort # 2 am: Juli 13, 2010, um 15:42 Uhr Nun, das Ziel eines genetischen Algo ist es, die beste Lösung zu finden, ohne durch alle möglichen Szenarien, weil es zu lang sein würde. Natürlich ist es Kurvenanpassung, das ist das Ziel. Aber es gibt einen signifikanten Unterschied zwischen Überbeanspruchung der Probe (schlecht) und Anpassung der Bevölkerung (gut). Deshalb schlagen viele vor, dass Sie Ihren Algorithmus mit out-of-sample-Tests validieren. Ndash Joshua Jul 17 13 um 2:34 Deine Antwort 2016 Stack Exchange, Inc

No comments:

Post a Comment