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

 
Dr. Trader:

Esto es en la RNN de Reshetov, el modelo de probabilidad.

Y también está jPredictor, que utiliza Mikhail. La neurona de Reshetov, hay muchas entradas, y algún tipo de entrenamiento en lugar de descenso de gradiente.


Traté de resolver el problema desde el primer post en la NS de Alglib. La red es 20-5-1. Con éxito. Pero muy largo, tienes unos 2 segundos de solución. Mis cálculos tienen un promedio de 10-20 min, hay variantes en 2 min de 1 ciclo, pero aparentemente tropieza por accidente, tengo que poner 20 ciclos de aprendizaje para que sea confiable... O 100000 iteraciones, como en la variante siguiente

Alerta: Error medio en la sección de entrenamiento (60,0%) =0.000 (0,0%) nLearns=2 NGrad=68213 NHess=0 NCholesky=0 codResp=2
Alerta: Error medio en la sección de validación (20,0%) =0.000 (0,0%) nLearns=2 NGrad=68213 NHess=0 NCholesky=0 codResp=2
Alerta: Error medio en la sección de prueba (20,0%) =0,000 (0,0%) nLearns=2 NGrad=68213 NHess=0 NCholesky=0 codResp=2

Tiempo de cálculo=22.30 min
0 peso de la suma=3.2260
1 peso de la suma=0.0000
2 peso de la suma=3.2258
3 peso de la suma=0.0000
4 peso de la suma=8.7035
5 peso de la suma=0.0000
6 peso de la suma=3.2253
7 peso de la suma=0.0000
8 peso de la suma=3.2258
9 peso de la suma=0.0000
10 peso de la suma=3.2251
11 peso de la suma=0.0000
12 peso de la suma=0.0000
13 peso de la suma=0.0000
14 peso de la suma=0.0000
15 peso de la suma=0.0000
16 peso de la suma=0.0000
17 peso de la suma=0.0000
18 peso de la suma=0.0000
19 peso de la suma=0.0000

Quiero ser más rápido...
Si la tarea no será con 20 entradas, sino con 200, serán decenas de horas.
La criba de los productos poco correlacionados con los resultados o muy correlacionados con otros insumos elimina los insumos importantes, incluso probó el LDA de Fisher - también elimina los insumos importantes. Así que tamizar con estos métodos no ayuda, al contrario, entorpece.

Al parecer, una solución larga para todas las entradas una vez, tamizar las entradas por la suma de pesos y obtener un modelo para el uso futuro sigue siendo. A continuación, se vuelve a entrenar una vez a la semana, por ejemplo, sobre el número truncado de entradas.

Pensé que por la rapidez podría dar esta tarea a MS Azure para obtener los pesos totales de las entradas y luego usarlos en mi modelo. He experimentado un poco, pero no veo de dónde se sacan los pesos...

 
¡¡¡Así es hermanos!!! Así es, utilizando el optimizador de Resolute. Así que me gustaría ejecutar los cálculos en la GPU. ¿Alguien ha hecho alguna vez algo así? Dado que JPrediction está paralelizado, sólo hay que ejecutar el programa en la GPU. ¿Alguien sabe cómo ejecutar un programa JAVA en la GPU? Creo que el conocimiento útil sería ....
 
Mihail Marchukajtes:
Eso es, ¡¡¡Hermanos!!! Yo sí, uso el optimizador de Resolute. Así que me gustaría ejecutar los cálculos en la GPU. ¿Quién lo haría? Dado que JPrediction está paralelizado, sólo hay que ejecutar el programa en la GPU. ¿Alguien sabe cómo ejecutar un programa JAVA en la GPU? Creo que el conocimiento útil sería ....

¿Puedes darme un enlace a una versión que funcione y una descripción?
 
Mihail Marchukajtes:
¡¡¡¡Hola a todos!!!! Me alegro de que este hilo no esté muerto y siga vivo, así que tengo una pregunta para el público. Tengo un conjunto de datos para el entrenamiento, pero desgraciadamente se hizo tan grande que el entrenamiento lleva demasiado tiempo. Puede alguien construir un modelo con su propio trabajo y luego veremos cómo funciona juntos!!!!!.
Su conjunto, por el contrario, es MUY pequeño con 111 características, 452 puntos. Pero si los datos son correctos (el targeting no se confunde con las fichas), entonces hay un 3-4% de ventaja (precisión - 53,5%), si para un gran fondo de inversión o banco, en el trading a medio plazo esto es suficiente, para un intrade con un apalancamiento gigante y un par de k$ depo por supuesto que no.
 
Aliosha:
hay una ventaja del 3-4% (precisión - 53,5%)
¿Qué modelo se utilizó y en qué configuración? Por qué decidió que esto no es un resultado al azar, no estoy de acuerdo con este conjunto de datos, a continuación, el 47%, a continuación, 50, a continuación, 53
 
Aliosha:
Su conjunto, por el contrario, es MUY pequeño con 111 características, 452 puntos. Pero si los datos se recogen con sensatez (no se confunde el targeting con las fichas), entonces hay un 3-4% de ventaja (precisión - 53,5%), si para un gran fondo de inversión o banco, cuando se opera a medio plazo es suficiente, para un intrade con apalancamiento gigante y un par de k$ depo por supuesto que no.

Creo que sería suficiente para un intradía también, si entro 50 pips mejor que la señal. Creo que será suficiente si entramos por 50 pips mejor que la señal. Ganarás más que el spread.
 
Maxim Dmitrievsky:

¿Puedes darme un enlace a la versión que funciona y una descripción?

¿Qué significa? ¿Un enlace a JPrediction?
 
Aliosha:
Su conjunto, por el contrario, es MUY pequeño con 111 características, 452 puntos. Pero si los datos se recogen con sensatez (no se confunde el objetivo con las fichas), entonces hay un 3-4% de ventaja (precisión - 53,5%), si para un gran fondo de inversión o banco, cuando el comercio a medio plazo es suficiente, para el intradía con el apalancamiento gigante y un par de k$ depo por supuesto que no.

No sé lo de la pequeñez. Eso es como un contrato de futuros completo en 3 meses. La cuestión es otra. Tengo dos semanas más que no están en la red. Así que pensé en construir un modelo y ejecutarlo en esta muestra. Pero con la formación de JPrediction se tardará semanas, lo que no es bueno. Por eso quería obtener el modelo utilizando otros algoritmos y ver cómo funciona el modelo.
 
Una vez más, este conjunto está destinado a la clasificación. Es decir, la variable de salida ya lleva una predicción. Si utilizamos un modelo resiliente, no necesitamos predecir la variable de salida, sólo necesitamos aproximar el modelo a ella, porque la salida ya está en el futuro. Eso es todo, si me entiendes bien.
 

Otra cosa es ejecutar el programa en una GPU y aumentar la velocidad de los cálculos al menos 10-20 veces. Creo que habría un progreso aquí.... Pero la información que hay en Internet es muy antigua y no consigo saber cómo hacerlo. No se me da bien programar. Soy una gallina :-)

La idea detrás de todo este alboroto es la siguiente. No importa qué algoritmo se utilice (aunque mentira, claro que es importante. Es importante que el reciclaje en el mismo sea mínimo) IMPORTANTE es el tipo de datos, cómo se recogen y se preparan para la formación. Esto es lo que quería comprobar. Quería comprobar si realmente hay peces en los datos que estoy recogiendo. He aquí un ejemplo.