3 votos

R, Performance Analytics, ¿Cómo trazar una línea continua con datos no continuos?

En R, con el paquete Performance analytics, estoy tratando de graficar múltiples rendimientos acumulados de activos a partir de un objeto XTS. El caso es que me faltan algunos datos de algunos rendimientos de activos para que el gráfico dado de:

chart.CumReturns(XTS_DR_ALL[, c(1,2,5)], wealth.index = TRUE, main = "Rentabilidad mensual, basada en 100, desde el inicio", legend.loc="topleft", )

...traza curvas no continuas, que no son fáciles de visualizar...

enter image description here

¿Puedo hacer algo para trazar líneas continuas para los rendimientos de los activos de los que me faltan datos? Saludos, Joe.

3voto

penti Puntos 93

Creo que su pregunta se refiere a una cuestión más amplia: ¿Cómo comparar el rendimiento de las series temporales financieras con datos perdidos? En efecto, es bastante común que haya valores perdidos para determinados productos (por diversas razones), por lo que se necesita una estrategia general para ello.

Algunas observaciones:

  1. El gráfico es como es por una razón: Hay rendimientos que faltan en la serie y fingir que no los hay no va a servir de nada. Así que el gráfico es correcto y también es una buena práctica no proporcionar algún argumento como impute = TRUE para hacer algunos retornos interpolados. Si quisieras hacer eso, deberías hacerlo en los datos subyacentes, no en la función de gráficos.
  2. Si su objetivo es comparar el rendimiento de dos productos, una forma de hacerlo es omitir los valores que faltan... pero tenga cuidado: No omitas los rendimientos, ¡omite los precios! ¿Por qué? Porque si se pierden algunos precios, los rendimientos intermedios seguirán siendo correctos, ¡no así los rendimientos perdidos!
  3. Así que lo que quiere hacer es primero fusionar las dos series de precios para obtener las fechas en las que tiene los datos completos (en la jerga de la base de datos un "full outer join") y después convertirlos en retornos.

En R puedes, por ejemplo, hacer lo siguiente:
ROC(merge(Prices_1, Prices_2, all = FALSE))

Si quieres usar métodos más sofisticados (con todas las advertencias) hay un paquete de R especialmente para la imputación de valores perdidos en datos de series temporales (pero aún no lo he probado):
imputación: Imputación de valores perdidos en series temporales

Puede encontrar una viñeta introductoria aquí:
imputación: Imputación de valores perdidos en series temporales en R

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