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,leveragefull_investmentes un caso especial que establecemin_sum = max_sum = 1dollar_neutrales un caso especial que establecemin_sum = max_sum = 0
- Especificar restricciones para los pesos de cada activo
boxlong_onlyes un caso especial que establecemin = 0ymax = 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
Instrucciones del ejercicio
- Añade una restricción
weight_sumde modo que la suma mínima de pesos sea 1 y la suma máxima de pesos sea 1. - Añade una restricción
boxde 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
groupde 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