Termos de Referência
Robot de Trading Basado en MQL5 con Estrategia de Cointegración Detallada
1. Objetivo y Fundamento de la Estrategia
- Propósito: Aprovechar las desviaciones temporales entre activos cointegrados para generar oportunidades de trading. La idea central es que estos activos volverán a una relación de equilibrio en el largo plazo, generando beneficios a partir de esas reversiones.
- Marco Teórico: La cointegración entre dos activos (ej., pares de divisas) indica una relación de equilibrio persistente. La estrategia consiste en identificar momentos en los que el precio de un activo se desvía significativamente del otro y tomar posiciones para beneficiarse del retorno a ese equilibrio.
2. Selección y Análisis de Pares Cointegrados
- Criterios para Selección de Activos:
- Utilizar activos con alta correlación histórica (idealmente del mismo sector o familia).
- Análisis de cointegración mediante pruebas estadísticas de Johansen y Engle-Granger para establecer la validez de la relación de cointegración.
- Frecuencia de Evaluación: La relación de cointegración puede cambiar con el tiempo. Se recomienda evaluar semanal o mensualmente la cointegración entre pares seleccionados y ajustar la estrategia según sea necesario.
- Configuración del Spread: Definir el spread entre los activos (la diferencia de precios o el ratio) como métrica central para determinar las oportunidades de trading.
3. Determinación del Modelo de Trading: Estrategia de Mean Reversion
-
Modelo de Mean Reversion:
- Spread entre Activos: El spread entre los activos debe moverse dentro de un rango predefinido y calcularse constantemente en función de precios de cierre (Cierre1 - Cierre2 o Cierre1 / Cierre2, según corresponda).
- Indicador de Desviación: Se aplican Bandas de Bollinger al spread con una desviación estándar como métrica de distancia del valor medio.
- Umbral de Desviación Estándar: Utilizar un umbral configurable (ej., 1.5 o 2 desviaciones estándar) para definir las zonas de sobrevaloración y subvaloración.
-
Entradas y Salidas:
- Entrada en Posición Larga (Spread Estrecho): Si el spread se contrae y cruza por debajo del límite inferior de la banda (ej., -2 desviaciones), el robot abre posiciones largas en el activo subvalorado y cortas en el sobrevalorado, esperando un retorno al valor medio.
- Entrada en Posición Corta (Spread Amplio): Si el spread se expande y cruza el límite superior de la banda (ej., +2 desviaciones), el robot abre posiciones cortas en el activo subvalorado y largas en el sobrevalorado.
- Cierre de Posiciones: Las posiciones se cierran automáticamente cuando el spread regresa a un punto de equilibrio (por ejemplo, dentro de +/- 0.5 desviaciones estándar del valor medio).
4. Parámetros de Configuración y Optimización
- Ventana de Observación de Cointegración: Rango de datos históricos utilizado para evaluar la cointegración y calcular el spread (por ejemplo, 200 días).
- Umbral de Desviación Estándar para Entradas: Nivel de desvío que activa las órdenes (ej., 2 desviaciones estándar). Este valor es configurable y debe ajustarse mediante optimización.
- Umbral de Equilibrio para Salida: Spread objetivo para el cierre de posiciones (ej., +/- 0.5 desviaciones estándar).
- Frecuencia de Análisis: Determinar si el análisis se realiza en cada tick o al cierre de cada barra (ej., en H1 o H4) para reducir el ruido del mercado.
5. Gestión de Riesgo y Tamaño de Posición
- Ratio de Apalancamiento: Determinar el apalancamiento máximo según la volatilidad y capital disponible.
- Tamaño de Posición: Ajustable en función de:
- El tamaño del spread en el momento de la apertura.
- La volatilidad histórica de cada activo.
- Stop Loss Dinámico:
- Stop Loss ajustado según un porcentaje configurable del spread (ej., un 3% de spread).
- Revisión continua para reubicar el stop según el comportamiento del spread.
- Take Profit Configurable:
- Tomar ganancias a cierto nivel de retorno al equilibrio (definido en términos de spread) o cuando se alcance un umbral de ganancia fija.
6. Backtesting y Optimización
- Variables de Optimización:
- Ventana de observación.
- Umbral de desviación.
- Frecuencia de análisis y tamaño de posición.
- Configuración de Stop Loss y Take Profit.
- Método de Backtesting: Simulación con datos históricos (incluyendo shocks de mercado) para validar la robustez de la estrategia en múltiples condiciones.
- Validación Fuera de Muestra: Pruebas fuera de muestra y en diferentes periodos históricos para evaluar la estabilidad del robot.
7. Consideraciones Adicionales para Programación en MQL5
- Filtro de Volatilidad: Configurar filtros para evitar operaciones en períodos de volatilidad excesiva o cuando el spread se sale de parámetros normales.
- Logs y Estadísticas Detalladas: Incluir registros detallados de operaciones para cada operación abierta/cerrada, spread en el momento de entrada y salida, y desviación estándar en el momento de cada operación.
- Notificaciones y Alertas: Integración de alertas configurables para notificar al usuario de operaciones abiertas, cierres y anomalías de mercado.
Respondido
1
Classificação
Projetos
4
50%
Arbitragem
2
50%
/
0%
Expirado
0
Livre
2
Classificação
Projetos
14
0%
Arbitragem
2
50%
/
50%
Expirado
0
Livre
3
Classificação
Projetos
165
39%
Arbitragem
7
57%
/
0%
Expirado
29
18%
Trabalhando
4
Classificação
Projetos
35
23%
Arbitragem
1
0%
/
0%
Expirado
4
11%
Carregado
5
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Livre
Pedidos semelhantes
Necesito un experto en optimización algoritmica, para un bot de Metatrader 5 (mt5) y está alojado en lenguaje MQL5. Quiero un servicio que me ofrezca una optimización completa, comenzando de manera genérica en diverentes activos financieros e ir avanzando hasta conseguir varios portafolios constituidos por unos cuantos setfiles. La persona que estoy buscando requiere haber acompañado varias optimizaciones (y en
Necesito lo siguiente: 1. que el robot abra operaciones en largo o corto con el cruce de dos medias móviles (las principales) (ejemplo:12 y 24) 2. que cierre operaciones de la instrucción dada anteriormente con el cruce de dos medias móviles (las secundarias) (ejemplo: 240 y 480) 3. que permita elegir cuando abrir operaciones con un filtro de tendencia de medias móviles (ejemplo: 1400 y 2400) 4. que permita elegir la
Informações sobre o projeto
Orçamento
250+ USD
Desenvolvedor
225
USD
Prazo
para 10 dias