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

 
Maxim Dmitrievsky:

1: Entscheiden Sie über den Stichprobenumfang, Ihre Stichprobe ist sehr klein

2. schauen Sie sich einfache (lineare) Klassifizierungs-/Regressionsmodelle an, höchstwahrscheinlich werden diese für Sie funktionieren, und wenn der Fehler groß ist, können Sie versuchen, zu komplexeren (nicht-linearen) Modellen in der Alglib-Bibliothek des Terminals zu wechseln (Entscheidungsbäume und -wälder sind ebenfalls verfügbar)

3) Nehmen Sie nie einen Rat an, vor allem nicht auf der R-Seite :))) Es ist an der Zeit, sie aus diesem Forum zu verbannen.

4. Wenn das Problem ohne maschinelles Lernen lösbar ist, ist es besser, es nicht zu verwenden.

1. Ja, das ist nur ein Beispiel, die Stichprobe ist in Wirklichkeit natürlich groß.

2. Danke, natürlich ist es besser, mit einem einfachen zu beginnen - ich denke, dies ist eine neue Stufe in meiner Entwicklung in Sachen Data Mining.

3. so gut zu wissen, über Alternativen auf MQL...

4. Im Moment versuche ich, die Merkmale (Muster) nach dem Grad ihres Einflusses auf den Handel zu gruppieren. Ich fürchte, ich habe begonnen, meinen TS in Richtung der Anpassung zu entwickeln, und dann möchte ich Ideen in Form von Zeichen des Marktverhaltens sammeln, um meine Wahnvorstellungen zu verwerfen.

 
Aleksey Vyazmikin:

1. Ja, das ist nur ein Beispiel, die Stichprobe ist in Wirklichkeit natürlich groß.

2. Danke, natürlich ist es besser, einfach anzufangen - ich denke, dies ist eine neue Stufe meiner Entwicklung in Sachen Data Mining.

3. es ist also gut, über Alternativen zu MQL Bescheid zu wissen...

4. Im Moment versuche ich, die Merkmale (Muster) nach dem Grad ihres Einflusses auf den Handel zu gruppieren. Denn ich fürchte, ich habe begonnen, meinen TS in Richtung Anpassung zu entwickeln, und dann will ich Ideen in Form von Anzeichen von Marktverhalten sammeln, um meine Halluzinationen zu verwerfen.

http://alglib.sources.ru/dataanalysis/

all dies ist in mql verfügbar (die Bibliothek wird standardmäßig mit dem Terminal geliefert)

für das Clustering können Sie einfaches k-means verwenden

Und für Ihre Tabelle können Sie die logistische Regression (youtube ist voll von Clips, was es ist und wie man es verwendet) (multiple logit regression) versuchen, es ist nur eine Grundlage für die Aufteilung in Klassen, wie in Ihrem Fall 0 oder 1. Als Nächstes kommt das mehrschichtige Perseptron, das ebenfalls in Klassen unterteilt, jedoch auf komplexere (nicht lineare) Weise.

ein gewöhnlicher Entscheidungsbaum wird wahrscheinlich nicht funktionieren, besser ist es, einen Wald zu verwenden, der aus mehreren solchen Bäumen besteht, die unterschiedlich partitioniert sind (zum Beispiel wird bei der ersten Partition nicht die erste Variable, sondern die dritte verwendet), dann werden die Ergebnisse aller Bäume gemittelt und man erhält eine genauere und robustere Schätzung. Wenn sich jedoch herausstellt, dass das Problem im Wesentlichen linear ist, dann ist Scaffolding nicht geeignet, sondern es ist besser, logistische Regression oder Perseptron mit einer versteckten Schicht zu verwenden. Deshalb ist es ratsam, mit den einfachsten linearen Modellen zu beginnen, und wenn Sie mit dem Ergebnis zufrieden sind, brauchen Sie sich nicht weiter zu bemühen.

 
Aleksey Vyazmikin:

Wenn ich die Auswirkungen der Wochentage untersuchen möchte, sollte ich dann verschiedene Eingabeparameter zur Kennzeichnung der Tage verwenden, oder reicht ein Parameter zur Kennzeichnung von 1 bis 5 aus?)

Forest erstellt eine Regel, die die Operationen "mehr" oder "weniger" verwendet, um Werte zu vergleichen.

Im Falle der Werte 1,2,3,4,5 - wenn Sie zum Beispiel eine Regel erstellen müssen, die nur am Mittwoch funktioniert, dann gibt es zwei Zweige - "weniger als Donnerstag" und "mehr als Dienstag".
Handelt es sich um unterschiedliche Parameter mit Markierungen, so genügt ein Vergleich (Markierungen größer als Null).
Je weniger Verzweigungen zur Erstellung einer Regel erforderlich sind, desto einfacher ist das Modell und desto besser.

Machen Sie beides im Allgemeinen zusammen. Eine Spalte mit den Werten 1,2,3,4,5. Und weitere 5 Spalten mit Beschriftungen.

 
Aleksey Vyazmikin:

Hat schon einmal jemand einen Vergleich verschiedener Algorithmen im Hinblick auf ihre Effizienz durchgeführt, wenn die Antwort bekannt ist, wie in meinem Beispiel, aber für komplexere Aufgaben?

Die Vorhersage von Daten wie den Ihren wird als Klassifizierung bezeichnet, wenn die benötigte Antwort nur ein Wertepaar oder sogar keine Zahlen, sondern Begriffe ("Ausstieg aus dem Handel", "Rollover" usw.) sein können.
Neuronics und Boosting sind gut dafür geeignet, sie können auf solchen Daten trainiert und dann für die Vorhersage neuer Daten verwendet werden.


Ich verstehe, dass es Ihr Ziel ist, die wertvollsten Informationen aus Ihren Daten zu extrahieren und einen lesbaren Satz von Regeln zu erhalten. Dann wird die Neuronik nicht funktionieren, denn es ist nicht so einfach, Regeln und Wissen aus der Neuronik zu extrahieren.

In einem Wald gibt es viele Wahlmöglichkeiten, viele Bäume (Formeln), und die endgültige Antwort wird durch eine Abstimmung bestimmt, bei der jede Formel eine andere Antwort gibt, und die beliebteste wird schließlich gewählt. Aber ein solches Wirrwarr von Regeln ist zu kompliziert zu interpretieren, es wird eine Menge Bilder geben, wie ich oben hinzugefügt habe, jedes wird eine andere Antwort geben, und das Ergebnis wird das sein, was am häufigsten getroffen wird.

Ein Baum ergibt ein Bild wie das obige, in komplizierten Fällen mit Dutzenden/Hunderten von Zweigen im Diagramm. Sie kann jedoch leicht interpretiert und wiederholt werden, indem man den Zweigen im Bild folgt.

Es gibt viele Modelle, wählen Sie das für Ihre Anwendung am besten geeignete aus.


Alglib in MQL kann all dies auch. Aber es ist umständlich, denn jedes Mal, wenn man die kleinste Änderung vornimmt, muss man ein Skript kompilieren, es ausführen und auf das Ergebnis warten.

Mit R oder Python können Sie einfach eine vorherige Codezeile erneut ausführen und im Falle eines Fehlers ändern. Alle Objekte, die während der Ausführung des Skripts erstellt wurden, bleiben im Speicher und Sie können mit ihnen weiterarbeiten, indem Sie neue Codezeilen vorhersagen und ausführen. Es ist nicht notwendig, das gesamte Skript nach der kleinsten Änderung neu zu starten, wie bei mql.

 
Während einer Pause werde ich hier einige Texte veröffentlichen, um zu sehen, ob jemand daran interessiert ist.
 
Yuriy Asaulenko:

Und eine Vorhersage mit 70 % Sicherheit auf einem Intervall ist wenig hilfreich. Das ist nicht sehr schwer, aber trotzdem nutzlos.

70% Vertrauen, dass 50% Genauigkeit wirklich nicht viel ist, und 70% Genauigkeit ist ein Märchen oder ein Fehler derjenigen, die gemischte Ziele verwenden, bei 70% Genauigkeit SharpRatio >30, das ist fantastisch, auch für ultra HFT

 
SanSanych Fomenko:

Zum hundertsten Mal:

1. Data Mining ist obligatorisch. Es ist zwingend erforderlich, zunächst nur die Prädiktoren auszuwählen, die eine AUSWIRKUNG auf die Zielvariable haben. Und dann das ganze Datamining.

2. Es gibt zwei Modelle:

  • Klassifizierung, die automatisch Muster finden soll
  • GARCH, das die statistischen Merkmale von Zeitreihen berücksichtigen sollte

3. Training von Modellen mit Kreuzvalidierung, wenn möglich

4. Bewertung von Modellen außerhalb der Trainingsdatei

5. Testlauf im Testgerät.


Zum hundertsten Mal: ALLE Schritte sind obligatorisch!


Wenn Sie all dies getan haben, können Sie davon ausgehen, dass das Depot nicht sofort ausverkauft sein wird!


Auf geht's, Männer! Beenden Sie den Aufenthalt im Forum und setzen Sie mit stiller Freude den skizzierten Plan für R. um.


Ein dreifaches Hoch!

Ich bin nur ein Scherz, ich bin genau wie Sie, ich versuche, die Menschen zu lehren, ZZ als Ziel zu verwenden, ich war naiv und nicht verstehen, Ihre bösen Plan :)

 
Aljoscha:

Es ist OK, ich mache nur Spaß, ich agitiere wie du, um ZZ als Ziel zu benutzen, ich war nur naiv und habe deine heimtückischen Pläne nicht verstanden :)

Hier muss ich noch einmal klarstellen: Ich agitiere nicht für ZZ - es ist nur sehr klar für Trendhandelssysteme.

Und das Ziel und die Prädiktoren für das Ziel sind allesamt extrem kompliziert und sehr kostspielig. Und das Modell ist recht einfach zu handhaben. Es gibt Fälle, in denen ein Typ für das Ziel und seine Prädiktoren kategorisch ungeeignet ist und ein anderer Typ geeignet ist. Im Allgemeinen sollten Sie immer ein Dutzend oder zwei Modelle ausprobieren.

 
Aljoscha:

70% Sicherheit, dass 50% Genauigkeit wirklich nicht viel bringt, und 70% Genauigkeit ist ein Märchen oder ein Fehler von denen, die gemischte Ziele verwenden, bei 70% Genauigkeit SharpRatio >30, das ist fantastisch auch für ultra HFT

Noch einmal, für diejenigen, die es nicht verstehen. 70 % sind Realität. Bei 70 % des Zeitintervalls können wir leicht eine vertretbare Prognose abgeben.

Die Frage der Nutzlosigkeit einer solchen Prognose ist eine andere. Von diesen 70% gerechtfertigten Prognosen ist nur etwa ein Viertel oder weniger realistisch, um in den Handel einzusteigen, d.h. nur ~17% des Intervalls. Da wir jedoch nicht von vornherein wissen, wo die Vorhersage ihre Berechtigung hat, und die verbleibenden 30 % einen beträchtlichen Anteil sowohl an fehlgeschlagenen als auch an verfehlten "richtigen" Geschäften ausmachen, ist es unmöglich, 70 % zuverlässige Vorhersagen umzusetzen.

 
Aljoscha:

Schon gut, das war nur ein Scherz, ich bin genau wie du, wenn es darum geht, die Leute zu animieren, ZZ als Ziel zu benutzen, ich war nur naiv und habe deine bösen Pläne nicht verstanden :)

Der heimtückische, virale Plan "ZZ-01" wurde vor einigen Jahren in einem
in einem geheimen Labor. Fa fungierte nur als dessen Träger. Ach, Aljoscha...

Grund der Beschwerde: