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

 
Dr. Trader:

Der zweite Teil des Experiments lautet.

Ich hatte 14 zuvor ausgewählte Prädiktoren und fügte weitere 14 mit Zufallswerten hinzu. Die maximal zulässige Anzahl von ForeCA-Komponenten beträgt nun 28.

Vorhersagegenauigkeit mit allen 28 Komponenten auf Trainingsdaten in beiden Fällen (mit und ohne foreCA) 76%, Genauigkeit auf neuen Daten in beiden Fällen 57%.

Ich glaube nicht, dass foreCA mit dem Müll in den Prädiktoren fertig geworden ist, ich habe das erwartete Wunder nicht gesehen.

Das ist großartig!

Danke, dass Sie meine Arbeitsbelastung verringern

 
Ich habe festgestellt, dass mein ForeCA-Beispiel bei anderen Daten nicht funktioniert hat, weil die Kovarianz der Prädiktoren zu hoch ist.
Dies kann mit diesem Code gelöst werden:
#это  строки кода из примера:
targetName <- colnames(trainData)[ncol(trainData)]
predictorColnames <- colnames(trainData)[-ncol(trainData)]
#...
#это  нужно добавить сразу после них:
while(TRUE){
        covMatrix <- cov(as.matrix(trainData[,predictorColnames]))
        covMatrixRank <- qr(covMatrix)$rank
        if(covMatrixRank == ncol(covMatrix)){
                break
        }else{
                eigenValues <- abs(eigen(covMatrix)$values)
                #  eigenValuesLow <- order(eigenValues, decreasing=FALSE)[1:(ncol(covMatrix)-covMatrixRank)]
                #  predictorColnames <- predictorColnames[-eigenValuesLow]
                eigenValuesHigh <- order(eigenValues, decreasing=TRUE)[1]
                predictorColnames <- predictorColnames[-eigenValuesHigh]
        }
}
Entfernen Sie einfach nacheinander die Prädiktoren mit hohem Eigenwert aus der Kovarianzmatrix. Vielleicht sollten wir die Prädiktoren mit niedrigem Eigenwert andersherum entfernen. Aber es ist immer noch lang und ineffizient, aber wie man es besser machen kann - ich weiß es noch nicht.
 

Warum haben die Indikatoren nie funktioniert und werden nie funktionieren? Und wie man versucht, es zu beheben....

ein bisschen was über das Bekifft-Sein... :)

Wir alle wissen, dass die Märkte nicht unbeweglich sind, aber wir verwenden meist Instrumente zur Marktanalyse, so auch ich.

Zum Beispiel gibt es gut etablierte Algorithmen für die Analyse von nicht-stationären Daten, und es gibt nicht viele von ihnen: Hidden Markov-Modelle "HMM" , Methode der Gruppenabrechnung von Argumenten "MGUA", und rekurrente neuronale Netze für BP speziell, warum verwenden wir diese Algorithmen nicht? Aber wir alle benutzen Gerüste, konventionelle Neuronik, die dümmsten Klassifikatoren, die nichts mit dem Problem zu tun haben

Warum ist das so? Warum trainiere ich, obwohl ich das alles weiß, weiterhin RF... Was ist los mit uns... Schreiben Sie, was Sie darüber denken...

Nun zu den Indikatoren und wieder ein bisschen was über Geekiness...;)

Da wir wissen, dass die Märkte unbeständig sind, versuchen wir, einige Indikatoren zu finden, die in der Zukunft funktionieren werden. Wie ist das möglich, wenn sich der Markt ständig ändert? Die Antwort liegt auf der Hand - auf keinen Fall!!! Oder ist es nicht so einfach...?

Ich denke, es gibt einen Weg, um mehr objektiv über den Markt, mit Indikatoren, Spektrum-Analyse, in diesem Fall die Wavelet, wird dazu beitragen, unsere Gedanken zu illustrieren

w

im Bild, auf der linken Seite gibt es eine Skala, die Perioden zeigt, d.h. Perioden, die auf dem Markt existieren, je mehr rote Fläche auf dem Diagramm, desto stärker ist die Periode vorherrschend, die stärkste Periode ist mit schwarzem Umriss umrissen, wie auf dem Bild...

Bitte lesen Sie nicht weiter, bis Sie den Code ausführen

Nachdem der Code ausgeführt wurde, drücken Sie den "Zurück-Pfeil" über dem Bild im Studio, um alle Bilder zu sehen, die nach der Ausführung des Codes ausgegeben wurden.

install.packages("dplR")

hankel <- function(data, r=10) {
  do.call(cbind,
          lapply(0:(r-1),function(i) { data[(i+1):(length(data)-(r-1-i))]}))} #hankel  matrx

price <- cumsum(rnorm(200))+1000    ;    plot(price,t="l")
H.price <- hankel(price,100)

library(dplR)
for(i in nrow(H.price):1 ){
  m <- morlet(y1 = H.price[i,] )
  wavelet.plot(m)
}

Sie sehen, dass die Zeiträume auf dem Markt ständig wie Wolken am Himmel schweben, und es ist jetzt klar, dass es auf dem Markt nichts mit festen Zeiträumen zu tun hat, aber Sie können sich anpassen. Was wäre, wenn man die derzeitige starke Periode auf dem Markt identifiziert und den Indikator ständig genau an diese reale - objektive Periode anpasst, die genau jetzt auf dem Markt ist?

Links

https://cran.r-project.org/web/packages/dplR/vignettes/timeseries-dplR.pdf

https://www.r-bloggers.com/wavelet-spectrogram-non-stationary-financial-time-series-analysis-using-r-ttrquantmoddplr-with-usdeur/

 

Für die Liebhaber von NS , hier

Deep Learning Teil 1: Vergleich von symbolischen Deep Learning Frameworks

Deep Learning Part 1: Comparison of Symbolic Deep Learning Frameworks
Deep Learning Part 1: Comparison of Symbolic Deep Learning Frameworks
  • Joseph Rickert
  • www.r-bloggers.com
This blog series is based on my upcoming talk on re-usability of Deep Learning Models at the Hadoop+Strata World Conference in Singapore. This blog series will be in several parts – where I describe my experiences and go deep into the reasons behind my choices. Deep learning is an emerging field of research, which has its application across...
 
mytarmailS:

Warum haben die Indikatoren nie funktioniert und werden nie funktionieren? Und wie können wir versuchen, sie zu beheben....

Wir alle wissen, dass die Märkte nicht stationär sind, aber die überwiegende Mehrheit der Instrumente, die wir verwenden, um den Markt zu analysieren, sind stationäre Reihen, einschließlich mir, ich weiß nicht, warum, was ist der Grund? Mode? Sturheit?

Da wir wissen, dass die Märkte nicht stationär sind, versuchen wir, einige Indikatoren zu finden, die in der Zukunft funktionieren. Wie ist das möglich, wenn sich der Markt ständig verändert?


Aber die Klassifizierung, wie sie Sanych beschrieben hat, wird sie nicht funktionieren?
 
Juri Evseenkov:
Und die Klassifizierung, wie Sanych sie beschrieben hat, reicht nicht aus?
Lassen Sie uns genauer sein, denn ich verstehe nicht, über welche Klassifizierung wir hier sprechen
 
mytarmailS:
Lassen Sie uns genauer sein, denn ich verstehe überhaupt nicht, von welcher Klassifizierung wir hier sprechen

L Bin ich etwa ein Arzt? Hier ist Sanych am Schreiben:

"Hier geht es um klassifikationsbasierte Vorhersagen, bei denen der vorherige Zustand bei der Vorhersage des nächsten Taktes nicht berücksichtigt wird. Vorhersagen (Prognosen) auf der Grundlage von Klassifizierungen sind Vorhersagen auf der Grundlage von Mustern. Und wenn es in der Vergangenheit Nachrichten gab, die zu einer Veränderung führten, die NICHT aus früheren Werten folgt (nicht extrapoliert), dann wird die Klassifizierung diese Veränderung als solche erfassen, und wenn es in der Zukunft eine ähnliche Veränderung gibt (nicht genau dieselbe, aber eine ähnliche), wird sie erkannt und eine korrekte Vorhersage gemacht. "

Das ist es, was ich denke, dass es sich lohnt, zu erforschen:"Die Klassifizierung wird eine solche Änderung als solche erfassen".

 
Juri Evseenkov:

L Bin ich etwa ein Arzt? Hier ist Sanych am Schreiben:

"Hier geht es um klassifikationsbasierte Vorhersagen, bei denen der vorherige Zustand bei der Vorhersage des nächsten Taktes nicht berücksichtigt wird. Vorhersagen (Prognosen) auf der Grundlage von Klassifizierungen sind Vorhersagen auf der Grundlage von Mustern. Und wenn es in der Vergangenheit Nachrichten gab, die zu einer Veränderung führten, die NICHT aus früheren Werten folgt (nicht extrapoliert), dann wird die Klassifizierung diese Veränderung als solche erfassen, und wenn es in der Zukunft eine ähnliche Veränderung gibt (nicht genau dieselbe, aber eine ähnliche), wird sie erkannt und eine korrekte Vorhersage gemacht. "

Ich denke also, es lohnt sich, in diese Richtung zu gehen:"Die Klassifizierung wird diese Änderung als solche erfassen".

Das Experiment ist das Kriterium der Wahrheit - nicht denken, tun

Ich persönlich halte die Spektralanalyse für vielversprechender, aber das ist nur meine persönliche Meinung...

 
Yuri Evseenkov:


Ich denke also, es lohnt sich, in diese Richtung zu gehen:"Die Klassifizierung wird eine solche Änderung als solche erfassen".

Die Klassifizierung ist kein Allheilmittel oder ein Gralswerkzeug.

Bei der Anwendung der Klassifikation geht es zunächst darum, die Instrumente auf die Probleme anzuwenden, für die sie gelten. So wurde zum Beispiel die Idee, die Spektralanalyse auf die Finanzmärkte anzuwenden, schon oft diskutiert, und alle scheinen großartige Werkzeuge zu sein, aber für andere Objekte, ach, nein, wieder angeboten.

Zweitens. Die Klassifizierung ist durchaus auf die Finanzmärkte anwendbar, aber es gibt viele Probleme, wie oben geschrieben wurde. Aber in der Klassifizierung können wir das Hauptproblem sehen - das Problem der Umschulung (Überanpassung) des TS. Was könnte noch wichtiger sein? Es ist natürlich nicht schön, der Illusion beraubt zu werden, einen Lieblingsgral zu haben, aber hier ist die Wahl: Glück ist gut, aber Wahrheit ist besser?

Drittens. Bei der Klassifizierung stellt sich ganz konkret die Frage: Was sagen wir voraus? Vergleichen wir sie mit der TA. Wir nehmen Indikatoren. Es ist immer ein Balken [1]. Der aktuelle Balken wird nicht verwendet. Was bedeutet das für H1? Wir nutzen stündliche Frische-Informationen, um den Markteintritt vorherzusagen! Dies ist im besten Fall der Fall.

Dies ist in der Klassifizierung völlig anders. Sie nehmen den aktuellen Wert der Zielvariablen und gleichen ihn mit den Rohdaten von gestern ab - und verschieben das Ziel um einen oder mehrere Balken. Wenn Sie ein Modell verwenden, das an solche Daten angepasst ist, können Sie die Zukunft immer realistisch vorhersagen, wenn der nächste Balken eintrifft.

PS.

Wenn Sie damit abrupte Marktbewegungen (Nachrichten) vorhersagen wollen, werden Sie Erfolg haben, wenn Sie eine Zielvariable bilden können, und Sie haben große Probleme damit in viel einfacheren Fällen.

 
DAFomenko:

So wurde zum Beispiel die Idee, die Spektralanalyse auf die Finanzmärkte anzuwenden, schon oft diskutiert, und es scheint ein großartiges Werkzeug zu sein, aber für andere Objekte, ach, nein, wird es wieder vorgeschlagen.

????????????????????????

Wenn ein Forscher keine Ahnung von Spektralanalyse hat und mit einem Wikipedia-Artikel endet, stimme ich zu, dass er nicht auf den Markt anwendbar ist :)