Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 2733

 
Aleksey Nikolayev #:

Esto sólo funciona en el caso de características independientes, y como se cuentan al mismo precio, no es posible. En el caso de dependencia es mucho más complicado - podemos tomar como ejemplo las cópulas, donde las distribuciones univariantes son siempre el mismo uniforme, pero al mismo tiempo las distribuciones bivariantes pueden ser muy diferentes.

Tal vez hay una solución en el mismo R, pero sólo hay que buscarlo?

Aleksey Nikolayev #:

Tienes predilección por los cálculos de enumeraciones pesadas) Tendremos que añadir (a la ya considerable cantidad de enumeraciones) enumeraciones por tipos de características y, seguramente, por parámetros de características.

Sin embargo, me parece que hay un grano racional en su enfoque, hay algo en que pensar.

Sí, por lo visto se me da mal predecir resultados sin experimentar, así que es mejor probar y a menudo decepcionarse que construir cálculos lógicos de varias etapas en los que puede colarse un error en una de ellas.

Incluso si aprendes a dividir una muestra en submuestras, la siguiente cuestión es cómo clasificar correctamente la muestra actual y aplicar sobre ella el modelo necesario.

 
mytarmailS #:
Tal vez en lugar de los criterios estadísticos de homogeneidad de la muestra sólo observar el cambio de la importancia de la característica del modelo en la dinámica (en una ventana deslizante).

Si hay una fuerte discrepancia entre el estado actual y el estado anterior, significa que ya estamos en otra muestra....

Pros:
1.No tienes que programar el stat. Pruebas, todo está listo fuera de la caja
2. Tiene en cuenta no sólo el cambio en el tiempo de muestreo, sino también el cambio en el objetivo, que creo que no es menos importante.

¿En qué momento para ver, en el momento de la formación? ¿Y cómo se sugiere para ver en la dinámica, la forma de aplicar?

Tengo un script que muestra la activación de las hojas del modelo en la dinámica, es decir, se puede ver qué hojas se activan. ¿Tal vez deberíamos calcular la frecuencia media de su activación en el segmento de entrenamiento, y luego mirar las desviaciones en los segmentos de prueba? De este modo, al menos podemos intentar controlar la disminución de la eficacia del modelo, teóricamente.

 
Aleksey Vyazmikin #:

¿En qué momento observar, en el momento del entrenamiento? ¿Y cómo propones observar en dinámica, cómo realizar?

Tengo un script que muestra dinámicamente la activación de las hojas del modelo, es decir, se puede ver qué hojas se activan. Tal vez entonces deberíamos calcular la frecuencia media de su activación en el segmento de entrenamiento, y luego mirar las desviaciones en los segmentos de prueba? De este modo, podemos al menos intentar controlar la disminución de la eficacia del modelo, teóricamente.

No tiene sentido analizar el modelo antiguo, ya que no capta los cambios en el mercado....

Propongo que se aplique como se sugiere))))))
En una ventana deslizante reentrenar el modelo y observar la importancia de las señales, o simplemente tomar algún determinador de buenas señales y observarlo en una ventana deslizante. ventana


He aquí un ejemplo sobre una muestra generada aleatoriamente de 5 características y 1 objetivo binario.

selector forrest y fiche

X <- matrix(rnorm(1000),ncol = 5)
Y <- as.factor(sample(0:1,nrow(X),replace = T))

head(X)
head(Y)

#install.packages("randomForest")
library(randomForest)
rf_imp_mat <- matrix(ncol = ncol(X),nrow = nrow(X))
for(i in 30:nrow(X)){
  ii <- (i-29):i
  rf <- randomForest(Y[ii]~.,X[ii,],ntree=100)
  rf_imp_mat[i,] <- importance(rf)[,1]
}

#install.packages("FSelectorRcpp")
library(FSelectorRcpp)
fs_imp_mat <- matrix(ncol = ncol(X),nrow = nrow(X))
for(i in 30:nrow(X)){
  ii <- (i-29):i
  infg <- information_gain(y = Y[ii],x = as.data.frame(X[ii,]))
  fs_imp_mat[i,] <-  infg$importance
}

par(mfrow=c(1,2))
matplot(rf_imp_mat , t="l",lty=1,main="rf_var_imp")
matplot(fs_imp_mat , t="l",lty=1,main="fs_var_imp")


En R-ka por supuesto no se acostumbra a escribir en ciclos si no es necesario, pero este estilo confunde a los recién llegados, y a los intermediarios como yo también....

pero se puede escribir así, el código es 3 veces menos, y el resultado es el mismo.

X <- matrix(rnorm(1000),ncol = 5)
Y <- as.factor(sample(0:1,nrow(X),replace = T))
idx <- embed(1:nrow(X),dimension = 30)[,30:1]

library(randomForest)
rf_imp_mat <- t(apply(idx,1,function(i) importance(randomForest(Y[i]~.,X[i,]))[,1]))
library(FSelectorRcpp)
fs_imp_mat <- t(apply(idx,1,function(i) information_gain(y=Y[i],x=as.data.frame(X[i,]))$importance))

par(mfrow=c(1,2))
matplot(rf_imp_mat , t="l",lty=1,main="rf_var_imp")
matplot(fs_imp_mat , t="l",lty=1,main="fs_var_imp")


También diferentes selectores para cualquier gusto, probablemente el 5% de lo que está disponible en R-ka.

GitHub - FrancisArgnR/R-FeatureSelection-Packages: Brief guide to feature selection packages in R
GitHub - FrancisArgnR/R-FeatureSelection-Packages: Brief guide to feature selection packages in R
  • FrancisArgnR
  • github.com
Feature selection or variable selection in machine learning is the process of selecting a subset of relevant features (variables or predictors) for use in model construction. Packages FSinR Boruta caret spFSR varSelRF CORElearn FSelector
 

o mirar ventanas en dos o tres divisas, y operar con retraso en la tercera.

Es decir, mirar en la segunda mitad del día EUR,CHF a USD CAD y abrir por la mañana temprano JPY (AUD,NZD)...para que el sistema aprenda a determinar la tendencia del USD y tenga tiempo de comprar antes de que "no se pudra".

Sólo me temo que en una sola cita "todos los caminos han sido recorridos" y es imposible sacar peces de ella utilizando los métodos disponibles.

 
Para inventar algo es necesario definir el objeto de la investigación, a continuación, determinar sus propiedades, entonces no será como un mono y gafas
 
Maxim Dmitrievsky #:
Para inventar algo hay que definir el objeto de investigación, luego definir sus propiedades, entonces no será como un mono y unas gafas

Es demasiado pronto para definir el objeto de investigación y sus propiedades, el foro sólo tiene 6 años. ¡No seas tan desagradable!

 
Evgeny Dyuka #:

Es demasiado pronto para definir el objeto de la investigación y sus propiedades, el foro sólo tiene 6 años. ¡No sea tan desagradable!

Si empiezas a estudiar las cotizaciones como una serie temporal, puede que notes algunas peculiaridades que no están presentes en otras series temporales. Tal vez haya patrones en estas características. Y sí, no todo se puede sacar por autoregresión y clasificación directamente usando características de rezago, pero con el agregado de ingenio se puede
 
Maxim Kuznetsov #:

(Espero que no te fusilen por el enlace a CodeBase : https://www.mql5.com/ru/code/36558

puede ser útil para predecir señales - te invitamos a predecir :-) el indicador sólo muestra (y resume) las señales "blanco/negro".

Voy a mostrar los signos de barras aquí, no es una pena.

Rebuscaré en mi modesto archivo de desarrollos y los publicaré.

Es interesante, por supuesto, no lo discuto, pero ahí también hay no estacionariedad.

por eso se predice con una probabilidad de un poco menos de uno.

pero basicamente, si esta arriba ahora, la proxima barra sera abajo.

y este tipo de movimiento de los TFMs más jóvenes se refleja en los más antiguos.

así que la tendencia no es una línea recta, sino con muchos pullbacks, múltiples en duración y tamaño de barra de los más jóvenes.

Sin embargo, parecería que se puede aplicar Fourier y encontrar esas ondas, pero no es así, porque

la escala temporal se modula de la misma manera, hacia adelante y hacia atrás.

No es fácil entender este milagro, y si se hace de frente, surgen muchas preguntas.

Por ejemplo, podemos considerar el movimiento del precio de izquierda a derecha o de derecha a izquierda, partiendo no necesariamente del borde derecho.

Así se avanza y se retrocede, se sube y se baja.

 

No pude encontrarlo.

Mucho y por lo tanto tedioso para cavar en ella.

Pero una vez publicado uno de mis indicadores y dijo que el tipo de grial, que en ese momento ya tenía unos 7 años, como he publicado en el foro

Echarlo en la neurona, tal vez funcione....

Archivos adjuntos:
new-rena.mq4  3 kb
 
Renat Akhtyamov #:

de izquierda a derecha o de derecha a izquierda.

¿Así que incluso sabes ruso tan bien que escribes como te da la suerte?

¿Quién eres, monstruo?