Análisis de Correlaciones Multi-divisa para EAs “AXIS Neural” y “LINK Neural EA” para MT5

El desarrollo de sistemas de trading como AXIS Neural EA y LINK Neural EA para MetaTrader 5 suele plantear preguntas sobre la correlación entre pares de divisas, especialmente cuando varios de ellos están vinculados al dólar estadounidense (USD).
A fin de comprobar hasta qué punto dicha correlación podría afectar al riesgo global, creamos un script de MQL5 que analiza numerosos símbolos, mide sus correlaciones y selecciona la combinación (o subset) que minimiza la correlación interna promedio.
Aquí se describe en detalle cómo funciona ese script, así como un ejemplo ilustrativo (con un periodo corto), que no coincide necesariamente con el intervalo de entrenamiento usado en AXIS Neural y LINK EA, pero que permite comprender la metodología.
Con ello, se busca mostrar la robustez y la diversificación que pretendemos al incluir múltiples pares de divisas.
1. Antecedentes y justificación
Muchos usuarios o traders perciben la existencia de una posible “excesiva dependencia” cuando los pares incluyen EURUSD, GBPUSD, USDCAD, USDCHF, etc. Al variar el dólar (USD) globalmente, se cree que todos podrían moverse en la misma dirección, disparando así el riesgo de drawdown.
Nuestro objetivo fue analizarlo con datos reales y, si fuera necesario, tomar medidas de descorrelación en la cartera de pares. Durante la fase de investigación de los EAs AXIS Neural y LINK, surgió este script como soporte para tomar decisiones y diseñar la canasta de símbolos. Dado que son EAs multi-divisa, la correlación estadística se convirtió en uno de los factores clave para prevenir riesgos excesivos.
2. Funcionamiento detallado del script
El script está escrito en MQL5 (MetaQuotes Language 5), el lenguaje nativo de MetaTrader 5. A continuación, se describen las fases principales en su ejecución:
2.1. Lectura y preparación de datos
1) Lista de símbolos: Se define un conjunto de pares de divisas (en nuestro ejemplo, 17 pares) que se desean analizar. Estos incluyen cruces que involucran USD, EUR, GBP, AUD, NZD, CAD, CHF, entre otros.
2) Configuración de barras e histórico: Se especifica cuántas velas (por ejemplo, 200) se copiarán en un determinado timeframe (H1, H4, D1, etc.). Para ello, el script utiliza la función CopyRates de MQL5 para obtener el histórico de precios de cada símbolo.
3) Almacenamiento en arrays: Los datos de cierre (close) se guardan en arrays globales estructurados de forma que cada símbolo disponga de su propio vector de cierres. Esto permite que, posteriormente, se puedan comparar de manera directa.
2.2. Construcción de la matriz de correlación
Con los datos de cierre recopilados, el script construye una matriz NxN, donde N es el número de símbolos analizados. Cada entrada (i, j) en esta matriz almacena la correlación de Pearson entre el símbolo i y el símbolo j .
La correlación de Pearson se calcula mediante la fórmula:
En esta fórmula, x[i] y y[i] representan los precios de cierre de los dos símbolos, y n es el número de datos muestreados (velas). Una correlación cercana a +1 indica movimientos muy sincronizados; cerca de -1, movimientos inversos; y alrededor de 0, independencia en el comportamiento.
2.3. Generación de combinaciones (subsets)
El corazón del script reside en su capacidad para buscar qué conjunto de K símbolos (por ejemplo, K=8) presenta la menor correlación interna. Para ello, se aplica un algoritmo recursivo que:
- Genera todas las combinaciones posibles de los N símbolos tomados de K en K. En nuestro ejemplo, para 17 símbolos, se generan 24.310 combinaciones.
- Para cada combinación, extrae de la matriz de correlación todas las correlaciones correspondientes a los pares dentro del subset (en total, binomial(K, 2) relaciones) y calcula la media de sus valores absolutos.
- Registra la combinación que obtiene la media de correlaciones más baja.
Este enfoque backtracking garantiza que se evalúe la interdependencia global del conjunto de símbolos y no solo la relación entre pares individuales.
2.4. Cálculo de la puntuación y resultado final
Finalmente, la “puntuación” (score) de cada subset es la media de las correlaciones absolutas de sus pares. Un score más bajo indica que, en promedio, los símbolos del subset se mueven de forma menos sincronizada, lo que se traduce en una mayor descorrelación. El script muestra la combinación óptima junto con el score obtenido en la ventana de “Experts” de MetaTrader 5.
3. Resultados de ejemplo
Como ejemplo de demostración del proceso, se analizó un conjunto de 17 símbolos durante un tramo de 200 barras en H1 (~8 días de datos). De allí, se generaron 24.310 combinaciones de 8 símbolos, y se identificó la combinación con una media de correlación de 0.3610.
El subset resultante (sólo a modo ilustrativo) fue:
- AUDNZD
- AUDUSD
- EURNZD
- EURUSD
- GBPUSD
- GBPNZD
- USDCAD
- EURGBP
(Correlación media: 0.3610)
Aunque a simple vista llama la atención que EURUSD, GBPUSD y EURGBP aparezcan juntos, el script se basa en la minimización global de la correlación del conjunto. Es decir, si bien algunas parejas pueden parecer muy correlacionadas, la inclusión de otros símbolos (por ejemplo, aquellos con AUD o NZD) compensa y logra una media global más baja.
Importante: Este ejemplo se muestra para ilustrar la metodología del script en un periodo reducido (200 velas en H1). No corresponde al periodo empleado durante el entrenamiento de las redes neuronales de AXIS Neural EA o LINK Neural EA, donde se han utilizado históricos más amplios y validaciones adicionales.
4. Aplicaciones en AXIS Neural EA y LINK EA
Gracias a este análisis de correlaciones:
- Validamos la selección de pares en cada EA, comprobando que la correlación global sea moderada en distintas condiciones de mercado.
- Reducimos el riesgo de un drawdown simultáneo en todos los pares, ya que la exposición se diversifica mediante la incorporación de cruces menos correlacionados.
- Incorporamos cruces “no convencionales” (por ejemplo, EURAUD o GBPNZD) para contrarrestar la exposición predominante en USD o EUR.
5. Recomendaciones y aclaraciones finales
Si un desarrollador o trader desea personalizar la cesta de símbolos para sus propios EAs o realizar estudios similares, se recomienda:
- Usar periodos de datos amplios: por ejemplo, 1000 o 2000 barras en varios timeframes para captar variaciones en las correlaciones a lo largo del tiempo.
- Incluir validaciones “walk-forward”: comparar resultados en distintos tramos (mercado alcista, bajista, lateral) para asegurar la consistencia del subset seleccionado.
- Añadir filtros o umbrales: por ejemplo, excluir combinaciones en las que alguna correlación entre dos símbolos supere un umbral específico, lo que puede mejorar la robustez del sistema.
Con estas medidas se logra una mayor robustez y diversificación, minimizando el efecto de movimientos globales que afecten a todos los pares simultáneamente.
Este análisis de correlación multi-divisa sirve como base científica y estadística para la construcción de sistemas de trading, como AXIS Neural EA y LINK Neural EA, y refuerza la idea de que no todos los pares denominados en USD se mueven de forma unificada. La metodología explicada permite seleccionar cestas de símbolos más equilibradas y resilientes frente a cambios bruscos en el mercado.