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

 
mytarmailS #:

Sí, no lineal. ¿Pero eso es malo?


Probé este contraste PCA, obtuve más o menos el mismo resultado que el PCA.

Esta viñeta muestra una comparación de los diferentes tipos.

Muestra cómo el PCA parece "pálido" ante otros métodos, pero si los datos no sólo se normalizan sino que también se centran (lo que he hecho por separado), entonces el PCA normal da el mismo resultado en los datos presentados allí.

Probablemente sea "pobre" en comparación con esos datos de prueba, ¿y se obtiene el mismo resultado en las cortezas?
 
Forester #:
Probablemente "pobre" en comparación con los datos de prueba, y el mismo resultado obtenido en kotrovki?

No, el mismo en sus propios datos


=============

library(scPCA)
label <- toy_df$label
data <- toy_df[, -31]


pca <- prcomp(data,center = TRUE)
plot(pca$x,col=label,lwd=2,main = "обычный РСА")

cpca <- scPCA(target = data, background = background_df, penalties = 0, n_centers = 4)
plot(cpca$x, col=label, lwd=2,main = "контрасный РСА")

Eso es lo que hice.

npca <- prcomp(data,center = TRUE,scale. = TRUE)
plot(npca$x,col=label,lwd=2,main = "обычный РСА + нормализация")

library(umap)
um <- umap(data)
plot(um$layout,col=label,lwd=2,main = "umap без нормализации данных")

num <- umap( scale(data,center = TRUE,scale = TRUE) )
plot(num$layout,col=label,lwd=2,main = "umap + нормализация")



Es así.... Sacamos nuestras propias conclusiones.

 

El objetivo no es centrar algo en un conjunto de datos concreto, sino encontrar una representación satisfactoria de los datos de forma flexible. Lo que ese método te permite hacer. Supongo que yumap también puede hacerlo, pero lineal suele ser casi siempre mejor que no lineal, en términos de estabilidad.

Es una forma bonita de hacerlo, pero hay una forma más bonita.

cPCA está listo para ser discutido si alguien está practicando con él.

 

He encontrado otro problema.
He encontrado una buena variante con la formación una vez a la semana en 5000 líneas de M5 (3,5 semanas). Y decidió cambiar todos los datos a 300 líneas - como la formación no los sábados, pero los martes. Como resultado, el modelo en OOS de rentable se convirtió en no rentable.
Estas nuevas 300 líneas ( alrededor del 8% del total) sacó otras fichas y otras divisiones, que se convirtió en mejor para los datos ligeramente cambiado.
Repitió el cambio por 300 para 50000 filas. Parecería ser sólo el 0,8% de las nuevas filas. Pero los cambios en el OOS también son significativos, aunque no tan fuertes como con 5000 filas.

En general hay un ajuste no sólo al tamaño de la ventana, sino también al comienzo de la ventana. Pequeñas desviaciones marcan una gran diferencia en el resultado. No hay rasgos fuertes, todo está en el límite del 50/50 ± 1-2%.
 
Yo me olvidaría del reentrenamiento por intervalos. RL ya ha demostrado su fracaso en este asunto. Wizard también escribió sobre ello cuando estaba metido en este tipo de cosas.Hay más de 50 artículos ahí. Muchos enfoques e imposibilidad de concentrarse en nada :)
 

Señores expertos y académicos de este hilo, por favor, expresen su opinión sobre lo siguiente:

¿Y si consideramos el forex como un juego de juegos. Como el ajedrez. O Go, o lo que sea.
Dividimos el juego en lotes: 500 pasos cada uno. Cada paso es un precio de cierre por hora. 500 pasos es un mes promedio de negociación.
Introducimos cualquier cosa + estado de equilibrio.
Establecemos dos reglas: si el saldo cae un 30% o si el juego termina con un saldo negativo - el juego comienza de nuevo.
Total N juegos (digamos 120 - como 10 años)
El objetivo es ganar todos los juegos con no importa qué más. En resumen, cerrar todos los meses en más.

Acciones del agente:
1) Comprar 0.01
2) Comprar 0.02
3) Comprar 0.03
4) Comprar 0.04
5) Comprar 0.05
6) Comprar 0.06
7) Comprar 0.0707
8) Comprar 0,08
9) Comprar 0,09
10) Comprar 0,1

11) Vender 0,01
12) Vender 0,02
13) Vender 0,03
14) Vender 0,04
15) Vender 0,05
16) Vender 0.06
17) Vender 0,07
18) Vender 0,08
19) Vender 0,09
20) Vender 0,10

21) Cerrar 0,01
22) Cerrar 0,02
23) Cerrar 0,03
24) Cerrar 0.04
25) Cerrar 0.05
26) Cerrar 0.06
27) Cerrar 0.07
28) Cerrar 0.08
29) Cerrar 0.09
30) Cerrar 0.10

31) Cerrar Todo

32) No abrir una posición
33) Saltarse un movimiento

Total 33 acciones.

La recompensa es diferida - igual a la diferencia entre el precio de apertura de la posición y el precio de cierre tanto de las posiciones parciales como de las completas.
El balance de entrada dará una fracción del estado que conoce el agente. Después de todo, según las reglas, el estado del entorno debe cambiar a partir de las acciones del agente. El agente no puede cambiar el gráfico de precios, pero puede influir en su saldo que entra en el estado. Es como el análogo de las piezas en un tablero. El agente no sabe cuántos millones de pasos se pueden dar con ellas, pero sabe cuántas piezas le quedan en el tablero.

Así, no es necesario memorizar cada próxima vela (si dará un menos o un más), sino que aprendemos a sacrificar pequeños drawdowns (piezas en el tablero) para obtener un beneficio al final.

Leo en Internet cómo entrenar una red neuronal si tiene más de 1 salida, escriben sobre DQN. Como q-learning es una estúpida memorización de estados y en caso de un nuevo estado el resultado es deplorable, y DQN es una proyección de los estados memorizados sobre los nuevos, como resultado de la cual se elige el óptimo de las acciones over_dofig.


Después de todo, en el ajedrez hay un número condicionalmente desconocido de estados y en estas condiciones la red neuronal gana a un humano. ¿Por qué no probar un método similar en un juego llamado "freaking forex for fuck's sake"?

 
Ivan Butko #:

Caballeros,

¿cuál es la pregunta?
 
mytarmailS #:
¿Cuál es la cuestión?

Opinión sobre tratar de enseñar forex enseñando a los agentes a jugar.

¿Hay algún pez, tal vez intentado algo como esto, cualquier experiencia.
 
Ivan Butko #:

Opinión sobre intentar enseñar forex enseñando a jugar a los agentes.

¿Hay algún pez, tal vez intentado algo como esto, alguna experiencia.
Bueno, este es un típico RL o deepRL o problema de optimización.
Es esencialmente la misma cosa pero diferente)
 
Forester #:

He encontrado otro problema.
He encontrado una buena variante con la formación una vez a la semana en 5000 líneas de M5 (3,5 semanas). Y decidió cambiar todos los datos a 300 líneas - como la formación no los sábados, pero los martes. Como resultado, el modelo en OOS de rentable se convirtió en no rentable.
Estas nuevas 300 líneas ( alrededor del 8% del total) sacó otras fichas y otras divisiones, que se convirtió en mejor para los datos ligeramente cambiado.
Repitió el cambio por 300 para 50000 filas. Parecería ser sólo el 0,8% de las nuevas filas. Pero los cambios en el OOS también son significativos, aunque no tan fuertes como con 5000 filas.

En general hay un ajuste no sólo al tamaño de la ventana, sino también al comienzo de la ventana. Pequeñas desviaciones marcan una gran diferencia en el resultado. No hay rasgos fuertes, todo está en el límite del 50/50 ± 1-2%.

Este parece ser un problema común de los árboles: la falta de solidez.

Hay una ligera esperanza de que sea posible alguna mejora pasando a reglas de división más elaboradas (en términos de matstat). Esto es algo así como los mismos "árboles de diferencias" sobre los que di un enlace a un artículo hace poco. O algo como la estadística chi-cuadrado CHAID.

Por supuesto, esto no es una panacea y no es un hecho que estos ejemplos específicos de reglas de división funcionarán para nosotros en absoluto. Pero es un ejemplo de que las reglas de división pueden y deben tratarse de forma creativa.

La idea principal a tomar del matstat es detener el crecimiento del árbol cuando se alcanza un valor p crítico, no por algunas razones de izquierdas.