Русский Português
preview
Trading de arbitraje en Forex: Sistema comercial matricial para retornar al valor justo con limitación del riesgo

Trading de arbitraje en Forex: Sistema comercial matricial para retornar al valor justo con limitación del riesgo

MetaTrader 5Sistemas comerciales |
212 4
Yevgeniy Koshtenko
Yevgeniy Koshtenko

Introducción

Existen innumerables estrategias en el mundo del trading algorítmico, pero solo unas pocas poseen la elegancia matemática y la lógica fundamental que sustenta los mercados financieros. Hoy quiero presentarles un sistema que encarna exactamente estas cualidades: el arbitraje matricial en el mercado Forex, basado en el concepto de valor justo de las divisas.

Imagine un mercado donde las ocho principales divisas del mundo forman una compleja red de relaciones, donde cada par de divisas debe encontrarse en perfecto equilibrio con todas las demás. En teoría, esta red debería estar perfectamente equilibrada, pero en la práctica observamos constantes imperfecciones microscópicas: desviaciones temporales del valor justo que crean oportunidades únicas de obtener beneficios.

Estas desviaciones no suponen simplemente ruido aleatorio, representan desequilibrios que el mercado tarde o temprano corrige, volviendo a un estado de equilibrio. Precisamente esta inevitabilidad matemática aprenderemos a utilizar en nuestro sistema comercial, sin depender de indicadores técnicos ni de análisis subjetivos, sino basándonos únicamente en la lógica inexorable de los números y las probabilidades.

Lo particularmente atractivo de esta estrategia es su versatilidad e independencia de los modos del mercado. Si bien la mayoría de los sistemas solo funcionan en determinadas condiciones (tendencia, estancamiento o alta volatilidad), nuestro sistema matricial funciona en cualquier entorno de mercado porque se basa en leyes matemáticas fundamentales en lugar del sentimiento fugaz del mercado.

En este artículo, no solo presentaremos el concepto teórico, sino que también demostraremos un sistema comercial totalmente automatizado implementado en MQL5 que da vida a esta idea, con gestión de riesgos inteligente, tamaño de posición adaptativo y una matriz de desequilibrio visual para monitorear oportunidades de mercado en tiempo real. Sumérjase en un mundo donde la precisión matemática se une a los mercados financieros, creando un enfoque elegante para sacar provecho de las imperfecciones del sistema monetario global.



El principio de funcionamiento del sistema de arbitraje matricial

Nuestro sistema matricial se basa en un concepto que podría llamarse "arbitraje triangular con esteroides". El arbitraje triangular tradicional implica la búsqueda de desequilibrios entre tres pares de divisas. Nuestro sistema lleva este enfoque a un nivel completamente nuevo creando una matriz multidimensional de relaciones entre todas las principales divisas del mercado Forex.

Fundamento matemático de la estrategia

Cada divisa de nuestro sistema se representa como un vértice en un gráfico multidimensional, donde los bordes son los tipos de cambio entre divisas. Un sistema equilibrado ideal debería tener la propiedad de transitividad: si conocemos los tipos de cambio EUR/USD y USD/JPY, entonces el tipo de cambio EUR/JPY debería ser el producto de estos. Sin embargo, en realidad, el mercado Forex es un organismo vivo, donde constantemente surgen ineficiencias temporales.

Nuestro sistema monitorea estas ineficiencias calculando para cada par de divisas su "valor justo" en función de todos los demás pares de divisas. Cuando el precio de mercado actual se desvía significativamente de este valor justo calculado, existe una oportunidad potencial para entrar en el mercado.

Arquitectura del sistema comercial

El EA crea y actualiza continuamente una matriz de 8x8 que representa las relaciones entre las principales divisas: EUR, USD, GBP, JPY, CHF, CAD, AUD y NZD. Cada celda de la matriz contiene no solo el tipo de cambio actual, sino el tipo de cambio “justo”, calculado considerando todos los tipos de cambio cruzados posibles.

// Матрица курсов валют (справедливые значения)
// Используем одномерный массив для реализации двумерной матрицы
double g_currency_matrix[];

Un punto técnico importante: en el código, usamos un array unidimensional para implementar eficientemente un array bidimensional, lo que garantiza un uso más eficiente de la memoria y mejora el rendimiento del EA cuando trabaja con una gran cantidad de pares de divisas.

El proceso de cálculo del valor justo

El proceso de determinación del valor justo empieza con la inicialización de la matriz, donde los elementos diagonales se rellenan con unidades. Al fin y al cabo, el tipo de cambio de una divisa respecto de sí misma es siempre igual a 1: este es un axioma de nuestro sistema. Luego, la matriz se rellena con los precios actuales del mercado: los mismos precios que vemos en el terminal.

Pero la verdadera magia comienza en el siguiente paso: el refinamiento iterativo todos los valores de la matriz. Aquí se calculan todos los tipos de cambio cruzados posibles cuando el sistema analiza las relaciones monetarias a través de terceras divisas. Piense en ello como un estudio de "solución alternativa": si podemos obtener un mejor tipo EUR/JPY a través del dólar, el sistema lo detectará.

El algoritmo para calcular los tipos de cambio cruzados resulta particularmente elegante:

void CalculateCrossRatesArbitrage()
{
   // Несколько итераций для уточнения матрицы
   for(int iterations = 0; iterations < 3; iterations++)
   {
      for(int i = 0; i < g_currencies_count; i++)
      {
         for(int j = 0; j < g_currencies_count; j++)
         {
            if(i == j) continue;
            
            for(int k = 0; k < g_currencies_count; k++)
            {
               if(k == i || k == j) continue;
               
               double ik_value = GetMatrixValue(i, k);
               double kj_value = GetMatrixValue(k, j);
               
               if(ik_value != 0 && kj_value != 0)
               {
                  double triangleRate = ik_value * kj_value;
                  double current_value = GetMatrixValue(i, j);
                  
                  if(current_value == 0)
                     SetMatrixValue(i, j, triangleRate);
                  else
                     SetMatrixValue(i, j, (current_value * 0.7 + triangleRate * 0.3));
                  
                  current_value = GetMatrixValue(i, j);
                  if(current_value != 0)
                     SetMatrixValue(j, i, 1.0 / current_value);
               }
            }
         }
      }
   }
}

Obsérvese el ajuste fino en forma de factores de ponderación de 0,7 y 0,3. No son números aleatorios, sino el resultado de numerosas pruebas. Damos más peso a las cotizaciones directas, pero al mismo tiempo no ignoramos la información obtenida a través de los tipos de cambio cruzados. Esta proporción crea un equilibrio ideal entre la estabilidad y la sensibilidad del sistema ante las ineficiencias del mercado.

Lógica comercial y gestión de riesgos

Una vez creada la matriz de valor justo, es el momento de tomar decisiones comerciales. El sistema calcula la desviación porcentual del precio de mercado actual respecto del valor justo para cada par de divisas. Esto se expresa mediante una fórmula elegante:

g_market_rates[i].discrepancy = (g_market_rates[i].median / g_market_rates[i].fair_value - 1.0) * 100.0;

Cuando la desviación excede un umbral definido por el usuario, el sistema ve una oportunidad potencial de beneficios. Una desviación negativa significa que el mercado está infravaluando la divisa en relación con su valor justo: será una señal de compra. Una desviación positiva indica sobrevaluación: será una señal de venta.

La gestión inteligente de riesgos no es solo una función complementaria, sino una parte integral de nuestro sistema. La función de cálculo del tamaño de la posición considera no solo el nivel de riesgo indicado por el usuario, sino también las características específicas de un par de divisas en particular: valor del pip, volatilidad y tamaños de lote mínimo y máximo. Esto permite que el sistema se adapte a distintas condiciones del mercado y mantenga el mismo nivel de riesgo, independientemente del instrumento que se esté negociando.

Visualización y monitorización

Uno de los principales tesoros de nuestro sistema es la visualización de la matriz de desequilibrio monetario directamente en el gráfico. No se trata simplemente de un conjunto de números abstractos, sino de un mapa interactivo de oportunidades que se actualiza en tiempo real con cada movimiento del mercado:

=== CURRENCY IMBALANCE MATRIX ===
Total profit: $120.35 / $500.00
       EUR     USD     GBP     JPY     CHF     CAD     AUD     NZD   
    +-------+-------+-------+-------+-------+-------+-------+-------+
 EUR |   X   |+0.15% |-0.31% | ~ | ~ |-0.52% | ~ |
    +-------+-------+-------+-------+-------+-------+-------+-------+
 USD |-0.15% |   X   |+0.24% | ~ |-0.11% | ~ |+0.42% | ~ |
    +-------+-------+-------+-------+-------+-------+-------+-------+
...

Esta visualización actúa como un radar de alta precisión, identificando al momento oportunidades de arbitraje en el mercado Forex. Los valores positivos están resaltados en verde, lo cual indica que el par de divisas está sobrevaluado y representa una posible oportunidad de venta. Los valores negativos están coloreados en rojo, lo cual indica infravaluación y una oportunidad de compra favorable. El símbolo "~" indica pares de divisas en un estado de equilibrio relativo que actualmente no son de interés para nuestra estrategia comercial.

Finalización automática de transacciones

La psicología del trading es una de las áreas más complejas de los mercados financieros. Nuestro sistema aborda este aspecto ofreciendo un mecanismo para cerrar automáticamente una transacción cuando se alcanza un beneficio objetivo específico. El tráder establece el nivel de beneficio deseado y cuando lo alcanza, el sistema cierra todas las posiciones y detiene la negociación hasta el siguiente inicio.

Este mecanismo supone una auténtica protección contra la codicia, uno de los enemigos más peligrosos del tráder. Cuando el sistema alcanza su objetivo, no se deja tentar por la oportunidad de ganar "un poco más", sino que fija disciplinadamente los beneficios.

La esencia de nuestro sistema matricial se puede expresar en una frase: "La elegancia matemática al servicio de la eficiencia financiera". No intentaremos predecir los movimientos del mercado ni analizar noticias. En lugar de ello, vamos a crear un modelo matemático de relaciones justas entre las divisas y a beneficiarnos de las desviaciones temporales del mercado respecto de ese modelo. Esto supone un enfoque que funciona independientemente de las condiciones del mercado porque se basa en principios matemáticos fundamentales en lugar de en tendencias transitorias del mercado.

En la siguiente parte del artículo, profundizaremos en los aspectos prácticos de la configuración del sistema, consideraremos los parámetros óptimos para diversas condiciones del mercado y analizaremos los resultados de las pruebas retrospectivas sobre datos históricos que abarcan varios modos de mercado.



Configuración óptima de los parámetros del sistema

El arte de crear un sistema comercial verdaderamente efectivo no consiste tanto en inventar nuevos indicadores o métodos de análisis, sino en ajustar los parámetros. En nuestro sistema de arbitraje matricial, las configuraciones clave son: la desviación mínima para ingresar al mercado, el nivel de riesgo y el enfoque para calcular el tamaño de las posiciones.

El parámetro MinDiscrepancy merece atención especial. Un valor demasiado bajo dará lugar a frecuentes entradas al mercado con pequeñas desviaciones que pueden suponer simplemente ruido aleatorio. Un valor demasiado alto significará que el sistema puede perder muchas oportunidades. Basándonos en pruebas exhaustivas, recomendamos comenzar con este parámetro establecido en el rango de 0,05-0,1%. Para los pares que involucran al yen, un valor más alto de alrededor del 0,15% puede resultar óptimo, dada su volatilidad tradicionalmente alta.

La gestión de riesgos a través del parámetro MaxRisk es su escudo protector en el mundo del trading de divisas. Le recomendamos no superar nunca el 0,02 (2% del saldo) incluso para las estrategias más agresivas. Los tráders conservadores pueden reducir este valor a 0,01 o incluso a 0,005, sacrificando ganancias potenciales a cambio de una mayor estabilidad.

El cálculo automático del tamaño de lote (AutoLots) supone una herramienta poderosa para adaptar el sistema a diversas condiciones del mercado. Cuando esta opción está habilitada, el sistema determina automáticamente el tamaño de posición óptimo considerando la volatilidad actual y el valor del pip para un par de divisas específico. Esto le permite mantener el mismo nivel de riesgo para todas las transacciones, independientemente del instrumento que se esté negociando.

El momento de actualización de la matriz y las señales comerciales

La frecuencia de actualización de la matriz de valor justo tiene un impacto significativo en el rendimiento del sistema. Las actualizaciones demasiado frecuentes pueden generar "ruido" innecesario en los cálculos, mientras que las actualizaciones demasiado infrecuentes pueden provocar la pérdida de oportunidades. En nuestra implementación, usamos un temporizador con un intervalo de 5 segundos:

EventSetTimer(5); // Обновление каждые 5 секунд

Hemos elegido este intervalo por una razón: garantiza un equilibrio entre la relevancia de los datos y la carga computacional. Al trabajar con procesadores rápidos, podemos experimentar reduciendo este intervalo a 2-3 segundos para obtener una respuesta aún más rápida a los desequilibrios del mercado.

Curiosamente, durante periodos de alta volatilidad del mercado, como durante la publicación de noticias económicas importantes, el sistema puede mostrar resultados particularmente impresionantes. Los movimientos bruscos de precio a menudo crean desequilibrios temporales entre los pares de divisas, y nuestro sistema los detecta eficazmente. Sin embargo, deberá tener cuidado al negociar durante periodos de volatilidad extrema: el aumento de los spreads puede afectar significativamente la rentabilidad de la estrategia.

Ajuste fino de los cálculos matriciales

Una de las características más interesantes de nuestro sistema es el mecanismo para refinar iterativamente la matriz de valor justo. En la implementación actual usamos tres iteraciones:

for(int iterations = 0; iterations < 3; iterations++)
{
   // Расчет кросс-курсов...
}

El aumento del número de iteraciones puede mejorar potencialmente la precisión de los cálculos, pero a costa de aumentar la carga computacional. Nuestras pruebas muestran que tres iteraciones ofrecen el equilibrio óptimo entre precisión y rendimiento.

Otro parámetro de ajuste son los coeficientes de ponderación al promediar el tipo de cambio directo y el calculado utilizando los tipos cruzados:

SetMatrixValue(i, j, (current_value * 0.7 + triangleRate * 0.3));

El aumento del peso de triangleRate hará que el sistema sea más sensible a las oportunidades de arbitraje, pero también puede aumentar la cantidad de señales falsas. La disminución de este coeficiente, por el contrario, dará como resultado una estrategia más conservadora con menos transacciones, pero un porcentaje potencialmente mayor de entradas exitosas.

El parámetro de beneficio objetivo TotalProfitTarget merece especial atención. Su instalación es una especie de contrato disciplinario que el tráder hace consigo mismo. Una vez alcanzado el objetivo, el sistema cierra todas las posiciones y deja de negociar hasta el próximo inicio. Esto protege al tráder de la tentación de "mejorar un poco el resultado", lo que a menudo provoca la pérdida de las ganancias ya obtenidas.

Adaptación del sistema a las condiciones cambiantes del mercado

El mercado Forex es un organismo vivo en constante evolución. Lo que funcionó ayer puede no funcionar mañana. ¿Cómo se adapta nuestro sistema matricial a las condiciones cambiantes?

En primer lugar, el propio concepto de búsqueda de desviaciones respecto al valor justo hace que el sistema resulte relativamente resistente a los cambios en los modos del mercado. No se basa en tendencias a largo plazo ni en patrones estables de acción de precios, sino que se beneficia de los desequilibrios a corto plazo que existen independientemente de la dirección general del mercado.

En segundo lugar, un enfoque sistemático en la optimización de parámetros permite adaptar la estrategia a las condiciones actuales del mercado. Le recomendamos reoptimizar periódicamente (por ejemplo, una vez al trimestre) los parámetros utilizando los últimos datos históricos para que el sistema esté "adaptado" a las condiciones actuales del mercado.

En la siguiente parte del artículo, analizaremos las capacidades avanzadas de nuestro sistema matricial, incluidas las entradas y salidas adaptables, la integración con otros métodos de análisis y la capacidad de escalar la estrategia a otros pares de divisas e instrumentos.



Capacidades ampliadas del sistema de arbitraje matricial

El verdadero poder de nuestro sistema matricial se revela plenamente al comenzar a explorar sus capacidades ampliadas. Desde algoritmos de entrada-salida adaptativos hasta la integración con fuentes adicionales de información del mercado. El potencial para el desarrollo creativo del concepto básico resulta prácticamente ilimitado.

Algoritmos de entrada y salida adaptativos

La implementación estándar de nuestro sistema usa un valor de desviación mínima fijo para ingresar al mercado. No obstante, el mercado Forex es dinámico y la volatilidad de los pares de divisas individuales cambia constantemente. Imagínese cuánto más eficiente podría ser el sistema si el umbral de entrada se adaptara de forma automática a la volatilidad actual del mercado.

Podemos modificar nuestro sistema añadiendo el cálculo de la desviación estándar móvil de los desequilibrios para cada par de divisas. Luego, el valor de MinDiscrepancy se ajustará automáticamente: aumentará durante periodos de alta volatilidad y disminuirá durante los más tranquilos. Esta adaptabilidad aumenta significativamente la eficiencia del sistema, sobre todo durante los periodos de transición cuando la naturaleza del mercado cambia drásticamente.

Podemos aplicar un enfoque similar al algoritmo para salir de las posiciones. En lugar de simplemente cerrar una posición ante una señal opuesta, el sistema puede usar un trailing stop adaptativo que seguirá el precio a una distancia proporcional a la volatilidad actual. Esto permite maximizar los beneficios si el precio continúa moviéndose en una dirección favorable.

Integración con correlación monetaria

Nuestro sistema matricial ya considera implícitamente las correlaciones entre pares de divisas a través del cálculo de valores justos. Sin embargo, podemos ir más allá y añadir un análisis de correlación explícito que ayudará a optimizar la estructura de las posiciones abiertas.

Imagine una situación en la que el sistema emite simultáneamente señales para comprar EUR/USD y vender GBP/USD. Estos pares suelen tener una alta correlación positiva, lo que hace que estas transacciones contrarias sean particularmente atractivas desde una perspectiva de riesgo/recompensa. En efecto, estamos creando una cobertura que nos protege de los movimientos amplios del mercado y nos permite sacar provecho de los movimientos relativos de las divisas.

Por otro lado, si el sistema produce señales en la misma dirección en pares altamente correlacionados (por ejemplo, posiciones largas en EUR/USD y AUD/USD), y dicha combinación aumenta la concentración de riesgo. En este caso, resulta posible implementar un algoritmo que seleccione solo uno de los pares con la mayor relación riesgo/recompensa esperada.

Optimización de la eficiencia computacional

A medida que el sistema se expande para abarcar más pares de divisas, la eficiencia computacional se vuelve crítica. Nuestra implementación actual usa un enfoque simple pero efectivo con un array unidimensional para almacenar un array bidimensional. Esta solución ahorra significativamente memoria y aumenta la velocidad de procesamiento.

Pero podemos ir aún más lejos. Para sistemas muy grandes (por ejemplo, que abarcan todos los pares de divisas principales, secundarios y exóticos), se pueden implementar matrices dispersas que almacenen solo elementos distintos de cero. Esto resulta particularmente efectivo porque al inicio del sistema, la mayoría de las celdas de la matriz de valor justo están vacías.

Otra oportunidad de optimización sería la computación paralela. Los procesadores modernos tienen múltiples núcleos y el algoritmo de refinamiento de matriz iterativo se puede paralelizar, lo cual acelera significativamente los cálculos para sistemas grandes.

Selección dinámica de pares de divisas

En la implementación actual, el sistema funciona con un conjunto fijo de ocho divisas principales. Sin embargo, podemos desarrollar un algoritmo que seleccione dinámicamente pares de divisas para su análisis en función de su liquidez, volatilidad y el rendimiento histórico del sistema en esos pares.

// Динамический отбор валютных пар
void SelectOptimalCurrencyPairs()
{
   CArrayString potential_pairs; // Все доступные пары
   
   // Заполнение списка всех доступных пар
   // ...
   
   // Оценка каждой пары по нескольким критериям
   for(int i = 0; i < potential_pairs.Total(); i++)
   {
      double liquidity = EstimateLiquidity(potential_pairs.At(i));
      double volatility = EstimateVolatility(potential_pairs.At(i));
      double historical_performance = EstimateHistoricalPerformance(potential_pairs.At(i));
      
      // Комбинированная оценка
      double score = CalculateCombinedScore(liquidity, volatility, historical_performance);
      
      // Сохранение оценки
      // ...
   }
   
   // Выбор лучших пар для текущего торгового цикла
   // ...
}

Este enfoque permite que el sistema se adapte a las condiciones cambiantes del mercado, centrándose en los pares de divisas más prometedores en la actualidad.

Comercio de instrumentos derivados

Los principios de nuestro sistema matricial se aplican no solo al mercado Forex al contado, sino también a derivados como futuros y opciones sobre divisas. Un área particularmente interesante es el uso del sistema para el comercio de opciones, donde los desequilibrios temporales en los precios pueden crear oportunidades adicionales de arbitraje.

El sistema se puede modificar para calcular la volatilidad "justa" para distintos vencimientos y precios de ejercicio de opciones, identificando situaciones en las que las primas del mercado se desvían sustancialmente de los valores teóricamente justos. Este enfoque abre un mundo completamente nuevo de posibilidades para los tráders experimentados.

Escalabilidad a otras clases de activos

Aunque nuestro sistema ha sido desarrollado para el mercado Forex, su concepto es universal y puede adaptarse a otros instrumentos financieros relacionados. Podemos considerar aplicar el enfoque matricial a los pares de criptodivisas, donde las ineficiencias de precios suelen ser más pronunciadas que en los mercados tradicionales.

Otra área interesante es el arbitraje entre mercados, donde el sistema analiza las relaciones entre distintas clases de activos: divisas, tasas de interés, materias primas e índices. Por ejemplo, existen correlaciones históricas bien conocidas entre el dólar australiano y los precios del oro, o entre el dólar canadiense y los precios del petróleo. Las desviaciones temporales en estas correlaciones pueden ofrecer oportunidades comerciales interesantes.



Conclusión

El sistema de arbitraje matricial encarna una idea filosófica profunda: los mercados buscan el equilibrio, pero nunca lo alcanzan al 100%. Es en esta oscilación constante entre el caos y el orden donde se esconden las oportunidades de obtener beneficios.

Nuestro sistema no intenta predecir movimientos de precios futuros basándose en patrones históricos o factores fundamentales. En lugar de ello, crea un modelo matemático de un mercado "perfecto" y se beneficia de las desviaciones temporales del mercado real con respecto a este modelo. Este enfoque hace que el sistema sea resiliente a los cambios en los modos y tendencias del mercado, es decir, que no funciona con tendencias o reversiones, sino con los desequilibrios relativos que existen en cualquier entorno de mercado.

En una era en la que el aprendizaje automático y las redes neuronales se están volviendo cada vez más populares en el trading algorítmico, nuestro sistema matricial nos recuerda el poder de los métodos matemáticos clásicos. Demuestra que a veces una aplicación elegante de principios simples puede ser más efectiva que modelos complejos que necesitan entrenamiento con grandes cantidades de datos.

Ahora ponemos en sus manos una poderosa herramienta que, utilizada correctamente, puede convertirse en una valiosa adición a su arsenal de trading. Recuerde que la clave del éxito en el trading algorítmico no es solo la calidad del algoritmo en sí, sino también la disciplina y el método en su aplicación práctica. Comience con configuraciones conservadoras, pruebe exhaustivamente el sistema en distintas condiciones de mercado y adáptelo gradualmente a su propio estilo comercial y objetivos.

El sistema de arbitraje matricial es más que un simple robot comercial; es una nueva forma de ver el mercado que le permite ver estructura y orden donde otros solo ven caos y movimientos de precios aleatorios. ¡Bienvenido al mundo del trading matemático! 

Traducción del ruso hecha por MetaQuotes Ltd.
Artículo original: https://www.mql5.com/ru/articles/17947

Archivos adjuntos |
ArbyCross.mq5 (42 KB)
Evgen Khenkin
Evgen Khenkin | 6 may 2025 en 08:41
Llevaba mucho tiempo esperando algo así. Gracias por el material.
hdhyxiaobin
hdhyxiaobin | 6 may 2025 en 09:44
EA laod y mostrando error: cero dividir, comprobar divisor para evitar este error en 'ArbyCross.mq5' (482,34)
ruega modificar . thankkyou

Roman Shiredchenko
Roman Shiredchenko | 6 may 2025 en 14:22

Gracias. Interesante artículo. Voy a releerlo en detalle....

sobre RUSIA en acciones - futuros sobre la misma o sber - sber es previligated - se puede utilizar este enfoque?

pivomoe
pivomoe | 8 may 2025 en 08:47
A juzgar por la imagen al principio del artículo EURUSD y USDEUR están ambos en arbitraje en la misma dirección. ¿Dónde está la lógica? Deberían estar en el arbitraje opuesto. Es un poco confuso que casi todos los pares estén en arbitraje. Siempre he pensado que forex es un mercado muy eficiente, pero a juzgar por la captura de pantalla, el comercio se lleva a cabo en un hospital psiquiátrico.
Redes neuronales en el trading: Pronóstico de series temporales con descomposición modal adaptativa (ACEFormer) Redes neuronales en el trading: Pronóstico de series temporales con descomposición modal adaptativa (ACEFormer)
Lo invitamos a explorar la arquitectura ACEFormer, una solución moderna que combina la efectividad de la atención probabilística con la descomposición adaptativa de series temporales. Este material resultará útil para quienes buscan un equilibrio entre el rendimiento computacional y la precisión de los pronósticos en los mercados financieros.
Superando las limitaciones del aprendizaje automático (Parte 1): Falta de métricas interoperables Superando las limitaciones del aprendizaje automático (Parte 1): Falta de métricas interoperables
Existe una fuerza poderosa y omnipresente que corrompe silenciosamente los esfuerzos colectivos de nuestra comunidad por desarrollar estrategias comerciales fiables que empleen la IA en cualquiera de sus formas. Este artículo establece que parte de los problemas a los que nos enfrentamos tienen su origen en la adhesión ciega a las «mejores prácticas». Al proporcionar al lector pruebas sencillas basadas en el mercado real, le explicaremos por qué debemos abstenernos de tal conducta y adoptar, en su lugar, las mejores prácticas específicas del ámbito si nuestra comunidad quiere tener alguna posibilidad de recuperar el potencial latente de la IA.
Simulación de mercado (Parte 22): Iniciando el SQL (V) Simulación de mercado (Parte 22): Iniciando el SQL (V)
Antes de que tires la toalla y decidas abandonar el estudio sobre cómo usar SQL, déjame recordarte, mi querido lector, que aquí todavía estamos usando solo lo más básico de lo básico. Aún no hemos explorado algunas cosas que es posible hacer en SQL. En cuanto las exploremos, verás que SQL es mucho más práctico de lo que parece. Aunque, muy probablemente, yo termine cambiando la dirección de lo que estamos creando. Esto se debe a que el proceso de creación es dinámico. Voy a mostrar un poco más sobre cómo hacer las cosas en SQL. Esto se debe a que, de hecho, es algo que necesitas entender y conocer. Simplemente pensar que eres más capaz que toda una comunidad de programadores y desarrolladores solo te hará perder tiempo y oportunidades. Ten calma, porque esto se va a volver aún más interesante.
Algoritmo de optimización caótica — Chaos optimization algorithm (COA): Continuación Algoritmo de optimización caótica — Chaos optimization algorithm (COA): Continuación
Continuamos el estudio del algoritmo de optimización caótica. La segunda parte del artículo está dedicada a los aspectos prácticos de la implementación del algoritmo, sus pruebas y conclusiones.