10 Optimization and portfolio construction

 

This chapter covers

  • Understanding the basics of convex functions and convex optimization
  • Formulating and solving optimization problems in Python
  • Modern portfolio theory and mean-variance portfolio optimization
  • Pitfalls of portfolio optimization

Many problems in finance and asset management require the solution of optimization problems. Building portfolios with attractive risk and return trade-offs, determining trades to bring a portfolio that has drifted from its target allocation back on target without incurring painful taxes, and developing a tax-efficient withdrawal strategy are all examples of problems that can be solved using optimization. More importantly, optimization problems, once implemented, can solve these problems extremely quickly without the need for manual effort—a key requirement for robo-advisors.

10.1 Convex optimization in Python

10.1.1 Basics of optimization

10.1.2 Convexity

10.1.3 Python libraries for optimization

10.2 Mean-variance optimization

10.2.1 The basic problem

10.2.2 Adding more constraints

10.3 Optimization-based asset allocation

10.3.1 Minimal constraints

10.3.2 Enforcing diversification

10.3.3 Creating an efficient frontier

10.3.4 Building an ESG portfolio

Summary