Monday 4 September 2017

Genetic Algorithm Trading System


Erstellen eines Trading-Systems innerhalb des Trading-Systems Lab Trading System Lab erzeugt automatisch Trading-Systeme auf jedem Markt in wenigen Minuten mit einem sehr fortgeschrittenen Computerprogramm, bekannt als AIMGP (automatische Induktion von Maschinencode mit genetischer Programmierung). Erstellung eines Handelssystems im Trading System Lab erfolgt in 3 einfachen Schritten. Zunächst wird ein einfacher Präprozessor ausgeführt, der automatisch die notwendigen Daten aus dem Markt extrahiert und vorbehandelt, mit denen 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 laufen, um ein neues Handelssystem zu entwickeln. Sie können Ihre eigenen Daten, Muster, Indikatoren, Intermarket-Beziehungen oder fundamentale Daten innerhalb der TSL verwenden. Drittens ist das entwickelte Trading System formatiert, um neue Trading System Signale von TradeStation oder vielen anderen Handelsplattformen zu produzieren. TSL wird automatisch schreiben Sie eine einfache Sprache, Java, Assembler, C-Code, C-Code und WealthLab Script Language. Das Handelssystem kann dann manuell gehandelt, über einen Broker gehandelt oder automatisch gehandelt werden. Sie können das Handelssystem 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 Genetic Programm enthält mehrere Features, die die Möglichkeit der Kurvenanpassung zu reduzieren, oder die Herstellung eines Trading-System, das nicht weiter in die Zukunft durchzuführen. Erstens, die entwickelten Trading-Systeme haben ihre Größe auf die niedrigstmögliche Größe durch so genannte Parsimony Pressure, Zeichnung aus dem Konzept der minimalen Beschreibung Länge geschnitten. Somit ist das resultierende Handelssystem so einfach wie möglich und es wird allgemein angenommen, dass je einfacher das Handelssystem ist, desto besser wird es in die Zukunft durchführen. Zweitens wird die Zufälligkeit in den evolutionären Prozess eingeführt, wodurch die Möglichkeit reduziert wird, Lösungen zu finden, die lokal, aber nicht global optimal sind. Zufälligkeit wird nicht nur über die Kombinationen des in den entwickelten Handelssystemen verwendeten genetischen Materials, sondern auch über Parsimony Pressure, Mutation, Crossover und andere übergeordnete GP-Parameter eingeführt. Out of Sample-Tests werden durchgeführt, während das Training mit statistischen Informationen durchgeführt wird, die sowohl im Test - als auch im Out-of-Sample-Handelssystemtest angezeigt werden. Ausführungsprotokolle werden dem Benutzer für Trainings-, Validierungs - und Out of Sample-Daten präsentiert. Gut verhalten Aus der Sample Performance kann ein Hinweis sein, dass das Trading System mit robusten Eigenschaften entwickelt. Eine wesentliche Verschlechterung der automatischen Probenentnahme im Vergleich zu den Stichprobenprüfung kann bedeuten, dass die Schaffung eines robusten Handelssystems im Zweifel ist oder dass das Terminal oder das Eingabeset möglicherweise geändert werden muss. Schließlich wird das Terminal-Set sorgfältig ausgewählt, um die Auswahl des anfänglichen genetischen Materials nicht auf eine bestimmte Markt-Bias oder - Stimmung zu beschränken. TSL startet nicht mit einem vordefinierten Handelssystem. In der Tat wird nur das Eingabeset und eine Auswahl von Markteintrittsmodus oder - modi für die automatische Eintrittssuche und - zuordnung anfänglich hergestellt. Ein Muster - oder Indikatorverhalten, das als bullische Situation betrachtet werden kann, kann innerhalb des GP verwendet, verworfen oder invertiert werden. Keinem Muster oder Indikator ist eine bestimmte Marktbewegungsvorspannung vorab zugewiesen. Dies ist eine radikale Abkehr von der manuell generierten Trading-System-Entwicklung. Ein Handelssystem ist ein logischer Satz von Anweisungen, die dem Händler sagen, wann man einen bestimmten Markt kaufen oder verkaufen kann. Diese Anweisungen erfordern selten einen Eingriff eines Händlers. Handelssysteme können manuell gehandelt werden, indem man Handelsanweisungen auf einem Computerbildschirm beobachtet oder gehandelt werden kann, indem dem Computer erlaubt wird, Trades automatisch in den Markt einzutragen. Beide Methoden sind heute weit verbreitet. Es gibt mehr professionelle Geldmanager, die sich als systematische oder mechanische Händler als diejenigen, die sich als discretionary, und die Leistung der Systematische Geld-Manager ist in der Regel überlegen, dass der diskretionäre Geld-Manager. Studien haben gezeigt, dass Handelskonten in der Regel häufiger Geld verlieren, wenn der Kunde nicht mit einem Handelssystem. Der deutliche Anstieg der Handelssysteme in den letzten zehn Jahren zeigt sich vor allem in den Rohstoff-Brokerfirmen, doch Aktien - und Anleihenmarkt-Brokerhäuser werden zunehmend von den Vorteilen durch den Einsatz von Trading Systems erkannt und einige haben damit begonnen, Trading Systems anzubieten Einzelhandelskunden. Die meisten Investmentfonds-Manager sind bereits mit anspruchsvollen Computer-Algorithmen, um ihre Entscheidungen zu treffen, was heiße Lager zu holen oder was Sektor Rotation ist für. Computer und Algorithmen haben sich zu Mainstream-Investitionen entwickelt, und wir erwarten, dass sich dieser Trend fortsetzen wird, da jüngere, computergesteuerte Anleger weiterhin erlauben, dass Teile ihres Geldes von Trading Systems verwaltet werden, um das Risiko zu senken und die Rendite zu erhöhen. Die riesigen Verluste, die von Anlegern, die an Aktien und Investmentfonds beteiligt waren, teilnahmen, während der Aktienmarkt in den vergangenen Jahren geschmolzen wurde, fördern diese Entwicklung in Richtung eines disziplinierten und logischeren Ansatzes für Aktieninvestitionen. Der durchschnittliche Investor erkennt, dass er oder sie derzeit ermöglicht viele Aspekte ihres Lebens und das Leben ihrer Lieben zu halten oder kontrolliert werden von Computern wie die Autos und Flugzeuge, die wir für den Transport, die medizinische Diagnosegeräte verwenden wir für die Gesundheitsversorgung, Die Heizungs - und Kühlregler, die wir für die Temperaturregelung verwenden, die Netze, die wir für internetbasierte Informationen nutzen, auch die Spiele, die wir für die Unterhaltung spielen. Warum dann einige Einzelhandels-Investoren glauben, dass sie von der Hüfte in ihren Entscheidungen, was Aktien oder Investmentfonds zu kaufen oder zu verkaufen und zu erwarten, um Geld zu schießen Schließlich ist der durchschnittliche Investor hat sich vorsichtig von der Beratung und Informationen durch skrupellose Broker weitergegeben , Buchhalter, Corporate Principals und Finanzberater. In den vergangenen 20 Jahren haben Mathematiker und Softwareentwickler Indikatoren und Muster auf Lager - und Rohstoffmärkten durchsucht, die nach Informationen suchen, die auf die Richtung des Marktes hinweisen. Diese Informationen können verwendet werden, um die Leistung von Handelssystemen zu verbessern. Im Allgemeinen ist diese Entdeckung Prozess durch eine Kombination aus Versuch und Irrtum und anspruchsvoller Data Mining erreicht. Typischerweise dauert der Entwickler Wochen oder Monate der Anzahl Knirschen, um ein potentielles Handelssystem zu erzeugen. 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-Entwicklungsunternehmen), die gekommen und gegangen, wie ihre Systeme im Live-Handel gescheitert sind. Die Entwicklung von Trading-Systemen, die weiterhin in die Zukunft führen, ist schwierig, aber nicht unmöglich zu bewerkstelligen, obwohl kein ethischer Entwickler oder Geldmanager eine unbedingte Garantie dafür geben wird, dass jedes Trading System oder auch irgendwelche Aktien, Anleihen oder Investmentfonds fortbestehen werden Um Gewinne in die Zukunft für immer zu produzieren. Was hat Wochen oder Monate für die Trading-System-Entwickler zu produzieren in der Vergangenheit 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 wird Trading-Systeme mit einer Geschwindigkeit von über 16 Millionen System-Bars pro Sekunde basierend auf 56 Eingaben produzieren. Man beachte, daß nur wenige Eingaben tatsächlich verwendet werden oder notwendig sind, was zu allgemein einfach 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 brutale Kraftoptimierung bestehender Indikatoren durchführen, die nach optimalen Parametern suchen, aus denen in einem bereits strukturierten Trading System zu verwenden ist. Der Handelssystem-Generator beginnt an einem Nullpunkt-Ursprung, der keine Annahmen über die Bewegung des Marktes in der Zukunft macht, und entwickelt dann Handelssysteme zu einer sehr hohen Rate, die auf dem Markt vorhandene Informationen kombiniert und neue Filter, Funktionen, Bedingungen und Beziehungen formuliert Schreitet zu einem gentechnisch veränderten Handelssystem voran. Das Ergebnis ist, dass ein ausgezeichnetes Handelssystem in wenigen Minuten auf 20-30 Jahren der täglichen Marktdaten auf nahezu jedem Markt erzeugt werden kann. In den letzten Jahren gab es mehrere Ansätze für Trading System Optimierung, die den weniger leistungsfähigen genetischen Algorithmus beschäftigen. Genetische Programme (GPs) sind überlegene genetische Algorithmen (GAs) aus mehreren Gründen. Zuerst konvergieren GPs auf einer Lösung mit einer exponentiellen Rate (sehr schnell und schneller), während genetische Algorithmen mit einer linearen Rate (viel langsamer und nicht immer schneller) konvergieren. Zweitens generieren die Hausärzte tatsächlich den Handelssystem-Maschinencode, der das genetische Material (Indikatoren, Muster, Zwischenmarktdaten) auf einzigartige Weise kombiniert. Diese einzigartigen Kombinationen sind möglicherweise nicht intuitiv offensichtlich und erfordern keine anfänglichen Definitionen durch den Systementwickler. Die einzigartigen mathematischen Beziehungen können neue Indikatoren oder Varianten der technischen Analyse werden, die noch nicht entwickelt oder entdeckt wurden. GAs, auf der anderen Seite, einfach für optimale Lösungen suchen, wie sie über die Parameter-Bereich sie nicht entdecken neue mathematische Beziehungen und nicht schreiben ihre eigenen Handelssystem-Code. GPs erstellen Trading-System-Code von verschiedenen Längen, mit variabler Länge Genome, wird die Länge des Handelssystems durch die so genannte nicht-homologe Crossover ändern und wird vollständig verwerfen ein Indikator oder Muster, das nicht zur Effizienz des Handelssystems beitragen. GAs verwenden nur Befehlsblöcke mit fester Grße, wobei nur homologe Crossover verwendet werden und keine variable Länge des Handelssystemcodes erzeugt werden, noch werden sie einen ineffizienten Indikator oder ein Muster so leicht wie ein GP verwerfen. Schließlich sind genetische Programme ein neuer Fortschritt auf dem Gebiet des maschinellen Lernens, während genetische Algorithmen vor 30 Jahren entdeckt wurden. Genetische Programme umfassen alle Hauptfunktionen der Genetischen Algorithmen Crossover, Reproduktion, Mutation und Fitness, aber GPs umfassen viel schnellere und robuste Funktionen, so dass GPs die beste Wahl für die Herstellung von Trading Systems. Der GP, der in TSLs Trading System Generator eingesetzt wird, ist der derzeit am schnellsten verfügbare GP und ist in keiner anderen Finanzmarktsoftware der Welt verfügbar. Die genetische Programmierung Algorithmus, Trading Simulator und Fitness-Motoren innerhalb TSL verwendet über 8 Jahre zu produzieren. 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 genetischen Algorithmus in FOREX Handelssysteme mit genetischen Algorithmus zu schaffen Profitable FOREX-Handelsstrategie. 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 auf jedem zufälligen Fragment des Datensatzes gut durchzuführen, so dass hoffentlich konnten sie auch auf einem unbekannten Testset. 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 es mögen, bitte verbinden Sie mit diesem URLAdvanced Source Code. Com. Klicke hier zum herunterladen. Genetische Algorithmen gehören zu einer Klasse von maschinellen Lernalgorithmen, die erfolgreich in einer Reihe von Forschungsgebieten eingesetzt wurden. Es gibt ein wachsendes Interesse an ihrem Einsatz in der Finanzwirtschaft, aber bisher gab es wenig formale Analyse. In der Börse ist eine technische Handelsregel ein beliebtes Instrument für Analysten und Nutzer, ihre Forschung zu tun und zu entscheiden, ihre Aktien zu kaufen oder zu verkaufen. Entscheidend für den Erfolg einer Handelsregel ist die Auswahl von Werten für alle Parameter und deren Kombinationen. Allerdings kann der Bereich von Parametern in einer großen Domäne variieren, so dass es für Benutzer schwierig ist, die beste Parameterkombination zu finden. Mit Hilfe eines genetischen Algorithmus können wir sowohl die Struktur als auch die Parameter der Regeln gleichzeitig suchen. Wir haben ein Handelssystem optimiert, das von Alfredo Rosa mit Hilfe von genetischen Algorithmen entwickelt wurde. Wurde eine neue, komplexe 16-Bar-Handelsregel entdeckt und auf italienische FIB mit brillanten Ergebnissen getestet. Index Ausdrücke: Matlab, Quelle, Code, Data Mining, Handelssystem, Börsenvorhersage, Handelsregel Extraktion, genetische Algorithmen, Handelssysteme, Balkendiagramm, Candlestick Chart, Preismuster, Parameterkombination. Abbildung 1. Genetische Struktur Ein optimiertes komplexes Preismuster, das durch genetische Algorithmen entdeckt wird. Demo-Code (geschützte P-Dateien) zur Leistungsbewertung verfügbar. Matlab Financial Toolbox, Genetic Algorithm und Direct Search Toolbox erforderlich. Wir empfehlen Ihnen, die sichere Verbindung zu PayPal zu überprüfen, um Betrug zu vermeiden. Diese Spende gilt als Ermutigung, den Code selbst zu verbessern. Genetisches Handelssystem - Klicken Sie hier für Ihre Spende. Um den Quellcode zu erhalten, müssen Sie ein wenig Geld bezahlen: 90 EURO (weniger als 126 US-Dollar). Sobald Sie dies getan haben, mailen Sie uns bitte luigi. rosatiscali. it So bald wie möglich (in ein paar Tagen) erhalten Sie unsere neue Version von Genetic Trading System. Alternativ können Sie auch unsere Bankenkoordinaten verwenden:

No comments:

Post a Comment