liveBook · Manning

Asset allocation

As explained in Build a Robo-Advisor with Python (From Scratch)

Asset allocation is the distribution of an investment portfolio across asset classes selected to match an investor's risk tolerance and objectives.

Asset allocation distributes a portfolio across asset classes to match an investor’s suitable risk level and objectives. Robo-advisor allocations commonly diversify between stocks and bonds, while differing in non-US exposure and growth or value emphasis. The underlying instruments are generally liquid and exchange-traded rather than private equity, venture capital, or real estate. section 1.1.1

Allocation decisions become operational through several related choices:

  • Set target weights, then rebalance when returns cause positions to drift; rebalancing can follow a threshold or schedule and may account for taxes. section 1.1.1
  • Treat guaranteed lifetime income, including Social Security, pensions, and annuities, as bond-like resources that can reduce the need for bonds while addressing longevity risk. section 1.3
  • Distinguish asset allocation’s risk-and-reward trade-offs from asset location, which distributes assets among taxable, tax-deferred, and tax-exempt accounts to reduce taxes. section 1.3
  • Choose allocations over multiple periods as wealth and time to a goal change, producing a glide path whose stock weight can vary with the realized wealth path. section 6.6

Goal-based stock–bond allocation

For a $2 million terminal wealth goal, represent possible wealth levels as discrete states and evaluate each candidate allocation by its probability of reaching later states. A helper computes portfolio mean return and volatility from stock and bond weights; transition probabilities then come from a normal-return assumption. Backward dynamic programming selects, at each wealth state and time, the allocation with the highest expected probability of reaching the goal. A 100% risk-free-bond allocation requires explicit handling because its volatility is zero. Alternative return distributions, including fat-tailed ones, can replace the normal assumption. section 6.2.1

Optimization-based allocations depend critically on expected asset returns and return covariances, and resulting portfolios can be highly sensitive to expected-return inputs. The Black–Litterman model addresses that sensitivity while allowing views about future asset returns to enter the allocation process. section 12.0

Figure 6.4 Asset allocations for the three paths of wealth
figure

Compare the stock allocations selected along three wealth paths to see why a goal-based glide path need not follow one fixed schedule. section 6.2.1

How Build a Robo-Advisor with Python (From Scratch) covers it

How deep it goes
Develops multiperiod allocation with transition probabilities and backward dynamic programming, while noting that normal-return assumptions can be replaced.
Examples
Uses diversified stock–bond portfolios, Social Security benefits, and a $2 million terminal wealth goal.
What it assumes
Introduces allocation automation through practical Python applications without stating formal finance prerequisites.
What you can do after
Build it from scratch, compute allocation-dependent wealth transitions and optimize goal-reaching allocations with dynamic programming.
How it connects
Connects goals-based investing with dynamic programming, reinforcement learning, glide paths, and longevity risk.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Build a Robo-Advisor with Python (From Scratch). The section links point to the parts of the book it draws on.