3 votos

Calcular la frontera eficiente mediante fPortfolio con un conjunto incompleto de rendimientos

Quiero calcular la frontera eficiente para un conjunto de 140 activos utilizando los rendimientos de los últimos 10 años. Sin embargo, algunos de estos activos se crearon recientemente, por lo que para algunos activos tengo los rendimientos de los 10 años completos, pero para otros sólo tengo los rendimientos de, por ejemplo, los últimos 3 años.

Puedo calcular la frontera eficiente (como se describe en http://www.finance-r.com/s/efficient_frontier_fPortfolio/complete/ ) si utilizo la cola de los rendimientos para los que están disponibles todos los rendimientos. Pero me gustaría utilizar el conjunto completo de rendimientos, cuando esté disponible.

Actualmente fPortfolio lanza una excepción cuando introduzco un conjunto de datos con NAs. ¿Cómo podría alcanzar mi objetivo? Sospecho que tendría que retocar la fuente de fPortfolio.

0voto

ARKBAN Puntos 1388

Podría echar un vistazo a la PortfolioAnalytics paquete. Es optimize.portfolio requiere los rendimientos de los activos, pero el argumento momentFUN le permite proporcionar su propia función para utilizar estos rendimientos para calcular los momentos utilizados en la optimización. En general, ofrece una gran flexibilidad para especificar las restricciones y los métodos de optimización. No está en CRAN, pero está disponible en Volver Página de desarrollo de análisis .

0 votos

Actualización: está disponible en CRAN/PortfolioAnalytics

0voto

Brendan Puntos 150

No soy especialmente fan de fPortfolio. Mi primer pensamiento fue estimar una media y una matriz de covarianza teniendo en cuenta los datos que faltan (debe ser discutido varias veces en este sitio u otros lugares) y pasar eso. Sin embargo, mirando el manual, parece que las funciones relevantes sólo toman datos de series temporales. Basándose en esta limitación, tiene algunas opciones

  1. Obtenga la fuente fPortfolio y reescriba las funciones pertinentes para tomar una media y una covarianza
  2. Escriba su propia función de optimización de la cartera haciendo lo mismo que #1. No es tan difícil.
  3. Un enfoque más sofisticado podría ser utilizar la imputación múltiple. En este caso, simularía los datos que faltan para sus series temporales y luego pasaría el conjunto de datos completo a la función fPortfolio. Repita esto muchas veces y tome un promedio de las ponderaciones (después de un poco de rodaje).

0 votos

Gracias, así que es lo que esperaba. Voy a bucear en el código fuente de fPortfolio y espero contribuir.

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