ComenzarEmpieza gratis

Añadir objetivos

Los objetivos se añaden al objeto de cartera con la función add.objective(). Cada objetivo añadido es un objeto independiente y se guarda en la ranura objectives del objeto de especificación de cartera. Así, los objetivos son modulares y puedes añadir, eliminar o modificar fácilmente los objetos de objetivo. El argumento name debe ser una función válida de R. Hay varias funciones disponibles en el paquete PerformanceAnalytics, pero también se pueden usar funciones definidas por el usuario como funciones objetivo. Los argumentos obligatorios de add.objective() son el portfolio al que se añade el objetivo, el type del objetivo, el name del objetivo y los argumentos con nombre que se pasan mediante ... al constructor del tipo de objetivo. Los argumentos para la función objetivo se especifican como una lista con nombre en arguments.

Tipos básicos de objetivo:

  • return: Este tipo de objetivo busca maximizar la función objetivo.
  • risk: Este tipo de objetivo busca minimizar la función objetivo.
  • risk_budget: Este tipo de objetivo busca minimizar la concentración de riesgo o penalizar la contribución al riesgo que exceda el porcentaje mínimo o máximo permitido de contribución al riesgo.

Además de los tipos de objetivo anteriores, PortfolioAnalytics también admite tipos de objetivo de utilidad cuadrática y de concentración de pesos. Si te interesan otros tipos de restricciones, consulta los archivos de ayuda de los constructores de restricciones. Los archivos de ayuda incluyen una descripción del tipo de restricción y código de ejemplo.

Este ejercicio forma parte del curso

Análisis de carteras intermedio en R

Ver curso

Instrucciones del ejercicio

  • Añade un objetivo de rentabilidad al objeto de especificación de cartera port_spec que creaste en un ejercicio anterior.
  • Añade a port_spec un objetivo de riesgo para minimizar la desviación estándar de la cartera.
  • Añade a port_spec un objetivo de presupuesto de riesgo donde el riesgo se defina como desviación estándar por componentes. Establece el porcentaje mínimo de riesgo en un 5% y el porcentaje máximo en un 10%.
  • Imprime el objeto port_spec.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Add a return objective to maximize mean return
port_spec <- add.objective(portfolio = ___, type = ___, name = ___)

# Add a risk objective to minimize portfolio standard deviation
port_spec <- add.objective(portfolio = ___, type = ___, name = ___)

# Add a risk budget objective
port_spec <- add.objective(portfolio = ___, type = ___, name = ___, min_prisk = ___, max_prisk = ___)

# Print the portfolio specification object

Editar y ejecutar código