Der Händler von heute ist ein Philomath, der fast immer (entweder bewusst oder unbewusst...) nach neuen Ideen sucht, sie ausprobiert, sich entscheidet, sie zu modifizieren oder zu verwerfen; ein explorativer Prozess, der einiges an Sorgfalt kosten sollte. Diese Artikelserie wird vorschlagen, dass der MQL5-Assistent eine Hauptstütze für Händler sein sollte.
Wir untersuchen weiterhin Modelle und Algorithmen für unüberwachtes Lernen. Einige Leser haben vielleicht Fragen zur Relevanz der jüngsten Veröffentlichungen zum Thema neuronale Netze. In diesem neuen Artikel befassen wir uns wieder mit neuronalen Netzen.
Wir fahren mit der Besprechung von Assoziationsregeln fort. Im vorigen Artikel haben wir den theoretischen Aspekt dieser Art von Problemen erörtert. In diesem Artikel werde ich die Implementierung der FP Growth-Methode mit MQL5 zeigen. Außerdem werden wir die implementierte Lösung anhand realer Daten testen.
Bevor wir fertig sind, müssen wir noch einige kleinere Dinge im Zusammenhang mit dem neuronalen Feed-Forward-Netz behandeln, unter anderem den Entwurf. Sehen wir uns an, wie wir ein flexibles neuronales Netz für unsere Eingaben, die Anzahl der verborgenen Schichten und die Knoten für jedes Netz aufbauen und gestalten können.
Als Fortsetzung dieser Artikelserie betrachten wir eine andere Art von Problemen innerhalb der Methoden des unüberwachten Lernens: die Ermittlung von Assoziationsregeln. Dieser Problemtyp wurde zuerst im Einzelhandel, insbesondere in Supermärkten, zur Analyse von Warenkörben eingesetzt. In diesem Artikel werden wir über die Anwendbarkeit solcher Algorithmen im Handel sprechen.
Metamodelle im maschinellen Lernen: Automatische Erstellung von Handelssystemen mit wenig oder gar keinem menschlichen Eingriff — Das Modell entscheidet selbständig, wann und wie es handelt.
In diesem Artikel werde ich mit Hilfe von Experimenten und unkonventionellen Ansätzen ein profitables Handelssystem entwickeln und prüfen, ob neuronale Netze für Trader eine Hilfe sein können.
In diesem Teil setzen wir die Diskussion über die Modelle der Künstlichen Intelligenz fort. Wir untersuchen vor allem Algorithmen für unüberwachtes Lernen. Wir haben bereits einen der Clustering-Algorithmen besprochen. In diesem Artikel stelle ich eine Variante zur Lösung von Problemen im Zusammenhang mit der Dimensionsreduktion vor.
Der Gradientenverfahren spielt eine wichtige Rolle beim Training neuronaler Netze und vieler Algorithmen des maschinellen Lernens. Es handelt sich um einen schnellen und intelligenten Algorithmus, der trotz seiner beeindruckenden Arbeit von vielen Datenwissenschaftlern immer noch missverstanden wird - sehen wir uns an, worum es geht.
Im vorigen Artikel haben wir eine Klasse für das Clustering von Daten erstellt. In diesem Artikel möchte ich Varianten für die mögliche Anwendung der gewonnenen Ergebnisse bei der Lösung praktischer Handelsaufgaben vorstellen.
Wir fahren fort mit der Betrachtung der Clustermethode. In diesem Artikel werden wir eine neue CKmeans-Klasse erstellen, um eine der gängigsten k-means-Clustermethoden zu implementieren. Während der Tests gelang es dem Modell, etwa 500 Muster zu erkennen.
Entscheidungsbäume imitieren die Art und Weise, wie Menschen denken, um Daten zu klassifizieren. Schauen wir mal, wie man so einen Baum erstellt und ihn zur Klassifizierung und Vorhersage einiger Daten verwenden kann. Das Hauptziel des Entscheidungsbaum-Algorithmus ist es, die Daten mit Fremdanteilen und die reinen oder knotennahen Daten abzutrennen.
Es ist mehr als ein Jahr her, dass ich meinen letzten Artikel veröffentlicht habe. Das ist eine ganze Menge Zeit, um Ideen zu überarbeiten und neue Ansätze zu entwickeln. In dem neuen Artikel möchte ich von der bisher verwendeten Methode des überwachten Lernens abweichen. Diesmal werden wir uns mit Algorithmen des unüberwachten Lernens beschäftigen. Wir werden insbesondere einen der Clustering-Algorithmen - K-Means - betrachten.
Sehen Sie sich diese Auswahl an nützlichen Materialien an, die Händlern dabei helfen können, ihr Wissen über den algorithmischen Handel zu verbessern. Die Zeit der einfachen Algorithmen ist Vergangenheit, und es wird immer schwieriger, ohne den Einsatz von Techniken des maschinellen Lernens und neuronalen Netzen erfolgreich zu sein.
In diesem Artikel werde ich versuchen, unser logistisches Modell zu verwenden, um den Börsencrash auf der Grundlage der Fundamentaldaten der US-Wirtschaft vorherzusagen. NETFLIX und APPLE sind die Aktien, auf die wir uns konzentrieren werden, wobei wir die früheren Börsencrashs von 2019 und 2020 nutzen werden, um zu sehen, wie unser Modell in der aktuellen Krise abschneiden wird.
Diesmal werden unsere Modelle mit Hilfe von Matrizen erstellt, was uns eine gewisse Flexibilität ermöglicht, während wir gleichzeitig leistungsstarke Modelle erstellen können, die nicht nur mit fünf unabhängigen Variablen, sondern auch mit vielen Variablen umgehen können, solange wir innerhalb der Berechnungsgrenzen eines Computers bleiben.
Die Klassifizierung von Daten ist für einen Algo-Händler und einen Programmierer von entscheidender Bedeutung. In diesem Artikel werden wir uns auf einen logistischen Klassifizierungsalgorithmus konzentrieren, der uns wahrscheinlich helfen kann, die Ja- oder Nein-Stimmen, die Höhen und Tiefen, Käufe und Verkäufe zu identifizieren.
Es ist an der Zeit, dass wir als Händler unsere Systeme und uns selbst darauf trainieren, Entscheidungen auf der Grundlage von Zahlen zu treffen. Nicht unsere Augen oder wenn unser Bauchgefühl uns glauben macht, dass die Welt sich in diese Richtung bewegt, also lassen Sie uns senkrecht zur Richtung der Welle gehen.
Durch die Verwendung der speziellen Datentypen 'matrix' und 'vector' ist es möglich, Code zu erstellen, der der mathematischen Notation sehr nahe kommt. Mit diesen Methoden müssen Sie keine verschachtelten Schleifen erstellen oder auf die korrekte Indizierung von Arrays in Berechnungen achten. Die Verwendung von Matrix- und Vektormethoden erhöht daher die Zuverlässigkeit und Geschwindigkeit bei der Entwicklung komplexer Programme.
Für die Entwicklung von Integrationen mit MQL steht ein Python-Paket zur Verfügung, das eine Fülle von Möglichkeiten wie Datenexploration, Erstellung und Nutzung von maschinellen Lernmodellen ermöglicht. Die eingebaute Python-Integration in MQL5 ermöglicht die Erstellung verschiedener Lösungen, von der einfachen linearen Regression bis hin zu Deep-Learning-Modellen. Werfen wir einen Blick darauf, wie man eine Entwicklungsumgebung einrichtet und vorbereitet und wie man einige der Bibliotheken für maschinelles Lernen verwendet.
Als nächsten Schritt beim Studium von neuronalen Netzwerken schlage ich vor, die Methoden zur Erhöhung der Konvergenz beim Training von neuronalen Netzwerken zu besprechen. Es gibt mehrere solcher Methoden. In diesem Artikel werden wir uns einer von ihnen mit dem Namen Dropout zuwenden.
Im vorigen Artikel haben wir begonnen, Methoden zur Verbesserung der Trainingsqualität neuronaler Netze zu besprechen. In diesem Artikel setzen wir dieses Thema fort und betrachten einen weiteren Ansatz — die Batch-Normalisierung.
Dieser Artikel beschreibt die Technik des maschinellen Lernens, die auf den Grid- und Martingale-Handel angewendet wird. Überraschenderweise hat dieser Ansatz wenig bis gar keine Verbreitung im globalen Netzwerk. Nachdem Sie den Artikel gelesen haben, werden Sie in der Lage sein, Ihre eigenen Trading Bots zu erstellen.
Eines der fortschrittlichsten Modelle unter den derzeit existierenden neuronalen Netzen für Sprachen ist vielleicht GPT-3, dessen maximale Variante 175 Milliarden Parameter enthält. Natürlich werden wir ein solches Ungetüm nicht auf unseren Heim-PCs erstellen. Wir können uns jedoch ansehen, welche architektonischen Lösungen bei unserer Arbeit verwendet werden können und wie wir von ihnen profitieren können.
Die Popularität dieser beiden Methoden wächst, sodass viele Bibliotheken in Matlab, R, Python, C++ und anderen entwickelt wurden, die einen Trainingssatz als Eingabe erhalten und automatisch ein passendes Netzwerk für das Problem erstellen. Versuchen wir zu verstehen, wie der Grundtyp des neuronalen Netzes funktioniert (einschließlich Ein-Neuronen-Perzeptron und Mehrschicht-Perzeptron). Wir werden einen spannenden Algorithmus betrachten, der für das Training des Netzes verantwortlich ist - Gradientenabstieg und Backpropagation. Bestehende komplexe Modelle basieren oft auf solchen einfachen Netzwerkmodellen.
Die Verwendung von Computerbilder ermöglicht das Training von Neuronalen Netzen auf der visuellen Darstellung des Kurscharts und der Indikatoren. Diese Methode ermöglicht breitere Operationen mit dem ganzen Komplex der technischen Indikatoren, da es nicht nötig ist, sie digital in das Neuronale Netz einzuspeisen.
Wir haben zuvor den Mechanismus der Self-Attention (Selbstaufmerksamkeit) in neuronalen Netzen besprochen. In der Praxis verwenden moderne neuronale Netzwerkarchitekturen mehrere parallele Self-Attention-Threads, um verschiedene Abhängigkeiten zwischen den Elementen einer Sequenz zu finden. Betrachten wir die Implementierung eines solchen Ansatzes und bewerten seine Auswirkungen auf die Gesamtleistung des Netzwerks.
Wir haben schon einen langen Weg hinter uns und der Code in unserer Bibliothek wird immer umfangreicher. Das macht es schwierig, den Überblick über alle Verbindungen und Abhängigkeiten zu behalten. Daher schlage ich vor, eine Dokumentation für den früher erstellten Code zu erstellen und diese mit jedem neuen Schritt zu aktualisieren. Eine gut vorbereitete Dokumentation wird uns helfen, die Integrität unserer Arbeit zu erkennen.
In früheren Artikeln haben wir bereits verschiedene Möglichkeiten zur Organisation neuronaler Netze getestet. Wir haben auch Convolutional Networks (Faltungsnetze) besprochen, die aus Bildverarbeitungsalgorithmen entlehnt sind. In diesem Artikel schlage ich vor, sich den Attention-Mechanismen (Aufmerksamkeitsmechanismus) zuzuwenden, deren Erscheinen der Entwicklung von Sprachmodellen den Anstoß gab.
In früheren Artikeln haben wir den stochastischen Gradientenabstieg verwendet, um ein neuronales Netzwerk mit der gleichen Lernrate für alle Neuronen innerhalb des Netzwerks zu trainieren. In diesem Artikel schlage ich vor, sich mit adaptiven Lernmethoden zu beschäftigen, die eine Änderung der Lernrate für jedes Neuron ermöglichen. Wir werden auch die Vor- und Nachteile dieses Ansatzes betrachten.
In diesem Artikel werden wir aktive Methoden des maschinellen Lernens anhand von realen Daten betrachten und ihre Vor- und Nachteile diskutieren. Vielleicht helfen Ihnen diese Methoden und Sie werden sie in Ihr Arsenal an maschinellen Lernmodellen aufnehmen. Die Transduktion wurde von Vladimir Vapnik eingeführt, der Miterfinder der Support-Vector Machine (SVM) ist.
Wir haben zuvor verschiedene Arten von neuronalen Netzen zusammen mit ihren Implementierungen betrachtet. In allen Fällen wurden die neuronalen Netze mit der Gradientenverfahren trainiert, für die wir eine Lernrate wählen müssen. In diesem Artikel möchte ich anhand von Beispielen zeigen, wie wichtig eine richtig gewählte Rate ist und welchen Einfluss sie auf das Training des neuronalen Netzes hat.
Wir haben bereits einige Arten von Implementierungen neuronaler Netze besprochen. In den betrachteten Netzwerken werden die gleichen Operationen für jedes Neuron wiederholt. Ein logischer weiterer Schritt ist die Nutzung der parallelen Berechnung, die die moderne Technologie bietet, um den Lernprozess des neuronalen Netzwerks zu beschleunigen. Eine der möglichen Implementierungen wird in diesem Artikel beschrieben.
Wir setzen unser Studium der Welt der Neuronalen Netze fort. In diesem Artikel werden wir einen anderen Typ der Neuronalen Netzen betrachten, nämlich die Rekurrenten Netze. Dieser Typ wird für die Verwendung mit Zeitreihen vorgeschlagen, die in der Handelsplattform MetaTrader 5 durch Preisdiagramme dargestellt werden.
Als Fortsetzung des Themas Neuronale Netze schlage ich vor, Convolutional Neurale Netzwerke (faltende Neuronale Netzwerke) zu besprechen. Diese Art von Neuronalen Netzwerken wird in der Regel für die Analyse von visuellen Bildern verwendet. In diesem Artikel werden wir die Anwendung dieser Netzwerke auf den Finanzmärkten besprechen.
Dieser Artikel beschreibt einen der möglichen Ansätze zur Datentransformation mit dem Ziel, die Verallgemeinerbarkeit des Modells zu verbessern, und erörtert auch die Stichprobenziehung und Auswahl von CatBoost-Modellen.
Der Artikel liefert den Code und die Beschreibung der wichtigsten Phasen des maschinellen Lernprozesses anhand eines konkreten Beispiels. Um das Modell zu entwickeln, benötigen Sie keine Kenntnisse von Python- oder R. Es reichen grundlegende MQL5-Kenntnisse aus — das ist genau mein Niveau. Daher hoffe ich, dass der Artikel als gutes Tutorial für ein breites Publikum hilft, um diejenigen zu unterstützen, die daran interessiert sind, Fähigkeiten des maschinellen Lernens zu evaluieren und in ihre Programme zu implementieren.
In diesem zweiten Artikel werden wir uns weiter mit Neuronalen Netzen befassen und ein Beispiel für die Verwendung unserer geschaffenen Klasse CNet in Expert Advisors besprechen. Wir werden mit zwei Modellen neuronaler Netze arbeiten, die ähnliche Ergebnisse sowohl hinsichtlich der Trainingszeit als auch der Vorhersagegenauigkeit zeigen.
Trainieren des Klassifikators CatBoost in Python und Exportieren des Modells nach mql5, sowie Parsen der Modellparameter und eines nutzerdefinierten Strategietesters. Die Python-Sprache und die MetaTrader 5-Bibliothek werden zur Vorbereitung der Daten und zum Training des Modells verwendet.