  This article develops the theory of risk budgeting portfolios, when we would
like to impose weight constraints. It appears that the mathematical problem is
more complex than the traditional risk budgeting problem. The formulation of
the optimization program is particularly critical in order to determine the
right risk budgeting portfolio. We also show that numerical solutions can be
found using methods that are used in large-scale machine learning problems.
Indeed, we develop an algorithm that mixes the method of cyclical coordinate
descent (CCD), alternating direction method of multipliers (ADMM), proximal
operators and Dykstra's algorithm. This theoretical body is then applied to
some investment problems. In particular, we show how to dynamically control the
turnover of a risk parity portfolio and how to build smart beta portfolios
based on the ERC approach by improving the liquidity of the portfolio or
reducing the small cap bias. Finally, we highlight the importance of the
homogeneity property of risk measures and discuss the related scaling puzzle.
