Sensitivity Simulation     and Portfolio Evolution     a continuation of Part II

Now we're going to consider the final value of a portfolio, invested over N years in two assets, A and B.
Our primary goal is to ascertain the following:
The final portfolio: How sensitive is it to changes in annual returns and/or volatilities etc. ?
To this end we consider:

  • Annual returns for asset A of: x1, x2, ... xN
    with a Mean return of M(x) = (1/N)Σxk and
    Standard Deviation of S(x) where S2(x) = (1/N)Σx2k - M2(x)
  • Annual returns for asset B of: y1, y2, ... yN
    with a Mean return of M(y) = (1/N)Σyk and
    Standard Deviation of S(y) where S2(y) = (1/N)Σy2k - M2(y)

(See SD Stuff for an explanation of the curious formula: Standard Deviation2 = Average_of_Squares - Square_of_Average)

Note:
      Many use historical data to estimate future events (future events, like the final value of our portfolio).
      Some use Monte Carlo simulation (to generate thousands of possible future scenarios).
      Some even use deterministic algorithms, where one assumes everything remains constant ... like annual returns or inflation.
      Sensitivity Simulation is yet another mechanism. That's what we want to consider here.


Suppose that this 2-asset portfolio has Gain Factors over 1-year, 2-years, 3-years, etc. of G1, G2, G3, ... GN.
For example, if a fraction a of our portfolio is devoted to asset A and the balance, 1-a, to asset B, then:
G3 = [1+ax1+(1-a)y1] [1+ax2+(1-a)y2] [1+ax3+(1-a)y3]
assuming annual rebalancing to maintain the a : (1-a) allocation.

For an initial $B portfolio with annual rebalancing and annual withdrawals of $P, increasing with inflation i (where 2.3% inflation means i=0.023), then our formula for the final portfolio value is:

(1)     f(x,y) = B GN - P GN { I1/G1 + I2/G2 + ... + IN/GN }

where Ik is the k-year Inflation Factor, which, for constant inflation, is (1+i )k.

See the Sensible Withdrawals tutorial for a derivation of formula (1).
In that tutorial, the initial portfolio is called P and the inflation rate varies from year to year and the Gain Factors for each year are called g1, g2 etc., and the Gn are the n-year Factors (as we do here) ... but I'm sure you can do the mental swaps in notation and ...
>You're kidding, right?
Pay attention.
If R is the annualized return for our portfolio, then Gk = (1 + R)k and, further, there is an "approximate" relation between the Annualized return, the Mean return and the Standard Deviation, namely:

(2)     Annualized_Portfolio_Return = Mean_Portfolio_Return - SD2/2     ... approximately

See the Annualized vs Average tutorial, where the Gain Factors for each year are called G1, G2 (which is different from our current notation, where Gk is the Gain Factor over k years).
>Mamma mia! Can't you stick to one notation? Why do you ...?


Suppose we consider buy-and-hold, so P = 0 in Equation (1), so: f(x,y) = B[1+ax1+(1-a)y1] [1+ax2+(1-a)y2] ... [1+axN+(1-a)yN]

Then the Mean Return for our rebalanced portfolio is just the Mean of the annual gains: [ax1+(1-a)y1] and [ax2+(1-a)y2]   etc. etc.
and this Mean is just:

(3)     Mean Portfolio Return = a M(x)+(1-a)M(y)         ... expressed in terms of the Mean return of the component assets

The Standard Deviation of our portfolio (which involves the average deviation from the Mean) is then given by:
SD2 = (1/N){ [a{x1-M(x)}+(1-a){y1-M(y)}]2 + [a{x2-M(x)}+(1-a){y2-M(y)}]2 + ... + [a{xN-M(x)}+(1-a){yN-M(y)}]2 }
= (1/N)Σ [a{xk-M(x)}+(1-a){yk-M(y)}]2
= a2(1/N)Σ {xk-M(x)}2 + (1-a)2(1/N)Σ {yk-M(x)}2 + 2 a(1-a)(1/N)Σ {xk-M(x)}{yk-M(y)}

So we have:

(4)     (Portfolio Standard Deviation)2 = a2 S2(x) + (1-a)2 S2(y) + 2 a(1-a) r S(x) S(y)         ... in terms of the component SDs

where, as before, r is the correlation coefficient.
>Don't tell me! You're going to differentiate this mess to find the sensitivity!
Okay. I won't tell you
... however, let's consider our old example where the two assets have Means, Standard Deviations and Correlation like so:

  • M(x) = 0.06, S(x) = 0.10     meaning 6% and 10%
  • M(y) = 0.10, S(y) = 0.20     meaning 10% and 20%
  • r(x,y) = 20%
For an a:(1-a) allocation our portfolio would have:
  • Portfolio Mean = aM(x) + (1-a)M(y) = a(0.06) + (1-a)(0.10)
    = 0.10 - 0.04 a       meaning   10%   less   0% to 4%
    (hence a range of 10% down to 6%), depending upon a
  • (Portfolio Standard Deviation)2 = a2 S2(x) + (1-a)2 S2(y) + 2 a(1-a) r S(x) S(y)
    = a2 (0.10)2 + (1-a)2(0.20)2 +2a(1-a)(0.20)(0.10)(0.20)
    so SD = SQRT(0.04 - 0.72 a + 0.042 a2)
    starting at 20%, down to a minimum, then up to 10%, depending upon a.
Figure 1 shows the variation and the point where the minimum SD occurs.

Figure 1

>Sensitivity! What happened to sensitivity?
The situation we've considered is just buy-and-hold. We invest a bunch of money and, except for annual rebalancing, don't withdraw anthing or invest any more money. We get the Portfolio Mean and Standard Deviation quite easily. Aah, if we now invest additional amounts each year, it ain't so easy and we have to consider Equation (1) in all its complexity.

>Complexity?
Yes. If we rewrite Equation (1) to display all the annual gains xk and yk, we'd get:
f(x,y) = ΠN[1+axk + (1-a)yk] { B - P Σ [ Ik / Πk[1+axk + (1-a)yk] ] }

where Πk means multiplying all terms up to the kth, like so:   [1+ax1+(1-a)y1] [1+ax2+(1-a)y2] ... [1+axk+(1-a)yk]
For example, GN = ΠN [1+axk+(1-a)yk],   the N-year Gain Factor.

>Mamma mia! Are you going to differentiate this mess?
No. I thought you may be interested in doing that

GN R xk a Σ [1+axk+(1-a)yk] Πk r { [