Sunday 29 October 2017

Forex Prognose Genetischen Algorithmus


SnowCron Genetic Algorithm in FOREX Trading Systems mit genetischen Algorithmus zu 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, also 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, beispielsweise Werte eines Indikators, annimmt und einige Outputs erzeugt, zB Handelssignale (Kauf, Verkauf, Halten) und Stopverlust die Gewinnspanne 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 12 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 Gesichtspunkt aus ist das Programm identisch mit Beispielen aus Vorheriger 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, gut auf jedem zufälligen Fragment des Datensatzes durchzuführen, so dass hoffentlich konnten sie auch auf einem unbekannten Testset durchführen. 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 der vorherigen besten, 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 es mögen, wenden Sie sich bitte auf diese URL mit Genetischen Algorithmen zur Forecast Financial Markets Burton vorgeschlagen, in seinem Buch, ein Random Walk Down Wall Street, (1973), dass ein Augenbinde Affe werfen Darts an einer Zeitung Finanzseiten konnte ein Portfolio, Genauso gut wie ein sorgfältig von Experten ausgewählt. Während die Evolution den Menschen nicht intelligenter zum Sammeln von Beständen gemacht hat, hat die Charles Darwins-Theorie ziemlich effektiv, wenn sie direkt angewandt wird. (Um zu helfen, wählen Sie Bestände, lesen Sie heraus, wie man eine Bestände auswählen.) Was sind genetische Algorithmen Genetische Algorithmen (GAs) sind Problemlösungsmethoden (oder Heuristiken), die den Prozess der natürlichen Evolution imitieren. Anders als künstliche neuronale Netze (ANNs), entworfen, um wie Neuronen im Gehirn zu funktionieren, nutzen diese Algorithmen die Konzepte der natürlichen Selektion, um die beste Lösung für ein Problem zu bestimmen. Als Ergebnis werden GAs häufig als Optimierer verwendet, die Parameter anpassen, um ein Rückkopplungsmaß zu minimieren oder zu maximieren, das dann unabhängig oder im Aufbau eines ANN verwendet werden kann. An den Finanzmärkten. Genetische Algorithmen werden am häufigsten verwendet, um die besten Kombinationen von Parametern in einer Handelsregel zu finden, und sie können in ANN-Modelle gebaut werden, um Bestände zu identifizieren und Trades zu identifizieren. Mehrere Studien haben gezeigt, dass sich diese Methoden als wirksam erweisen können, einschließlich genetischer Algorithmen: Genesis of Stock Evaluation (2004) von Rama und The Applications of Genetic Algorithms von Lin, Cao, Wang, Zhang. (Um mehr über ANN zu erfahren, siehe Neuronale Netze: Forecasting Profits.) Wie genetische Algorithmen arbeiten Genetische Algorithmen werden mathematisch mit Vektoren, die Mengen, die Richtung und Größe haben erstellt. Parameter für jede Handelsregel werden mit einem eindimensionalen Vektor dargestellt, der als ein Chromosom in genetischer Hinsicht gedacht werden kann. Inzwischen können die Werte, die in jedem Parameter verwendet werden, als Gene angesehen werden, die dann unter Verwendung einer natürlichen Selektion modifiziert werden. Beispielsweise kann eine Handelsregel die Verwendung von Parametern wie Moving Average Convergence-Divergence (MACD) beinhalten. Exponential Moving Average (EMA) und Stochastik. Ein genetischer Algorithmus würde dann Werte in diese Parameter mit dem Ziel der Maximierung des Nettogewinns. Im Laufe der Zeit werden kleine Veränderungen eingeführt, und diejenigen, die eine wünschenswerte Wirkung bewirken, bleiben für die nächste Generation erhalten. Es gibt drei Arten von genetischen Operationen, die dann durchgeführt werden können: Crossovers repräsentieren die Reproduktion und biologische Crossover in der Biologie gesehen, wobei ein Kind bestimmte Eigenschaften seiner Eltern übernimmt. Mutationen stellen die biologische Mutation dar und werden verwendet, um die genetische Diversität von einer Generation einer Population zur nächsten durch Einführung zufälliger kleiner Veränderungen zu erhalten. Selektionen sind die Stufe, in der einzelne Genome aus einer Population für die spätere Züchtung (Rekombination oder Crossover) ausgewählt werden. Diese drei Operatoren werden dann in einem fünfstufigen Prozess verwendet: Initialisieren einer zufälligen Population, wobei jedes Chromosom n-Länge ist, wobei n die Anzahl der Parameter ist. Das heißt, eine Zufallszahl von Parametern wird jeweils mit n Elementen hergestellt. Wählen Sie die Chromosomen, oder Parameter, die wünschenswerte Ergebnisse (vermutlich Nettogewinn) zu erhöhen. Anwenden von Mutations - oder Crossover-Operatoren auf die ausgewählten Eltern und Erzeugen eines Nachkommens. Rekombinieren Sie die Nachkommen und die aktuelle Bevölkerung, um eine neue Population mit dem Auswahloperator zu bilden. Wiederholen Sie die Schritte zwei bis vier. Im Laufe der Zeit führt dieses Verfahren zu immer günstigeren Chromosomen (oder Parametern) zur Verwendung in einer Handelsregel. Der Prozess wird dann beendet, wenn ein Stoppkriterium erfüllt ist, das Laufzeit, Fitness, Anzahl der Generationen oder andere Kriterien einschließen kann. (Für mehr auf MACD, lesen Sie Trading The MACD Divergence.) Verwenden genetischer Algorithmen im Handel Während genetische Algorithmen sind in erster Linie von institutionellen quantitative Händler verwendet. Einzelne Händler können die Macht der genetischen Algorithmen nutzen - ohne einen Abschluss in fortgeschrittene Mathematik - mit mehreren Software-Pakete auf dem Markt. Diese Lösungen reichen von eigenständigen Softwarepaketen, die auf die Finanzmärkte ausgerichtet sind, auf Microsoft Excel-Add-ons, die eine gründlichere Analyse ermöglichen. Wenn diese Anwendungen verwendet werden, können Händler einen Satz von Parametern definieren, die dann unter Verwendung eines genetischen Algorithmus und eines Satzes von historischen Daten optimiert werden. Einige Anwendungen können optimieren, welche Parameter verwendet werden und die Werte für sie, während andere in erster Linie auf einfache Optimierung der Werte für einen bestimmten Satz von Parametern konzentriert. Wichtige Optimierungstipps und Tricks Kurvenanpassung (Overfitting), die Entwicklung eines Handelssystems um historische Daten, anstatt wiederholbares Verhalten zu identifizieren, stellt ein potentielles Risiko für Händler dar genetische Algorythmen. Jedes Handelssystem, das GAs verwendet, sollte auf dem Papier vor dem Live-Einsatz vorgetestet werden. Die Auswahl von Parametern ist ein wichtiger Teil des Prozesses, und Händler sollten nach Parametern suchen, die mit Änderungen des Preises einer bestimmten Sicherheit korrelieren. Zum Beispiel, probieren Sie verschiedene Indikatoren und sehen, ob alle scheinen, um mit großen Marktabschwüngen zu korrelieren. The Bottom Line Genetische Algorithmen sind einzigartige Wege, um komplexe Probleme zu lösen, indem man die Kraft der Natur nutzt. Durch die Anwendung dieser Methoden auf die Vorhersage der Wertpapiere Preise können Händler die Handelsregeln zu optimieren, indem die besten Werte für jeden Parameter für eine bestimmte Sicherheit zu verwenden. Allerdings sind diese Algorithmen nicht der Heilige Gral, und Händler sollten darauf achten, die richtigen Parameter zu wählen und nicht Kurve fit (über fit). (Um mehr über den Markt zu erfahren, check out Listen to the Market, nicht seine Punditen.) Es gibt eine große Menge von Literatur über den Erfolg der Anwendung von evolutionären Algorithmen im Allgemeinen und die 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. Seine auch hilfreich, um das Beispiel Universum zu trennen, verwenden Sie 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 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, im Vergleich 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. orggbknowledgeisbnitem1158033sitelocaleenGB Wenn Ihre philosophische Ansicht ist, dass der Markt im Grunde ein riesiges Kasino 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 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 riskieren, ein scheinbar wiederkehrendes Muster zu finden und dann zu rationalisieren und eine Erzählung zu schaffen. 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 Datenkompression 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). Das ist der Grund, warum viele vorschlagen, dass Sie Ihren Algorithmus mit Out-of-Sample-Tests validieren. Ndash Joshua Jul 17 13 um 2:34 Deine Antwort 2017 Stack Exchange, Inc

No comments:

Post a Comment