El drawdown es una medida estadística que refleja los descensos relativos del valor de una inversión posteriores a los máximos que ésta alcanza. Ayuda a evaluar el riesgo de una inversión, cartera de valores, estrategia de trading, etc...

Es esta página se ofrece la definición matemática del drawdown ilustrándola en R. Lo que sigue es un resumen en castellano y el código en Python haciendo uso de Pandas.

Sea $v$ una serie temporal de los valores de una inversión con observaciones en $t=0,1,2,3...T$, el drawdown $D_t$ de esta serie en el momento $t$ se define como:

$$ D_t = \dfrac{v_t - v_t^{max}}{v_t^{max}}$$

Siendo $v_t^{max}$, el máximo alcanzado hasta t, es decir, $v_t^{max} = \max\{v_s|s\in[0,t]\}$

import datetime as dt
import matplotlib.pyplot as plt
from pandas.io.data import DataReader

# Descarga datos de ejemplo
TRE = DataReader('TRE.MC', 'yahoo', start = dt.datetime(2012, 1, 1))

# Calcula el drawdown
V = TRE.Close
TRE['drawdown'] = (V - V.cummax()) / V.cummax()

# Dibuja el gráfico
TRE[['Close','drawdown']].plot(subplots = True, grid = True, legend = False)
plt.fill_between(TRE.index, TRE.drawdown, color = 'green')
plt.show()


Comments

comments powered by Disqus