ComenzarEmpieza gratis

Añadir restricciones

Las restricciones se añaden al objeto de especificación de la cartera con la función add.constraint(). Cada restricción añadida es un objeto independiente y se almacena en el espacio constraints del objeto de cartera. De este modo, las restricciones son modulares y puedes añadir, eliminar o modificar fácilmente las restricciones en el objeto de cartera. Los argumentos obligatorios de add.constraint() son la portfolio a la que se añade la restricción, el type de restricción y los argumentos con nombre que se pasan mediante ... al constructor del tipo de restricción.

Tipos básicos de restricciones:

  • Especificar la restricción sobre la suma de los pesos
    • weight_sum, weight, leverage
    • full_investment es un caso especial que establece min_sum = max_sum = 1
    • dollar_neutral es un caso especial que establece min_sum = max_sum = 0
  • Especificar restricciones para los pesos de cada activo
    • box
    • long_only es un caso especial que establece min = 0 y max = 1
  • Especificar la restricción para la suma de los pesos de los activos por grupo (sector, región, clase de activo, etc.)
    • group
  • Especificar una restricción sobre la rentabilidad media objetivo
    • return

En este ejercicio, vas a añadir algunos de los tipos de restricción más comunes. Además de los tipos básicos anteriores, PortfolioAnalytics también admite restricciones de límite de posiciones, rotación (turnover), diversificación, exposición a factores y exposición a apalancamiento. Si te interesan otros tipos de restricción, 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 una restricción weight_sum de modo que la suma mínima de pesos sea 1 y la suma máxima de pesos sea 1.
  • Añade una restricción box de modo que los cinco primeros activos tengan un peso mínimo del 10% y los activos restantes tengan un peso mínimo del 5%. Todos los activos tienen un peso máximo del 40%.
  • Añade una restricción group de modo que los activos 1, 5, 7, 9, 10 y 11 formen el primer grupo y los activos 2, 3, 4, 6, 8 y 12 formen el segundo grupo. Establece el peso mínimo en 40% y el peso máximo en 60% para cada grupo.

Ejercicio interactivo práctico

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

# Add the weight sum constraint
port_spec <- add.constraint(portfolio = ___, type = ___, min_sum = ___, max_sum = ___)

# Add the box constraint
port_spec <- add.constraint(portfolio = ___, type = ___, min = c(___), max = ___)

# Add the group constraint
port_spec <- add.constraint(portfolio = ___, type = ___, groups = list(c(___), c(___)), group_min = ___, group_max = ___)


# Print the portfolio specification object

Editar y ejecutar código