PEF Portfolio Efficiency Front
- Utilidades
- Better Trader Every Day
- Versión: 2.0
- Actualizado: 7 septiembre 2025
- Activaciones: 5
Enesta página del blog encontrará una explicación más detallada con ejemplos de entrada/salida de FCR.
1. Visión general
El script PEF es una herramienta para la optimización de carteras. Calcula laFrontera de Pareto Eficiente entre la rentabilidad y el riesgo de la cartera (ya sea CVaR o Desviación Estándar) utilizando simulaciones Monte Carlo y métodos de bootstrapping.
El script permite a los operadores y analistas cuantitativos:
-
Cargar datos de precios históricos para múltiples instrumentos.
-
Simular los resultados de la cartera con asignaciones de pesos aleatorias o personalizadas.
-
Estimar métricas de rendimiento como la rentabilidad media, el CVaR, la desviación estándar o el ratio de Sharpe.
-
Identificar y exportar las carteras de la frontera de Pareto a un archivo CSV para su posterior análisis.
2. Parámetros de entrada
Datos de precios
-
InstrumentsList : Lista de símbolos separados por comas (por ejemplo, "XAUUSD, USDJPY, EURUSD" ).
-
historyBars : Número de barras históricas a cargar para cada símbolo.
-
DataTimeFrame : Marco temporal de los datos (por ejemplo, PERIOD_D1 ).
Parámetros de simulación
-
ParetoAxesSelection : Selecciona qué métrica de riesgo se utiliza en el eje horizontal:
-
RetVsCVaR : Rentabilidad vs Valor en Riesgo Condicional.
-
RetVsStd : Rentabilidad vs Desviación Estándar.
-
-
SimuDays : Número de días de negociación a simular (por ejemplo, 21,6 ≈ 1 mes).
-
SimMethodSelection : Método de simulación:
-
MCBootstraping : Monte Carlo con bootstrapping (retornos remuestreados).
-
MC : Monte Carlo solamente (utilizando la distribución de rentabilidad histórica).
-
-
NumberMCsimulations : Número de simulaciones de cartera.
-
NumberBootstrapTrials : Número de remuestreos bootstrap (sólo para bootstrapping).
-
randMethod : Método de generación de números aleatorios:
-
Parallel : Más rápido, menos aleatorio (números aleatorios pregenerados).
-
Sequential : Más lento, más aleatorio (generado secuencialmente).
-
-
AnnualRiskFreeReturnPct : Rentabilidad anualizada libre de riesgo (%) utilizada en el ratio de Sharpe.
-
BetaConfidence : Nivel de confianza para CVaR (por defecto 0.95).
-
customWeights : Lista separada por comas de ponderaciones de cartera personalizadas (opcional).
Parámetros de salida
-
printEqualWeightSet : Muestra los resultados de una cartera de igual ponderación.
-
printSepCovCorr : Imprime las matrices de covarianza y correlación por separado.
-
printCovCorr : Imprime la matriz combinada de covarianza-correlación.
-
saveCSVfile : Guarda el frente de Pareto en un archivo CSV.
-
addNonPareto2CSVfile : Incluir carteras no Pareto en CSV.
-
ParetoCSVfilename : Nombre del archivo CSV de salida.
3. Metodología
-
Recogida de datos
-
Se obtienen los precios de cierre históricos de los instrumentos seleccionados.
-
Los rendimientos se calculan como variaciones porcentuales de los precios.
-
-
Simulación de carteras
-
Se genera un gran número de vectores de pesos aleatorios.
-
Dos métodos de simulación posibles:
-
MC (Monte Carlo): Simulación directa a partir de la distribución histórica de rentabilidades.
-
MCBootstraping: Remuestreo de los rendimientos con sustitución para tener en cuenta la variabilidad.
-
-
-
Cálculo del riesgo y la rentabilidad
-
Para cada conjunto de pesos, el script calcula:
-
Rentabilidad media (%).
-
CVaR (%): Media de los peores (1-β)% resultados.
-
Desviación estándar (%).
-
-
-
Extracción de la frontera de Pareto
-
Una cartera es Pareto-óptima si ninguna otra cartera consigue mayor rentabilidad con igual o menor riesgo.
-
Las carteras no dominadas se seleccionan como la frontera de Pareto.
-
-
Optimización del ratio de Sharpe
-
El script encuentra la cartera con el máximo ratio de Sharpe relativo a la tasa libre de riesgo elegida.
-
4. Resultados
Ficha Experto en MetaTrader5
-
Resumen de los parámetros de entrada.
-
Matrices de covarianza/correlación.
-
Tabla de la frontera de Pareto (riesgo, rentabilidad, CVaR/std, ponderaciones).
-
Rendimiento de la cartera de igual ponderación.
-
Rendimiento de la cartera con ponderación personalizada (si se proporciona).
-
Cartera con máximo ratio de Sharpe.
Salida CSV (si está activada)
-
Archivo guardado en MQL5/Files/ con el nombre especificado en ParetoCSVfilename .
-
Las columnas incluyen:
-
Riesgo (CVaR% o Std%),
-
Rendimiento medio%,
-
Métrica de riesgo secundaria,
-
Ponderación de los activos.
-
Todos los demás resultados se pueden ver en la pestaña Experto del terminal MetaTrader5.
