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

 
mytarmailS #:

alguien borró mis posts donde puse el vid... no sé cómo puede pasar eso.

Bueno, bueno, bueno, te estás luciendo mucho, supongo.

Aquí tienes uno sobre modelismo en madera.

#4469

#4467

Sobre la búsqueda de catbusters? 😄 que inició el hilo

Машинное обучение в трейдинге: теория, модели, практика и алготорговля - Продолжаю переобучать каждую неделю
Машинное обучение в трейдинге: теория, модели, практика и алготорговля - Продолжаю переобучать каждую неделю
  • 2017.07.12
  • www.mql5.com
Самое интересное что я не понимаю почему он открывает сделки туда или обратно. экспериментирую с предикторами и разными способами открытия поз. тем более что оно копирует механизм работы настоящих нейронов очень примитивно и не так как на самом деле это происходит в мозгу Единственное из НС что нормально работает и перспективно это сверточные нс для распознавания всяких образов
 
Maxim Dmitrievsky #:

Vaya, vaya, vaya, debes estar presumiendo mucho.

aquí está el modelado de madera

#4469

#4467

Sobre la búsqueda de catbusters? 😄 que inició el hilo

Mira, la madera no es un argumento para nada.... El 95% de los tutoriales de MdD empiezan con madera, es lo primero que conoce un principiante, no te encargas de ello.

 
mytarmailS #:

Mira, la madera no es un argumento en absoluto... El 95% de los tutoriales de MdD empiezan con madera, es lo primero que aprende un principiante, no es culpa tuya.

Aquí se ha usado mayoritariamente NS antes, me preguntaba por qué no árboles. Hice pruebas y resultó que no son peores. No he visto tal información aquí antes, de lo contrario no habría hecho esta pregunta.

Luego me pasé a bousting, encontré la lib katbust y empecé a replicarlo aquí

 
Maxim Dmitrievsky #:

Antes se hablaba sobre todo de los NS, me preguntaba por qué no de los árboles. Hice pruebas y resultó que no son peores. No he visto tal información aquí antes, de lo contrario no habría hecho esta pregunta.

y los árboles, por cierto, pueden servir como una alternativa digna a la agrupación y fs - "2 en uno".

Maxim Dmitrievsky #:

Entonces cambié a bousting, encontré la librería katbust y empecé a replicarlo aquí

sobre el algoritmo: da otra 2ª derivada matemáticamente (o promediado de residuales - estadísticamente) -- PERO ¿cómo te ayuda personalmente en el entrenamiento y en qué casos?... además de los tópicos habituales en los anuncios "catboost dará resultados mejores y más precisos".... porque la precisión puntual no siempre es importante, a veces la capacidad generativa del modelo puede ser más importante.
 
JeeyCi #:

y los arboles, por cierto, pueden servir como una digna alternativa al clustering y al fs.

sobre el algoritmo: da otra 2ª derivada matemáticamente (o promediado de residuales - estadísticamente) -- PERO ¿cómo ayuda en el entrenamiento y en qué casos?... además de los clichés estándar en comerciales "catboost dará mejores y más precisos resultados".... porque no en todas partes la precisión puntual es importante, a veces la capacidad generativa del modelo puede ser más importante?

También hay modelos de madera para la inferencia causal, aún no he tenido tiempo de averiguarlo

Boosting reduce el sesgo y la varianza, mientras que Forest sólo la varianza, creo. Se trata de ventajas probadas, puedes googlearlo. Y la librería en sí está desarrollada, es conveniente trabajar con ella.

No está muy claro acerca de los generativos, tal vez a veces son más importantes. Pero NS generativos no funcionan bien en Forex, si estamos hablando de la generación de datos sintéticos.

Forest Based Estimators — econml 0.13.1 documentation
  • econml.azurewebsites.net
Orthogonal Random Forests are a combination of causal forests and double machine learning that allow for controlling for a high-dimensional set of confounders , while at the same time estimating non-parametrically the heterogeneous treatment effect , on a lower dimensional set of variables . Moreover, the estimates are asymptotically normal and...
 
Maxim Dmitrievsky #:

si hablamos de generar datos sintéticos.

no - se trata de generalizar... sí, mal, expresarlo.... Perdón.

Creo que para distinguir risk-on/risk-off medio ambiente -- todavía pensando en cómo generalizar esta división... todo en mis propios pensamientos (en el foro por accidente)...

¡gracias por la respuesta!

 
JeeyCi #:

no - se trata de generalizar..... sí, mal, express.... lo siento

Creo que para distinguir el riesgo en el medio ambiente / risk-off - todavía pensando en cómo generalizar esta división ... todo en mis propios pensamientos (en el foro por accidente)...

¡gracias por la respuesta!

pruébalo, catbusta tiene un montón de características diferentes, me gusta.

Hay una parada temprana basada en el error en la muestra de validación, pre-entrenamiento. La generalización no es peor que en NS, que además tiene que escribir sus propias funciones para detener el aprendizaje.

Y aprende rápidamente, no tienes que esperar horas.

 
¿puede un bosque aleatorio encontrar el máximo en una cadena de datos, es decir, simular la función mach()?

Sólo me pregunto si el MO puede simular funciones primitivas del JA

hay una matriz, cada fila de la matriz es un ejemplo de entrenamiento.

head(X)
     [,1] [,2] [,3] [,4] [,5]
[1,]    2    4    1    3    1
[2,]    3    1    4    5    3
[3,]    1    2    4    4    1
[4,]    1    1    5    3    5
[5,]    3    4    1    3    3
[6,]    4    4    5    1    2

necesitamos encontrar el máximo de cada fila, el tamaño de la muestra es de 20k filas.


resolver el problema mediante regresión

 pred actual
1  4.967619      5
2  4.996474      5
3  4.127626      4
4  4.887233      5
5  5.000000      5
6  4.881568      5
7  4.028334      4
8  4.992406      5
9  3.974674      4
10 4.899804      5
11 4.992406      5

redondeado para mayor claridad

 pred actual
1     5      5
2     5      5
3     4      4
4     5      5
5     5      5
6     5      5
7     4      4
8     5      5
9     4      4
10    5      5
11    5      5

bastante bien, sólo unos pocos errores en la prueba de 50 nuevas líneas


Pero los datos de la matriz X son muy simples, sólo 5 valores únicos de 1 a 5 y sólo 5 columnas, pero ya errores.

Aunque creo que si hacemos clasificación, no habría errores, por cierto se puede comprobar.

Pues sí, pero si buscamos el máximo en los datos entonces la clasificación no es adecuada porque la dispersión de valores puede ser enorme....

Así que volvamos a la regresión y compliquemos los datos.

head(X)
      [,1]  [,2]  [,3]  [,4]  [,5]
[1,]  0.93 -2.37 -0.35  0.16 -0.11
[2,] -0.53  0.19 -0.42  1.35 -0.16
[3,]  1.81  0.19 -0.68  0.31 -0.05
[4,]  0.08 -1.43  0.15 -0.96  0.43
[5,]  0.40  1.36  1.17 -0.99 -0.18
[6,] -2.19 -0.65  0.42 -1.12  1.46

obtenemos este resultado.

  pred actual
1   1.75   1.78
2   1.33   1.31
3   1.67   1.69
4   1.15   1.16
5   0.51   0.41
6   1.00   0.99
7   0.80   0.78
8   1.75   1.76
9   0.35   0.36
10  1.78   1.79
11  2.02   2.13
12  1.26   1.21
13  1.60   1.57
14  0.19   0.06

En principio no está mal, pero la función habitual mach() lo hará mejor y puede sustituir todo este modelo....

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

 
mytarmailS #:
Lo recuerdo, pero es un error de ajuste, quiero decir, muestreo de trazas...
¿Cuál es el error de la siguiente vela, la prueba.

Es el error de las siguientes 300 barras. Los predictores fueron generados en cada barra, luego filtrados, el modelo fue entrenado y la siguiente barra fue predicha.

 
Maxim Dmitrievsky #:
Bueno, tiene cierto sentido, porque a menudo los modelos no viven mucho tiempo. Pero me gustaría encontrar opciones sin constante reentrenamiento, al menos en el intervalo de un año +, con una lenta degradación del modelo, que es fácil de rastrear
.

No puedo estar de acuerdo con esto.

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

Yo solía ser capaz de escribir EAs que vivían de 3 a 6 meses. Los optimizaba los fines de semana. Entonces morían, y por poco tiempo lo suficiente como 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 del 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 períodos mensuales. El bot muere para siempre. Voy a enviar un bot específico del mercado en un mensaje privado - aquí no se puede.

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 perdemos nuestro depósito.

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.