Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 3370

 
Bogard_11 #:

DasMuster, auch Modell genannt, ist nur eines. Sobald man jede Bewegung zum ABC vereinfacht, kann man alle Matrixproportionen des Musters finden. Aber auch ohne maschinelles Lernen lässt sich das alles leicht von Hand berechnen. Ranok ist nicht komplizierter als der Algebra- und Geometrieunterricht in der Schule.

Ein Muster, zum Beispiel bei Holzmodellen, von denen es viele gibt, ist ein Baum. Jedes Holzmodell, zum Beispiel, CatBoost findet über hundert Bäume, lesen Sie Muster. Für RandomForest habe ich Statistiken: bis zu 50 Bäumen sinkt der Klassifizierungsfehler, und über 150 Bäumen ist der Klassifizierungsfehler stabil, d. h. in den von mir verarbeiteten Zeitreihen übersteigt die Anzahl der Muster nicht 150.

 
СанСаныч Фоменко #:

Ein Muster, zum Beispiel, in Holzmodellen, von denen es viele gibt, ist ein Baum. Jedes Holzmodell, zum Beispiel CatBoost, findet über hundert Bäume, sprich Muster. Für RandomForest habe ich Statistiken: bis zu 50 Bäumen sinkt der Klassifizierungsfehler, und über 150 Bäumen ist der Klassifizierungsfehler stabil, d.h. in der von mir verarbeiteten Zeitreihe übersteigt die Anzahl der Muster nicht 150.

Es ist nur noch ein kleiner Schritt, diese 150 Muster zu einem gemeinsamen Muster zu formalisieren. Wenn es A und B gibt, dann wird C zu einem bestimmten Zeitpunkt in einer solchen Ente vorkommen, wenn nicht, dann sind Zeitpunkt und Punkt unterschiedlich. Es gibt nur drei verschiedene Varianten der Entwicklung von C. Alles wird durch die ZEIT entschieden! Und das kann man ganz einfach erst einmal von Hand ausrechnen, und dann kann man es in einen Roboter stecken, wenn man will.

P.S. - nicht nur die Größe von A gibt bereits bestimmte Levels für den Pullback von B vor (sehr oft übersteigt der Backlash 1-3 Punkte nicht). In ähnlicher Weise signalisiert B im Voraus die Kursniveaus von C. Überall steckt eine Menge Mathematik.

Ein manueller Expert Advisor zum Beispiel berechnet automatisch die Niveaus aus der Bewegung, die uns interessiert. D.h. wir ziehen an der gewünschten Welle, und die Zukunft ist bereits vorgezeichnet.

Dateien:
 
СанСаныч Фоменко #:

Ein Muster, zum Beispiel, in Holzmodellen, von denen es viele gibt, ist ein Baum. Jedes Holzmodell, zum Beispiel CatBoost, findet über hundert Bäume, sprich Muster. Für RandomForest habe ich Statistiken: bis zu 50 Bäumen sinkt der Klassifizierungsfehler, und über 150 Bäumen ist der Klassifizierungsfehler stabil, d.h. in der von mir verarbeiteten Zeitreihe übersteigt die Anzahl der Muster nicht 150.

Vielmehr ist der Weg zu jedem Blatt, dessen Antwort Ihren Schwellenwert für die Eröffnung eines Handels überschreitet, ein Muster.
Zum Beispiel:
1. Split: 40 bar delta mit current = 0,
2. Split: 30 bar=100,
3. Split: 20 bar =50,
4. Split: 10 bar 100,
5. Split: 1 bar = 0.
Das sind 2 Höchststände mit einem Tiefststand. Ein Muster? Ja. Der Pfad zu 1 Blatt beschreibt es.

Wenn Sie 20 Blätter in Ihrem Baum haben, die den Schwellenwert überschreiten, den Sie handeln, haben Sie 20 Muster in Ihrem Baum, die Sie verwenden. Weniger erfolgreiche Blätter - beschreiben auch Muster, aber sie sind zufällig/verloren.
Andere 100 Bäume können andere Chips/Balken mit anderen Split-Werten verwenden.
Die Antworten aller Bäume werden gemittelt (addiert und durch die Anzahl der Bäume geteilt), so dass wir eine durchschnittliche Meinung über die Situation erhalten.
Boost addiert einfach mit einem gewichtenden/erklärenden Koeffizienten.

 
Bogard_11 #:

Es fehlt nurnoch ein wenig, um diese 150 Muster zu einem gemeinsamen Muster zu formalisieren. Wenn es A und B gibt, dann wird C zu einem bestimmten Zeitpunkt in dieser und jener Ente kommen, wenn nicht, dann werden Zeitpunkt und Punkt anders sein. Es gibt nur drei verschiedene Varianten der Entwicklung von C. Alles wird durch die ZEIT entschieden! Und das kann man ganz einfach zuerst von Hand ausrechnen, und dann kann man es in einen Roboter einbauen, wenn man will.

P.S. - nicht nur die Größe von A gibt bereits bestimmte Levels für den Pullback von B vor (sehr oft übersteigt der Backlash 1-3 Punkte nicht). Auf die gleiche Weise signalisiert B im Voraus die Kursniveaus von C. Überall steckt eine Menge Mathematik drin.

Ein manueller Expert Advisor zum Beispiel berechnet automatisch die Niveaus aus der Bewegung, die uns interessiert. D.h. wir ziehen an der gewünschten Welle, und die Zukunft ist bereits vorgezeichnet.

Es ist nicht nötig, irgendetwas zu formalisieren - alles wird für Sie erledigt.

 
Forester #:

Vielmehr ist der Weg zu jedem Blatt, dessen Antwort Ihren Schwellenwert für die Eröffnung eines Handels überschreitet, ein Muster.
Zum Beispiel:
1. Split: 40 bar Delta mit Strom = 0,
2. Split: 30 bar=100,
3. Split: 20 bar =50,
4. Split: 10 bar 100,
5. Split: 1 bar = 0.
Das sind 2 Höchststände mit einem Tiefststand. Ein Muster? Ja. Der Pfad zu 1 Blatt beschreibt es.

Wenn Sie 20 Blätter in Ihrem Baum haben, die den Schwellenwert überschreiten, den Sie handeln, haben Sie 20 Muster in Ihrem Baum, die Sie verwenden. Weniger erfolgreiche Blätter - beschreiben auch Muster, aber sie sind zufällig/verloren.
Andere 100 Bäume können andere Chips/Balken mit anderen Split-Werten verwenden.
Die Antworten aller Bäume werden gemittelt (addiert und durch die Anzahl der Bäume geteilt), so dass wir eine durchschnittliche Meinung über die Situation erhalten.
Boost addiert einfach mit einem gewichtenden/erklärenden Koeffizienten.

Ein Baum ist ein Baum und man kann sie sogar ausdrucken, wenn ich mich recht erinnere.

Blätter hingegen sind eine dunkle Angelegenheit. Auf der Ebene der Blätter sucht der Algorithmus zusammen mit den Stiften des Designers nach einem Gleichgewicht zwischen Klassifikationsfehler und Verzerrung. Es ist möglich, die Bäume so tief zu setzen, dass sie den Eingabesatz genau beschreiben - Übertraining oder Überanpassung. Das Problem besteht darin, in einer Zukunft, in der wir die Eingabemenge nicht kennen, eine Klassifizierung mit minimalem Fehler zu erreichen. Die Blätter sind natürlich endlich, aber sie müssen annähernd, nicht genau "endlich" sein. Daher ist ein Muster ein Baum.

 
СанСаныч Фоменко #:

Ein Baum ist ein Baum, und man kann sie sogar ausdrucken, wenn ich mich recht erinnere.

Aber die Sache mit den Blättern ist dunkel. Auf der Ebene der Blätter sucht der Algorithmus zusammen mit den Stiften des Designers nach einem Gleichgewicht zwischen Klassifikationsfehler und Verzerrung. Es ist möglich, die Bäume so tief zu setzen, dass sie den Eingabesatz genau beschreiben - Übertraining oder Überanpassung. Das Problem besteht darin, in einer Zukunft, in der wir die Eingabemenge nicht kennen, eine Klassifizierung mit minimalem Fehler zu erhalten. Die Blätter sind natürlich endlich, aber sie müssen annähernd, nicht genau "endlich" sein. Daher ist ein Muster ein Baum.

Dem stimme ich nicht zu. Ich habe ein Beispiel für ein Blatt mit einer Tiefe von 5 gegeben (das Blatt wird durch 5 Splits erhalten und ist ein Muster). Wenn Sie ein Blatt durch 200 Splits erhalten, erhalten Sie ein übertrainiertes Muster, das bei neuen Daten schlecht funktioniert. Aber es wird nicht aufhören, ein Muster zu sein. Ein Baum ist eine Menge von Mustern.

 
Forester #:

Da bin ich anderer Meinung. Ich habe ein Beispiel für ein Blatt mit 5 Tiefen gegeben (das Blatt wird durch 5 Splits erhalten und ist ein Muster). Wenn Sie ein Blatt durch 200 Splits erhalten, erhalten Sie ein neu trainiertes Muster, das bei den neuen Daten schlecht abschneidet. Aber es wird nicht aufhören, ein Muster zu sein. Ein Baum ist eine Menge von Mustern.

Beginnen wir am Herd.

Ich betrachte zwei Varianten von Bäumen: Bagging und boolesche (rf, ada) Typen.

Beide dieser recht umfangreichen Algorithmen betrachten die Eingabedaten MÖGLICHST genau, ohne Bezug auf benachbarte Zeilen.

Innerhalb einer einzelnen Zeile wird eine Auswahl von Prädiktorwerten getroffen, die die durch die Zielvariable (den Lehrer) spezifizierte Klasse mit der höchsten Wahrscheinlichkeit vorhersagt.

Die Kombination einer bestimmten Anzahl von Prädiktoren aus der Menge der Eingabeprädiktoren und ihrer Werte in einer einzigen Zeile wird als Muster bezeichnet.

 
СанСаныч Фоменко #:

Innerhalb einer Zeile werden die Prädiktorwerte ausgewählt, die die durch die Zielvariable (Lehrer) angegebene Klasse mit der höchsten Wahrscheinlichkeit vorhersagen.

Die Kombination einer bestimmten Anzahl von Prädiktoren aus dem Satz der Eingabeprädiktoren und ihrer Werte in einer Zeile kann als Muster bezeichnet werden.

Sie missverstehen das Stovepipe. Es scheint, als hätten Sie sich den Baumkonstruktionscode.... noch nie angesehen. Dort gibt es überhaupt keine Operationen innerhalb einer Zeile!!!, nur mit Mengen (mit vollen oder mit Stapeln).

Kurz gesagt:
Ein zufälliger/vollständiger Satz von Zeilen, der zum Training übergeben wird, wird für jeden Prädiktor/Spalte einzeln sortiert. Es werden verschiedene Aufteilungen geprüft (Mitte/Perzentil/Zufall), die Statistiken für jede Aufteilung werden gezählt, und die beste Aufteilung wird für den gesamten Satz von Zeilen ausgewählt, nicht für eine/jede Zeile, wie Sie vorgeschlagen haben.
Entsprechend der besten Aufteilung wird die Menge der Strings in zwei Gruppen aufgeteilt, dann wird jede Gruppe erneut sortiert und die beste Aufteilung wird für jeden der Teile ausgewählt usw., bis die Stoppregel erreicht ist (nach Tiefe, Anzahl der Beispiele pro Zeile usw.)

Sie können weitere Details im Editor sehen, Sie haben die Datei:
\MQL5\Include\Math\Alglib\dataanalysis.mqh
ClassifierSplit()-Funktion und diejenige, von der sie aufgerufen wird.
Sie werden es in ein paar Stunden verstehen und müssen nicht mehr über die Suche nach Prädiktoren in einer Zeile sprechen.
 
СанСаныч Фоменко #:

Sie brauchen nichts zu formalisieren - alles ist bereits für Sie erledigt.

Und wie hoch ist die Genauigkeit Ihres Roboters in Bezug auf das Intervall plus oder minus ein paar drei Stunden in die Zukunft? Ich spreche von dem Pivot-Punkt, den Ihre KI in die Zukunft berechnen wird. Mit einem Fehler von plus minus 5-10 Pips intraday auf dem gleichen Pfund-Dollar, und einem Fehler von +-1-2 Bars auf m5.

Und Ihre KI wird in der Lage sein, rechtzeitig zu erkennen, dass sich das Modell (Muster) nicht nach dem Preis, sondern nach der Zeit bewegt hat? Das bedeutet, dass nicht der erste, sondern der zweite oder dritte Berechnungspunkt ausgelöst wird. :)

Programmierer sind wie Kinder, wenn jemand die Fähigkeiten eines Computers anzweifelt (als ob eine Maschine alles finden würde), ziehen sie sofort einen Schmollmund und sind beleidigt. ;) Und niemand kann nachvollziehen, warum man nicht einen 100%ig funktionierenden Algorithmus finden kann. Und das alles nur, weil es ein kleines, unmerkliches Detail gibt, das ein Signal dafür ist, dass sich die Proportionen des Musters in Zukunft um einen bestimmten Betrag verschieben werden. Aber ihr seid Heniuses und Götter des Codes, es ist nicht ehrenhaft, etwas auszuwählen (alles von Hand zu suchen, auf einem Papier oder einem Taschenrechner zu zählen). Es ist einfacher, bei der Eingabe irgendeinen Blödsinn zu codieren, bei der Ausgabe Blödsinn zu bekommen und dann zu versuchen, das Ganze zu optimieren.

Ein klares logisches mathematisches System wurde vor mehr als 100 Jahren beschrieben (es funktioniert immer noch wie ein Uhrwerk). Sowohl in Bezug auf die Algebra als auch auf die Geometrie. Aber die Erfinder ihrer eigenen Lysapedes sind immer noch im Überfluss....

 
Bogard_11 #:

Vor über 100 Jahren wurde ein klares logisches mathematisches System beschrieben (das immer noch wie ein Uhrwerk funktioniert). Sowohl in Bezug auf die Algebra als auch auf die Geometrie. Aber es gibt immer noch viele Erfinder ihrer eigenen Lysapedes.....

Also zeigen Sie uns Ihr Handwerk...
Wozu die ganzen Schlagworte?

Und lass uns sehen, wie dein TS nach einer hundert Jahre alten Theorie funktioniert, die wie ein Uhrwerk läuft...
Na los!
Grund der Beschwerde: