---
title: Ulcer Performance Index
date: 2019-04-04T14:26:55Z
modified: 2024-07-05T16:14:05Z
permalink: "https://www.x-trader.net/ulcer-performance-index/"
type: post
status: publish
excerpt: "En la Kedada 19 descubrimos una nueva función objetivo para optimizar nuestras estrategias de trading: el Ulcer Performance Index."
wpid: 1430
categories:
  - Sistemas de Trading
tags:
  - Análisis Walk-Forward
  - Backtest de Sistemas de Trading
  - Trading Cuantitativo
featured_image: "https://www.x-trader.net/wp-content/uploads/2019/04/intro_ulcer-index.jpg"
author: X-Trader
---

_Dedicado a Carlos Barredo, gracias por compartir conocimiento._

El pasado sábado celebramos la [Kedada 19](https://www.x-trader.net/foro/viewtopic.php?f=32&t=20198 "Kedada 19") de esta web y en la excelente ponencia realizada por Carlos Barredo, el ganador de la edición de Robotrader del año pasado (al cual entrevistamos [aquí](https://www.x-trader.net/entrevista-a-carlos-barredo/ "Entrevista a Carlos Barredo en X-Trader.net")), en la que analizaba el Ciclo de Producción de Sistemas de Trading, nos sorprendió a todos señalando que utilizaba como función objetivo de las optimizaciones de sus sistemas el Ulcer Performance Index. Dado que el tema me llamó mucho la atención, he decidido profundizar un poco más en el tema, así que… ¡¡¡aquí tenéis toda la información!!! 😉

**Esto del Ulcer me Suena…**
Y a mí también :D. Lo cierto es que el Ulcer Index (UI) lleva bastante tiempo siendo usado en la industria financiera. En particular, esta métrica (aunque también se suele usar como indicador) fue creado a finales de la década de los ochenta por Peter Martin y Byron McCann, apareciendo por primera vez en el capítulo 6 de su libro _The Investors Guide to Fidelity Funds_ (que por cierto está disponible de forma gratuita en la página del autor, [http://www.tangotools.com/ui/fkbook.pdf](http://www.tangotools.com/ui/fkbook.pdf "The Investors Guide to Fidelity Funds PDF")).

¿Qué tiene de especial el UI? Básicamente es un método que nos permite medir el riesgo de una inversión considerando la preocupación que puede generar a un inversor, a diferencia de otras medidas del riesgo. Tal y como señalan sus creadores, «cuanto más alto es el Ulcer Index de una inversión, más posibilidades tendrá de provocar úlceras o insomnio cuando pongamos nuestro dinero en ella».

En particular, si analizamos la desviación típica como medida de riesgo, podemos ver que no es la mejor medida de riesgo ya que:

- Tanto las variaciones al alza como a la baja del valor de nuestra cartera son consideradas para calcular la desviación típica. Sin embargo, a los inversores tan solo les interesa realmente el riesgo, el cual viene asociado a las variaciones a la baja. Las ganancias en nuestra equity producen beneficios, no riesgo.
- Por otro lado, la desviación típica no considera las rachas de operaciones perdedoras, las cuales con las que generan los drawdowns de nuestra equity. Es decir, podemos encontrarnos con estrategias con un rendimiento similar pero una duración en los drawdowns muy diferentes a pesar de tener la misma desviación típica en sus resultados. En la hoja de cálculo que podéis descargar desde [http://www.tangotools.com/ui/SD.xls](http://www.tangotools.com/ui/SD.xls) podéis ver un ejemplo de esto que os acabo de comentar.
- Por último, la desviación típica no nos informa de si se reduce el riesgo de nuestra estrategia evitando los movimientos en contra del mercado.

La desviación típica no es la única medida de riesgo que presenta defectos. Por ejemplo, el Máximo Drawdown o la Mayor Pérdida son tan solo una observación puntual en el tiempo lo cual no es significativo en términos estadísticos. Otras métricas como por ejemplo el Retroceso Máximo Promedio se basan en variaciones absolutas de los precios en lugar de porcentuales. Por último, la mayor parte de métricas de riesgo no pueden utilizarse para comparar diferentes estrategias entre sí (por ejemplo, no podemos comparar una estrategia cualquiera con un Buy & Hold, ya que este último no tiene operaciones).

¿Cómo resuelve todos estos problemas el Ulcer Index? Sencillamente midiendo tanto la profundidad como la duración de los drawdowns de una inversión. Matemáticamente se calcula como:

![](https://www.x-trader.net/wp-content/uploads/2019/04/formula-ulcer-index-fit-276x66-1.png "Formula Ulcer Index")

Donde:

- N es el número total de datos.
- Ri es el porcentaje de retroceso desde el mayor máximo que se haya producido en la equity hasta el momento. El Máximo Drawdown de la estrategia sería el mayor Ri de la serie.

Si analizamos la fórmula anterior vemos que el Ulcer Index incorpora cada drawdown producido a lo largo del tiempo, logrando de esta forma tener un estadístico que resume toda la información y que se va actualizando a medida que nos llegan nuevos datos.

El valor del Ulcer Index será mayor cuanto mayores sean los drawdowns y el tiempo que tarda una estrategia en recuperarse de ellos; es decir, penaliza a las estrategias que se ponen laterales o, lo que es mismo, que sufren períodos de stagnation. Si queréis cómo calcular el Ulcer Index en Excel, los autores tienen una hoja de cálculo disponible en [http://www.tangotools.com/ui/UlcerIndex.xls](http://www.tangotools.com/ui/UlcerIndex.xls "Ejemplo Ulcer Index en Excel").

Veamos lo diferente que puede llegar a ser la valoración de una estrategia en función de la métrica que elijamos gracias al siguiente ejemplo tomado de SystemTraderSuccess: en el siguiente gráfico se muestra el rendimiento de una cartera compuesta incialmente por un 60% de SPY y un 40% de AGG para el período comprendido entre 2004 y 2013. A lo largo de ese período se recalculan las ponderaciones de cada ETF en la cartera al principio de cada año. Junto a la verdadera equity de la cartera, se han incluido además la misma curva pero con los rendimientos invertidos, así como cinco curvas obtenidas realizando permutaciones aleatorias de los verdaderos rendimientos (una suerte de Monte Carlo :P). El gráfico de las diferentes equities es el siguiente:

![](https://www.x-trader.net/wp-content/uploads/2019/04/simulacion-curvas-equity-ETFs-fit-743x349-1.png "Diferentes curvas de beneficios")

Las métricas de riesgo obtenidas para cada curva son las siguientes:

![](https://www.x-trader.net/wp-content/uploads/2019/04/metricas-curvas-equity-ETFs-fit-650x91-1.png "Metricas Curvas Beneficio Rangos")

Como podemos ver, solo el Ulcer Index nos permite diferenciar entre las estrategias, siendo el resto de las métricas muy similares entre las diferentes estrategias. Incluso en aquellos casos en los que el máximo drawdown es casi idéntico, el Ulcer Index marca claramente la diferencia.

A la vista de este ejemplo, está claro que usar el Ulcer Index como medida para comparar estrategias (incluso aunque sean de Buy and Hold) es una buena idea.

**Ulcer Index no es lo Mismo que Ulcer Performance Index**
Como decíamos al comienzo del artículo, casi todo el mundo ha oído hablar del Ulcer Index pero casi nadie conoce el Ulcer Performance Index (incluso a veces por error se confunden).

Para obtener el Ulcer Performance Index, basta con tomar como referencia la fórmula del ratio de Sharpe:

_Ratio Sharpe = (Rendimiento total – Tasa del Activo Libre de Riesgo) / Desv. Típica Rendimientos_

Y sustituir la desviación típica por el Ulcer Index, obteniendo así el Ulcer Performance Index (UPI):

_UPI = (Rendimiento total – Tasa del Activo Libre de Riesgo) / Ulcer Index_

Aquí el único problema es determinar el valor para la tasa del activo libre de riesgo, que generalmente suele equipararse con la rentabilidad de las Letras a 3 o 6 meses (ahora mismo en torno al 2.3%).

En todo caso, para no confundirse conviene tener en mente que a mayor Ulcer Index, peor será nuestra estrategia, mientras que las mejores estrategias serán aquellas que tengan un Ulcer Performance Index elevado. De ahí que el Ulcer Performance Index sea una buena función objetivo para optimizar estrategias, por cuanto es fácilmente interpretable y además permite incorporar las ventajas del Ulcer Index como métrica.

**¿Dónde Encuentro el UPI?**
Por lo que he estado viendo, el UPI como función objetivo no está disponible en casi ninguna plataforma. Así, TradeStation no admite funciones objetivo externas; en NinjaTrader y MultiCharts no viene pero se puede programar; por su parte, me ha sorprendido encontrarla de serie en Neuroshell.

Para Metatrader tenemos el indicador [Ulcer Index para Metatrader 5](https://www.mql5.com/en/code/19813 "Ulcer Index para Metatrader 5") (haciendo un simple cambio de extensión de ese indicador también podéis usarlo en Metatrader 4, podéis descargarlo [desde el Foro](https://www.x-trader.net/foro/viewtopic.php?f=49&t=20225 "Ulcer Index para Metatrader 4")). A partir de este indicador con un poquito de programación podemos crear nuestro propio UPI para Metatrader e incorporarlo a los criterios de optimización (sobre esto tengo pendiente haceros un tutorial).

Por último, para AmiBroker las últimas versiones incluyen el UPI de serie (gracias [@Rupertacho](https://twitter.com/rupertacho "@Rupertacho") por el apunte) pero por si tenéis una versión antigua del «Amigo» podéis programaros la función del UPI en base a la siguiente fórmula:

```
// ----------------------------------- UPI Code ---------------------------------------
``````
// Retracements from the Highest High Current Draw Down.
``````
Cdd = (HHV(C, Period) - C)/HHV(C, Period);
``````
// Max drawdown
``````
MaxDD = HHV(CDD, Period);
``````
// Sum of all retracements squared
``````
R2 = (Sum(Cdd*Cdd, Period))/(Period-1);
``````
// Ulcer Index -Cumulative downside volatility of an equity
``````
UI = sqrt(R2);
``````
// Annual compound percentage rate of return
``````
TR = Close/Ref(Close, -Period); // Total Return for 1 year
``````
ANN = (exp(log(TR))-1); // Annual compounded rate of return
``````
// Ulcer performance index - risk adjusted performance of an investment.
``````
UPI = (ANN - irate(2.4)/100)/UI;
``` **Conclusión**
El Ulcer Index, y su derivado Ulcer Performance Index, nos permiten medir mejor el riesgo de una estrategia y comparar diferentes estrategias entre sí de manera fiable. Eso sí, los creadores de estos indicadores señalan que, para que las conclusiones extraídas a partir de estos indicadores sean válidas, conviene utilizar un amplio período histórico que debe incluir tanto mercados alcistas como bajistas. Por supuesto, no creo que haga falta insistir en que si comparamos diferentes estrategias, estas deben haber sido aplicadas al mismo período. De lo contrario, cualquier resultado basado en el UI o el UPI no será realmente válido.

Saludos,
X-Trader

## Topics

**Categorías:** [Sistemas de Trading](https://www.x-trader.net/wp-content/uploads/wp-mfa-exports/taxonomy/category/sistemas-de-trading.md)

**Etiquetas:** [Análisis Walk-Forward](https://www.x-trader.net/wp-content/uploads/wp-mfa-exports/taxonomy/post_tag/analisis-walk-forward.md), [Backtest de Sistemas de Trading](https://www.x-trader.net/wp-content/uploads/wp-mfa-exports/taxonomy/post_tag/backtest-de-sistemas-de-trading.md), [Trading Cuantitativo](https://www.x-trader.net/wp-content/uploads/wp-mfa-exports/taxonomy/post_tag/trading-cuantitativo.md)