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

 
Combinador:
¿Y qué hay de la opinión de que si se sigue el camino de Sanych, se reduce notablemente la ya baja probabilidad de alcanzar el codiciado 1%?

Cada indicador conlleva una información adicional, y toda ella es útil, no sólo un porcentaje. Para el RSI no existe la estrategia "comprar a >0,99, vender a <0,01", fue un ejemplo desafortunado.

Por ejemplo, puede tomar un indicador, hacer un Asesor Experto basado en él y optimizar sus parámetros para obtener mejores resultados. Pero tal EA siempre fracasará en el futuro. Para que el EA no falle, necesitamos docenas de indicadores (tal vez incluso menos, pero para mí no es tan fácil), donde los valores de los indicadores serán probados por una lógica compleja con diferentes condiciones. Por ejemplo, si MA(20)>MA(16), entonces compre si RSI>0.3. Y si MA(20)<MA(16), entonces no mire el rsi, sino el estocástico. La lógica debería ser algo así, pero aún más complejo y adornado. El modelo de bosque aleatorio puede construir esa lógica, lo cual es muy bueno.

Todos los valores de los indicadores son importantes para construir el modelo. El propio modelo determinará los umbrales de estos valores para una decisión de compra/venta y las condiciones de su cumplimiento a partir de los valores de otros indicadores.

 
Dr.Trader:

Cada indicador conlleva cierta información adicional, y toda ella es útil, no sólo un porcentaje.

¿Conoce el principio de la navaja de Occam?

 

Si un indicador tiene un cierto rango de valores, entonces cualquier valor en ese rango dice algo, lleva su propio significado adicional. No recomiendo simplemente tomar el 1% de los límites superior e inferior del indicador y decidir operar sólo en ellos. Por supuesto, puedes probarlo, pero resultará poco rentable, y necesitarás muchos otros indicadores para añadir muchas condiciones a la estrategia. Es decir, puede operar en todo el rango de valores del RSI con un montón de otros indicadores. O puede operar sólo en un determinado rango de valores del RSI, con un montón de indicadores más. No veo cómo la segunda forma me dará alguna ventaja.

Pero cuando inicialmente hay docenas de indicadores, y todos con un centenar de variantes de rezagos o parámetros, entonces hay que eliminar algunos de ellos, aquí la navaja de Occam está en plena vigencia. Debido a esto sólo tengo un centenar de casi 9000 predictores (una docena de indicadores con diferentes rezagos (desplazamiento). Y estos predictores restantes tienen una precisión de al menos el 60%.

 
Dr.Trader:

Cuanto más ruidosos sean los predictores, más probable será que haya datos útiles similares entre ellos.

El reaprendizaje a priori, del que tanto presume Sanych

 
Combinador:

Cuantos más predictores de ruido tenga, más probable será que entre ellos haya datos útiles similares.

El sobreaprendizaje a priori, del que tanto presume Sanych

He sido bastante impreciso con los predictores de ruido.

Me jacto de tener un algoritmo que filtra los predictores de ruido. Pero eso no es del todo exacto, en el sentido de que para mí no hay predictores 100% ruidosos y 100% no ruidosos. Todos los predictores que he visto (varios cientos, más de 10 conjuntos de diferentes personas) son en parte ruidosos o en parte no ruidosos. Siempre. No he visto ninguna otra. Lo explicaré a continuación con números.

Ahora, ¿por qué luchamos?

Según mi algoritmo, si tomamos predictores puramente ruidosos, obtendremos una probabilidad de predicción de clase correcta de aproximadamente el 50% - lanzando una moneda. Y la pega es que cuando se entrena con predictores puramente de ruido casi siempre se obtienen muy buenos resultados, y si se toma el tiempo fuera de la muestra, se obtiene ese 50%.

Tengo cada predictor con un valor abstracto de "ruido". Si es un valor entre 0 y 1, entonces es ruidoso y totalmente desesperante. Si es de 1 a 2, puedes, pero es mejor no usarlo. Deberías ir con mi medida sobre el 3. Por encima de 6 nunca he visto.

Así pues, supongamos que se seleccionan los predictores con mi medida de "ruido superior a 3". Si construyes un modelo, obtuve un error del 25 al 35% para diferentes conjuntos de predictores. En todos los tipos de muestreo (entrenamiento-prueba-validación - todos con mezcla aleatoria, y fuera de la muestra - estrictamente en el orden en que llegan las barras) aproximadamente igual, por ejemplo 32-30-33-35%. No hay forma de mejorar el error, por ejemplo, a la mitad con el mismo conjunto de predictores. Es decir, la magnitud del error del modelo viene determinada por un conjunto concreto de predictores. Si no te gusta la magnitud del error, necesitas otro conjunto de predictores, que pueden dar un error diferente.

El error que estaba obteniendo es, por supuesto, grande, vaya para mí es importante que fuera de la muestra el error es aproximadamente igual en la formación y las pruebas. Pero saco la conclusión más importante para mí: el conjunto de predictores dado no genera un sobreentrenamiento del modelo - en el futuro tendré aproximadamente el mismo error de predicción. Esto ha sido probado en diferentes variaciones de andamiaje aleatorio, ada, SVM. No se han probado otros modelos.

 
Combinador:

Cuantos más predictores de ruido tenga, más probable será que entre ellos haya datos útiles similares.

El exceso de aprendizaje a priori, del que tanto presume Sanych

Andrew. Esto es claramente aceptado. Todas las conclusiones se basan en la validación. La posibilidad de que un predictor puramente ruidoso genere miles de observaciones acertadas e independientes es muy pequeña, insignificante . Las conclusiones también se verifican con las pruebas de estadísticas correctas que tengo.

Laselección de predictores a partir del ruido funciona.
 
Vladimir Perervenko:2. Hay una funciónlforecastenrminer- Realiza previsiones de varios pasos utilizando iterativamente las predicciones de 1 hora de antelación como entradas. Al hablar de previsiones en varios pasos, ¿se refiere a la regresión, por supuesto?

No lo sé)) Necesito una herramienta que haga multipredicciones utilizando una matriz con predictores, no me importa de que manera hará la predicción, la regresión toma solo la serie temporal como entrada, no me sirve, necesito una matriz con predictores...

He mirado la función "iforecast", toma una serie temporal de regresión como entrada, no es lo mismo, ¿o estoy entendiendo algo mal?

 
Dr.Trader:

Cada indicador tiene una información adicional, y toda ella es útil, no sólo un porcentaje. Para el RSI no existe la estrategia "comprar a >0,99, vender a <0,01", es un ejemplo desafortunado.

Tienes que estar bromeando. He escrito, que exagero (simplifico las cosas al límite) y lo he escrito dos veces:) ¿O sería mejor que diera un ejemplo real con 135 reglas para el sistema? A pesar de que para lo que quería explicar una regla es más que suficiente.
 

Para continuar con el tema de la selección

Tengo una pregunta: tenemos un predictor (uno de tantos) con algún rango de valores, que sean 10 pcs.

dividir el predictor en estos rangos X1,X2....X10

calculemos la importancia de cada rango en el predictor por algún medio no es importante ahora como

obtendremos una tabla de importancia(recordemos que se trata de un predictor dividido en subpredictores)

Х1 = 0,5%

Х2 = 0,01%

Х3 = 0,003%

Х4 = 0,0033%

Х5 = 0,0013%

Х6 = 0,0039%

Х7 = 0,0030%

Х8 = - 0,0000%

Х9 = - 0,0001%

Х10 = - 0,00002%

vemos que sólo un rango "X1" tiene realmente una fuerte influencia, la influencia de los otros es negativa o está a medio paso de serlo y es muy dudoso que en los nuevos datos estos rangos X2....X7 se muestren para bien...

Pregunta :

¿es mejor mantener todo el rango positivo X1...X7 o dejar sólo el rango en el que no hay dudas, es decir, sólo X1

Una vez más, es sólo una selección de un predictor, y si depuramos 200 predictores... ¿con qué datos el algoritmo reconocerá mejor los nuevos datos o no?

¿Quién piensa en ello?

 
mytarmailS:

Para continuar con el tema de la selección

Tengo una pregunta: tenemos un predictor (uno de tantos) con algún rango de valores, que sean 10 pcs.

dividir el predictor en estos rangos X1,X2....X10

calculemos la importancia de cada rango en el predictor por algún medio no es importante ahora como

obtendremos una tabla de importancia(recordemos que se trata de un predictor dividido en subpredictores)

Х1 = 0,5%

Х2 = 0,01%

Х3 = 0,003%

Х4 = 0,0033%

Х5 = 0,0013%

Х6 = 0,0039%

Х7 = 0,0030%

Х8 = - 0,0000%

Х9 = - 0,0001%

Х10 = - 0,00002%

vemos que sólo un rango "X1" tiene realmente una fuerte influencia, la influencia de los otros es negativa o está a medio paso de serlo y es muy dudoso que en los nuevos datos estos rangos X2....X7 se muestren para bien...

Pregunta :

¿es mejor mantener todo el rango positivo X1...X7 o dejar sólo el rango en el que no hay dudas, es decir, sólo X1

Una vez más, es sólo una selección de un predictor, y si depuramos 200 predictores... ¿con qué datos el algoritmo reconocerá mejor los nuevos datos o no?

¿Quién piensa en ello?

R Podrías probarlo. A veces eliminar las colas de las distribuciones y otras veces ayuda.