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

 
Aleksey Terentev:
Netzwerk [64 GRU + 32 GRU + 2 Dense] in einem Klassifizierungsproblem durch OHLC -> Buy/Sell-Modell (7000 bar) auf ~24 Trainingslauf ergibt 0,9 - 0,8 Genauigkeit. Und das alles in etwa 30 Sekunden.

Was steht auf den Schildern und Hinweisen?
 
pantural:
Was steht auf den Schildern und Hinweisen?

"OpenHighLowClose -> Kaufen/Verkaufen"

Update: Kauf-/Verkaufssignal bereits in diesem Thread veröffentlicht.

 
elibrarius:
Wie sehen diese Ergebnisse im Handel aus? Wie hoch ist das Einlagenwachstum in % pro Monat/Jahr? Wenn Sie nicht für 7000 Takte trainieren, sondern für 100000?

Ich habe noch nicht mit dem Handel begonnen. Ich bin mit der Automatisierung beschäftigt.

Auch die Auswahl des Modells des neuronalen Netzes ist ziemlich heikel. Sie müssen die Art der Aktivierungsfunktionen in den Schichten, die Fehlerfunktion, die Trainingsmethode und die richtige Ausgabe vor dem Training sowie eine Reihe anderer MO-Nuancen berücksichtigen. Durch das gesamte Training kann jedes Signal sehr schnell auf 0 im Bereich [-1;1] reduziert werden.

Deshalb habe ich es auch nicht eilig, die Ergebnisse mitzuteilen.

 
what mean l2 norm?? - MATLAB Answers - MATLAB Central
  • www.mathworks.com
what mean l2 norm??. Learn more about matlab
 

Ich danke Ihnen. Genau das, was Sie brauchen.

 

Wer kennt sich mit R aus? Das erste Beispiel mit dem Herunterladen von Zitaten überQuantmod hat einen Haken, ich kann die resultierenden Zitate nicht zeichnen

getSymbols("AAPL", src = "google")
plot(AAPL[, "AAPL.Close"], main = "AAPL")

//
[1] "AAPL"
> plot(AAPL[, "AAPL.Close"], main = "AAPL")
Error in if (on == "years") { : missing value where TRUE/FALSE needed


https://www.r-bloggers.com/an-introduction-to-stock-market-data-analysis-with-r-part-1/

An Introduction to Stock Market Data Analysis with R (Part 1)
An Introduction to Stock Market Data Analysis with R (Part 1)
  • ntguardian
  • www.r-bloggers.com
Around September of 2016 I wrote two articles on using Python for accessing, visualizing, and evaluating trading strategies (see part 1 and part 2). These have been my most popular posts, up until I published my article on learning programming languages (featuring my dad’s story as a programmer), and has been translated into both Russian (which...
 
Maxim Dmitrievsky:

Wer kennt sich mit R aus? Ich habe ein Problem im ersten Beispiel mit dem Laden von Anführungszeichen überquantmod, ich kann die resultierenden Anführungszeichen nicht zeichnen

Ich habe den Code aus dem Artikel ausgeführt, alles hat auf Anhieb funktioniert.
Version R 3.4.2, aber ich glaube nicht, dass das viel ausmacht.

 

Es ist bekannt, dass man zum Trainieren eines Klassifizierungsmodells die Anzahl der Klassen so ausbalancieren sollte, dass die Anzahl der Trainingsbeispiele der Klasse "1" mit der Anzahl der Trainingsbeispiele der Klasse "2" übereinstimmt (und überflüssige Beispiele gelöscht werden).

Ich sehe eine ähnliche Anforderung für Regressionsmodelle, aber sie ist komplizierter - die Anzahl der Beispiele mit dem Ziel 0,001 sollte gleich der Anzahl der Trainingsbeispiele mit dem Ziel -0,001 sein,
die Anzahl der Beispiele mit dem Ziel 0,002 sollte gleich der Anzahl der Beispiele mit dem Ziel -0,002 sein, usw.

Hier ist ein Skript, das diesen Abgleich vornimmt -

#Подготовка  таблички для обучения модели, тут рандомные значения
#таргет  в колонке 11
trainTable <- cbind(matrix(runif(10000), nrow = 1000, ncol=10), 
                    round(sample(c(-runif(480)*runif(480), runif(520)*runif(520))*0.1), 3))#рандомные  значения для таргета, 3 знака после запятой.
                                                                                           #Позитивных значений на 40 больше чем негативных имитируя тренд в исходных ценах.


#Требуется  взять для обучения модели только такие строки таблицы когда число позитивных и негативных значений будет равно и отбалансировано по уровням

target <- trainTable[,11]
target <- round(target, 3) #округление  до определённой точности, тут 3 знака после запятой
targetFactor <- factor(target)
targetFactorLevels <- as.numeric(levels(targetFactor))
balancedIndexes <- c()
for(i in 1:length(targetFactorLevels)){
  idx <- which(target == targetFactorLevels[i])
  idxN <- which(target == -targetFactorLevels[i])
  minLength <- min(length(idx), length(idxN))
  balancedIndexes <- c(balancedIndexes, tail(idx, minLength), tail(idxN, minLength))
}
balancedIndexes <- sort(unique(balancedIndexes))

trainTableBalanced <- trainTable[balancedIndexes, ] #новая табличка на которой можно обучать модель
 

Wann sind Wavelets für Prognosen nützlich?

Wenn die Daten eine hohe Volatilität und Lücken aufweisen, was für die meisten hochfrequenten Finanzzeitreihen typisch ist, wird die Prognose noch schwieriger. Anhand von Hochfrequenz-Wechselkursdaten zeigen wir, dass Wavelets, die robust gegenüber hoher Volatilität und Lücken sind, nützliche Prädiktoren für Hochfrequenzanwendungen sind, bei denen hohe Volatilität das dominierende Merkmal ist, das sich auf Bewertungsschätzungen, Zonenprognosen oder beides auswirkt. Die Ergebnisse zeigen, dass die Zerlegung der Zeitreihen in homogene Komponenten, die dann in Zeitreihenprognosemodellen verwendet werden, sehr wichtig ist. Die verschiedenen Komponenten sind für unterschiedliche Daten im Zusammenhang mit dem Volatilitätsregime nützlicher als andere. Wir betrachten eine breite Palette von linearen und nichtlinearen Zeitreihenmodellen zur Vorhersage der Hochfrequenzreihen der Wechselkursaufwertung. Unsere Ergebnisse zeigen, dass die nichtlinearen Modelle die linearen Alternativen übertreffen, wenn die Daten nicht standardisierte Merkmale mit hoher Volatilität aufweisen. Wenn die Daten jedoch sowohl bei den Schätzungen als auch bei den Prognosen im Bereich niedriger Volatilität liegen, setzen sich einfache lineare autoregressive Modelle durch, auch wenn ein erheblicher Aufwand erforderlich ist, um das Rauschen in den Daten mittels Wavelets zu entfernen.

 
Dr. Trader:

Um ein Klassifizierungsmodell zu trainieren, sollte die Anzahl der Klassen so ausgeglichen werden, dass die Anzahl der Trainingsbeispiele mit der Klasse "1" mit der Anzahl der Trainingsbeispiele mit der Klasse "2" übereinstimmt (und unnötige Beispiele entfernt werden).

Ich sehe ähnliche Anforderungen für Regressionsmodelle, aber es ist komplizierter - die Anzahl der Beispiele mit Level "0.001" sollte gleich der Anzahl der Trainingsbeispiele mit Level "-0.001" sein,
die Anzahl der Beispiele mit der Zielvorgabe 0,002 sollte gleich der Anzahl der Beispiele mit der Zielvorgabe -0,002 sein usw.

Hier ist ein Skript, das diesen Ausgleich herstellt

Was bedeutet das im Wesentlichen?
Wenn der Dollar einige Monate lang gewachsen ist (er war im Trend), dann zeigen wir durch die Glättung der Anzahl der Trainingsbeispiele den NS so, als wäre er während dieser ganzen Zeit flach gewesen. Und dementsprechend wird er es lernen, flach zu liegen. Ist das richtig? Vielleicht sollten wir es trotzdem dem Trend beibringen?
Grund der Beschwerde: