Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 279
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Sprechen Sie offen, es ist Sonntag, es besteht keine Eile, und an allem ist etwas Wahres dran. Ich halte Ihre Methode nicht für Quacksalberei, sondern für eine gute Methode mit fundamentalen Grundlagen.
Was gibt es zu sagen? Ich habe nichts über "meine" Methode gesagt.
Ihr lacht über etwas, also erzählt es mir gemeinsam.
Danke, ich habe schon gelacht.
Danke, ich habe mich schon amüsiert.
Es wäre wünschenswert, die Ergebnisse der Berechnungen zu sehen
Ich rate Ihnen jedoch, Ihre eigenen Tools zu überprüfen, da das Problem möglicherweise in kleinen Nuancen bei der Implementierung einzelner Funktionen liegt. Zum Beispiel kann die Anzeige von ZZ in der "kategorischen Ansicht" um einen Balken nach rechts verschoben werden, bei mir ist sie nicht verschoben, wo Knie ZZ endet und wo das Vorzeichen der abgeleiteten ZZ-Anzeige wechselt. Die Prüfung ist einfach, wo die Lernkurve höher ist, ist es mehr richtig, die Hauptsache ist, dass die Zeichen ohne Peek sein sollte, und Zielpersonen sind verpflichtet, Peek, das ist ihr Wesen. Tatsache ist aber, dass insbesondere ZZ (seine Steigung) sofort ein Ziel ist, weil es den Trend mit Blick auf die Zukunft und die ideale Positionsrichtung im Moment anzeigt.
OK, ich werde einen halben Tag frei haben...
in R kann das in 3 Minuten erledigt werden. Wenn Sanych also unbedingt einen Test haben will, hätte er diese drei Minuten auch damit verbringen können
Haben Sie überhaupt verstanden, was Sie in diesen "drei Minuten" tun müssen? Wenn Sie das verstanden haben, nehmen Sie ein Camtasia-Video auf, wie Sie es in drei Minuten machen, ohne es zu beschleunigen oder das erste Mal zu bearbeiten.
Haben Sie überhaupt verstanden, was Sie in diesen "drei Minuten" tun müssen? Wenn Sie das verstanden haben, nehmen Sie ein Camtasia-Video auf, wie Sie es in drei Minuten machen, ohne es zu beschleunigen oder das erste Mal zu bearbeiten.
hier...
außer dass ich der Sinuswelle Rauschen hinzugefügt habe, weil die reine Sinuswelle vorhersehbar ist und das Modell in beiden Fällen keine Fehler vorhersagt
make.sin <- function(){
t <- seq(0,50,0.1)
s <- sin(t)
return(s)
}
S <- make.sin()
noise <- rnorm(length(S))
S <- (S+noise)+1000
# х енкель для создания скользящего окна
hankel <- function(data, r=5) {
do.call(cbind,
lapply(0:(r-1),function(i) { data[(i+1):(length(data)-(r-1-i))]}))}
S <- hankel(S)
# делаем зиг и целевую с него
library(TTR)
make.zz <- function(ch=0.2){
zz <- ZigZag(S[,ncol(S)], change = ch, percent = T, retrace = F, lastExtreme = T)
n <- 1:length(zz);
for(i in n) { if(is.na(zz[i])) zz[i] = zz[i-1]}
dz<-c(NA,diff(zz))
sig<-ifelse(dz>0, 1, ifelse(dz<0, 0, NA))
return(list(label=sig , zz=zz))
}
Y <- make.zz()
layout(1:2)
# рисуем для наглядности синусоиду ,
# зигзаг на ней и внизу бинарный сигнал бай/сел
plot(S[,ncol(S)],t="l")
lines(Y$zz,col=4,lwd=2)
plot(Y$label ,t="l")
# подготовка данных
dat <- na.omit( cbind.data.frame(var=S, label=Y$label) )
label <- as.factor(dat$label)
dat <- dat[,-ncol(dat)]
# тренировки модели
tr <- 1:400
ts <- 401:nrow(S)
library(randomForest)
# тренируем модель как есть те целевая
# не заглядывает в будущее на один шаг
rf1 <- randomForest(label[tr]~., dat[tr,])
pr1 <- predict(rf1, dat[ts,])
# теперь тренируем вторую модель которая
# уже пробует предсказать следующее значение
label2 <- label[-1]
dat2 <- dat[-nrow(dat),]
rf2 <- randomForest(label2[tr]~., dat2[tr,])
pr2 <- predict(rf2, dat2[ts,])
# проверяем результаты
library(caret)
#ошибка без попытки предсказать
confusionMatrix(pr1,label[ts])
#ошибка с предсказанием на шаг
confusionMatrix(pr2,label2[ts])
Durchschnitt ohne Vorhersage
Genauigkeit: 0,7895
mit Vorhersage
Genauigkeit: 0,6702
P.S. Ich habe es ein wenig falsch gelesen, denn in den Prädiktoren habe ich anstelle von Momentum die Sinuswelle selbst nach den 5 Werten. 5 Werte mit überlagerndem Rauschen
mytarmailS:
Durchschnitt ohne Vorhersage
Genauigkeit: 0,7895
mit Vorhersage
Genauigkeit: 0,6702
Also...
Die Beschleunigung des Waldes ist ohne ZZ-Verschiebung um 10% höher, was zu beweisen war, da ZZ die Zukunft zu einem bestimmten Zeitpunkt vorhersagt und nicht verschoben werden muss.
Da haben Sie es...
Der Wert des Waldes steigt um 10 %, ohne dass ZZ verschoben wird, was erforderlich war, um zu beweisen, dass ZZ die Zukunft zu einem bestimmten Zeitpunkt vorhersagt und nicht verschoben werden muss.
Das beweist gar nichts.
Die Regel ist einfach: Wenn Sie Daten für das Training vorbereiten , verschieben Sie das Ziel um einen Balken nach links ("in die Zukunft"), unabhängig davon, wie Sie das Signal erzeugt haben. Haben Sie eine Ahnung, warum?
Wenn Sie es nicht wissen, beschreibe ich es im Detail.
Viel Glück!