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

 

Mihail Marchukajtes:
J Sobre el aprendizaje profundo. Ahora que mucha gente habla de ello, quiero saber más. Y una pregunta más. ¿Quién ha implementado la red recurrente sin maestro en MT4?

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

Lea aquí, aquí.

En cuanto a la segunda pregunta, no sé ni qué decir.

Buena suerte

 
Vladimir Perervenko:
Y ahora lo veo. En otras palabras, primero entrenamos, digamos, una red sin maestro. A continuación, escribimos los pesos obtenidos en pesos del clasificador y luego el clasificador se entrena con un maestro. Supongamos que hemos recibido los pesos del ajuste fino guiado por las neuronas, los pesos siguen siendo optimizados????? En otras palabras, mediante el preaprendizaje sin profesor establecemos pesos iniciales para el clasificador que lo llevan al mínimo global. ¿Es así como funciona?
 

Sólo utilizo el objetivo en el entrenamiento como una cierta base, por la que el modelo se esfuerza, pero que nunca alcanza. Y para estimar el modelo no utilizo la exactitud de la predicción, sino que construyo un gráfico de la balanza comercial por tales predicciones y estimo este gráfico utilizando, por ejemplo, el Sharp Ratio o el Recovery Factor o alguna otra cosa. Es bueno trabajar con el objetivo "color de la siguiente barra". Podemos ir aún más lejos y modificar genéticamente este objetivo para evitar el uso de ofertas en movimientos pequeños y simplemente sentarlos, además también se puede evitar este problema si el tamaño de la siguiente vela es menor que el spread. En general, la decisión (comprar/vender) en cada barra debe ser seleccionada genéticamente para obtener el mayor beneficio.

Tomo ciertos indicadores y otras instancias, entreno el modelo, hago predicciones sobre los mismos datos de entrenamiento, uso las predicciones para construir un gráfico de balance y lo evalúo. A continuación, me tomo mucho tiempo para seleccionar los parámetros del modelo y los parámetros del indicador y sus combinaciones con el fin de obtener una mejor estimación del gráfico de equilibrio. Como resultado, la precisión de la predicción no es superior al 60%, pero el modelo se ajusta a las tendencias y no realiza frecuentemente operaciones en cada barra.
Esto es sólo la punta del iceberg, bajo el agua hay muchas más partes secretas como la estimación de la utilidad de las intenciones y la comprobación de que el modelo da menos peso a las malas intenciones; la selección de un modelo adecuado de entre todos los cientos disponibles en R; la validación cruzada; la selección de la longitud de la historia utilizada para el entrenamiento del modelo y toneladas más.

Al principio conseguí hacerlo sólo en D1, pero luego conseguí cambiar a H1. Para mí, los plazos más pequeños ya son un ruido imprevisible.

 
Yo:


Recomiendo a https://www.accern.com/ que lo pruebe, yo lo uso, estoy muy contento con él.

Parece genial, pero es un poco caro.

Me gustaría practicar en algo gratuito, ver cómo funciona en tiempo real sin retraso, pero hay una demo con un lag gigantesco.

¿Puede describir en pocas palabras cómo se utiliza una señal de este tipo en el comercio y el MO? Si no es un secreto, cuando se publican noticias importantes, ¿tienes tiempo para operar o es sólo un segundo, medio segundo antes de que alguien empiece a golpear el mercado y pique el anzuelo?

 
Dr.Trader:

Y para evaluar el modelo no utilizo la exactitud de la predicción, sino que trazo el balance de la operación sobre dichas predicciones, y evalúo este gráfico por ejemplo a través del ratio de sharpe o del factor de recuperación o algo más.

Esto es exactamente lo que he hecho siempre, las predicciones son siempre malas, pero el comercio en sí no es siempre.... En general, el objetivo ideal no es un vector con valores "00110" sino la búsqueda de un mínimo global, por ejemplo, simplemente le pedimos a la red que opere para que el factor de recuperación no baje de 4 y dejamos que ajuste sus pesos hasta que encuentre una solución, no nos importa cómo lo haga... Este método elimina todas las desventajas del objetivo vectorial habitual y tiene muchas ventajas y además este método es absolutamente objetivo en relación con el comercio, mientras que un objetivo vectorial es absolutamente subjetivo (cada uno lo ve de forma diferente).

Es imposible realizar un objetivo así en R, es demasiado "popular" en este sentido, todo allí son "raíles", todo sigue un patrón, es bueno y malo a la vez. No sé cómo se hace, si alguien lo sabe, estaría muy interesado en estudiar el código, y si se hiciera en R, sería un cuento...

Tomo ciertos indicadores y otras instancias, entreno el modelo, hago predicciones usando los mismos datos de entrenamiento, construyo un gráfico de balance usando las predicciones y lo estimo. A continuación, me tomo mucho tiempo para seleccionar los parámetros del modelo y los parámetros del indicador y sus combinaciones con el fin de obtener una mejor estimación del gráfico de equilibrio. Como resultado, la precisión de la predicción no es superior al 60%, pero el modelo está dentro de las tendencias y no realiza frecuentemente operaciones en cada barra.

Puedo decirte cómo mejorar significativamente el trading en la red (si te interesa) dándole un poco de pensamiento crítico, prácticamente siempre obtengo mejores resultados que sin él

 

mytarmailS:

No es realista implementar un objetivo así en R, es demasiado "populista" en ese sentido, todo allí son "rieles" todo en un patrón, es bueno y malo al mismo tiempo. Así que tienes que escribir una red tú mismo, yo no soy capaz de hacerlo, si alguien es capaz, estaría con gran interés de estudiar el código, y si se hizo en R, entonces incluso un cuento de hadas...


Tienes una idea equivocada. En pocas palabras: "No conozco el idioma lo suficientemente bien y no sé cómo hacer lo que quiero hacer". No deberías evaluar algo que no conoces en profundidad. El lenguaje R puede realizar cualquier idea que quieras, siempre que lo conozcas lo suficientemente bien. Si algo no está en R, utiliza el funcionamiento de Python.

Por supuesto, en sentido estricto, aprender cualquier modelo con un profesor no es "aprender". El aprendizaje profundo se le acerca, pero lo más prometedor es el aprendizaje puro sin profesor y su implementación: el aprendizaje por refuerzo. En R hasta ahora, sólo hay un paquete que permite implementar este método - RNeat. Pero este nivel sólo se puede alcanzar con una excelente comprensión de todos los anteriores. Esta área está bien desarrollada en Python. Y se integra perfectamente en R.

Buena suerte

 
Vladimir Perervenko:


Y aún así, aclarar este punto sobre el aprendizaje profundo. Cuando obtenemos los pesos de las neuronas en el primer paso. Escribimos estos pesos en una capa oculta del clasificador. Y empezamos a entrenar el clasificador por la variable de salida. Si fijamos un valor duro de pesos entonces lo que se está optimizando. ¿Cómo es el ajuste fino? ???? Puede explicar????
 
Vladimir Perervenko:

No estás formulando la idea correctamente. Escribe más sencillamente: "No conozco el idioma lo suficientemente bien y no sé cómo hacer lo que quiero hacer". No debes evaluar algo que no conoces en profundidad. El lenguaje R te permite implementar cualquier idea que quieras, siempre que la conozcas lo suficientemente bien. Si algo no está en R, utiliza el funcionamiento de Python.

Por supuesto, en sentido estricto, aprender cualquier modelo con un profesor no es "aprender". El aprendizaje profundo se le acerca, pero lo más prometedor es el aprendizaje puro sin profesor y su implementación: el aprendizaje por refuerzo. En R hasta ahora, sólo hay un paquete que permite implementar este método - RNeat. Pero este nivel sólo se puede alcanzar con una excelente comprensión de todos los anteriores. Esta área está bien desarrollada en Python. Y se integra perfectamente en R.

Buena suerte

Sin embargo, no tienes una respuesta a la pregunta de cómo implementar este objetivo usando R, si he entendido bien
 
Mihail Marchukajtes:
Ya veo. En otras palabras, primero entrenamos una red sin maestro. A continuación, escribimos los pesos obtenidos en los pesos del clasificador y luego el clasificador se entrena aún más con un maestro. Supongamos que hemos recibido los pesos del ajuste fino guiado por las neuronas, los pesos siguen siendo optimizados????? En otras palabras, mediante el preaprendizaje sin profesor establecemos pesos iniciales para el clasificador que lo llevan al mínimo global. ¿Es eso cierto?

Usted capta rápidamente y no del todo bien. Hay dos paquetes en R que implementan redes neuronales profundas - deepnet y darch v.0.12. El primero es bastante simplificado, sin muchas configuraciones y características, pero permite probar y evaluarlas. El segundo tiene las más amplias posibilidades para diseñar y configurar una red neuronal, el usuario no entrenado encontraría extremadamente difícil su uso. Pero tiene las capacidades de aprendizaje profundo adecuadas.

1. Pre-entrenamiento de una red auto-asociativa (SAE/SRBM) en la máxima cantidad posible de datos de entrada sin etiquetar.

2. Transferir los pesos a las capas ocultas de la red neuronal y entrenar sólo la capa superior con los datos no colocados. El paquete le permite especificar qué capas quiere entrenar.

3. ajustar toda la red con un pequeño número de épocas (2-3) y un entrenamiento de bajo nivel sobre una pequeña cantidad de datos marcados. Aquí es donde hay que aplicar los ejemplos en torno a los picos.

Una característica muy importante de la aplicación de este paquete es la posibilidad de preentrenamiento de la red neuronal.

Por supuesto, es posible entrenar la red sin preentrenamiento.

La red es muy rápida pero requiere experiencia y conocimientos.

Buena suerte

 

Mihail Marchukajtes:
Y déjeme preguntarle sobre una cosa más: el aprendizaje profundo. Cuando recibimos los pesos de las neuronas en el primer paso. Escribimos estos pesos en una capa oculta del clasificador. Y empezamos a entrenar el clasificador por la variable de salida. Si establecemos un valor duro de pesos entonces lo que se está optimizando. ¿Cómo es el ajuste fino? ???? Puede explicar????

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

Cada vez me pregunto más: "¿Por qué escribo artículos en los que intento desgranar, lo mejor que puedo, los conceptos básicos del tema?"

¿Has leído mis artículos sobre el aprendizaje profundo? Allí he explicado todo con bastante detalle. No hay tiempo para repetir lo que se ha escrito. Si hay alguna pregunta que no esté contemplada en ellos, estoy dispuesto a responderla.

Buena suerte

Razón de la queja: