4 votos

¿Por qué la rentabilidad anualizada y la rentabilidad acumulada no son iguales en un periodo de 1 año con el paquete Performance Analytics en R?

Utilizo el paquete Performance Analytics en R para comparar la rentabilidad anualizada y acumulada de una cartera. Mi expectativa es que ambos deben ser iguales durante un período de 1 año, pero los resultados me dicen que estoy equivocado.

No me queda claro cómo la rentabilidad anualizada puede ser de 122,55 del 2014-01-01 al 2014-12-31 mientras que la rentabilidad acumulada es de 205,71 en el mismo periodo. Geométrico se establece en su valor predeterminado ( TRUE ) y creo que el número de periodos en un año está fijado por defecto en 252 (escala diaria).

statistic <- rbind(Return.annualized(bench)*100, Return.cumulative(bench)*100)

Para saber mejor cuál es la rentabilidad que puedo esperar de esta cartera ¿podría alguien explicarme por qué ambas rentabilidades no son iguales?

0 votos

Debe añadir enlaces a la documentación del paquete. ¿Has echado un vistazo? ¿Qué dice sobre la diferencia entre estos dos métodos?

2voto

Ryan Guill Puntos 6115

La documentación del paquete R PerformanceAnalytics proporciona ejemplos tanto para el Return.annualized() y Return.cumulative() funciones.

La rentabilidad anualizada escala las rentabilidades subanuales a una rentabilidad anual. Puede observar la diferencia tecleando Return.annualized (sin ningún parámetro) en tu consola de R para ver la implementación de las funciones. Mira cómo se calcula el retorno si se aplica la vinculación geométrica:

 if (geometric) {
            result = prod(1 + R)^(scale/n) - 1
        }

Los rendimientos acumulados son rendimientos reales que se calculan a lo largo de un periodo anual. La fórmula de cálculo es similar, pero no incluye la escala:

else {
            return(prod(1 + R) - 1)
        }

Si el periodo analizado es exactamente un año, la rentabilidad anualizada y la acumulada son iguales:

data(managers)
Return.annualized(managers[121:132])
Return.cumulative(managers[121:132,])

Pero si el periodo no es igual a un año se espera que sean diferentes:

data(managers)
Return.annualized(managers[115:132])
Return.cumulative(managers[115:132,])

0 votos

Gracias. Para que mi rentabilidad anualizada sea de 122,55 he comprobado que n debe ser igual a 352 en prod(1 + R)^(escala/n) - 1 ( n es el número total de periodos para los que dispongo de observación). La consecuencia es que la relación (escala/n) es diferente de 1 (con escala = 252). No está claro qué es lo que falla porque periodicity(bench) devuelve Daily periodicity from 2014-01-14 to 2014-12-31 .

1 votos

Entiendo. n igual 352 porque tengo sábado y domingo en mi conjunto de datos ;-) y PerformanceAnalitics no está diseñado para trabajar con 7 días de negociación por semana.

0 votos

El supuesto más frecuente para la rentabilidad de las acciones es que hay 252 días de negociación en un año. Existen otras convenciones de recuento de días, pero suelen desempeñar un papel más importante cuando se examinan datos de renta fija, ya que los rendimientos se evaluarían muy a menudo en lugar de observarse....

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X