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

 
Valeriy Yastremskiy #:

No discuto el entrenamiento en cada barra, y tal vez incluso en una garrapata no estacionaria por ejemplo. No entiendo completamente la estructura del entrenamiento. ¿Es la lógica de EA un entrenamiento separado o parte del entrenamiento en cada barra? Es como las colas de la primera formación, ¿cuántas colas, o etapas de formación?

En cada barra todo es nuevo

 
Maxim Dmitrievsky #:

Hay más modelos de madera para la inferencia causal, aún no he tenido tiempo de descifrarlos

de la práctica, muchas interpretaciones:

- el entorno afecta al sujeto (cuando todo está correlacionado en condiciones de laboratorio, en condiciones naturales aparecen otras dependencias no contabilizadas - la más trivial es el factor humano o el efecto de aglomeración) - RL es mejor que ML, pero también es necesario modelar y no todo se puede tener en cuenta....
- cuando se trata de 2 valores correlacionados sólo se puede hacer una inferencia sobre qué depende de qué, no al revés (resultado sobre factor o factor sobre resultado)
- mediación, moderación, interacción, dependencias que interfieren en el proceso (a menudo que ni siquiera se pueden rastrear experimentalmente)
- en general, es importante planificar un experimento (es útil poder dibujar gráficos de dependencias, exactamente lógicos, teóricos) para planificar un experimento, cuyos resultados puedan ser procesados por ML o incluso más sencillos ....
es decir, en qué secuencia y qué factores fijar para obtener una distribución condicional sobre el factor investigado, o influencia conjunta de 2 factores investigados, para comparar los resultados obtenidos con la distribución incondicional - para plantear una hipótesis "mejor - no mejor", "influencia - no_influencia", para confirmar o refutar estadísticamente, para transferir a pruebas en condiciones de campo.... y obtener una nueva inferencia causal).

y en ML RF - no sé cómo lo hacen, procesando matrices de correlación - (especialmente el punto 2 es cuestionable).

mucha gente critica los modelos probabilísticos precisamente por el punto 2 y se ponen a ensalzar la inferencia causal, afirmando que han tenido en cuenta la influencia de otros factores.... pero algorítmicamente se desconoce (al menos para mí) cómo resuelve la cuestión (! otra palabra sinónima de razonamiento) el aparato de MV - yo diría que "nada".

para mí la inferencia causal es esencialmente razonamiento, y el estudio de la mediación, moderación, interacción es un gran tema aparte y una cuestión de gusto (es decir, esbozar tal o cual gráfico construido lógicamente) - también una especie de Diseño (experimento).

con solo tener 1 BP en el mercado - no se puede probar una hipotesis sobre dependencias... y con un ajuste razonable del experimento un OLS o ANOVA sera suficiente (pero no habra que singularizar fichas con seguridad).

?? ... así que no conozco el algoritmo de atribuir una característica a un factor o a un resultado (por modelos de madera o lo que sea), salvo por lógica y conocimientos teóricos .... pero hoy en día tenemos todo tipo de cosas que se anuncian bajo otras palabras -- no sé en qué contexto te encontraste con la inferencia causal

 
JeeyCi #:

de la práctica, muchas interpretaciones:
- el entorno influye en el probando (cuando todo correlaciona en condiciones de laboratorio, en condiciones naturales aparecen otras dependencias no contabilizadas - la más banal - factor humano o efecto de aglomeración) - RL es mejor que ML, pero también hay que modelizar y no todo se puede tener en cuenta....
- cuando se trata de 2 valores correlacionados sólo se puede hacer una inferencia sobre qué depende de qué, pero no viceversa (resultado sobre factor o factor sobre resultado)
- mediación, moderación, interacción, dependencias que interfieren en el proceso (a menudo que ni siquiera se pueden rastrear experimentalmente)
- en general, es importante planificar un experimento (es útil poder dibujar gráficos de dependencias, exactamente lógicos, teóricos) para planificar un experimento cuyos resultados puedan ser procesados por ML....
es decir, en qué secuencia y qué factores fijar para obtener una distribución condicional para el factor investigado, o la influencia conjunta de 2 factores investigados, comparar los resultados obtenidos con la distribución incondicional - plantear una hipótesis "mejor - no mejor", confirmar o refutar estadísticamente, trasladar a pruebas en condiciones de campo ... y realizar una nueva inferencia causal)

y en ML RF - no sé cómo lo hacen, procesando matrices de correlación - (especialmente el punto 2 es cuestionable).

mucha gente critica los modelos probabilísticos precisamente por el punto 2 y empiezan a ensalzar la inferencia causal, afirmando que han tenido en cuenta la influencia de otros factores.... pero algorítmicamente se desconoce (al menos para mí) cómo resuelve la cuestión (! otra palabra sinónima de razonamiento) el aparato de MV - yo diría que "nada".

para mí la inferencia causal es esencialmente razonamiento, y el estudio de la mediación, la moderación, la interacción es un gran tema aparte y una cuestión de gusto (es decir, para esbozar un gráfico construido lógicamente) - también una especie de Diseño (experimento).

Sólo con tener 1 BP en el mercado - no se puede realmente probar una hipótesis sobre las dependencias... y con una experimentación razonable un OLS o LDA será suficiente (pero no tendrá que asignar características con seguridad).

?? ... así que no conozco el algoritmo de atribuir un rasgo a un factor o a un resultado (por modelos de madera o lo que sea), salvo la lógica y el conocimiento teórico..... pero hoy en día tenemos todo tipo de cosas que se anuncian bajo otras palabras -- no sé en qué contexto te encontraste con la inferencia causal

Vi algún lib de Uber que decía que habían mejorado sus procesos.

y la interpretación general de que correlación != causalidad y tratando de resolverlo de diferentes maneras, empezando por A/B, pero no sé nada de eso.

Tienen unas definiciones muy raras, no se puede entender sin botella, hay que llenarse la cabeza de palabras innecesarias.

Causal Inference from Observational Data, или как провести А/В-тест без А/В-теста.
Causal Inference from Observational Data, или как провести А/В-тест без А/В-теста.
  • Stats&Data ninja
  • koch-kir.medium.com
Привет дата-ниндзя👋! Первый вопрос, который ты задашь — зачем вообще это нужно ❗️❓ Предположим, ты исследуешь причинно-следственную связь между двумя величинами (Y зависит от X). И тогда, изменяя X, мы можем быть уверены что изменяем Y, причем уверены мы не только в самом факте изменения, но и в его направлении и величине (magnitude). Конечно...
 
mytarmailS #:

Por cierto, me pregunto cómo funcionarán otros modelos, si serán capaces de crear la función mach() sin un error

brevemente entrenado diferentes modelos sin ningún ajuste GP

1 0.002392       форест
3 0.005348 екстр. буст.
4 0.024160     нейронка
2 0.037200         МГУА

conclusión: los modelos no pueden crear la función, sólo aproximarla con cierta precisión, por lo que la creación de características y la selección de características siguen siendo relevantes.

set.seed(125)
dat <- round(rnorm(100000),2)
X <- matrix(dat,ncol = 5)
Y <- apply(X,1,max)
colnames(X) <- paste0("x",1:5)

tr <- 1:19950
ts <- 19951:20000

#///////////////

library(randomForest)
rf <- randomForest(Y[tr]~.,X[tr,],ntree=100)
pr <- predict(rf,X[ts,])

cb <- round(  cbind(pred=pr,actual=Y[ts])  ,2)
matplot(cb,t="l",col=c(1,2),lty=1,lwd=c(3,1),main="RF regresion")
rf_MSE <- mean((cb[,1] - cb[,2])^2)  #  rf MSE 0.002392

#///////////////

library(GMDHreg)
gmdh <- gmdh.mia(X = X[1:10000,],
                 y = Y[1:10000],
                 x.test = X[10000:19951,] ,
                 y.test = Y[10000:19951], prune = 25,criteria = "test")
pr <- predict(gmdh,X[ts,])

cb <- round(  cbind(pred=pr,actual=Y[ts])  ,2)
matplot(cb,t="l",col=c(1,2),lty=1,lwd=c(3,1),main="gmdh regresion")
gmdh_MSE <- mean((cb[,1] - cb[,2])^2)  #  gmdh MSE 0.038692

#///////////////

library(xgboost)
xgb_train = xgb.DMatrix(data = X[1:10000,], label = Y[1:10000])
xgb_test =  xgb.DMatrix(data = X[10000:19951,], label = Y[10000:19951])

watchlist = list(train=xgb_train, test=xgb_test)
xgb = xgb.train(data = xgb_train, max.depth = 3, watchlist=watchlist, nrounds = 1750)

pr <- predict(xgb,X[ts,])
cb <- round(  cbind(pred=pr,actual=Y[ts])  ,2)
matplot(cb,t="l",col=c(1,2),lty=1,lwd=c(3,1),main="xgb regresion")
xgb_MSE <- mean((cb[,1] - cb[,2])^2)  #  xgb MSE 0.005348

#///////////////

library(automl)
nn <- automl_train(Xref = X[tr,], Yref = Y[tr],
                   autopar = list(numiterations = 10,
                                  psopartpopsize = 10),
                   hpar = list(numiterations = 10))

pr <- automl::automl_predict(nn,X[ts,])

cb <- round(  cbind(pred=pr,actual=Y[ts])  ,2)
matplot(cb,t="l",col=c(1,2),lty=1,lwd=c(3,1),main="nn regresion")
nn_MSE <- mean((cb[,1] - cb[,2])^2)  #  nn MSE 0.023828

#///////////////

 res <- c(rf_MSE , gmdh_MSE , xgb_MSE , nn_MSE)
nms <- c("форест","МГУА","екстр. буст.","нейронка")
m <- cbind.data.frame(res,nms)
m <- m[order(m$res),]
m
barplot(m$res,names.arg = m$nms)
 
СанСаныч Фоменко #:

Este es el error en las 300 barras siguientes. En cada barra se formaban predictores, luego se filtraba, se entrenaba el modelo y se predecía la siguiente barra.

Intentaré hacer algo parecido por la noche, pero he hecho bastantes bots de reentrenamiento de este tipo, y que den semejante goleada, me cuesta creerlo....

Más bien hay una confusión en los conceptos/entendidos de lo que es una muestra de prueba, y por eso hablamos de cosas diferentes, llamándolo lo mismo

 
Aleksey Vyazmikin #:

La cola de tareas se ha descargado un poco - se hizo posible ejecutar el script. Lo ejecuto y obtengo un error.

¿Entiendo correctamente que el programa quiere la versión antigua R 4.0?

Bueno, he buscado una versión antigua y no la he encontrado. Terrible incompatibilidad es repulsivo, por supuesto.

Error. Si el paquete está construido para una versión diferente, habrá una advertencia. ¿De qué incompatibilidad estamos hablando?

randomForest v.4.7-1.1 no iba a ninguna parte y en crane. R 4.1.3

 
Renat Fatkhullin #:

Tenga en cuenta que a partir de la compilación 3440 empezamos a distribuir versiones AVX del software: https://www.mql5.com/ru/forum/432624/page5#comment_42117241.

El siguiente paso es reescribir el aparato matemático a funciones vectoriales y OpenCL, lo que proporciona aceleraciones de diez tramos sin necesidad de instalar bibliotecas adicionales como CUDA.

Este es un gran paso adelante. ¿Necesitas reescribir indicadores y expertos?

 
СанСаныч Фоменко #:

No puedo estar de acuerdo con eso.

El mercado está cambiando, y los intervalos de tiempo del cambio son diferentes e independientes entre sí.

Yo solía ser capaz de escribir Asesores Expertos que vivían de 3 a 6 meses. Los optimizaba los fines de semana. Luego morían, y por poco tiempo suficiente para agotar el depósito. Pero no el tiempo suficiente para la optimización. Al final, la situación era aún peor: después de algún tiempo resultó que había un límite, alejándose de la cual era imposible seleccionar los parámetros.

Hay periodos más largos de cambios en el mercado: de 5 a 7 años. Pero el resultado es el mismo que para los períodos mensuales. El bot muere para siempre. Voy a enviar un bot específico del mercado en un mensaje privado - no se puede hacer aquí.

Así que toda esta idea de "fuera de muestra" es basura. Un bot todavía tiene una vida útil, no sabemos cuánto tiempo: 3 meses o 7 años. Cuando el bot muere, lo confundimos con otro drawdown y drenamos nuestro depo.

Lo ideal sería volver a entrenarlo en la siguiente vela. Si trabajamos en ticks, entonces en el siguiente tick, en H1 entonces en la llegada de la siguiente hora.

¿Ha comparado su algoritmo con KNN (o alguna modificación del mismo)? Sería interesante ver cómo de significativa es la ganancia.

 
Aleksey Nikolayev #:

¿Ha realizado una comparación de su algoritmo con KNN (o alguna modificación del mismo)? Sería interesante ver cómo de significativa es la ganancia.

KNN no es lo mismo en absoluto.


Me interesa la "capacidad predictiva", no la clasificación, e incluso sin maestro, que son inútiles en nuestro negocio.

 
Vladimir Perervenko #:

Eso sí que es un gran paso adelante. ¿Hay que reescribir los indicadores y los expertos?

ya que estás aquí, gracias por ICA y todavía una pregunta sobre feature_extraction(que caracterizas como"reconocimiento de componentes únicos y significativos") -- estuve navegando por este tema una vez (descripción para Python), y luego lo abandoné.... Me dio la impresión de que utilizan esta extracción sólo cuando se trabaja con imágenes y texto -- ¿hay que molestarse con este enfoque cuando se trabaja con datos estructurados (como una tabla de factores) ?... ¿puedes escribir unas palabras sobre la esencia del algoritmo para entender su utilidad?, sólo en su artículo de alguna manera vislumbrado al respecto? ¿o me he perdido algo? (y lo que vi en Python no me inspiró para aplicar feature_extraction a factores en el mercado).

sobre las preferencias: ¿o decidiste quedarte con PCA regular (o jerárquico, como lo describiste)?

¿qué reducción_de_dimensionalidad utilizas ahora?

y gracias por el artículo

Глубокие нейросети (Часть III). Выбор примеров и уменьшение размерности
Глубокие нейросети (Часть III). Выбор примеров и уменьшение размерности
  • www.mql5.com
Эта статья продолжает серию публикаций о глубоких нейросетях. Рассматривается выбор примеров (удаление шумовых), уменьшение размерности входных данных и разделение набора на train/val/test в процессе подготовки данных для обучения.