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

 
mytarmailS:

Hier redet sogar dieses nüchterne Kind, siehe ab Minute 10

https://www.youtube.com/watch?v=KUdWTnyeBxo&list=PLDCR37g8W9nFO5bPnL91WF28V5L9F-lJL&index=3

In dem Video geht es nicht darum, genau eine Fourier-Reihe anzuwenden, sondern eine Funktion zur Verarbeitung der Daten zu verwenden, um sie in einen anderen Raum zu übertragen (Kerneltransformation). Es wird vorgeschlagen, die Bilder in eine HSL-Farbpalette und den Ton in ein Frequenzhistogramm zu konvertieren. All dies führt zu einer Veränderung der Daten, die aber bei Bedarf durch die Umkehrfunktion leicht wiederhergestellt werden kann. Diese Konvertierung muss irgendwie logisch sinnvoll sein, damit die Klassen nach der Konvertierung leichter im mehrdimensionalen Raum einander zugeordnet werden können, um die Klassifizierung zu vereinfachen. Wenn nach einer Umwandlung die Klassen noch mehr im Raum verstreut sind als vorher, dann ist das nicht gut, sondern nur noch schlimmer.

Es ist nicht notwendig, genau Fourier zu verwenden, da dies nicht empfohlen wird. Alexey schlägt zum Beispiel vor, die Deltas zwischen den Balken zu nehmen, nicht die Rohwerte. Yury in libVMR verwendet verschiedene mathematische Transformationen, es ist auch interessant, schauen Sie sich seine Quellen auf java. Sie können Daten mit Hilfe der Hauptkomponentenmethode zerlegen und in die neuronale Komponente einspeisen; SanSanych und ich haben dazu einige Artikel und Beispiele veröffentlicht. Für das, was Sie tun wollen, gibt es Hunderte von Lösungen, Fourier ist nur eine von ihnen.

Oder man kann einfach neuronale Verfahren mit Dutzenden von Schichten verwenden, die sich ohne Kernel-Transformationen aus den Rohdaten selbst errechnen. Aber es wird eine Menge Probleme mit der Regulierung, der gegenseitigen Validierung usw. geben.

Außerdem wird keine dieser Methoden das Problem des Eingangsmülls beseitigen. Input-Müll -> Post-Konvertierungs-Müll -> Output-Müll -> Fronttest-Pflaume.

 
mytarmailS:

Eine Frage: Ist es möglich, Ähnlichkeiten zwischen Funktionen über Amplitude, Phase und Frequenz zu messen?

DAS WAR'S!!! Ich bin nicht an etwas anderem interessiert...

Alles andere, was über Fourier geschrieben wurde, ist eine Folge der CC-Antwort und ist für meine Frage nicht relevant

Wenn die Funktionen periodisch sind, können Sie das tun. Wenn sie nicht periodisch ist, kommt es zu Fehlern beim Vergleich der Flanken (am Anfang - Wert 0 des Arguments und am Ende der Periode - Wert 2*PI des Arguments) der beiden Funktionen.
 
Dr. Trader:

In dem Video geht es nicht darum, genau eine Fourier-Reihe anzuwenden, sondern die Daten in einer Funktion zu verarbeiten, um sie in einen anderen Raum zu übertragen (Kerneltransformation).

Oder Sie können einfach neuronale Systeme mit Dutzenden von Schichten verwenden, die ohne Kernel-Transformationen mit Rohdaten arbeiten.

Die Kernel-Transformationen in diesem Video werden manuell durch die Visualisierung von Prädiktorenpaaren ausgewählt. Das heißt, Sie brauchen einen menschlichen Spezialisten, der visuell geeignete Paare findet und geeignete Kernel-Transformationen für sie auswählt.

Dr. Trader:


Man kann auch einfach ein neuronales System mit Dutzenden von Schichten nehmen, das sich ohne Kernel-Transformationen aus den Rohdaten selbst berechnet.

Im Video heißt es, dass es nicht nur nicht klappen wird, sondern dass es sogar noch verwirrender wird. Hinzu kommt, dass bei Methoden der umgekehrten Fehlerfortpflanzung die Gewichte in den von der Ausgabeschicht entfernten Schichten praktisch nicht angepasst werden - das Signal kommt dort nicht an, und wenn es dort ankommt, ist es zu schwach.


Dr. Trader:


Yuri verwendet in libVMR verschiedene mathematische Transformationen, es ist auch interessant, schauen Sie sich seinen Quellcode in Java


Nicht verschiedene, sondern algorithmisch zusammengestellt durch A.G. Ivakhnenkos Methode der Gruppenfaktorisierung von Argumenten (GMDH). Wenn man willkürlich, d.h. ohne jegliche Struktur, vorgeht, kommt man auf die schiefe Bahn.


 
Yury Reshetov:
Wenn die Funktionen periodisch sind, können Sie das tun. Wenn sie nicht periodisch ist, kommt es zu Fehlern beim Vergleich der Flanken (am Anfang - Wert 0 des Arguments und am Ende der Periode - Wert 2*PI des Arguments) von zwei Funktionen.

Ich verstehe, es wird immer noch eine Verzerrung an den Enden geben und je näher am Rand, desto stärker, sorry, es passt nicht....

Dr. Trader.

Wie wird Ihr neuronales Netz trainiert?

 

Ich habe dies auf einer Website gefunden, aber sie funktioniert aus irgendeinem Grund nicht mehr

Vielleicht ist ja jemand interessiert:

".... Nach Ihren Empfehlungen baute ich mehrere Roboter-Modelle, Roboter lernen und erkennen einige Dinge mit neuen Daten, aber die Ergebnisse, leider, sind noch weit von dem, was ich erwartet hatte.

.... Zunächst habe ich die polynomial-harmonische Annäherung auf Tiefpassfilter angewandt, um eine erste Gruppe von sekundären Merkmalen zu erhalten, einen Filter für den kurzfristigen Trend und einen zweiten für den langfristigen Trend. Nehmen Sie Frequenzen, cos- und sin-Amplituden und P-Koeffizienten als sekundäre Merkmale auf. ... Das Netzwerk hat gelernt, aber nicht verallgemeinert.

...Der nächste Schritt war ein neues Modell: Wir wenden einen Tiefpassfilter (ich verwendete einen Butterworth-Filter 2. Ordnung) auf den Schlusskurs an, wenden eine polynomial-harmonische Approximation an, transformieren A*cos(wx)+B*sin(wx) in die Form M*sin(wx+f) und nehmen M und f als sekundäre Attribute.

.... Und mit diesem Modell ist es mir gelungen, ein Netzwerk aufzubauen, das sehr gute Generalisierungseigenschaften hat: Es erkennt fast alle neuen Daten richtig.

Die polynomial-harmonische Annäherung ist zeitaufwändig, daher beschloss ich, ein anderes Modell zu erstellen: eine Reihe von Bandpassfiltern mit gleicher Frequenzverteilung, die ich auf den LF-Filter der Schlusskurse anwandte und dann die Hilbert-Transformation auf sie anwendete. Es ist mir auch gelungen, ein Netzwerk für das künstliche Marktmodell zu erstellen, das erfolgreich neue Daten erkennt.

Danach habe ich dieses Modell auf reale Zitate angewandt:

- filtern wir den Schlusskurs mit einem adaptiven LF-Filter.

- eine Reihe von Bandpassfiltern zu konstruieren, um Marktwellen zu erkennen.

- die Hilbert-Transformation anwenden.

- erste Gruppe sekundärer Attribute: Bandpassfilterwerte, momentane Amplituden- und Phasenwerte.

- bauen wir einen Tiefpassfilter aus nahen Preisen.

- die zweite Gruppe sekundärer Attribute - relative Abweichung der Schluss- und Tiefstkurse der letzten Kerze, Unterstützungs- und Widerstandsniveaus vom Wert des LF-Filters, relatives Volumen in einem Balken (relativ zum Mittelwert).

- eine Ausbildungsprobe erstellen.

Das Ergebnis ist folgendes: Das Netz ist trainiert, funktioniert aber bei neuen Daten schlecht. Irgendwo sagt sie Minima genau voraus, und irgendwo vergisst sie, was zu tun ist. Im Vergleich zu dem, was ich vorher gemacht habe, scheint das Ergebnis ein qualitativ anderes zu sein. Ja. Noch etwas zur Klarstellung: Ich habe die Faustregeln befolgt: Anzahl der Eingangsnetzmerkmale (in diesem Fall sekundäre Merkmale) < Größe der Trainingsstichprobe/10, Anzahl der Neuronen in einer versteckten Schicht nicht höher als die Anzahl der Netzeingänge...". Ich hoffe, dass diese Auszüge aus dem Schreiben Ihnen einen Eindruck von möglichen Ansätzen für die Suche nach Merkmalen vermitteln.

 
mytarmailS:

Ich verstehe, es wird immer noch eine Verzerrung an den Enden geben und je näher an der Kante, desto stärker, zu schade, dass es nicht passt....

Die Frage, ob es passt oder nicht, ist sehr trivial. Zerlegen Sie die Funktion zunächst in Fourier-Reihen und stellen Sie sie dann durch inverse Transformation aus den Reihen wieder her. Vergleichen Sie die ursprüngliche Funktion vor der Zerlegung und die wiederhergestellte Funktion. Wenn sich die rekonstruierte Funktion grundlegend von der ursprünglichen Funktion unterscheidet, ist es offensichtlich, dass diese Methode nicht funktioniert.

Für nichtperiodische Funktionen wird die Verwendung von Wavelet-Transformationen empfohlen. Ich habe es nicht selbst ausprobiert. Betrachtet man jedoch die Art und Weise, wie ein Bild zunächst durch Wavelets komprimiert und dann mit einigen Verzerrungen wiederhergestellt wird, die jedoch im Vergleich zu den Verzerrungen durch Fourier-Transformationen visuell nicht wahrnehmbar sind, so wird deutlich, dass Wavelets im Vergleich zu Fourier-Transformationen für nichtperiodische Reihen besser geeignet sind. Da ich keine praktische Erfahrung mit der Anwendung von Wavelets auf zitierte BPs habe, kann ich keine nützlichen Informationen darüber geben, welche Wavelets hier am besten geeignet sind. Und es gibt einen Wagen und einen kleinen Karren voll davon.

mytarmailS:

Was macht Ihr neuronales Netz?

Abhängig von der Art der Aufgabe und den Daten? Wenn Sie ihm ein paar zufällige Zahlen unterjubeln, murmelt er: "Müll rein, Müll raus". Gibt man ihm jedoch eine Stichprobe signifikanter Prädiktoren, so wird es Verallgemeinerungswerte liefern. Das Training dauert nicht lange, zumindest bei einer Stichprobe von einem Dutzend Prädiktoren und ein paar tausend Beispielen.
 
Yury Reshetov:

Die Frage, ob es funktioniert oder nicht, ist ziemlich trivial. Zerlegen Sie die Funktion zunächst in eine Fourier-Reihe und rekonstruieren Sie sie dann aus der resultierenden Reihe durch inverse Transformation. Vergleichen Sie dann die ursprüngliche Funktion vor der Zerlegung mit der rekonstruierten Funktion. Wenn sich die rekonstruierte Funktion grundlegend von der ursprünglichen Funktion unterscheidet, ist es offensichtlich, dass diese Methode nicht funktionieren wird.

Wahrscheinlich werde ich das tun.... Zuerst werde ich Ihnen sagen, was ich im Allgemeinen tue und was ich lösen muss, und dann werden Sie mir Ihre Vorschläge dazu mitteilen, denn ich glaube, ich verwirre Sie alle...
 

Ein wenig Vorgeschichte....

Zunächst suchte ich nach Mustern in der Geschichte, indem ich das folgende Prinzip anwandte:

1) wir haben den aktuellen Preis - lassen Sie es die letzten 20 Kerzen sein

2) wir gehen in die Geschichte und suchen nach einer ähnlichen Situation in der Vergangenheit (die Nähe wurde mit der Pearson-Korrelation und Euklid überprüft)

3) Wenn wir eine solche Situation vorfinden, schauen wir, wie sie endete - mit Wachstum oder Niedergang

4) Wenn wir viele solcher Analoga gefunden haben, ist es möglich, die Statistik mit einer gewissen Prävalenz zu sammeln, zum Beispiel haben wir 10 Analoga gefunden

8 davon endeten mit einem Wachstum und 2 - mit einem Rückgang, hier ist eine Vorhersage, was mit dem Preis passieren wird :)

Das heißt, ich habe etwas Ähnliches gemacht wie in Ivakhnenoks "Methode der zusammengesetzten Analoga - modellfreie Vorhersage", aber meine Methode ist viel primitiver

Es hat sich herausgestellt, dass dieser Ansatz aus mehreren Gründen nicht funktioniert

1) Je mehr Kerzen im erforderlichen Vektor, desto weniger Analoga können in der Geschichte gefunden werden. In der Praxis, wenn Sie alle OHLC-Preise und die Genauigkeit der Pearson-Korrelation >0,93 nehmen, ist ein Vektor von 3 Kerzen die Grenze, während eine normale Vorhersage einen viel größeren Vektor benötigt.

2) In der Praxis gibt es praktisch keine identischen Preissituationen auf dem Markt....

3) Es stellt sich heraus, dass wir den Vektor nicht vergrößern können, da wir viel an Genauigkeit verlieren würden. Aber selbst wenn wir es könnten, würden wir kein Analogon in einem größeren Vektor finden, da es keine identischen Situationen gibt

Die Lösung wurde gefunden.....

 
Yury Reshetov:

Von welchen Aufgaben und Daten hängt das ab? Wenn man ihm eine Stichprobe von Zufallszahlen zusteckt, murmelt er: "Müll rein, Müll raus". Und wenn man ihm eine Stichprobe signifikanter Prädiktoren gibt, liefert es Verallgemeinerungswerte. Das Training dauert nicht lange, zumindest bei einer Stichprobe von einem Dutzend Prädiktoren und ein paar tausend Beispielen.

Grüße!!!! Ich verwende LibVMR, aber es scheint eine alte Version zu sein, denn ich erhalte ständig den Fehler "Bad Data". Ich habe gehört, dass es eine neue Version gibt. Wo kann ich es herunterladen? Wenn das möglich ist?
 
mytarmailS:

Ein wenig Vorgeschichte....

Zunächst suchte ich nach Mustern in der Geschichte, indem ich das folgende Prinzip anwandte:

1) wir haben den aktuellen Preis - lassen Sie es die letzten 20 Kerzen sein

2) Wir gehen in die Geschichte als Schleife und suchen nach einer ähnlichen Situation in der Vergangenheit (die Nähe wurde durch die Pearsonsche Korrelation und Euklid gemessen)

Nicht ganz klar? Nehmen Sie Preise als OHLC für Muster oder eine Art von Transformation von ihnen?

Der Punkt ist, dass, wenn man OHLC als gegeben ansieht, ein ähnliches Muster, das aber 1.000 Pips höher oder niedriger als das zu vergleichende ist, sich in der euklidischen Distanz mehr unterscheidet als ein völlig unähnliches Muster, das aber 10 Pips höher oder niedriger als das zu vergleichende ist. Der Unterschied wird zwei Größenordnungen betragen, so dass der Vergleichsfehler ebenfalls zwei Größenordnungen beträgt.

Grund der Beschwerde: