Predicción de tipos de cambio mediante métodos clásicos de aprendizaje automático: Modelos Logit y Probit
Hoy hemos intentado construir un experto comercial para predecir las cotizaciones de los tipos de cambio. El algoritmo se basa en modelos de clasificación clásicos: la regresión logística y probit. Como filtro para las señales comerciales, hemos utilizado el criterio de la razón de verosimilitud.
Redes neuronales en el trading: Análisis de la situación del mercado usando el Transformador de patrones
A la hora de analizar la situación del mercado con nuestros modelos, el elemento clave es la vela. No obstante, sabemos desde hace tiempo que las velas pueden ayudar a predecir los movimientos futuros de los precios. Y en este artículo aprenderemos un método que nos permitirá integrar ambos enfoques.
Desarrollo de un sistema de repetición (Parte 37): Pavimentando el terreno (I)
En este artículo, vamos a empezar a hacer algo que ojalá hubiera hecho hace mucho más tiempo. Sin embargo, debido a la falta de "terreno firme", no me sentía seguro para presentarlo públicamente. Ahora, tengo las bases para poder hacer lo que vamos a empezar a hacer a partir de ahora. Es una buena idea centrarse al máximo en comprender el contenido de este artículo, y no lo digo para que lo leas por leer. Quiero y necesito recalcar que, si no entiendes este artículo en concreto, puedes abandonar por completo cualquier esperanza de comprender el contenido de los siguientes.
Desarrollo de un sistema de repetición (Parte 39): Pavimentando el terreno (II)
Antes de comenzar la segunda fase del desarrollo, es necesario reforzar algunas ideas. Entonces, ¿sabes cómo forzar al MQL5 a hacer lo que es necesario? ¿Has intentado ir más allá de lo que informa la documentación? Si no, prepárate. Porque empezaré a hacer cosas mucho más allá de lo que la mayoría hace normalmente.
Teoría de categorías en MQL5 (Parte 2)
La teoría de categorías es una rama diversa y en expansión de las matemáticas, relativamente inexplorada aún en la comunidad MQL5. Esta serie de artículos tiene como objetivo destacar algunos de sus conceptos para crear una biblioteca abierta y seguir utilizando esta maravillosa sección para crear estrategias comerciales.
Clase básica de algoritmos de población como base para una optimización eficaz
El presente material supone un intento único de investigación para combinar una variedad de algoritmos de población en una sola clase y simplificar la aplicación de técnicas de optimización. Este enfoque no solo descubre oportunidades para el desarrollo de nuevos algoritmos, incluidas variantes híbridas, sino que también crea un banco de pruebas básico y versátil. Este banco se convertirá así en una herramienta clave para seleccionar el algoritmo óptimo según un problema específico.
Simulación de mercado (Parte 11): Sockets (V)
Vamos a empezar a implementar la comunicación entre Excel y MetaTrader 5, pero antes es necesario entender algunas cosas importantes. Así no te quedarás rascándote la cabeza tratando de comprender por qué las cosas funcionan o no. Y antes de que frunzas el ceño ante la integración entre Python y Excel, veamos cómo podemos usar xlwings para controlar, en cierta medida, MetaTrader 5 a través de Excel. Lo que voy a mostrar aquí se centrará principalmente en la didáctica. No pienses que solo podemos hacer lo que mostraré.
Desarrollando un cliente MQTT para MetaTrader 5: metodología de TDD (Parte 2)
El artículo forma parte de una serie que describe las etapas de desarrollo de un cliente MQL5 nativo para el protocolo MQTT. En esta parte describiremos la organización de nuestro código, los primeros archivos de encabezado y las clases, así como la escritura de las pruebas. Este artículo también incluirá notas breves sobre un desarrollo basado en las pruebas y su aplicación a este proyecto.
Redes neuronales en el trading: Uso de modelos de lenguaje para la predicción de series temporales
Continuamos nuestro análisis de los modelos de pronóstico de series temporales. En este artículo le propongo familiarizarnos con un algoritmo complejo construido sobre el uso de un modelo de lenguaje previamente entrenado.
Optimización con el juego del caos — Game Optimization (CGO)
Hoy presentamos el nuevo algoritmo metaheurístico de Chaos Game Optimisation (CGO), que demuestra una capacidad única para mantener una alta eficiencia al trabajar con problemas de alta dimensionalidad. A diferencia de la mayoría de los algoritmos de optimización, el CGO no solo no pierde rendimiento, sino que a veces incluso lo aumenta cuando se escala el problema, lo cual supone su característica clave.
Operar con noticias de manera sencilla (Parte 6): Ejecución de operaciones (III)
En este artículo se implementará la filtración de noticias para eventos de noticias individuales basándose en sus identificadores. Además, se mejorarán las consultas SQL anteriores para proporcionar información adicional o reducir el tiempo de ejecución de la consulta. Además, se hará funcional el código creado en los artículos anteriores.
Desarrollo de un sistema de repetición (Parte 29): Proyecto Expert Advisor — Clase C_Mouse (III)
Ahora que hemos mejorado la clase C_Mouse, podemos concentrarnos en crear una clase destinada a establecer una base totalmente nueva de estudios. Como mencioné al inicio del artículo, no utilizaremos herencia o polimorfismo para crear esta nueva clase. En cambio, vamos a modificar, o mejor, agregar nuevos objetos a la línea de precio. Esto es lo que haremos en este primer momento, y en el próximo artículo, mostraré cómo cambiar los estudios. Pero, realizaremos esto sin cambiar el código de la clase C_Mouse. Reconozco que, en la práctica, esto sería más fácilmente logrado mediante herencia o polimorfismo. No obstante, existen otras técnicas para alcanzar el mismo resultado.
Teoría de categorías (Parte 9): Acciones de monoides
El presente artículo continúa la serie sobre la implementación de la teoría de categorías en MQL5. En este artículo examinaremos las acciones de los monoides como un medio de transformación de los monoides descritos en el artículo anterior para aumentar sus aplicaciones.
Perspectivas bursátiles a través del volumen: más allá de los gráficos OHLC
Sistema de negociación algorítmica que combina el análisis de volumen con técnicas de aprendizaje automático, concretamente redes neuronales LSTM. A diferencia de los enfoques tradicionales de negociación, que se centran principalmente en los movimientos de los precios, este sistema hace hincapié en los patrones de volumen y sus derivados para predecir los movimientos del mercado. La metodología incorpora tres componentes principales: análisis de derivadas de volumen (derivadas primera y segunda), predicciones LSTM para patrones de volumen e indicadores técnicos tradicionales.
Cierres parciales condicionales (Parte 1): Creación de la clase base
En este artículo implementaremos un nuevo método para la gestión de posiciones, parecido a los cierres parciales "simples" que implementamos anteriormente, pero con una diferencia importante. En lugar de basarse en niveles de takeprofit fijos, este enfoque aplica los cierres parciales al momento de cumplirse cierta condición específica. De ahí su nombre: "Cierres parciales condicionales". En esta primera parte de la implementación en MQL5 veremos cómo funciona esta técnica de gestión de posiciones.
Características del Wizard MQL5 que debe conocer (Parte 02): Mapas de Kohonen
Gracias al Wizard, el tráder podrá ahorrar tiempo a la hora de poner en práctica sus ideas. Asimismo, podrá reducir la probabilidad de que surjan errores por duplicación de código. En lugar de perder el tiempo con el código, los tráders tendrán la posibilidad de poner en práctica su filosofía comercial.
Redes neuronales en el trading: Framework comercial híbrido con codificación predictiva (StockFormer)
Hoy le presentamos el StockFormer, un sistema comercial híbrido que combina algoritmos de codificación predictiva y de aprendizaje por refuerzo (RL). El framework utiliza 3 ramas del Transformer con un mecanismo Diversified Multi-Head Attention (DMH-Attn) integrado que mejora el módulo de atención vainilla gracias a un bloque Feed-Forward multicabeza que permite captar diversos patrones de series temporales en diferentes subespacios.
Algoritmo de camello — Camel Algorithm (CA)
El algoritmo del camello, desarrollado en 2016, modela el comportamiento de los camellos en el desierto para resolver problemas de optimización, considerando factores como la temperatura, las reservas y la resistencia. Este artículo presenta una versión modificada del mismo (CAm) con mejoras clave: el uso de una distribución gaussiana en la generación de soluciones y la optimización de los parámetros del efecto oasis.
Aprendizaje automático y Data Science (Parte 25): Predicción de series temporales de divisas mediante una red neuronal recurrente (RNN)
Las redes neuronales recurrentes (RNNs, Recurrent Neural Networks) destacan por aprovechar la información del pasado para predecir acontecimientos futuros. Sus notables capacidades predictivas se han aplicado en diversos ámbitos con gran éxito. En este artículo, utilizaremos modelos RNN para predecir tendencias en el mercado de divisas, demostrando su potencial para mejorar la precisión de las predicciones en el comercio de divisas.
Desarrollamos un asesor experto multidivisa (Parte 17): preparación adicional para el trading real
Ahora nuestro EA utiliza una base de datos para recuperar las cadenas de inicialización de instancias individuales de estrategias comerciales. Sin embargo, la base de datos es bastante voluminosa y contiene mucha información innecesaria para el funcionamiento real del asesor experto. Vamos a intentar que el EA funcione sin conexión obligatoria a la base de datos.
Reimaginando las estrategias clásicas (Parte IV): SP500 y bonos del Tesoro de EE.UU.
En esta serie de artículos, analizamos estrategias de trading clásicas utilizando algoritmos modernos para determinar si podemos mejorar la estrategia utilizando IA. En el artículo de hoy, retomamos un enfoque clásico para operar con el SP500 utilizando la relación que guarda con los bonos del Tesoro estadounidense.
Inferencia causal en problemas de clasificación de series temporales
En este artículo, examinaremos la teoría de la inferencia causal utilizando el aprendizaje automático, así como la implementación del enfoque personalizado en Python. La inferencia causal y el pensamiento causal tienen sus raíces en la filosofía y la psicología y desempeñan un papel importante en nuestra comprensión de la realidad.
Minería de datos de la CFTC en Python y creación de un modelo de IA
Hoy intentaremos extraer datos de la CFTC, descargar informes COT y TFF a través de Python, conectarlos con cotizaciones de MetaTrader 5 y un modelo de IA, y obtener pronósticos. ¿Qué son los informes COT en el mercado Forex? ¿Cómo usar los informes COT y TFF para realizar previsiones?
Reimaginando las estrategias clásicas en MQL5 (Parte XI): Cruce de medias móviles (II)
Las medias móviles y el oscilador estocástico podrían utilizarse para generar señales de trading que sigan la tendencia. Sin embargo, estas señales solo se observarán después de que se haya producido la acción del precio. Podemos superar eficazmente este retraso inherente a los indicadores técnicos utilizando la inteligencia artificial. Este artículo le enseñará cómo crear un asesor experto totalmente autónomo impulsado por IA de una manera que pueda mejorar cualquiera de sus estrategias de trading existentes. Incluso la estrategia comercial más antigua posible se puede mejorar.
Teoría de categorías en MQL5 (Parte 20): Autoatención y transformador
Hoy nos apartaremos un poco de nuestros temas habituales y veremos parte del algoritmo de ChatGPT. ¿Tiene alguna similitud o concepto tomado de las transformaciones naturales? Intentaremos responder estas y otras preguntas usando nuestro código en formato de clase de señal.
Redes neuronales: así de sencillo (Parte 63): Entrenamiento previo del Transformador de decisiones no supervisado (PDT)
Continuamos nuestra análisis de la familia de métodos del Transformador de decisiones. En artículos anteriores ya hemos observado que entrenar el transformador subyacente en la arquitectura de estos métodos supone todo un reto y requiere una gran cantidad de datos de entrenamiento marcados. En este artículo, analizaremos un algoritmo para utilizar trayectorias no marcadas para el entrenamiento previo de modelos.
Desarrollamos un asesor experto multidivisa (Parte 10): Creación de objetos a partir de una cadena
El plan de desarrollo del EA comprende varias etapas con resultados intermedios almacenados en una base de datos. Solo se pueden recuperar desde allí como cadenas o números, no como objetos. Así que necesitaremos una forma de recrear en el EA los objetos deseados a partir de las cadenas leídas de la base de datos.
Creación de un modelo de restricción de tendencia de velas (Parte 8): Desarrollo de un asesor experto (I)
En esta discusión, crearemos nuestro primer Asesor Experto en MQL5 basado en el indicador que creamos en el artículo anterior. Cubriremos todas las características necesarias para automatizar el proceso, incluida la gestión de riesgos. Esto beneficiará ampliamente a los usuarios para pasar de la ejecución manual de operaciones a sistemas automatizados.
Algoritmo de optimización basado en la migración animal (Animal Migration Optimization, AMO)
El artículo está dedicado al algoritmo AMO, que modela la migración estacional de los animales en busca de condiciones óptimas para la vida y la reproducción. Las principales características de AMO incluyen el uso de vecindad topológica y un mecanismo de actualización probabilística, lo que lo hace fácil de implementar y flexible para diversas tareas de optimización.
Operando con el Calendario Económico MQL5 (Parte 10): Panel arrastrable y efectos al pasar el cursor para una navegación fluida por las noticias
En este artículo, mejoramos el Calendario Económico de MQL5 mediante la incorporación de un panel de control arrastrable que nos permite reubicar la interfaz para mejorar la visibilidad del gráfico. Implementamos efectos al pasar el cursor por los botones para mejorar la interactividad y garantizar una navegación fluida con una barra de desplazamiento posicionada dinámicamente.
Redes neuronales en el trading: Agente multimodal con herramientas complementarias (Final)
Seguimos trabajando en la implementación de los algoritmos para el agente multimodal de comercio financiero (FinAgent), diseñado para analizar los datos multimodales de la dinámica de mercado y los patrones comerciales históricos.
Reimaginando las estrategias clásicas (Parte VI): Análisis de múltiples marcos temporales
En esta serie de artículos, revisamos las estrategias clásicas para ver si podemos mejorarlas utilizando IA. En el artículo de hoy, examinaremos la popular estrategia de análisis de múltiples marcos temporales para juzgar si la estrategia se podría mejorar con IA.
Redes neuronales en el trading: Aprendizaje contextual aumentado por memoria (Final)
Hoy finalizaremos la implementación del framework MacroHFT para el comercio de criptomonedas de alta frecuencia, que utiliza el aprendizaje de refuerzo consciente del contexto y el aprendizaje con memoria para adaptarse a las condiciones dinámicas del mercado. Y al final de este artículo, probaremos los enfoques aplicados con datos históricos reales para evaluar su eficacia.
Redes neuronales en el trading: Modelos bidimensionales del espacio de enlaces (Quimera)
Descubra el innovador framework Chimera, un modelo bidimensional de espacio de estados que utiliza redes neuronales para analizar series temporales multivariantes. Este método ofrece una gran precisión con un bajo coste computacional, superando a los enfoques tradicionales y a las arquitecturas de Transformer.
Desarrollo de un sistema de repetición (Parte 27): Proyecto Expert Advisor — Clase C_Mouse (I)
En este artículo, daremos vida a la clase C_Mouse. Está diseñada para permitir programar al más alto nivel posible. Sin embargo, hablar de programar a niveles altos o bajos no está relacionado con incluir palabrotas o jerga en el código. Todo lo contrario. Cuando mencionamos programación de alto o bajo nivel, nos referimos a lo fácil o difícil que es para otro programador entender el código.
Características del Wizard MQL5 que debe conocer (Parte 30): Normalización por lotes en el aprendizaje automático
La normalización por lotes es el preprocesamiento de datos antes de introducirlos en un algoritmo de aprendizaje automático, como una red neuronal. Esto siempre se hace teniendo en cuenta el tipo de activación que utilizará el algoritmo. Por lo tanto, exploramos los diferentes enfoques que se pueden adoptar para aprovechar los beneficios de esto, con la ayuda de un Asesor Experto ensamblado por un asistente.
Creación de un modelo de restricción de tendencia de velas (Parte 9): Asesor Experto de múltiples estrategias (II)
El número de estrategias que se pueden integrar en un Asesor Experto es prácticamente ilimitado. Sin embargo, cada estrategia adicional aumenta la complejidad del algoritmo. Al incorporar múltiples estrategias, un Asesor Experto puede adaptarse mejor a las condiciones cambiantes del mercado, lo que puede mejorar su rentabilidad. Hoy exploraremos cómo implementar MQL5 para una de las estrategias más destacadas desarrolladas por Richard Donchian, mientras continuamos mejorando la funcionalidad de nuestro Asesor Experto Trend Constraint.
Reimaginando las estrategias clásicas (Parte II): Ruptura de las Bandas de Bollinger
Este artículo explora una estrategia comercial que integra el análisis discriminante lineal (Linear Discriminant Analysis, LDA) con las Bandas de Bollinger, aprovechando las predicciones de zonas categóricas para obtener señales estratégicas de entrada al mercado.
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 14): Herramienta Parabolic SAR (Stop and Reverse)
Incorporar indicadores técnicos en el análisis de la acción del precio es un enfoque muy eficaz. Estos indicadores suelen resaltar niveles clave de reversiones y retrocesos, lo que ofrece información valiosa sobre la dinámica del mercado. En este artículo, mostramos cómo desarrollamos una herramienta automatizada que genera señales utilizando el indicador Parabolic SAR.
Aprendizaje automático y Data Science (Parte 20): Elección entre LDA y PCA en tareas de trading algorítmico en MQL5
En este artículo analizaremos los métodos de reducción de la dimensionalidad y su aplicación en el entorno comercial MQL5. En concreto, exploraremos los matices del análisis discriminante lineal (LDA) y el análisis de componentes principales (PCA) y analizaremos su impacto en el desarrollo de estrategias y el análisis de mercados.