Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 279
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Habla claro, es domingo, no hay prisa, y hay algo de verdad en todo. No creo que su método sea charlatanería, es un buen método con bases fundamentales.
¿Qué hay que decir? No he dicho nada sobre "mi" método.
Te estás riendo de algo, así que cuéntenme juntos.
Gracias, ya me he reído.
Gracias, ya me he reído.
Sería deseable ver los resultados de los cálculos
Pero te aconsejo que compruebes tus propias herramientas, porque el problema puede estar en los pequeños matices de la implementación de las funciones individuales. Por ejemplo, la visualización de ZZ en la "vista categórica" puede desplazarse a la derecha una barra, en mí no se desplaza, donde termina la rodilla ZZ y donde cambia de signo el indicador ZZ derivado. La comprobación es sencilla, donde la curva de aprendizaje es mayor, es más correcta, lo principal es que las señales deben ser sin asomar, y los apuntadores están obligados a asomar, esa es su esencia. Pero el hecho es que ZZ en particular (su pendiente) es inmediatamente un objetivo, porque muestra la tendencia con vistas al futuro y la dirección de la posición ideal en este momento.
Bien, tendré medio día libre...
en R se puede hacer en 3 minutos, así que si Sanych quiere tanto un pruf podría haber gastado esos tres minutos
¿Ha entendido lo que tiene que hacer en esos "tres minutos"? Si lo entiendes, graba un vídeo en camtasia haciéndolo en tres minutos, sin acelerar ni editar la primera vez.
¿Ha entendido lo que tiene que hacer en esos "tres minutos"? Si lo entiendes, graba un vídeo en camtasia haciéndolo en tres minutos, sin acelerar ni editar la primera vez.
aquí...
excepto que añadí ruido a la onda sinusoidal porque la onda sinusoidal pura es predecible y el modelo en ambos casos predijo sin error
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])
media sin predicción
Precisión : 0,7895
con predicción
Precisión : 0,6702
P.D. Lo he leído un poco mal, porque en los predictores en lugar de Momentum tengo la propia onda sinusoidal después de los 5 valores. 5 valores con ruido superpuesto
mytarmailS:
media sin predicción
Precisión : 0,7895
con predicción
Precisión : 0,6702
Así que...
La aceleración en el bosque es un 10% mayor sin el desplazamiento de ZZ, que era necesario probar, porque ZZ predice el futuro en un momento determinado, no es necesario desplazarlo.
Ahí tienes...
La puntuación en el bosque es un 10% más sin desplazar ZZ, lo que era necesario demostrar, ya que ZZ predice el futuro en un momento determinado, sin necesidad de desplazarlo.
No demuestra nada.
La regla es sencilla: al preparar los datos para el entrenamiento , desplace el objetivo hacia la izquierda ("hacia el futuro") una barra, independientemente de cómo haya generado la señal. ¿Tiene alguna idea de por qué?
Si no lo sabe, se lo describiré con detalle.
Buena suerte