Friday 3 November 2017

Best Forex Trading Algorithmen


Die Grundlagen des Forex Algorithmic Trading Vor fast dreißig Jahren war der Devisenmarkt (Forex) durch Trades über Telefon, institutionelle Investoren geprägt. Undurchsichtige Preisinformationen, eine klare Unterscheidung zwischen Interdealer-Handel und Händler-Kundenhandel und geringer Marktkonzentration. Heute haben technologische Fortschritte den Markt verwandelt. Trades werden in erster Linie über Computer hergestellt, so dass Einzelhändler in den Markt gelangen können, Echtzeit-Streaming-Preise haben zu mehr Transparenz geführt und die Unterscheidung zwischen Händlern und ihren anspruchsvollsten Kunden ist weitgehend verschwunden. Eine besonders bedeutende Veränderung ist die Einführung des algorithmischen Handels. Die, während sie erhebliche Verbesserungen für die Funktionsweise des Forex-Handels, stellt auch eine Reihe von Risiken. Mit Blick auf die Grundlagen der Forex-Markt und algorithmischen Handel, werden wir identifizieren einige Vorteile algorithmischen Handel hat zum Devisenhandel gebracht, während auch auf einige der Risiken. Forex-Grundlagen Forex ist der virtuelle Ort, an dem Währungspaare in unterschiedlichen Volumina nach notierten Preisen gehandelt werden, wobei eine Basiswährung einen Preis in Form einer Zitatwährung erhält. Betrieb 24 Stunden am Tag, fünf Tage pro Woche, Forex gilt als weltgrößten und liquidesten Finanzmarkt. Pro der Bank für Internationalen Zahlungsausgleich (BIS) betrug das tägliche globale Handelsvolumen im April 2013 2,0 Billionen. Der Großteil dieses Handels wird für US-Dollar, Euro und Japanische Yen durchgeführt und umfasst eine Reihe von Spielern, darunter Privatbanken, Zentralbanken, Pensionskassen. Institutionelle Investoren, Großkonzerne, Finanzgesellschaften und Einzelhandelshändler. Obwohl der spekulative Handel die Hauptmotivation für bestimmte Investoren sein kann, ist der Hauptgrund für die Exporte des Forex-Marktes, dass die Menschen Währungen handeln müssen, um ausländische Waren und Dienstleistungen zu kaufen. Die Aktivität im Forex-Markt wirkt sich auf reale Wechselkurse aus und kann daher die Produktion, die Beschäftigung, die Inflation und die Kapitalströme einer bestimmten Nation tief beeinflussen. Aus diesem Grund haben die politischen Entscheidungsträger, die Öffentlichkeit und die Medien alle ein Interesse daran, was im Forex-Markt vor sich geht. Grundlagen des algorithmischen Handels Ein Algorithmus ist im Wesentlichen ein Satz von spezifischen Regeln, um eine klar definierte Aufgabe abzuschließen. Im Finanzmarkthandel führen die Computer benutzerdefinierte Algorithmen durch, die durch einen Satz von Regeln gekennzeichnet sind, die aus Parametern wie Timing, Preis oder Menge bestehen, die die Trades strukturieren. Es gibt vier grundlegende Arten von algorithmischen Handel innerhalb der Finanzmärkte: statistische, Auto-Hedging, algorithmische Ausführungsstrategien und direkten Marktzugang. Statistisch bezieht sich auf eine algorithmische Strategie, die nach profitable Handelsmöglichkeiten auf der Grundlage der statistischen Analyse historischer Zeitreihendaten sucht. Auto-Hedging ist eine Strategie, die Regeln generiert, um die Gefahr von Händlern zu reduzieren. Das Ziel der algorithmischen Ausführungsstrategien ist es, ein vordefiniertes Ziel auszuführen, wie etwa die Verringerung der Marktwirkung oder die Durchführung eines Handels schnell. Schließlich beschreibt der direkte Marktzugang die optimalen Geschwindigkeiten und die niedrigeren Kosten, mit denen algorithmische Händler auf mehrere Handelsplattformen zugreifen und diese verbinden können. Eine der Unterkategorien des algorithmischen Handels ist der Hochfrequenzhandel, der sich durch die äußerst hohe Häufigkeit der Handelsaufträge auszeichnet. High-Speed-Handel kann erhebliche Vorteile für Händler, indem sie ihnen die Möglichkeit, Trades innerhalb von Millisekunden von inkrementellen Preisänderungen zu machen. Aber es kann auch gewisse Risiken mit sich bringen. Algorithmischer Handel im Forex-Markt Ein Großteil des Wachstums des algorithmischen Handels in Forex-Märkten in den vergangenen Jahren war auf Algorithmen zurückzuführen, die bestimmte Prozesse automatisieren und die für die Durchführung von Devisengeschäften benötigten Stunden reduzieren. Die durch die Automatisierung erzeugte Effizienz führt zu niedrigeren Kosten bei der Durchführung dieser Prozesse. Ein solches Verfahren ist die Ausführung von Handelsaufträgen. Die Automatisierung des Handelsprozesses mit einem Algorithmus, der auf der Grundlage vorgegebener Kriterien handelt, wie etwa die Ausführung von Aufträgen über einen bestimmten Zeitraum oder zu einem bestimmten Preis, ist wesentlich effizienter als die manuelle Ausführung durch den Menschen. Banken haben auch die Vorteile von Algorithmen, die programmiert sind, um die Preise von Währungspaaren auf elektronischen Handelsplattformen zu aktualisieren. Diese Algorithmen erhöhen die Geschwindigkeit, mit der Banken Marktpreise zitieren können, während gleichzeitig die Anzahl der manuellen Arbeitszeiten reduziert wird, die es braucht, um die Preise anzugeben. Einige Banken programmieren Algorithmen, um ihr Risiko zu reduzieren. Die Algorithmen können verwendet werden, um eine bestimmte Währung zu verkaufen, um einen Kundenhandel zu entsprechen, in dem die Bank den entsprechenden Betrag gekauft hat, um eine konstante Menge dieser bestimmten Währung aufrechtzuerhalten. Dies ermöglicht es der Bank, ein vorgegebenes Risiko für das Halten dieser Währung aufrechtzuerhalten. Diese Prozesse wurden durch Algorithmen wesentlich effizienter gemacht, was zu niedrigeren Transaktionskosten führt. Dennoch sind dies nicht die einzigen Faktoren, die das Wachstum in Forex algorithmischen Handel getrieben haben. Algorithmen wurden zunehmend für spekulativen Handel als die Kombination von Hochfrequenz und die Algorithmen Fähigkeit, Daten zu interpretieren und Aufträge ausführen erlaubt hat Trader, Arbitrage Chancen aus kleinen Preisabweichungen zwischen Währungspaaren zu nutzen. Alle diese Vorteile haben dazu geführt, dass die Algorithmen im Forex-Markt zunehmend genutzt werden können, aber man sieht einige der Risiken an, die den algorithmischen Handel begleiten. Risiken in algorithmischen Forex Trading Obwohl algorithmischen Handel hat viele Verbesserungen gemacht, gibt es einige Nachteile, die die Stabilität und Liquidität des Forex-Marktes bedrohen könnte. Ein solcher Nachteil bezieht sich auf Ungleichgewichte in der Handelsmacht der Marktteilnehmer. Einige Teilnehmer haben die Mittel, um anspruchsvolle Technologie zu erwerben, die es ihnen ermöglicht, Informationen zu erhalten und Aufträge mit einer viel schnelleren Geschwindigkeit auszuführen als andere. Dieses Ungleichgewicht zwischen den Haves und Habeln in Bezug auf die anspruchsvollste algorithmische Technologie könnte zu einer Fragmentierung innerhalb des Marktes führen, die zu Liquiditätsengpässen im Laufe der Zeit führen kann. Darüber hinaus, während es grundlegende Unterschiede zwischen den Aktienmärkten und dem Forex-Markt gibt es einige, die befürchten, dass die Hochfrequenz-Handel, die den Börsen-Flash-Crash am 6. Mai 2010 verschärft könnte ähnlich wie der Forex-Markt. Da Algorithmen für spezifische Marktszenarien programmiert sind, können sie nicht schnell genug reagieren, wenn sich der Markt drastisch ändern würde. Um dieses Szenario zu vermeiden, müssen die Märkte überwacht und der algorithmische Handel während der Marktturbulenzen ausgesetzt werden. Allerdings könnte in solchen extremen Szenarien eine gleichzeitige Aussetzung des algorithmischen Handels durch zahlreiche Marktteilnehmer zu einer hohen Volatilität und einer drastischen Verringerung der Marktliquidität führen. Die untere Linie Obwohl der algorithmische Handel in der Lage war, die Effizienz zu steigern und damit die Kosten der Handelswährungen zu senken, hat es auch einige zusätzliche Risiken gegeben. Damit Währungen ordnungsgemäß funktionieren, müssen sie etwas stabile Wertschriften sein und sind sehr flüssig. So ist es wichtig, dass der Forex-Markt mit einer niedrigen Preisvolatilität flüssig bleibt. Wie bei allen Lebensbereichen bringt die neue Technologie viele Vorteile ein, aber es kommt auch mit neuen Risiken. Die Herausforderung für die Zukunft der algorithmischen Forex-Handel wird, wie man Änderungen, die die Vorteile zu maximieren, während die Verringerung der Risiken. Basics of Algorithmic Trading: Konzepte und Beispiele Ein Algorithmus ist ein spezifischer Satz von klar definierten Anweisungen zur Durchführung einer Aufgabe oder Prozess . Algorithmischer Handel (automatisierte Handel, Black-Box-Handel oder einfach Algo-Trading) ist der Prozess der Verwendung von Computern programmiert, um eine definierte Reihe von Anweisungen für die Platzierung eines Handels zu folgen, um Gewinne mit einer Geschwindigkeit und Häufigkeit zu generieren, die für eine unmöglich ist Menschlicher Händler Die definierten Regelsätze basieren auf Timing, Preis, Menge oder einem mathematischen Modell. Neben den Gewinnchancen für den Händler macht algo-trading die Märkte liquider und macht den Handel systematischer, indem er emotionale menschliche Auswirkungen auf die Handelsaktivitäten ausübt. Angenommen, ein Trader folgt diesen einfachen Handelskriterien: Kaufen Sie 50 Aktien einer Aktie, wenn der 50-Tage-Gleitender Durchschnitt über den 200-Tage-Gleitender Durchschnitt geht. Teilen Sie Aktien der Aktie, wenn der 50-Tage-Gleitender Durchschnitt unter den 200-Tage-Gleitender Durchschnitt geht Mit diesem Satz von zwei einfachen Anweisungen ist es einfach, ein Computerprogramm zu schreiben, das automatisch den Aktienkurs (und die gleitenden durchschnittlichen Indikatoren) überwacht und die Kauf - und Verkaufsaufträge platziert, wenn die definierten Bedingungen erfüllt sind. Der Trader muss nicht mehr auf Live-Preise und Grafiken aufpassen oder die Aufträge manuell einlegen. Das algorithmische Handelssystem tut es automatisch für ihn, indem es die Handelsmöglichkeit korrekt identifiziert. (Für mehr über bewegte Durchschnitte siehe: Einfache Umzugsdurchschnitte machen Trends heraus.) Algo-Trading bietet folgende Vorteile: Trades, die zu den bestmöglichen Preisen ausgeführt werden Sofortige und genaue Trading-Platzierung (damit hohe Chancen auf Ausführung auf Wunsch) Trades Zeitlich abgestimmt und sofort, um signifikante Preisänderungen zu vermeiden Reduzierte Transaktionskosten (siehe Implementierungsfehlbetrag Beispiel unten) Gleichzeitige automatisierte Überprüfung auf mehrere Marktbedingungen Reduziertes Risiko von manuellen Fehlern bei der Platzierung der Trades Backtest der Algorithmus, basierend auf verfügbaren historischen und Echtzeitdaten Reduziert Möglichkeit von Fehlern von menschlichen Händlern, die auf emotionalen und psychologischen Faktoren basieren Der größte Teil des heutigen Algo-Handels ist der Hochfrequenzhandel (HFT), der versucht, eine große Anzahl von Aufträgen mit sehr schnellen Geschwindigkeiten über mehrere Märkte und mehrere Entscheidungen zu tätigen Parameter, basierend auf vorprogrammierten Anweisungen. (Zu mehr im Hochfrequenzhandel siehe: Strategien und Geheimnisse von High Frequency Trading (HFT) - Firmen) Algo-Trading wird in vielen Formen der Handels - und Investitionstätigkeit eingesetzt, darunter: mittel - bis langfristige Anleger oder Buy-Side-Unternehmen (Pensionsfonds) , Investmentfonds, Versicherungsgesellschaften), die in großen Mengen in Aktien kaufen, aber nicht die Aktienpreise mit diskreten, großvolumigen Investitionen beeinflussen wollen. Kurzfristige Händler und Verkaufsseitenteilnehmer (Market Maker, Spekulanten und Arbitrageure) profitieren von der automatisierten Handelsabwicklung darüber hinaus, Algo-Trading hilft bei der Schaffung von ausreichenden Liquidität für Verkäufer auf dem Markt. Systematische Händler (Trendfolger, Paar Trader, Hedgefonds etc.) finden es viel effizienter, ihre Handelsregeln zu programmieren und das Programm automatisch zu handeln. Der algorithmische Handel bietet einen systematischeren Ansatz für den aktiven Handel als Methoden, die auf einer menschlichen Trader-Intuition oder einem Instinkt basieren. Algorithmische Handelsstrategien Jede Strategie für den algorithmischen Handel erfordert eine identifizierte Chance, die in Bezug auf verbesserte Erträge oder Kostensenkungen rentabel ist. Im Folgenden werden gemeinsame Handelsstrategien verwendet, die im Algo-Trading verwendet werden: Die gängigsten algorithmischen Trading-Strategien folgen den Trends bei gleitenden Durchschnitten. Kanalausbrüche. Preisniveaubewegungen und zugehörige technische Indikatoren. Dies sind die einfachsten und einfachsten Strategien, um durch algorithmischen Handel zu implementieren, da diese Strategien keine Vorhersagen oder Preisvorhersagen beinhalten. Trades werden auf der Grundlage des Auftretens von wünschenswerten Trends initiiert. Die einfach und unkompliziert sind, um durch Algorithmen zu implementieren, ohne in die Komplexität der prädiktiven Analyse zu gelangen. Das oben genannte Beispiel von 50 und 200 Tage gleitenden Durchschnitt ist ein beliebter Trend nach Strategie. (Weitere Informationen zu Trendhandelsstrategien finden Sie unter: Einfache Strategien zur Aktivierung von Trends.) Der Kauf eines dualen Börsenplatzes zu einem niedrigeren Preis in einem Markt und der gleichzeitige Veräußerung zu einem höheren Preis in einem anderen Markt bietet die Preisdifferenz als risikofreier Gewinn Oder Arbitrage. Der gleiche Vorgang kann für Aktien gegen Futures-Instrumente repliziert werden, da Preisdifferenzen von Zeit zu Zeit existieren. Die Implementierung eines Algorithmus zur Identifizierung solcher Preisunterschiede und die Platzierung der Aufträge ermöglicht rentable Möglichkeiten in effizienter Weise. Index-Fonds haben Perioden des Neugewinns definiert, um ihre Bestände mit ihren jeweiligen Benchmark-Indizes in Einklang zu bringen. Dies schafft profitable Chancen für algorithmische Händler, die auf erwarteten Trades profitieren, die 20-80 Basispunkte Gewinne in Abhängigkeit von der Anzahl der Aktien im Indexfonds, kurz vor dem Indexfonds-Rebalancing anbieten. Solche Trades werden über algorithmische Handelssysteme für rechtzeitige Ausführung und beste Preise initiiert. Viele bewährte mathematische Modelle, wie die delta-neutrale Trading-Strategie, die den Handel auf Kombination von Optionen und deren zugrunde liegenden Sicherheit ermöglichen. Wo Trades gesetzt werden, um positive und negative Deltas zu versetzen, so dass das Portfolio-Delta auf Null gehalten wird. Die mittlere Reversionsstrategie basiert auf der Idee, dass die hohen und niedrigen Preise eines Vermögenswertes ein temporäres Phänomen sind, das periodisch auf ihren Mittelwert zurückkehrt. Identifizieren und Definieren einer Preisspanne und Implementierung von Algorithmen auf der Grundlage, dass Trades automatisch platziert werden, wenn der Preis von Asset Pausen in und aus seinem definierten Bereich. Die volumengewichtete durchschnittliche Preisstrategie zerbricht einen großen Auftrag und gibt dynamisch bestimmte kleinere Stücke des Auftrags auf den Markt mit Aktienspezifischen historischen Volumenprofilen frei. Ziel ist es, den Auftrag in der Nähe des volumengewichteten Durchschnittspreises (VWAP) auszuführen und damit zu einem durchschnittlichen Preis zu profitieren. Die zeitgewichtete durchschnittliche Preisstrategie zerbricht einen großen Auftrag und gibt dynamisch bestimmte kleinere Stücke des Auftrags auf den Markt mit gleichmäßig geteilten Zeitschlitzen zwischen Start - und Endzeit frei. Ziel ist es, den Auftrag in der Nähe des Durchschnittspreises zwischen Start - und Endzeiten auszuführen und damit die Markteinwirkung zu minimieren. Bis der Trade Order vollständig ausgefüllt ist, fährt dieser Algorithmus fort, Teilaufträge zu senden, entsprechend der definierten Beteiligungsquote und nach dem Volumen, das auf den Märkten gehandelt wird. Die zugehörige Schrittstrategie sendet Aufträge zu einem benutzerdefinierten Prozentsatz des Marktvolumens und erhöht oder verringert diese Erwerbsquote, wenn der Aktienkurs benutzerdefinierte Werte erreicht. Die Implementierungs-Defizitstrategie zielt darauf ab, die Ausführungskosten eines Auftrags durch den Handel auf dem Echtzeitmarkt zu minimieren und dadurch die Kosten der Bestellung zu senken und von den Opportunitätskosten der verzögerten Ausführung zu profitieren. Die Strategie wird die gezielte Erwerbsquote erhöhen, wenn sich der Aktienkurs günstig bewegt und abnimmt, wenn sich der Aktienkurs negativ bewegt. Es gibt ein paar spezielle Klassen von Algorithmen, die versuchen, Ereignisse auf der anderen Seite zu identifizieren. Diese Sniffing-Algorithmen, die zum Beispiel von einem Sell-Side-Market-Maker verwendet werden, haben die eingebaute Intelligenz, um die Existenz von Algorithmen auf der Kaufseite eines großen Auftrags zu identifizieren. Solche Erkennung durch Algorithmen wird dem Marktmacher dabei helfen, große Auftragsmöglichkeiten zu identifizieren und ihm zu ermöglichen, durch die Besetzung der Aufträge zu einem höheren Preis zu profitieren. Dies wird manchmal als Hightech-Frontlauf bezeichnet. (Für mehr auf High-Frequenz-Handel und betrügerische Praktiken, siehe: Wenn Sie Aktien kaufen Online, sind Sie in HFTs beteiligt.) Technische Voraussetzungen für Algorithmic Trading Die Umsetzung der Algorithmus mit einem Computer-Programm ist der letzte Teil, Clubbed mit Backtesting. Die Herausforderung besteht darin, die identifizierte Strategie in einen integrierten computergestützten Prozess umzuwandeln, der Zugang zu einem Handelskonto für die Platzierung von Aufträgen hat. Folgende werden benötigt: Computerprogrammierkenntnisse zur Programmierung der geforderten Handelsstrategie, angepasste Programmierer oder vorgefertigte Trading-Software Netzwerkkonnektivität und Zugriff auf Handelsplattformen für die Platzierung der Aufträge Der Zugriff auf Marktdaten-Feeds, die vom Algorithmus für die Möglichkeit der Platzierung überwacht werden Aufträge Die Fähigkeit und die Infrastruktur, das System einmalig zu testen, bevor es auf echten Märkten geht Erhältlich historische Daten für das Backtesting, abhängig von der Komplexität der im Algorithmus implementierten Regeln Hier ist ein umfassendes Beispiel: Royal Dutch Shell (RDS) ist in Amsterdam aufgeführt Börse (AEX) und Londoner Börse (LSE). Lets bauen einen Algorithmus, um Arbitrage-Möglichkeiten zu identifizieren. Hier sind einige interessante Beobachtungen: AEX handelt in Euro, während LSE in Pfund Sterling pflegt. Aufgrund der einstündigen Zeitdifferenz eröffnet AEX eine Stunde früher als LSE, gefolgt von beiden Börsen, die gleichzeitig für die nächsten Stunden handeln und dann nur in LSE handeln Die letzte Stunde als AEX schließt können wir die Möglichkeit der Arbitrage Handel auf der Royal Dutch Shell Aktie auf diesen beiden Märkten in zwei verschiedenen Währungen gelistet ein Computer-Programm, das aktuelle Marktpreise lesen können Preis Feeds von sowohl LSE und AEX A Forex Rate Feed für GBP-EUR Umrechnungskurs Bestellen von Platzierungsmöglichkeiten, die den Auftrag an den richtigen Austausch weiterleiten können Back-Testing-Fähigkeit zu historischen Preisfuttermitteln Das Computerprogramm sollte folgendes ausführen: Lesen Sie den eingehenden Preisvorschub der RDS-Aktie von beiden Börsen unter Verwendung der verfügbaren Wechselkurse . Umwandlung des Preises einer Währung in andere Wenn es eine ausreichend große Preisdiskrepanz (Abzinsung der Vermittlungskosten) gibt, die zu einer gewinnbringenden Gelegenheit führt, dann legen Sie den Kaufauftrag auf niedrigeren Preisvermittlungs - und Verkaufsauftrag auf höherer Preisvermittlung Wenn die Aufträge als ausgeführt werden Gewünscht, wird die Arbitrage Gewinn folgen Simple und Easy Allerdings ist die Praxis der algorithmischen Handel ist nicht so einfach zu pflegen und auszuführen. Denken Sie daran, wenn Sie einen Algo-generierten Handel platzieren können, so können die anderen Marktteilnehmer. Infolgedessen schwanken die Preise in Milli - und sogar Mikrosekunden. In dem obigen Beispiel, was passiert, wenn Ihr Kaufhandel ausgeführt wird, aber verkaufen Handel nicht als die Verkaufspreise ändern sich um die Zeit Ihre Bestellung trifft den Markt Sie werden am Ende sitzen mit einer offenen Position. Ihre Arbitrage-Strategie wertlos machen. Es gibt zusätzliche Risiken und Herausforderungen: z. B. Systemausfallrisiken, Netzwerkverbindungsfehler, Zeitverzögerungen zwischen Handelsaufträgen und Ausführung und vor allem unvollständige Algorithmen. Je komplexer ein Algorithmus ist, desto strengeres Backtesting ist nötig, bevor es in die Tat umgesetzt wird. Die quantitative Analyse einer Algorithmen-Performance spielt eine wichtige Rolle und sollte kritisch untersucht werden. Es ist spannend, für die Automatisierung zu helfen, die von Computern mit einer Vorstellung geholfen wird, um mühelos Geld zu verdienen. Aber man muss sicherstellen, dass das System gründlich getestet ist und die erforderlichen Grenzwerte festgelegt sind. Analytische Händler sollten überlegen, Programmierung und Gebäude-Systeme auf eigene Faust zu lernen, um sicher zu sein, die Umsetzung der richtigen Strategien in narrensicherer Weise zu sein. Der vorsichtige Gebrauch und die gründliche Prüfung von algo-trading können rentable Chancen schaffen. Eine Art von Vergütungsstruktur, die Hedge Fondsmanager in der Regel beschäftigen, in welchem ​​Teil der Vergütung Leistung basiert ist. Ein Schutz gegen den Einkommensverlust, der sich ergeben würde, wenn der Versicherte verstorben wäre. Der benannte Begünstigte erhält den. Ein Maß für die Beziehung zwischen einer Veränderung der Menge, die von einem bestimmten Gut gefordert wird, und eine Änderung ihres Preises. Preis. Der Gesamtdollarmarktwert aller ausstehenden Aktien der Gesellschaft039s. Die Marktkapitalisierung erfolgt durch Multiplikation. Frexit kurz für quotFrench exitquot ist ein französischer Spinoff des Begriffs Brexit, der entstand, als das Vereinigte Königreich stimmte. Ein Auftrag mit einem Makler, der die Merkmale der Stop-Order mit denen einer Limit-Order kombiniert. Eine Stop-Limit-Reihenfolge wird. SnowCron Genetischer Algorithmus in FOREX Trading Systems mit genetischen Algorithmus, um profitable Forex Trading-Strategie zu schaffen. Genetischer Algorithmus in Cortex Neuronale Netzwerke Software Feedforward Backpropagation Neuronales Netzwerk Anwendung für genetische Berechnungen basierte Forex Trading. Dieses Beispiel verwendet Konzepte und Ideen des vorherigen Artikels, also lesen Sie bitte Neural Network Genetic Algorithm in FOREX Trading Systems zuerst, obwohl es nicht obligatorisch ist. Über diesen Text Bitte lesen Sie zuerst den Haftungsausschluss. Dies ist ein Beispiel für die Verwendung von Cortex Neural Networks Software genetische Algorithmus-Funktionalität, kein Beispiel für die Gewinnung von rentablen Handel. Ich bin nicht dein Guru, auch ich sollte nicht für deine Verluste verantwortlich sein. Cortex Neural Networks Software hat neuronale Netze in ihr, und FFBP, die wir vorher diskutiert haben, ist nur eine Möglichkeit, eine Forex Trading Strategien zu wählen. Es ist eine gute Technik, mächtig und wenn richtig angewendet, sehr versprochen. Allerdings hat es ein Problem - das neuronale Netzwerk zu unterrichten. Wir müssen die gewünschte Ausgabe kennen. Es ist ziemlich einfach zu tun, wenn wir die Näherung funktionieren, wir nehmen einfach den wahren Wert einer Funktion, weil wir wissen, was es sein sollte. Wenn wir neuronale Netzwerkprognosen machen. Wir verwenden die Technik (beschrieben in früheren Artikeln) der Lehre des Neuronalen Netzes auf die Geschichte, wieder, wenn wir voraussagen, sagen wir, einen Wechselkurs, wissen wir (während des Trainings) was die richtige Vorhersage ist. Allerdings, wenn wir ein Handelssystem bauen, haben wir keine Ahnung, was die richtige Handelsentscheidung ist, auch wenn wir den Wechselkurs kennen. In der Tat haben wir viele Devisenhandelsstrategien, die wir zu jedem Zeitpunkt nutzen können Wir müssen ein gutes finden - wie was sollten wir als die gewünschte Ausgabe unseres Neuronalen Netzes füllen Wenn Sie unserem vorherigen Artikel folgten, wissen Sie, dass wir betrogen haben, mit diesem Problem umzugehen. Wir lehrten das Neuronale Netzwerk, um Wechselkurs (oder Wechselkurs basierte Indikator) Vorhersage zu tun, und dann verwendet diese Vorhersage, um den Handel zu tun. Dann, außerhalb des Neuronalen Netzwerks Teil des Programms, haben wir eine Entscheidung getroffen, welche Neuronale Netzwerk ist die beste. Genetische Algorithmen können mit diesem Problem direkt umgehen, sie können das Problem lösen, um die besten Handelssignale zu finden. In diesem Artikel werden wir Cortex Neural Networks Software verwenden, um ein solches Programm zu erstellen. Mit genetischen Algorithmen Genetische Algorithmen sind sehr gut entwickelt und sehr vielfältig. Wenn du alles über sie lernen willst, schlage ich vor, dass du Wikipedia benutzt, da es sich bei diesem Artikel nur darum geht, was Cortex Neural Networks Software machen kann. Mit Cortex Neural Networks Software. Wir können ein Neuronales Netzwerk erstellen, das einige Inputs, sagen wir, Werte eines Indikators, und produziert einige Ausgaben, sagen wir, Handelssignale (kaufen, verkaufen, halten.) Und stoppen Verlust nehmen Gewinnniveaus für Positionen, die geöffnet werden sollen. Natürlich, wenn wir diese Neuronalen Netze säumen zufällig, werden die Handelsergebnisse schrecklich sein. Allerdings sagen wir, dass wir ein Dutzend solcher NNs erstellt haben. Dann können wir die Leistung von jedem von ihnen testen, und wählen Sie die beste, der Gewinner. Dies war die erste Generation von NNs. Um die zweite Generation fortzusetzen, müssen wir unserem Gewinner erlauben zu zeigen, aber um zu vermeiden, dass identische Kopien, können wir zufällige Geräusche zu seinen Abstammungsgewichten hinzufügen. In der zweiten Generation haben wir unsere erste Generation und ihre unvollkommenen (mutierten) Kopien. Lets testen erneut. Wir werden noch einen Gewinner haben, der BESSER ist, dann ein anderes Neuronales Netzwerk in der Generation. Und so weiter. Wir erlauben es einfach, die Gewinner zu züchten und die Verlierer zu beseitigen, genau wie in der Evolution des wirklichen Lebens, und wir werden unser Best-Trading Neural Network bekommen. Ohne vorherige Kenntnisse darüber, was das Handelssystem (genetischer Algorithmus) sein sollte. Neuronales Netzwerk Genetischer Algorithmus: Beispiel 0 Dies ist das erste Beispiel für genetisches Algorithmus. Und eine ganz einfache. Wir werden es Schritt für Schritt durchlaufen, um alle Tricks zu lernen, die folgende Beispiele verwenden werden. Der Code hat Inline-Kommentare, so können wir nur auf wichtige Momente konzentrieren. Zuerst haben wir ein neuronales Netzwerk geschaffen. Es benutzt zufällige Gewichte und wurde noch nicht unterrichtet. Dann, im Zyklus, machen wir 14 Exemplare davon, mit MUTATIONNN Fumktion. Diese Funktion macht eine Kopie einer Quelle Neuronales Netzwerk. Hinzufügen von zufälligen Werten von 0 zu (in unserem Fall) 0,1 zu allen Gewichten. Wir halten Griffe zu den resultierenden 15 NNs in einem Array, wir können es tun, da Handle nur eine ganzzahlige Zahl ist. Der Grund, warum wir 15 NNs verwenden, hat nichts mit dem Handel zu tun: Cortex Neural Networks Software kann bis zu 15 Zeilen auf einem Diagramm gleichzeitig aufstellen. Wir können verschiedene Ansätze für die Prüfung verwenden. Zuerst können wir das Lernset verwenden, alles auf einmal. Zweitens können wir auf 12000 Resonzen (von 100000) testen und durch das Lernset gehen, von Anfang bis Ende. Das macht Lernenden anders, denn wir werden nach Neuronalen Netzwerken suchen, die auf jedem gegebenen Teil der Daten rentabel sind, nicht nur auf dem ganzen Set. Der zweite Ansatz kann uns Probleme geben, wenn Daten vom Anfang bis zum Ende wechseln. Dann wird sich das Netzwerk weiterentwickeln, die Fähigkeit, am Ende des Datensatzes zu handeln, zu gewinnen und die Fähigkeit zu handeln, zu Beginn zu verlieren. Um dieses Problem zu lösen, werden wir zufällig 12000 Datensatzfragmente aus Daten nehmen und es dem Neuronalen Netzwerk zuführen. Ist einfach ein endloser Zyklus, da 100000 Zyklen nie mit unserer Geschwindigkeit erreicht werden. Unten fügen wir ein Kind für jedes Netzwerk mit etwas unterschiedlichen Gewichten hinzu. Beachten Sie, dass 0,1 für Mutation Tange ist nicht die einzige Wahl, da die Tatsache, auch dieser Parameter kann mit Hilfe von genetischen Algorithmus optimiert werden. Neu erzeugte NNs werden nach 15 vorhandenen hinzugefügt. Auf diese Weise haben wir 30 NNs in einem Array, 15 alte und 15 neue. Dann werden wir den nächsten Zyklus des Testens machen und die Verlierer von beiden Generationen töten. Um das Testen durchzuführen, wenden wir Neural Network auf unsere Daten an, um Ausgänge zu erzeugen und dann die Testfunktion aufzurufen, die diese Ausgänge verwendet, um den Handel zu simulieren. Ergebnisse des Handels werden verwendet, um zu beschwören, welche NNs am besten sind. Wir verwenden ein Intervall von nLearn Datensätzen, von nStart zu nStart nLearn, wobei nStart ein zufälliger Punkt innerhalb des Lernsatzes ist. Der untenstehende Code ist ein Trick. Der Grund, warum wir es verwenden, ist, die Tatsache zu veranschaulichen, dass der genetische Algorithmus einen genetischen Algorithmus erzeugen kann. Aber es wird nicht unbedingt das Beste sein, und auch, um vorzuschlagen, dass wir das Ergebnis verbessern können, wenn wir irgendwelche Einschränkungen für den Lernprozess implizieren. Es ist möglich, dass unser Handelssystem sehr gut auf lange Trades arbeitet und sehr schlecht auf kurz oder umgekehrt ist. Wenn ja, lange Trades sind sehr gut, kann dieser genetische Algorithmus auch bei großen Verlusten auf kurzen Trades gewinnen. Um es zu vermeiden, weisen wir den langjährigen Trades in ungeraden und kurzen Trades in gleichmäßigen Zyklen mehr Gewicht zu. Dies ist nur ein Beispiel, es gibt keine Garantie, dass es etwas verbessern wird. Mehr darüber unten, in der Diskussion über Korrekturen. Technisch, man muss es nicht tun, oder kann es anders machen Profit zu einem sortierten Array hinzufügen Es gibt eine Einfügeposition zurück, dann verwenden wir diese Position, um Neural Network Handle hinzuzufügen, Lernen und Testen von Gewinnen an nicht sortierte Arrays. Jetzt haben wir Daten für das aktuelle Neuronale Netzwerk auf dem gleichen Array-Index wie sein Gewinn. Die Idee ist, zu Array von NNs zu kommen, sortiert nach Profitabilität. Als Array ist nach Profit zu sortieren, um 12 von Netzwerken zu entfernen, die weniger rentabel sind, müssen wir nur NNs entfernen 0 bis 14 Handelsentscheidungen basieren auf dem Wert des Neuronalen Netzwerks, von diesem Gesichtspunkt aus ist das Programm identisch mit Beispielen aus Vorheriger Artikel. FOREX Trading-Strategie: Diskussion Beispiel 0 Zunächst einmal werfen wir einen Blick auf Charts. Das erste Diagramm für den Gewinn während der ersten Iteration ist überhaupt nicht gut, wie man erwarten sollte, das Neuronale Netzwerk verliert Geld (Bild evolution00gen0.png kopiert nach dem ersten Iteration aus Bilder Ordner): Das Bild für Profit auf Zyklus 15 ist besser, manchmal , Genetischer Algorithmus kann wirklich schnell lernen: Allerdings bemerke die Sättigung auf einer Gewinnkurve. Es ist auch interessant, auf die Art und Weise zu denken, wie sich einzelne Gewinne ändern, wenn man bedenkt, dass Kurve Zahl, sagen wir, 3 ist nicht immer für das gleiche Neuronale Netzwerk. Wie sie geboren werden und beendet die ganze Zeit: auch beachten Sie, dass aus wenig Forex automatisierte Handelssystem führt schlecht auf kurze Trades, und viel besser auf Longs, die möglicherweise oder nicht in Zusammenhang mit der Tatsache, dass Dollar im Vergleich zu Euro in diesem Zeitraum. Es kann auch etwas mit Parametern unseres Indikators zu tun haben (vielleicht brauchen wir einen anderen Zeitraum für Shorts) oder die Wahl der Indikatoren. Hier ist die Geschichte nach 92 und 248 Zyklen: Zu unserer Überraschung scheiterte der genetische Algorithmus vollständig. Lass uns versuchen, herauszufinden, warum, und wie man die Situation zu helfen. Zuerst einmal ist nicht jede Generation besser als die vorherige Die Antwort ist nein, zumindest nicht innerhalb des Modells, das wir verwendet haben. Wenn wir ENTIRE Lern-Set auf einmal genommen und verwendet es immer wieder, um unsere NNs zu lehren, dann ja, sie werden auf jeder Generation zu verbessern. Aber stattdessen nahmen wir zufällige Fragmente (12000 Datensätze in der Zeit) und benutzten sie. Zwei Fragen: warum das System auf zufällige Fragmente des Lernens gescheitert ist, und warum havent wir das ganze Lernset verwendet haben. Um die zweite Frage zu beantworten, habe ich. NNs haben sich sehr gut entwickelt. Und sie scheiterten auf Test-Set, aus dem gleichen Grund fehlschlägt es, wenn wir FFPB Lernen verwendet. Um es anders auszudrücken, haben unsere NNs überdimensioniert, sie haben gelernt, in der Umgebung zu überleben, die sie gewohnt sind, aber nicht draußen. Das passiert viel in der Natur. Der Ansatz, den wir stattdessen nahmen, sollte das kompensieren, indem wir NNs dazu zwingen, auf jedem zufälligen Fragment des Datensatzes gut zu spielen, so dass sie hoffentlich auch auf einem unbekannten Testset vorgehen konnten. Stattdessen scheiterten sie sowohl beim Testen als auch beim Lernen. Stellen Sie sich vor, Tiere, die in einer Wüste leben. Viel Sonne, kein Schnee. Dies ist ein metafor für Rising-Markt, wie für unsere NNs Daten spielen die Rolle der Umwelt. Tiere lernten in einer Wüste zu leben. Stellen Sie sich vor, Tiere, die in einem kalten Klima leben. Schnee und gar keine Sonne. Nun, sie haben sich angepasst. Doch in unserem Experiment haben wir zufällig unsere NNs in eine Wüste, im Schnee, im Wasser, auf die Bäume gelegt. Indem sie ihnen verschiedene Fragmente von Daten (zufällig steigend, fallend, flach) vorstellen. Tiere starben. Oder anders ausgedrückt, haben wir das beste Neuronale Netzwerk für den zufälligen Datensatz 1 ausgewählt, der für den steigenden Markt gilt. Dann haben wir den Gewinnern und ihren Kindern eine fallende Marktdaten vorgestellt. NNs schlecht durchgeführt, nahmen wir am besten von armen Performern, vielleicht einer der mutierten Kinder, die verlorene Fähigkeit, auf steigenden Markt zu handeln, aber bekam einige Fähigkeit, mit einem zu fallen. Dann machten wir den Tisch wieder, und wieder bekamen wir den besten Darsteller - aber am besten unter den armen Performern. Wir haben unseren NNs keine Chancen gegeben, universell zu werden. Es gibt Techniken, die es dem genetischen Algorithmus ermöglichen, neue Informationen zu erlernen, ohne die Leistung auf alte Informationen zu verlieren (schließlich können Tiere im Sommer und im Winter leben, so dass Evolution in der Lage ist, wiederholte Änderungen zu bewältigen). Wir können diese Techniken später besprechen, obwohl dieser Artikel mehr über die Verwendung von Cortex Neural Networks Software ist. Als über den Aufbau eines erfolgreichen Forex automatisierten Handelssystems. Neuronales Netzwerk Genetischer Algorithmus: Beispiel 1 Jetzt ist es Zeit, über Korrekturen zu sprechen. Ein einfacher genetischer Algorithmus, den wir im vorigen Schritt erstellt haben, hat zwei Hauptfehler. Erstens hat es geschafft, mit Gewinn zu handeln. Es ist ok, wir können versuchen, ein teilweise geschultes System zu benutzen (es war am Anfang rentabel). Der zweite Fehler ist ernster: Wir haben keine Kontrolle über die Dinge, die dieses System tut. Zum Beispiel kann es lernen, rentabel zu sein, aber mit riesigen Drawdowns. Es ist eine bekannte Tatsache, dass im wirklichen Leben die Evolution gleichzeitig mehr als einen Parameter optimieren kann. Zum Beispiel können wir ein Tier bekommen, das schnell laufen kann und kältebeständig ist. Warum nicht zu versuchen, das gleiche in unserem Forex automatisierten Handelssystem zu versuchen. Das ist, wenn wir Korrekturen verwenden, die nichts als die Menge der zusätzlichen Strafen sind. Sagen Sie, unser System handelt mit Drawdown 0,5, während wir es auf 0 - 0,3 Intervall bestätigen wollen. Um dem System zu sagen, dass es einen Fehler gemacht hat, verringern wir seinen Gewinn (einer verwendet, um zu bestimmen, welcher genetische Algorithmus gewonnen hat), das ist proportional zur Größe von DD. Dann kümmert sich der Evolutionsalgorithmus um den Rest. Es gibt noch wenige Faktoren, die wir berücksichtigen wollen: Vielleicht möchten wir mehr oder weniger gleich viele Kauf - und Verkaufsaktivitäten haben, wir wollen mehr von rentablen Operationen haben, dann von Misserfolgen, können wir die Gewinndiagramm haben Linear sein und so weiter. In evolution01.tsc implementieren wir einen einfachen Satz von Korrekturen. Zuerst verwenden wir eine große Anzahl für einen anfänglichen Korrekturwert. Wir multiplizieren sie mit einem kleinen (meist zwischen 0 und 1) Werten, je nach der Bestrafung, die wir anwenden möchten. Dann multiplizieren wir unseren Gewinn mit dieser Korrektur. Als Ergebnis wird der Gewinn korrigiert, um zu reflektieren, wie sehr der genetische Algorithmus unseren anderen Kriterien entspricht. Dann verwenden wir das Ergebnis, um ein Gewinner Neuronales Netzwerk zu finden. FOREX Trading-Strategie: Diskussion Beispiel 1 Beispiel 1 arbeitet viel besser als Beispiel 0. Während der ersten 100 Zyklen hat es viel gelernt, und Profit-Charts sehen beruhigend aus. Allerdings, wie in Beispiel 0, sind lange Trades viel rentabler, was höchstwahrscheinlich bedeutet, dass es ein Problem in unserem Ansatz gibt. Dennoch stellte das System ein Gleichgewicht zwischen zwei widersprüchlichen Anfangsbedingungen dar: Es gibt eine positive Dynamik sowohl beim Lernen als auch, wichtiger in der Testmenge. Wie für weiteres Lernen, im Zyklus 278 können wir sehen, dass unser System überholt wurde. Es bedeutet, wir haben noch Fortschritte beim Lernen gesetzt: Aber Test-Set zeigt Schwäche: Dies ist ein häufiges Problem mit NNs: Wenn wir es lehren, Lern-Set, lernt es, damit umzugehen, und manchmal lernt es auch zu gut Grad, wenn es verliert Leistung auf Prüf-Set. Um dieses Problem zu lösen, wird eine traditionelle Lösung verwendet: Wir suchen auf der Suche nach dem Neuronalen Netzwerk. Das führt am besten auf Test-Set, und speichern Sie es, Überschreiben der vorherigen besten, jedes Mal, wenn neue Spitze erreicht ist. Dies ist der gleiche Ansatz, den wir in der FFBP-Ausbildung verwendet haben, außer, diesmal müssen wir es selbst machen (Hinzufügen von Code, der nach einem besten Neuronalen Netzwerk auf einem Test-Set sucht und SAVENN anruft oder Gewichte des Neuronalen Netzwerks exportiert Datei). Auf diese Weise, wenn du dein Training aufhörst, hast du den besten Performer auf TESTING SET gespeichert und warte auf dich. Beachten Sie auch, dass es nicht das max. Profit sind Sie nach, aber optimale Leistung, also erwägen Sie Korrekturen, bei der Suche nach einem besten Performer auf einem Test-Set. Genetischer Algorithmus für FOREX Technische Analyse: Wo nun Nach dem Sieger Neuronales Netzwerk. Sie können den Schritten folgen, die im vorherigen Artikel beschrieben wurden, um Gewichte dieses Neuronalen Netzes zu exportieren. Und dann, um sie in Ihrer echten Handelsplattform zu verwenden, wie Meta Trader, Trade Station und so weiter. Alternativ können Sie sich auf andere Möglichkeiten der Optimierung des Neuronalen Netzwerks konzentrieren. Im Gegensatz zu FFBP-Algorithmen, hier können Sie sich von der Verwendung von Lern-und Test-Sets, und verschieben sequentielles Lernen. Download Cortex Bestellen Cortex View Price List Sichtbarkeit ist für diese Seite sehr wichtig. Wenn es Ihnen gefällt, bitte Link zu dieser URL

No comments:

Post a Comment