A efectos de la TPM, para calcular la rentabilidad de un activo, se suele utilizar la rentabilidad logarítmica diaria de los activos y luego se anualiza y lo mismo ocurre con el stddev
mean = mean(daily log returns)*252
stddev = stddev(daily log returns)*sqrt(252)
Ahora, tengo datos de varios años. Así que también calculo esto de una manera diferente también para comparar:
Calculo el rendimiento anual de cada año por separado (es decir, sin solapamiento, año natural)
annual return = (P365 - P1)/P1
Y luego la media
mean = mean(annual returns for each year)
stddev = stddev(annual returns)
Ahora, cuando comparo los resultados de estos dos, parece que hay grandes diferencias. Por ejemplo, obtengo una (media, stddev) de (13%, 26%) por el primer método comparado con (22%, 52%) en el segundo método. Haciendo un exp(mean) en el primer método para comparar los resultados no hay mucha diferencia.
En código:
First method:
In [2294]: np.log(t2.a.pct_change()+1).mean()*252
Out[2294]: 0.13256313708025944
In [2295]: np.exp(np.log(t2.a.pct_change()+1).mean()*252)
Out[2295]: 1.1417511006444343
In [2296]: np.log(t2.a.pct_change()+1).std()*np.sqrt(252)
Out[2296]: 0.2666418976278336
Second method:
In [2299]: t2.a.groupby(t2.a.index.year).apply(lambda x:(x[-1] - x[0])/x[0]).mean()
Out[2299]: 0.2223071697039014
In [2300]: t2.a.groupby(t2.a.index.year).apply(lambda x:(x[-1] - x[0])/x[0]).std()
Out[2300]: 0.5251807718593228
Pregunta: ¿Es probable que veamos diferencias tan grandes entre los rendimientos anualizados y los rendimientos anuales... especialmente la parte de la volatilidad? ¿O me estoy equivocando en alguna parte?
Gracias por su tiempo.