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

 
Aleksey Vyazmikin:

Ich habe eine Frage zur Zielvariable.

Wenn unsere Zielvariable das finanzielle Ergebnis eines Geschäfts ist, dann ist es sinnvoll, dieses Ergebnis zu normalisieren, wie ich dachte. Aber hier suche ich nach Informationen auf der Website, und überall heißt es, dass die Zielvariable zwei Werte haben sollte - Kaufen oder Verkaufen. Und wenn ich in jedem Fall - ob ich nun kaufe oder verkaufe - einen Verlust erleide (und das kommt vor!), warum sollte ich dann alle negativen Variablen streichen? Und wenn es das Vorhandensein negativer Varianten ist, das die Statistik beeinflusst?

Generell würde ich gerne wissen, welche Netzwerke im Extremfall mit einem Kauf/Verkauf/Nichts-Trigger funktionieren (und wo man sie bekommt?), und im besten Fall mit einer Funktion (vorher habe ich hier nach einer Funktion gefragt, da ich nach einer theoretischen Lösung gesucht habe, aber jetzt habe ich ein Skript erstellt, das Prädiktoren zusammenfasst), die das Ranking vornimmt.

> Wenn unsere Zielvariable das finanzielle Ergebnis eines Geschäfts ist, ist es sinnvoll, dieses Ergebnis zu normalisieren, wie ich dachte.

Ich normalisiere die Ziele nicht, ich verwende sie so, wie sie sind (Preiserhöhung). Bei der Verwendung von Neuronen ist es besser, Prädiktoren (eine andere Bezeichnung für Eingänge, Chips) zu normalisieren. Für Wald irgendwie brauche ich nicht wirklich zu stören mit Normalisierung, es funktioniert gut in jedem Fall.

Man beachte, dass ein Neuronka sehr oft eine Ausgabe hat, die ebenfalls eine Aktivierungsfunktion durchläuft und bei einem Sigmoid nur innerhalb von (0;1) liegen kann. Dann sollte das Ziel auch normalisiert werden, wenn es nicht in dieses Intervall fällt. Oder wir könnten die Aktivierung für den Ausgang entfernen, so dass er jeden beliebigen Wert annehmen kann.


> Aber hier suche ich nach Informationen auf der Website, und überall sonst ist die Rede davon, dass die Zielvariable zwei Werte haben sollte - kaufen oder verkaufen.

Dies wird als Klassifizierung bezeichnet. Wenn anstelle von Preis - nur einige Satz (0 und 1; -1 und 1; "kaufen" und "verkaufen").
Wenn man den Preis selbst oder seine Steigerung vorhersagt, spricht man nicht von Klassifikation, sondern von Regression.


> Wenn ich in jedem Fall einen Verlust erleide - ob ich nun kaufe oder verkaufe (das kommt vor!) -, warum sollte ich dann alle negativen Entscheidungen streichen? Was, wenn das Vorhandensein negativer Optionen die Statistik beeinflusst?

Es hängt alles von Ihren Prädiktoren ab. Sie können die Antwort nur experimentell herausfinden, indem Sie beide Varianten ausprobieren. Ich habe zum Beispiel versucht, meine eigene Fitnessfunktion für Forest zu erstellen - ich habe ein Handelsdiagramm (unter Berücksichtigung des Spreads) unter Verwendung von Forest-Prognosen erstellt und das Diagramm verwendet, um die Sharpe Ratio zu definieren; das war der Wert, den ich als Ergebnis zu erhöhen versuchte.


> Generell würde ich gerne wissen, welche Netze funktionieren.

Ich nehme derzeit offene Preise und verwende sie mit (selbst erstellten) Indikatoren, um neue Funktionen zu schaffen. Ich trainiere die Neuronik, die den Preisanstieg pro Barren vorhersagt. Ich brauche viel Zeit, um neue Indikatoren zu erstellen, da das Modell sonst nicht den Spread schlagen kann.

Wenn ich mir Ihre Dateien anschaue, sehe ich, dass Sie bereits eine Menge Prädiktoren haben. Wenn Ihr Ziel nur ein Satz von -1,0,1 ist - verwenden Sie forest. Wenn Sie den Preis vorhersagen wollen - verwenden Sie besser Neuron.

 
Maxim Dmitrievsky:

Falsch... ja, die Punkte, wo der maximale Gewinn möglich ist, z.B.

für Klassifizierungszwecke ein mehrschichtiges Perseptron mit einer Softmax-Ausgabeschicht (gibt Wahrscheinlichkeiten der Klassenzugehörigkeit aus)

Haben Sie dies gelesen? https://www.mql5.com/ru/articles/497 am Beispiel des 1. Neurons. Und dann stellen Sie sich vor, dass es viele von ihnen gibt, also das ganze neuronale Netz.

Das sind genau die Schwellenwertfunktionen, nach denen Sie gefragt haben.

Nun, es sieht nach einem guten Ergebnis aus, ja.

Ich habe diesen Artikel übersehen - danke für den Hinweis, jetzt ist einiges klarer geworden! Aber nicht alles auf einmal - man muss solche Dinge immer wieder lesen... Ich habe verstanden, wie man Koeffizienten streut und ihre Summe mit einer Funktion hört.


elibrarius:

Versuchen Sie die 1. Datei, teilen Sie sie in 3 Teile auf:


Ausbildung
Vorhersage
Tatsächlich 0 1
0 28107 1244
1 3045 4119

Prüfung 1

Vorhersage
Tatsächlich 0 1
0 5950 356
1 742 776

Aktuell 2

Vorhersage
Tatsächlich 0 1
0 5945 333
1 779 769

Berechnet auf nnet mit 10 Neuronen in einer versteckten Schicht (NS des Rattle-Pakets von R)

Schlechter als Ihr Wald, aber nicht schlecht. Die zweite Datei kann zu ähnlichen Ergebnissen führen.

Danke! Ich denke, dass diese Ergebnisse als Filter, d. h. als Handelsverbot, verwendet werden können, da das Erraten von Nullen stabiler ist.

 
Aleksey Vyazmikin:

Ich habe diesen Artikel übersehen - danke für den Hinweis, er hat einiges klargestellt! Aber nicht alles auf einmal - so etwas muss man ein paar Mal lesen... Ich weiß, was Streuungskoeffizienten sind und höre ihre Summe durch eine Funktion.


Ich danke Ihnen! Ich denke, dass diese Ergebnisse als Filter verwendet werden können, d.h. um den Handel zu verbieten - weil das Erraten von Nullen stabiler ist.

Nun, in Wirklichkeit gibt es mehr von ihnen - deshalb ist es leicht zu erraten)

 
Dr. Trader:

> Wenn unsere Zielvariable das finanzielle Ergebnis des Geschäfts ist, ist es sinnvoll, dieses Ergebnis zu normalisieren, wie ich dachte.

Ich normalisiere die Ziele nicht, ich verwende sie so, wie sie sind (Kursgewinne). Wenn Sie Neuronen verwenden, ist es besser, die Prädiktoren zu normalisieren (eine andere Bezeichnung ist Inputs, Chips). Für Wald irgendwie nicht wirklich brauchen, um mit Normalisierung zu stören, es funktioniert gut in jedem Fall.

Hm, und im Gegenteil, ich dachte, dass für den Wald die wichtigsten Prädiktoren logisch zu machen, wie ja / nein, das ist, was ich getan habe, und das ist, warum gibt es eine Menge von ihnen, und so wäre es viel weniger. Ich werde versuchen, es anders zu machen - ich werde einem Prädiktor 8 Werte zuweisen und sehen, ob sich das Ergebnis ändert.

Dr. Trader:

Es ist zu beachten, dass die Ausgabe eines Neurons sehr oft auch die Aktivierungsfunktion passiert und bei einem Sigmoid nur innerhalb von (0;1) liegen kann. Dann sollte das Ziel auch normalisiert werden, wenn es nicht in dieses Intervall fällt. Oder wir können die Aktivierung für die Ausgabe entfernen, so dass sie einen beliebigen Wert annehmen kann.

Was meinen Sie mit der Aufhebung der Aktivierung für die Einreise? Ich weiß nicht, was es ist - Aktivierung...

Dr. Trader:

> Aber hier suche ich nach Informationen auf der Website, und überall heißt es, dass die Zielvariable zwei Werte haben sollte - kaufen oder verkaufen.

Das nennt man Klassifizierung. Wenn anstelle des Preises - einfach irgendeine Menge (0 und 1; -1 und 1; "kaufen" und "verkaufen")
Bei der Vorhersage des Preises selbst oder seines Anstiegs spricht man von Regression, nicht von Klassifikation.

Ja, aber was soll ich tun, wenn ich nicht kaufen oder verkaufen, sondern nur ein Signal auslassen muss? Also habe ich beschlossen, zwei getrennte NS zu machen, um den Moment zu betrachten - nicht zu handeln.

Dr. Trader:

> Wenn ich auf jeden Fall einen Verlust mache - ob ich nun kaufe oder verkaufe (das kann passieren!) -, sollte ich dann die negativen Varianten einfach weglassen? Und was, wenn das Vorhandensein negativer Optionen die Statistik beeinflusst?

Es hängt alles von Ihren Prädiktoren ab. Sie können die Antwort nur experimentell herausfinden, indem Sie beide Varianten ausprobieren. Ich habe zum Beispiel versucht, meine Fitnessfunktion für Forest zu erstellen - ich habe ein Handelsdiagramm (unter Berücksichtigung des Spreads) mit Forest-Prognosen erstellt und das Diagramm verwendet, um die Sharpe Ratio zu definieren, die der Wert war, den ich als Ergebnis zu erhöhen versuchte.

D.h. für einige Prädiktoren ist die Historie nicht sehr wichtig, während sie für andere kritisch ist, und da es beides geben kann, stellt sich heraus, dass ein Herausschneiden nicht wünschenswert ist...

Dr. Trader:


Jetzt nehme ich offene Preise und verwende sie mit (selbst erstellten) Indikatoren, um neue Funktionen zu schaffen. Ich trainiere die Neuronik, die mit Hilfe dieser Chips den Preisanstieg pro Barren vorhersagt. Die Erstellung neuer Indikatoren nimmt viel Zeit in Anspruch, da das Modell sonst nicht den Spread schlagen kann.

Teilweise funktionieren die meisten meiner Funktionen mit der Vorhersage, aber nicht des Preises, sondern seines Niveaus - ich benutze meine ATR, aber die Standard-ATR sollte auf die gleiche Weise funktionieren.

 
elibrarius:

Nun, in Wirklichkeit gibt es mehr davon - deshalb ist es leicht zu erraten)

Das spielt also keine Rolle - die Hauptsache ist, dass man weiß, in welchen Bereichen ein erhöhtes Risiko für den Handel besteht, und das haben sie irgendwie gezeigt.

Die andere Sache ist, dass ich keine Ahnung habe, wie ich das alles in denselben Indikator verwandeln kann - ist es wirklich notwendig, alle Regeln, die sich gebildet haben, neu zu schreiben oder was?

 
Aleksey Vyazmikin:

Hmm, ich dachte, es wäre wichtiger für den Wald, die Prädiktoren logisch zu machen, wie ja/nein, was ich auch getan habe, und deshalb gibt es so viele davon, aber es wäre viel weniger. Ich werde versuchen, es anders zu machen - ich werde einem Prädiktor 8 Werte geben, und ich werde sehen, ob sich das Ergebnis ändert.

Der Wald ist schlechter und weist nur wenige Merkmale auf, es gibt nur wenige Splits.

Und wenn es viele spärliche Merkmale gibt und eines davon nicht spärlich ist, dann wird sich der Wald zu sehr an dieses Merkmal anpassen und die Importe daraus werden am größten sein, und die anderen werden nur sehr wenig Einfluss auf das Ergebnis haben

 
Maxim Dmitrievsky:

Ein Wald funktioniert bei spärlichen Merkmalen schlechter, es gibt nur wenige Splits.

Wenn es viele spärliche Merkmale gibt und eines davon nicht spärlich ist, dann wird der Wald auf diesem Merkmal überangepasst und es hat den größten Einfluss auf das Ergebnis, während die anderen Merkmale nur wenig Einfluss auf das Ergebnis haben.

Normal Forest oder Random Forest, oder beides?

Ich habe die Rattle und R (gut, und glitches die ganze Sache ...), und jetzt kann ich nicht verstehen, wie man eine vergleichbare Einstellung zu machen, wie in dem Screenshot unten? Denn die Standardeinstellungen von Rattle lieferten schlechtere Ergebnisse als das Programm, das ich zuvor verwendet hatte.


 
Maxim Dmitrievsky:

Ein Wald funktioniert bei spärlichen Merkmalen schlechter, es gibt nur wenige Splits.

und wenn es viele spärliche Zeichen gibt und eines davon nicht spärlich ist, wird sich der Wald zu sehr an dieses Zeichen anpassen und es wird die größten Importe haben, und die anderen werden sehr wenig Einfluss auf das Ergebnis haben

Dieselben Anzeigen, dieselben Einstellungen, aber die Anzeigen sind zusammengeklappt und nicht wie zuvor erweitert.

Alte Variante

Neue Variante

Ich fand etwas mehr Nullen, aber deutlich weniger Einsen - fast doppelt so viele! Ich hätte nicht gedacht, dass kollabierte und erweiterte Variablen einen solchen Effekt haben können...

 
Aleksey Vyazmikin:

Normale Hölzer oder zufällige Hölzer, oder beides?

Ich habe Rattle und R eingegeben (was für eine Panne das Ganze ist...), und jetzt kann ich nicht herausfinden, wie ich vergleichbare Einstellungen vornehmen kann, wie auf dem Screenshot unten? Denn die Standardeinstellungen von Rattle lieferten schlechtere Ergebnisse als das Programm, das ich zuvor verwendet hatte.


Normal Forest, Random Forest und Tree Forest sind dasselbe :) Wald ist ein Ensemble von Bäumen

Sind die Merkmale kollabiert, d. h. es gibt weniger von ihnen, oder was? Bei kollabierten Merkmalen handelt es sich um sich selten ändernde und/oder kategorische Merkmale wie Einsen und Nullen (das ist ein hohes Maß an Verständnis).

Ich verwende R nicht, weil mir die lokalen Gurus mit ihren vergoldeten Brillen davon abgeraten haben.

Solange Sie sich die Mühe machen, studieren Sie die Theorie darüber, was Bäume sind und was ein Wald aus Bäumen ist.

https://habr.com/post/171759/

https://habr.com/post/116385/

Wenn Sie die Einstellungen von Rattle ändern möchten, sollten Sie es zu Sanych nehmen, aber ich weiß nicht, warum, Sie wollen nur zu frönen, oder die Mühe mit der Integration der EA auf mt5 und R

https://www.mql5.com/ru/articles/1165

Энтропия и деревья принятия решений
Энтропия и деревья принятия решений
  • 2011.03.13
  • habr.com
Деревья принятия решений являются удобным инструментом в тех случаях, когда требуется не просто классифицировать данные, но ещё и объяснить почему тот или иной объект отнесён к какому-либо классу. Давайте сначала, для полноты картины, рассмотрим природу энтропии и некоторые её свойства. Затем, на простом примере, увидим каким образом...
 
Eidechse_:

Bei Ihren Daten, der Datei Pred_004_Buy, die in zwei Hälften geteilt wird, erhalten Sie 0,85 Kopfpunkte.
Die Daten sind Unsinn und sollten besser weggeworfen werden. Den Rest holen wir selbst nach. In der Stille...

Warum sind die Daten so schlecht? Das ist ein sehr gutes Ergebnis.

Grund der Beschwerde: