12 votos

optimización robusta de la cartera reequilibrio con costes de transacción

La estrategia óptima de reequilibrio tiene en cuenta factores como i) la función objetivo, ii) las ponderaciones actuales de la cartera, iii) el vector de rentabilidad esperada que contiene las opiniones/previsiones de alfa actualizadas, iv) la incertidumbre en las previsiones de alfa, v) los costes de transacción, vi) la aversión al riesgo y vii) las limitaciones (long-only, rotación, etc.).

Pregunta - ¿Existe alguna biblioteca en R que devuelva el vector de pesos óptimo en función de estas entradas y los informes correspondientes? O debo seleccionar una de las muchos optimizadores en R y construir todos los maravillosos informes de optimización (presupuesto de riesgo, contribución al riesgo, etc.) que el equipo de rmetrics ya ha hecho?

A continuación describo por qué el paquete rmetrics no resuelve el problema:

El reto es que el procedimiento de optimización de rmetrics identifica la cartera óptima sin referencia al vector actual de ponderaciones de la cartera, las previsiones alfa actualizadas y los costes de las transacciones. El procedimiento correcto realizado periódicamente consistiría en especificar la trayectoria de la cartera a lo largo de una línea en la que el coste marginal de las transacciones se compensara justo con el rendimiento marginal esperado (o la reducción marginal del riesgo) en la función de utilidad. La rentabilidad marginal sería el resultado de un modelo de previsión en lugar de utilizar la rentabilidad media. El fPortfolioBacktest se anticipa a este problema e intenta suavizar el cambio de las ponderaciones de un periodo a otro. Pero podemos hacerlo mejor haciendo que el optimizador se enfrente a la compensación directamente.

8voto

MobileCushion Puntos 217

El PortfolioAnalytics creará ponderaciones sin referencia a las ponderaciones actuales, si eso es lo que quiere. También debería tener gran parte de los informes que le gustan de Rmetrics fPortfolio.

Hay una presentación más larga del seminario sobre Portfolioanalytics de la conferencia R/Finance de 2010 aquí: Optimización de carteras complejas con objetivos empresariales generalizados

0 votos

Los enlaces y el ejemplo en poderoso es genial - ¡gracias! Tu elección del optimizador parece lo suficientemente general como para resolver el problema de optimización y al mismo tiempo referenciar los pesos actuales. Creo que puedo pasar una penalización adicional a la función objetivo que mide la distancia del vector de pesos actual al vector de pesos que el optimizador está resolviendo para el tiempo una constante (por ejemplo, los costos de las transacciones). Dado que su optimizador puede tomar la rentabilidad esperada como entrada, supongo que también podría tomar un vector de pesos actual. Esto me permitiría optimizar en presencia de los costes de transacción.

0 votos

Brian, 1) ¿Puede la función PortfolioAnalytics manejar restricciones personalizadas (por ejemplo, pesos neutrales por sector)? La clase de restricción parece preestablecida. 2) Además, veo que la función optimize.portfolio puede aceptar una matriz de rendimientos. Tengo una distribución posterior de los rendimientos esperados del mercado (es decir, K posibles realizaciones de los rendimientos del mercado para N activos resultantes de MCMC). ¿Puede esta función identificar el vector de pesos óptimo con respecto al muestreo de la posterior? Por supuesto, seguiría utilizando la covarianza de las rentabilidades históricas (desnoizadas) para el cálculo del ES. Gracias.

2 votos

Todos los componentes del objetivo son funciones R arbitrarias. El paquete se encarga de la "envoltura" alrededor de todo eso, de las restricciones de caja básicas y de la restricción de inversión completa, de tratar con los motores de optimización, etc. El objetivo se estratifica (y se multiplica/penaliza por separado) por cada función arbitraria usted definir. Esta semana hubo un debate sobre R-SIG-Finanzas aquí mostrando un objetivo personalizado que no está en el modelo "estándar" de utilizar los rendimientos de la forma en que lo hace un enfoque de Markowitz modificado.

7voto

Mike Green Puntos 457

Este es el sitio web de la conferencia R/Finance de este año. Hay muchos enlaces interesantes.

http://www.rinfinance.com/agenda/

La diapositiva de Brian Peterson (Building and Testing Quantitative Strategy Models in R) menciona Portfolio-Analytics (que creo que se basa en R/Metrics).

Y aquí hay un documento basado en Portfolio-Analytics.

http://cran.r-project.org/web/packages/portfolio/vignettes/portfolio.pdf

Soy un tipo de Python (no R) así que no puedo decir si mi respuesta responde exactamente a tu pregunta pero puede ser un buen punto de partida.

1 votos

Buenas sugerencias... pero te ayudaré ya que no eres un tipo de R. :) El Portfolio-Analytics que menciona Brian no está relacionado con R-metrics; se refiere al Paquete PortfolioAnalytics en R-forge.

0 votos

Gracias a todos. He mirado la viñeta adjunta. Este paquete toma como entrada una cartera con un conjunto de pesos. Estoy buscando un optimizador para descubrir el conjunto óptimo de pesos dada la función objetivo y las restricciones anteriores. Así que este módulo se utilizaría después del optimizador. El contenido de R-Finance es una mina de oro - gracias por compartirlo - pero no parece tener nada sobre la construcción y optimización de carteras

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