Artículos sobre aprendizaje automático en el trading

icon

Creación de robots comerciales basados en inteligencia artificial: integración nativa con Python, operaciones con matrices y vectores, bibliotecas de matemáticas y estadística y mucho más.

Aprenda a usar el aprendizaje automático en el trading. Neuronas, perceptrones, redes convolucionales y recurrentes, modelos predictivos: parta de lo básico y avance hasta construir su propia IA. Aprenderá a entrenar y aplicar redes neuronales para el comercio algorítmico en los mercados financieros.

Nuevo artículo
últimas | mejores
Redes neuronales: de la teoría a la práctica
Redes neuronales: de la teoría a la práctica

Redes neuronales: de la teoría a la práctica

Hoy en día, cualquier operador ha oído hablar de las redes neuronales y conoce las ventajas de su utilización. La mayoría de ellos creen que quien puede trabajar con redes neuronales es una especie de superman. En este artículo intentaré explicarle la arquitectura de la red neuronal, describir sus aplicaciones y dar ejemplos de su uso práctico.
Red Neuronal: EA autooptimizable
Red Neuronal: EA autooptimizable

Red Neuronal: EA autooptimizable

¿Podríamos diseñar un EA que periódicamente, según ordenara su código, autooptimizara los criterios de apertura o cierre de posición?.¿Qué pasaría si implementamos en el EA una red neuronal (perceptrón multicapa) que sea el módulo que analice el historial y evalúe la estrategia?. Podríamos decirle al código: "optimiza cada mes (cada semana, cada día o cada hora) la red neuronal y continúa tu trabajo". ¡De esta forma, tendríamos un EA autooptimizable!
Tercera generación de neuroredes: "Neuroredes profundas"
Tercera generación de neuroredes: "Neuroredes profundas"

Tercera generación de neuroredes: "Neuroredes profundas"

El artículo está dedicado a una corriente nueva con muy buenas perspectivas en el aprendizaje automático, al así llamado "aprendizaje profundo" y más concretamente a las "neuroredes profundas". Se ha efectuado una breve panorámica de las neuroredes de 2 generación, sus arquitecturas de conexiones y tipos, métodos y normas de aprendizaje principales, así como de sus defectos más destacables. A continuacón se estudia la historia de la aparición y el desarrollo de las neuroredes de tercera generación, sus tipos principales, sus particularidades y métodos de aprendizaje. Se han realizado experimentos prácticos sobre la construcción y aprendizaje con datos reales de neurored profunda, iniciada con los pesos del auto-codificador acumulado. Se han estudiado todas las etapas, desde los datos de origen hasta la obtención de la métrica. En la última parte del artículo, se adjunta la implementación programática de una neurored profunda en forma de indicador-experto en MQL4/R.
Evaluación y selección de variables en modelos de aprendizaje de máquinas
Evaluación y selección de variables en modelos de aprendizaje de máquinas

Evaluación y selección de variables en modelos de aprendizaje de máquinas

Este artículo se centra en aspectos específicos relacionados con la elección, los prerrequisitos y la evaluación de las variables de entrada (predictores) de los modelos de aprendizaje de máquinas. Vamos a plantear nuevos enfoques, y también expondremos las oportunidades que ofrece el análisis predictivo profundo, así como la influencia que tiene en el sobreajuste de los modelos. El resultado general de los modelos depende en gran medida del resultado de esta etapa. Analizaremos dos paquetes que ofrecen enfoques nuevos y originales para seleccionar predictores.
preview
Redes neuronales: así de sencillo

Redes neuronales: así de sencillo

Cada vez que hablamos de inteligencia artificial, en nuestra cabeza surgen todo tipo de ideas fantásticas, y nos parece que se trata de algo complicado e inalcanzable. Sin embargo, cada día oímos hablar de la inteligencia artificial en nuestra vida diaria. En las noticias se escribe con cada vez mayor frecuencia sobre los logros en el uso de redes neuronales. En el presente artículo, queremos mostrar al lector lo sencillo que puede resultar para cualquiera crear una red neuronal y usar los logros de la inteligencia artificial en el trading.
Los bosques aleatorios predicen las tendencias
Los bosques aleatorios predicen las tendencias

Los bosques aleatorios predicen las tendencias

En el artículo se describe el uso del paquete Rattle para la búsqueda automática de patrones capaces de predecir "longs" y "shorts" para las parejas de divisas del mercado Fórex. El artículo será de utilidad tanto a los principiantes, como a los traders experimentados.
Aprendizaje Automático: Cómo usar las Máquinas de Vectores de Soporte en Trading
Aprendizaje Automático: Cómo usar las Máquinas de Vectores de Soporte en Trading

Aprendizaje Automático: Cómo usar las Máquinas de Vectores de Soporte en Trading

Las máquinas de vectores de soporte se usan desde hace mucho tiempo en campos como la bioinformática y matemáticas aplicadas para estudiar conjuntos de datos complejos y extraer patrones que se pueden usar para clasificar datos. Este artículo examina qué es una máquina de vectores de soporte, cómo funciona y por qué puede resultar muy útil a la hora de extraer patrones complejos. Después investigaremos cómo se puede aplicar al mercado y usar potencialmente para tomar decisiones de trading. Usando la Herramienta de Aprendizaje de Máquina de Vectores de Soporte, el artículo facilitará ejemplos listos que permitirán a los lectores experimentar con sus propias operaciones de trading.
Neuroredes profundas (Parte VI). Conjunto de clasificadores de redes neuronales: bagging
Neuroredes profundas (Parte VI). Conjunto de clasificadores de redes neuronales: bagging

Neuroredes profundas (Parte VI). Conjunto de clasificadores de redes neuronales: bagging

Vamos a ver los métodos de construcción y entrenamiento de conjuntos de redes neuronales con la estructura bagging. También vamos a definir las peculiaridades de la optimización de los hiperparámetros de los clasificadores de redes neuronales individuales que componen el conjunto. Asimismo, compararemos la calidad de la red neuronal optimizada obtenida en el artículo anterior de la serie, y el conjunto creado de redes neuronales. Para finalizar, analizaremos las diferentes opciones para mejorar aún más la calidad de clasificación del conjunto.
Neuroredes profundas (Parte VII). Conjunto de neuroredes: stacking
Neuroredes profundas (Parte VII). Conjunto de neuroredes: stacking

Neuroredes profundas (Parte VII). Conjunto de neuroredes: stacking

Continuamos construyendo conjuntos. Ahora vamos a añadir al conjunto bagging creado anteriormente un combinador entrenable: una red neuronal profunda. Una red neuronal combina las mejores 7 salidas del conjunto después de la poda. La segunda recibe en la entrada las 500 salidas del conjunto, las poda y las combina. Construiremos las redes neuronales con la ayuda del paquete keras/TensorFlow de Python. Veremos brevemente las posibilidades del paquete. Y finalmente, realizaremos la simulación y compararemos la calidad de la clasificación de los conjuntos bagging y stacking.
Neuroredes profundas (Parte IV). Creación, entrenamiento y simulación de un modelo de neurored
Neuroredes profundas (Parte IV). Creación, entrenamiento y simulación de un modelo de neurored

Neuroredes profundas (Parte IV). Creación, entrenamiento y simulación de un modelo de neurored

En el artículo se analizan las nuevas posibilidades del paquete darch (v.0.12.0). Se describen los resultados del entrenamiento de una red neuronal profunda con diferentes tipos de datos, estructura y secuencia de entrenamiento. También se analizan los resultados.
Neuroredes profundas (Parte V). Optimización bayesiana de los hiperparámetros de las DNN
Neuroredes profundas (Parte V). Optimización bayesiana de los hiperparámetros de las DNN

Neuroredes profundas (Parte V). Optimización bayesiana de los hiperparámetros de las DNN

En el artículo se analizan las posibilidades de la optimización bayesiana de los hiperparámetros de las neuroredes profundas obtenidas con diferentes formas de entrenamiento. Se compara la calidad de la clasificación de las DNN con los hiperparámetros óptimos en diferentes variedades de entrenamiento. Se ha comprobado mediante forward tests la profundidad de la efectividad de los hiperparámetros óptimos de la DNN. Se han definido los posibles campos de mejora de la calidad de la clasificación.
Neuroredes profundas (Parte I). Preparación de datos
Neuroredes profundas (Parte I). Preparación de datos

Neuroredes profundas (Parte I). Preparación de datos

Esta serie de artículos continúa y desarrolla el tema de las neuroredes profundas (DNN), que ha sido incluidas en los últimos tiempos en muchas áreas aplicadas, incluyendo el trading. Se analizan las corrientes de dicho tema, comprobándose con experimentos prácticos los nuevos métodos e ideas. El primer artículo de la serie está dedicado a la preparación de los datos para las DNN.
preview
Perceptrón Multicapa y Algoritmo de Retropropagación

Perceptrón Multicapa y Algoritmo de Retropropagación

Recientemente, al aumentar la popularidad de estos dos métodos, se han desarrollado tantas bibliotecas en Matlab, R, Python, C++, etc., que reciben el conjunto de entrenamiento como entrada y construyen automáticamente una red neuronal apropiada para el supuesto problema. Vamos a entender cómo funciona un tipo básico de red neural, (perceptrón de una sola neurona y perceptrón multicapa), y un fascinante algoritmo encargado del aprendizaje de la red, (gradiente descendente y retropropagación). Estos modelos de red servirán como base para los modelos más complejos que existen hoy en día.
Conectando redes neuronales de NeuroSolutions
Conectando redes neuronales de NeuroSolutions

Conectando redes neuronales de NeuroSolutions

Además de la creación de las redes neuronales, el paquete del software de NeuroSolutions permite su exportación como archivos DLL. En este artículo se describe el proceso de creación de una red neuronal, la generación de un archivo DLL y su conexión a un Expert Advisor para el trading en MetaTrader 5.
preview
Aplicación práctica de las redes neuronales en el trading. Pasamos a la práctica

Aplicación práctica de las redes neuronales en el trading. Pasamos a la práctica

En el presente artículo, ofrecemos la descripción y las instrucciones del uso práctico de los módulos de red neuronal en la plataforma Matlab. Asimismo, comentaremos los aspectos principales de la construcción de un sistema comercial con uso de modelos de redes neuronales (RN). Para que resulte más fácil familiarizarse con el complejo de elementos comprimidos para el presente artículo, hemos tenido que modernizarlo de forma que se puedan compatibilizar varias funciones del modelo de RN.
preview
Redes neuronales: así de sencillo (Parte 2): Entrenamiento y prueba de la red

Redes neuronales: así de sencillo (Parte 2): Entrenamiento y prueba de la red

En el presente artículo, proseguiremos nuestro estudio de las redes neuronales, iniciado en el artículo anterior, y analizaremos un ejemplo de uso en los asesores de la clase CNet que hemos creado. Asimismo, analizaremos dos modelos de red neuronal que han mostrado resultados semejantes tanto en su tiempo de entrenamiento, como en la precisión de sus predicciones.
preview
Perceptrón Multicapa y Algoritmo de Retropropagación (Parte II): Implementación en Python e integración en MQL5

Perceptrón Multicapa y Algoritmo de Retropropagación (Parte II): Implementación en Python e integración en MQL5

Se ha puesto a disposición un paquete de Python con el propósito de desarrollar la integración en MQL, lo que abre las puertas a numerosas posibilidades como la exploración de datos, la creación y el uso de modelos de aprendizaje automático. Esta integración nativa de MQL5 en Python abre las puertas a muchas posibilidades de uso que nos permiten construir desde una simple regresión lineal a un modelo de aprendizaje profundo. Entendamos cómo instalar y preparar el entorno de desarrollo y usar algunas de las bibliotecas de aprendizaje automático.
preview
Cómo avanzar en el aprendizaje automático

Cómo avanzar en el aprendizaje automático

Aquí tenemos una selección de materiales que resultarán útiles para que los tráders mejoren sus conocimientos sobre el trading algorítmico. La época de los algoritmos simples es cosa del pasado: ahora es difícil alcanzar el éxito sin utilizar el aprendizaje automático y las redes neuronales.
preview
Redes neuronales: así de sencillo (Parte 8): Mecanismos de atención

Redes neuronales: así de sencillo (Parte 8): Mecanismos de atención

En artículos anteriores, ya hemos puesto a prueba diferentes variantes para organizar las redes neuronales, incluyendo las redes convolucionales, adoptadas de algoritmos de procesamiento de imágenes. En el presente artículo, les proponemos analizar los mecanismos de atención, cuya aparición impulsó el desarrollo de los modelos de lenguaje.
preview
Programamos una red neuronal profunda desde cero usando el lenguaje MQL

Programamos una red neuronal profunda desde cero usando el lenguaje MQL

El objetivo de este artículo es enseñar al lector cómo crear una red neuronal profunda desde cero utilizando el lenguaje MQL4/5.
Neuroredes gratis y a mogollón: NeuroPro y MetaTrader 5
Neuroredes gratis y a mogollón: NeuroPro y MetaTrader 5

Neuroredes gratis y a mogollón: NeuroPro y MetaTrader 5

Si los programas especializados de nueroredes para el trading le parecen caros o complicados (o al contrario, primitivos), entonces pruebe NeuroPro, está en ruso, es gratuito y contiene el conjunto ideal de posibilidades para los aficionados. Prodrá familiarizarse con su uso en MetaTrader 5 en este artículo.
Neuroredes profundas (Parte III). Selección de ejemplos y reducción de dimensiones
Neuroredes profundas (Parte III). Selección de ejemplos y reducción de dimensiones

Neuroredes profundas (Parte III). Selección de ejemplos y reducción de dimensiones

Este artículo continúa la serie de publicaciones sobre las neuroredes profundas. Vamos a analizar la selección de ejemplos (eliminación de ruidos), la reducción de los datos de entrada y la división del conjunto en train/val/test durante la preparación de los datos.
preview
Redes neuronales: así de sencillo (Parte 13): Normalización por lotes (Batch Normalization)

Redes neuronales: así de sencillo (Parte 13): Normalización por lotes (Batch Normalization)

En el artículo anterior, comenzamos a analizar varios métodos para mejorar la calidad del aprendizaje de la red neuronal. En este artículo, proponemos al lector continuar con este tema y analizar la normalización por lotes de los datos, un enfoque muy interesante.
preview
Redes neuronales: así de sencillo (Parte 12): Dropout

Redes neuronales: así de sencillo (Parte 12): Dropout

A la hora de proseguir el estudio de las redes neuronales, probablemente merezca la pena prestar un poco de atención a los métodos capaces de aumentar su convergencia durante el entrenamiento. Existen varios de estos métodos. En este artículo, proponemos al lector analizar uno de ellos: el Dropout (dilución).
preview
Aplicación práctica de las redes neuronales en el trading (Parte 2). Visión por computadora

Aplicación práctica de las redes neuronales en el trading (Parte 2). Visión por computadora

El uso de la visión por computadora permite entrenar redes neuronales con la representación visual de la tabla de precios y los indicadores. Este método nos permitirá utilizar con mayor libertad todo el complejo de indicadores técnicos, pues no requiere su suministro digital a la red neuronal.
preview
Redes neuronales: así de sencillo (Parte 10): Multi-Head Attention (atención multi-cabeza)

Redes neuronales: así de sencillo (Parte 10): Multi-Head Attention (atención multi-cabeza)

Ya hemos hablado con anterioridad del mecanismo de auto-atención (self-attention) en las redes neuronales. En la práctica, en las arquitecturas de las redes neuronales modernas, se usan varios hilos de auto-atención paralelos para buscar diversas dependencias entre los elementos de la secuencia. Vamos a ver la implementación de este enfoque y evaluar su influencia en el rendimiento general de la red.
preview
Matrices y vectores en MQL5

Matrices y vectores en MQL5

La matriz y el vector de tipos de datos especiales nos permiten escribir un código próximo a la notación matemática. Esto elimina la necesidad de crear ciclos anidados y recordar la indexación correcta de las matrices que participan en los cálculos, aumentando la fiabilidad y la velocidad del desarrollo de programas complejos.
Neuroredes profundas (Parte II). Desarrollo y selección de predictores
Neuroredes profundas (Parte II). Desarrollo y selección de predictores

Neuroredes profundas (Parte II). Desarrollo y selección de predictores

En este segundo artículo de la serie sobre redes neuronales profundas se analizarán la transformación y la selección en el proceso de preparación de los datos para el entrenamiento del modelo.
preview
Redes neuronales: así de sencillo (Parte 11): Variaciones de GTP

Redes neuronales: así de sencillo (Parte 11): Variaciones de GTP

Hoy en día, quizás uno de los modelos de lenguaje de redes neuronales más avanzados sea GPT-3, que en su versión máxima contiene 175 mil millones de parámetros. Obviamente, no vamos a crear semejante monstruo en condiciones domésticas. Pero sí que podemos ver qué soluciones arquitectónicas se pueden usar en nuestro trabajo y qué ventajas nos ofrecerán.
preview
Redes neuronales: así de sencillo (Parte 4): Redes recurrentes

Redes neuronales: así de sencillo (Parte 4): Redes recurrentes

Continuamos nuestra inmersión en el mundo de las redes neuronales. En el presente artículo, hablaremos de las redes neuronales recurrentes. Este tipo de redes neuronales se ofrece para su utilización con series temporales, que son precisamente los gráficos de precios en la plataforma comercial MetaTrader 5.
preview
Redes neuronales: así de sencillo (Parte 3): Redes convolucionales

Redes neuronales: así de sencillo (Parte 3): Redes convolucionales

Continuando el tema de la redes neuronales, proponemos al lector analizar las redes neuronales convolucionales. Este tipo de redes neuronales ha sido desarrollado para buscar objetos en una imagen. Asimismo, analizaremos cómo nos pueden ayudar al operar en los mercados financieros.
preview
Redes neuronales: así de sencillo (Parte 7): Métodos de optimización adaptativos

Redes neuronales: así de sencillo (Parte 7): Métodos de optimización adaptativos

En artículos anteriores, hemos usado el descenso de gradiente estocástico para entrenar una red neuronal utilizando una única tasa de aprendizaje para todas las neuronas de la red. En este artículo, proponemos al lector buscar métodos de aprendizaje adaptativo que nos permitan modificar la tasa de aprendizaje de cada neurona. Vamos a echar un vistazo a las ventajas y desventajas de este enfoque.
preview
Aprendizaje de máquinas de Yándex (CatBoost) sin estudiar Python y R

Aprendizaje de máquinas de Yándex (CatBoost) sin estudiar Python y R

En el artículo, descricribiremos las etapas del proceso de aprendizaje de máquinas usando un ejemplo concreto, y también adjuntaremos un código sobre el mismo. Para obtener los modelos, no necesitaremos conocer ningún lenguaje de programación como Python o R. Los conocimientos requeridos de MQL5 no serán profundos, iguales, por cierto, que los del autor del presente artículo; por eso, esperamos que este artículo sirva de guía para un amplio círculo de lectores que deseen valorar de forma experimental las posibilidades del aprendizaje de máquinas e implementar estas en sus desarrollos.
preview
Redes neuronales: así de sencillo (Parte 6): Experimentos con la tasa de aprendizaje de la red neuronal

Redes neuronales: así de sencillo (Parte 6): Experimentos con la tasa de aprendizaje de la red neuronal

Ya hemos hablado sobre algunos tipos de redes neuronales y su implementación. En todos los casos, hemos usado el método de descenso de gradiente para entrenar las redes neuronales, lo cual implica la elección de una tasa de aprendizaje. En este artículo, queremos mostrar con ejemplos lo importante que resulta elegir correctamente la tasa de aprendizaje, y también su impacto en el entrenamiento de una red neuronal.
Neuroredes profundas (Parte VIII). Aumentando la calidad de la clasificación de los conjuntos bagging
Neuroredes profundas (Parte VIII). Aumentando la calidad de la clasificación de los conjuntos bagging

Neuroredes profundas (Parte VIII). Aumentando la calidad de la clasificación de los conjuntos bagging

En el artículo se analizan tres métodos con cuya ayuda podemos aumentar la calidad de clasificación de los conjuntos bagging y valorar su efectividad. Se ha evaluado cómo influye la optimización de los hiperparámetros de las redes neuronales ELM y los parámetros de post-procesado en la calidad de clasificación del conjunto.
preview
Aprendizaje automático y Data Science (Parte 01): Regresión lineal

Aprendizaje automático y Data Science (Parte 01): Regresión lineal

Es hora de que los tráders entrenemos nuestros sistemas y aprendamos a tomar nuestras propias decisiones en función de lo que muestren los números. En este proceso, evitaremos los métodos visuales o intuitivos que usa todo el mundo. Marcharemos perpendicularmente a la dirección general.
preview
Aprendizaje automático y Data Science - Redes neuronales (Parte 01): Análisis de redes neuronales con conexión directa

Aprendizaje automático y Data Science - Redes neuronales (Parte 01): Análisis de redes neuronales con conexión directa

A muchos les gustan todas las operaciones que hay detrás de las redes neuronales, pero pocos las entienden. En este artículo, intentaremos explicar en términos sencillos lo que ocurre detrás un perceptrón multinivel con conexión Feed Forward.
preview
Algoritmos de optimización de la población: Colonia de abejas artificiales (Artificial Bee Colony - ABC)

Algoritmos de optimización de la población: Colonia de abejas artificiales (Artificial Bee Colony - ABC)

Hoy estudiaremos el algoritmo de colonia de abejas artificiales. Asimismo, complementaremos nuestros conocimientos con nuevos principios para el estudio de los espacios funcionales. En este artículo hablaremos sobre mi interpretación de la versión clásica del algoritmo.
preview
Redes neuronales: así de sencillo (Parte 28): Algoritmo de gradiente de políticas

Redes neuronales: así de sencillo (Parte 28): Algoritmo de gradiente de políticas

Continuamos analizando los métodos de aprendizaje por refuerzo. En el artículo anterior, nos familiarizamos con el método de aprendizaje Q profundo, en el que entrenamos un modelo para predecir la próxima recompensa dependiendo de la acción realizada en una situación particular. Luego realizamos una acción según nuestra política y la recompensa esperada, pero no siempre es posible aproximar la función Q, o su aproximación no ofrece el resultado deseado. En estos casos, los métodos de aproximación no se utilizan para funciones de utilidad, sino para una política (estrategia) de acciones directa. Precisamente a tales métodos pertenece el gradiente de políticas o policy gradient.
preview
Redes neuronales: así de sencillo (Parte 9): Documentamos el trabajo realizado

Redes neuronales: así de sencillo (Parte 9): Documentamos el trabajo realizado

Ya hemos recorrido un largo camino y el código de nuestra biblioteca ha crecido de manera considerable. Resulta difícil monitorear todas las conexiones y dependencias. Y, obviamente, antes de proseguir con el desarrollo del proyecto, necesitaremos documentar el trabajo ya realizado y actualizar la documentación en cada paso posterior. Una documentación debidamente redactada nos ayudará a ver la integridad de nuestro trabajo.