1.3 Portfolios and Portfolio Returns

Consider an investment in two assets named asset \(A\) and asset \(B\) (e.g. Amazon and Boeing stock). Let \(V_{A}\) and \(V_{B}\) denote the dollar amounts invested in assets A and B, respectively. We call such an investment in multiple assets a portfolio. The total dollar amount invested in the portfolio is \(V_p = V_A + V_B\). The shares of dollars invested in assets \(A\) and \(B\) are: \[ x_A = \frac{V_A}{V_p}, \space x_B = \frac{V_B}{V_p}. \] Notice that \(x_A + x_B = 1\) by construction (\(100\%\) of all wealth is invested in the two assets).

In this book, the collection of investment shares \((x_{A},x_{B})\) and initial wealth invested \(V_p\) defines a portfolio. If \(V_p\) is not specified then assume that \(V_p=\$1\). For example, one portfolio may be \((x_{A}=0.5,x_{B}=0.5)\) (equally weighted portfolio) and another may be \((x_{A}=0,x_{B}=1)\) (everything invested in asset B). Negative values for \(x_{A}\) or \(x_{B}\) are possible and represent short sales (to be discussed in later chapters). Given \(x_A\), \(x_B\), and \(V_p\), the dollar amounts invested in assets \(A\) and \(B\) are: \[ V_A = x_{A} \times V_p, V_B = x_{B} \times V_{p}. \]

The rate of return on a portfolio can be represented as a share weighted average of the rates of returns on the assets in the portfolio. To see this, let \(R_{A}\) and \(R_{B}\) denote the simple one-period returns on assets \(A\) and \(B\). We wish to determine the simple one-period return on the portfolio defined by \((x_{A},x_{B})\) and initial wealth \(V_p\). To do this, note that at the end of the holding period, the investments in assets \(A\) and \(B\) are worth \(V_p \times x_{A}(1+R_{A})\) and \(V_p\times x_{B}(1+R_{B})\), respectively. Hence, at the end of the holding period the portfolio is worth: \[ V_p\times\left[x_{A}(1+R_{A})+x_{B}(1+R_{B})\right] = V_p \times (1 + R_{p}). \] Hence, \(x_{A}(1+R_{A})+x_{B}(1+R_{B})=1+R_p\) defines the portfolio gross return. The portfolio gross return is equal to a weighted average of the gross returns on assets \(A\) and \(B\), where the weights are the portfolio shares \(x_{A}\) and \(x_{B}\).

To determine the portfolio rate of return, re-write the portfolio gross return as: \[ 1+R_{p}=x_{A}+x_{B}+x_{A}R_{A}+x_{B}R_{B}=1+x_{A}R_{A}+x_{B}R_{B}, \] since \(x_{A}+x_{B}=1\) by construction. Then the portfolio rate of return is: \[ R_{p}=x_{A}R_{A}+x_{B}R_{B}, \] which is equal to a weighted average of the simple returns on assets \(A\) and \(B\), where the weights are the portfolio shares \(x_{A}\) and \(x_{B}\).

In the portfolio rate of return, the components \(x_{A}R_{A}\) and \(x_{B}R_{B}\) are the contributions of assets A and B to the portfolio return, respectively. These contributions add up to the total portfolio return \(R_{p}\).

Example 1.19 (Compute portfolio return)

Consider a portfolio of Microsoft and Starbucks stock in which you initially purchase ten shares of each stock at the end of month \(t-1\) at the prices \(P_{\textrm{msft},t-1}=\$85\) and \(P_{\textrm{sbux},t-1}=\$30\), respectively. The initial value of the portfolio is \(V_{t-1}=10\times\$85+10\times30=\$1,150\). The portfolio shares are \(x_{\textrm{msft}}=850/1150=0.7391\) and \(x_{\textrm{sbux}}=30/1150=0.2609\). Suppose at the end of month \(t\), \(P_{\textrm{msft},t}=\$90\) and \(P_{\textrm{sbux},t}=\$28\). Assuming that Microsoft and Starbucks do not pay a dividend between periods \(t-1\) and \(t\), the one-period returns on the two stocks are: \[\begin{align*} R_{\textrm{msft},t} & =\frac{\$90-\$85}{\$85}=0.0588,\\ R_{\textrm{sbux},t} & =\frac{\$28-\$30}{\$30}=-0.0667. \end{align*}\] The one-month rate of return on the portfolio is then: \[ R_{p,t}=(0.7391)(0.0588)+(0.2609)(-0.0667)=0.02609, \] The contributions of assets \(A\) and \(B\) to the portfolio return are: \[ x_{A}R_{A} = (0.7391)(0.0588) = 0.0435, ~ x_{B}R_{B} = -0.0174. \] Asset \(A\) contributes positively and asset \(B\) contributes negatively to the portfolio return. The portfolio value at the end of month \(t\) is: \[ V_{t}=V_{t-1}(1+R_{p,t})=\$1,150\times(1.02609)=\$1,180 \]

In R, the portfolio calculations are:
P.msft = c(85, 90) 
P.sbux = c(30, 28) 
V = P.msft[1]*10 + P.sbux[1]*10
x.msft = 10*P.msft[1]/V 
x.sbux = 10*P.sbux[1]/V 
R.msft = (P.msft[2] - P.msft[1])/P.msft[1] 
R.sbux = (P.sbux[2] - P.sbux[1])/P.sbux[1] 
R.p = x.msft*R.msft + x.sbux*R.sbux 
V1 = V*(1 + R.p) 
c(R.p, x.msft*R.msft, x.sbux*R.sbux, V1)
## [1]    0.02608696    0.04347826   -0.01739130 1180.00000000

\(\blacksquare\)

In general, for a portfolio of \(n\) assets with investment shares \(x_{i}\) such that \(x_{1}+\cdots+x_{n}=1,\) the one-period portfolio gross and simple returns are defined as: \[\begin{align} 1+R_{p,t} & =\sum_{i=1}^{n}x_{i}(1+R_{i,t})\tag{1.23}\\ R_{p,t} & =\sum_{i=1}^{n}x_{i}R_{i,t}.\tag{1.24} \end{align}\] where \(R_{i,t}\) is the one-period simple return on asset \(i\). Asset \(i\)’s contribution to the portfolio return is \[\begin{equation} \mathrm{ctr}_{i,p} = x_{i}R_{t}. \tag{1.25} \end{equation}\] and \[ \sum_{i=i}^n \mathrm{ctr}_{i,p} = \sum_{i=i}^n x_{i}R_{i,t} = R_{p,t}. \]

1.3.1 Multiperiod portfolio returns and rebalancing

How to compute multiperiod portfolio returns depends on the assumptions made about the portfolio weights each period. Several scenarios exist:

  1. Portfolio weights from the initial portfolio are allowed to change over time as prices of the underlying assets change over time. In this case no rebalancing of the portfolio is done. This is called a buy-and-hold portfolio.
  2. Portfolio weights remain constant over time, which implies that the portfolio is rebalanced at every time period (associated with holding period) to maintain constant weights.
  3. Portfolio weights from the initial portfolio are rebalanced at specific time intervals that are different than the holding period (e.g. rebalance quarterly for monthly holding periods). This is a hybrid of scenarios 1 and 2.
  4. Portfolio weights are actively changed at each time period associated with the holding period. This is called an actively managed portfolio.

How to deal with the above scenarios is best illustrated through examples.

1.3.1.1 No rebalancing of portolio weights

Prices and shares framework

We illustrate the buy-and-hold scenario 1 using a simple portfolio consisting of two assets \(A\) and \(B\) invested for three time months starting at time \(t-3\) in a framework where we know the asset prices each period and the initial amounts invested in each asset4. In particular, we assume that the initial portfolio consists of \(s_A = 100\) shares of asset \(A\) and \(s_B = 50\) shares of asset \(B\). The end-of-month prices and values (\(V_{i,t} = s_i \times P_{i,t}, i=A,B\)) of the assets as well as the end-of-month values of the portfolio are given by

P.A = c(5,7,6,7)
V.A = c(500, 700, 600, 700)
P.B = c(10, 11, 12, 8)
V.B = c(500, 550, 600, 400)
V.p = V.A + V.B
table.vals = cbind(P.A, V.A, P.B, V.B, V.p)
rownames(table.vals) = c("t-3", "t-2", "t-1", "t")
table.vals
##     P.A V.A P.B V.B  V.p
## t-3   5 500  10 500 1000
## t-2   7 700  11 550 1250
## t-1   6 600  12 600 1200
## t     7 700   8 400 1100

In the above table the time index \(t\) represents the end of month \(t\). Slightly abusing notation, we can also say that the time index \(t-1\) represents the beginning of month \(t\). This is important because for the portfolio calculations the end-of-month values \(V_{A,t-1}\), \(V_{B,t-1}\) and \(V_{p,t-1}\) are used to calculate the portfolio weights to be applied in month \(t\). That is, \[ x_{A,t-1} = \frac{V_{A,t-1}}{V_{p,t-1}}, ~ x_{B,t-1} = \frac{V_{B,t-1}}{V_{p,t-1}} \] represent the portfolio weights for assets \(A\) and \(B\) at the beginning of month \(t\). Then, the portfolio return over month \(t\) is computed as \[\begin{align} R_{p,t} &= \%\Delta V_{p,t} = \frac{V_{p,t} - V_{p,t-1}}{V_{p,t-1}}\\ &= x_{A,t-1}R_{A,t} + x_{B,t-1}R_{B,t},\\ \end{align}\] where \[\begin{align} R_{A,t} &= \%\Delta V_{A,t} = \frac{V_{A,t} - V_{A,t-1}}{V_{A,t-1}}\\ &= \%\Delta P_{A,t} = \frac{P_{A,t} - P_{A,t-1}}{P_{A,t-1}}\\ R_{B,t} &= \%\Delta V_{B,t} = \frac{V_{B,t} - V_{B,t-1}}{V_{B,t-1}}\\ &= \%\Delta P_{B,t} = \frac{P_{B,t} - P_{B,t-1}}{P_{B,t-1}}. \end{align}\]

The portfolio return, \(R_{p,t}\), is still a share weighted average of the individual asset returns but with time varying portfolio weights \(x_{A,t-1}\) and \(x_{B,t-1}\).

The R calculations for returns are:

R.A = (V.A[2:4] - V.A[1:3])/V.A[1:3]
R.B = (V.B[2:4] - V.B[1:3])/V.B[1:3]
R.p = (V.p[2:4] - V.p[1:3])/V.p[1:3]
table.returns = cbind(R.A, R.B, R.p)
rownames(table.returns) =  c("t-2", "t-1", "t")
table.returns
##            R.A         R.B         R.p
## t-2  0.4000000  0.10000000  0.25000000
## t-1 -0.1428571  0.09090909 -0.04000000
## t    0.1666667 -0.33333333 -0.08333333

The R calculations for the weights are:

x.A = V.A/V.p
x.B = V.B/V.p
table.weights = cbind(x.A, x.B)
rownames(table.weights) = c("t-3", "t-2", "t-1", "t")
table.weights
##           x.A       x.B
## t-3 0.5000000 0.5000000
## t-2 0.5600000 0.4400000
## t-1 0.5000000 0.5000000
## t   0.6363636 0.3636364

Here, the initial portfolio formed at the end of month \(t-3\) is an equally weighted portfolio of assets \(A\) and \(B\). However, the portfolio weights at the end of month \(t-2\) are not \(0.5\) and \(0.5\) as the prices of assets \(A\) and \(B\) have changed over the month. Asset \(A\)’s price has gone up more in percentage terms (\(R_{A,t-2}=40\%\)) than asset \(B\)’s price (\(R_{B,t-2}=10\%\)) so the portfolio weight in asset \(A\) at the beginning of \(t-1\) (\(x_{A,t-2}=0.56\)), has become bigger than the portfolio weight in asset \(B\) (\(x_{B,t-2} = 0.44\)).

For the calculation of the portfolio returns, the asset weights at time \(t-3\) apply to the asset returns at time \(t-2\), the weights at time \(t-2\) apply to the returns at time \(t-1\), and the weights at time \(t-1\) apply to the returns at time \(t\):

R.p = x.A[1:3]*R.A + x.B[1:3]*R.B
R.p
## [1]  0.25000000 -0.04000000 -0.08333333

The asset contributions to the portfolio return at time \(t\) are \[\begin{align} \mathrm{ctr}_{A,t} &= \frac{\%\Delta V_{A,t}}{V_{p,t-1}} = x_{A,t-1}\times R_{A,t}\\ \mathrm{ctr}_{B,t} &= \frac{\%\Delta V_{B,t}}{V_{p,t-1}} = x_{B,t-1}\times R_{B,t} \end{align}\] The R calculations for the contributions derived from values are:

ctr.A = (V.A[2:4] - V.A[1:3])/V.p[1:3]
ctr.B = (V.B[2:4] - V.B[1:3])/V.p[1:3]
table.ctr = cbind(ctr.A, ctr.B, ctr.A+ctr.B)
colnames(table.ctr)[3] = "R.p"
rownames(table.ctr) = c("t-2", "t-1", "t")
table.ctr
##           ctr.A      ctr.B         R.p
## t-2  0.20000000  0.0500000  0.25000000
## t-1 -0.08000000  0.0400000 -0.04000000
## t    0.08333333 -0.1666667 -0.08333333

The R calculations for the contributions derived from returns are:

ctr.A = x.A[1:3]*R.A
ctr.B = x.B[1:3]*R.B
table.ctr = cbind(ctr.A, ctr.B, R.p)
rownames(table.ctr) = c("t-2", "t-1", "t")
table.ctr
##           ctr.A      ctr.B         R.p
## t-2  0.20000000  0.0500000  0.25000000
## t-1 -0.08000000  0.0400000 -0.04000000
## t    0.08333333 -0.1666667 -0.08333333

Returns and weights framework

The above calculations are based on knowing asset prices and initial shares purchased for each asset. In many situations, we only have return information and initial portfolio weights on each asset and the initial value of the portfolio. Using the above example, the initial portfolio weights are \(x_{A,t-3}=x_{B,t-3}=0.5\) and the initial value of the portfolio is \(V_{p,t-3}=1000\). We also know the returns, \(R_{i,t}\), each period for the two assets:

table.returns[, c("R.A", "R.B")]
##            R.A         R.B
## t-2  0.4000000  0.10000000
## t-1 -0.1428571  0.09090909
## t    0.1666667 -0.33333333

We deduce the initial asset values using \[\begin{align} V_{A,t-3} &= x_{A,t-3}\times V_{p,t-3} = 0.5\times 1000 = 500, \\ V_{B,t-3} &= x_{B,t-3}\times V_{p,t-3} = 0.5\times 1000 = 500. \end{align}\]

The end-of-month asset values for \(i=A,B\) are computed using \[\begin{align*} V_{i,t-2} &= V_{i,t-3}\times (1+R_{i,t-2}), \\ V_{i,t-1} &= V_{i,t-2}\times (1+R_{i,t-1}) = V_{i,t-3}\times (1+R_{i,t-2})(1+R_{i,t-1}), \\ V_{i,t} &= V_{i,t-1}\times (1+R_{i,t}) = V_{i,t-3}\times (1+R_{i,t-2})(1+R_{i,t-1})(1+R_{i,t}). \end{align*}\]

The end-of-month portfolio values are the sum of the end of month asset values. The R calculations are:

V.A = V.B = V.p = rep(0, 4)
V.p[1] = 1000
V.A[1] = V.B[1] = 0.5*V.p[1]
V.A[2:4] = cumprod(1+R.A)*V.A[1]
V.B[2:4] = cumprod(1+R.B)*V.B[1]
V.p[2:4] = V.A[2:4] + V.B[2:4]
table.vals = cbind(V.A, V.B, V.p)
rownames(table.vals) = c("t-3", "t-2", "t-1", "t")
table.vals
##     V.A V.B  V.p
## t-3 500 500 1000
## t-2 700 550 1250
## t-1 600 600 1200
## t   700 400 1100

The portfolio weights at the end-of-month \(t\) are computed as \[ x_{i,t} = \frac{V_{i,t}}{V_{p,t-1}}, \] and the R calculations are:

x.A = V.A/V.p
x.B = V.B/V.p
table.weights = cbind(x.A, x.B)
rownames(table.weights) = c("t-3", "t-2", "t-1", "t")
table.weights
##           x.A       x.B
## t-3 0.5000000 0.5000000
## t-2 0.5600000 0.4400000
## t-1 0.5000000 0.5000000
## t   0.6363636 0.3636364

The portfolio return over month \(t\) can be computed using \[\begin{align} R_{p,t} &= \%\Delta V_{p,t} = \frac{V_{p,t}-V_{p,t-1}}{V_{p,t-1}} \\ &= x_{A,t-1}\times R_{A,t} + x_{B,t-1}\times R_{B,t} \end{align}\]

The R calculations for returns based on values are:

diff(table.vals[, "V.p"])/table.vals[1:3, "V.p"]
##         t-2         t-1           t 
##  0.25000000 -0.04000000 -0.08333333

The calculation for returns based on weights is

x.A[1:3]*R.A + x.B[1:3]*R.B
## [1]  0.25000000 -0.04000000 -0.08333333

1.3.1.2 Constant portfolio weights

If the initial portfolio weights are to be held constant over time then the portfolio typically needs to be rebalanced at each time period to adjust the portfolio weights back to the initial weights. Given the constant portfolio weights \(x_A\) and \(x_B\) the return on the portfolio at every time period is given by \[ R_{p,t} = x_A R_{A,t} + x_B R_{B,t}. \]

The rebalancing of portfolio weights can be illustrated with the example from the previous sub-section. The initial portfolio is an equally weighted portfolio, \(x_{A,t-3} = x_{B,t-3} = 0.5\). To have constant portfolio weights the portfolio will need to be rebalanced each period so that \(x_{A,t-2} = x_{A,t-1} = x_{A,t} = 0.5\) and \(x_{B,t-2} = x_{B,t-1} = x_{B,t} = 0.5\). Consider the portfolio at the end-of-month \(t-2\) where \[\begin{align} V_{A,t-2} &= V_{A,t-3}\times (1 + R_{A,t-2}) = 500 \times (1 + 0.40) = 700 \\ V_{B,t-2} &= V_{B,t-3}\times (1 + R_{B,t-2}) = 500 \times (1 + 0.10) = 550 \\ V_{p,t-2} &= V_{A,t-2} + V_{B,t-2} = 700 + 550 = 1250 \\ x_{A,t-2} &= \frac{V_{A,t-2}}{V_{p,t-2}} = \frac{700}{1250} = 0.56 \\ x_{B,t-2} &= \frac{V_{B,t-2}}{V_{p,t-2}} = \frac{550}{1250} = 0.44 \end{align}\] The end-of-month portfolio weights are \(x_{A,t-2} = 0.56\) and \(x_{B,t-2} = 0.44\), which are not equal to \(0.5\). Since \(V_{p,t-2} = 1250\), to rebalance the portfolio so that \(x_{A,t-2} = x_{B,t-2} = 0.5\) we need \(V_{A,t-2} = V_{B,t-2} = V_{p,t-2}/2 = 625\). This requires selling \(700 - 625 = 75\) of asset A and purchasing \(75\) of asset B and the end-of-month t-2. Then, at the beginning of month \(t-1\) we have \(V_{A,t-2} = V_{B,t-2} = 625\) and \(x_{A,t-2} = x_{B,t-2} = 0.5\).

At the end-of-month \(t-1\), for the rebalanced portfolio we have \[\begin{align} V_{A,t-1} &= V_{A,t-2}\times (1 + R_{A,t-1}) = 625 \times (1 - 0.1429) = 535.69 \\ V_{B,t-1} &= V_{B,t-2}\times (1 + R_{B,t-1}) = 625 \times (1 + 0.0909) = 681.81 \\ V_{p,t-1} &= V_{A,t-2} + V_{B,t-2} = 535.69 + 681.81 = 1217.50 \\ x_{A,t-1} &= \frac{V_{A,t-1}}{V_{p,t-1}} = \frac{535.69}{1217.50} = 0.44 \\ x_{B,t-1} &= \frac{V_{B,t-1}}{V_{p,t-1}} = \frac{681.81}{1217.50} = 0.56 \end{align}\] The end-of-month portfolio weights are \(x_{A,t-1} = 0.44\) and \(x_{B,t-1} = 0.56\). Since \(V_{p,t-1} = 1217.50\), to rebalance the portfolio we need \(V_{A,t-1} = V_{B,t-1} = 608.75\). This requires selling \(73.06\) of asset B and purchasing \(73.06\) of asset A and the end-of-month t-1. Then, at the beginning of month \(t\) we have \(V_{A,t-1} = V_{B,t-1} = 608.75\) and \(x_{A,t-1} = x_{B,t-1} = 0.5\).

Finally, at the end-of-month \(t\), for the rebalanced portfolio we have \[\begin{align} V_{A,t} &= V_{A,t-1}\times (1 + R_{A,t}) = 608.75 \times (1 + 0.1667) = 710.23 \\ V_{B,t} &= V_{B,t-1}\times (1 + R_{B,t}) = 608.75 \times (1 - 0.3333) = 405.85 \\ V_{p,t} &= V_{A,t-1} + V_{B,t-1} = 710.23 + 405.85 = 1116.08 \\ x_{A,t} &= \frac{V_{A,t}}{V_{p,t}} = \frac{710.23}{1116.08} = 0.64 \\ x_{B,t} &= \frac{V_{B,t}}{V_{p,t}} = \frac{405.85}{1116.08} = 0.36 \end{align}\] The end-of-month portfolio weights are \(x_{A,t} = 0.64\) and \(x_{B,t} = 0.36\). Since \(V_{p,t} = 1116.08\), to rebalance the portfolio we need \(V_{A,t} = V_{B,t} = 558.04\). This requires selling \(152.19\) of asset A and purchasing \(152.19\) of asset B and the end-of-month t. Then, at the beginning of month \(t+1\) we have \(V_{A,t} = V_{B,t} = 558.04\) and \(x_{A,t} = x_{B,t} = 0.5\).

The above calculations in R are:

value.table = matrix(0, 4, 3)
rownames(value.table) = c("t-3", "t-2", "t-1", "t")
colnames(value.table) = c("V.A", "V.B", "V.p")
value.table["t-3", ] = c(V.A[1], V.B[1], V.p[1])
for (t in 2:4) {
  value.table[t, "V.A"] = value.table[t-1, "V.A"]*(1 + R.A[t-1])
  value.table[t, "V.B"] = value.table[t-1, "V.B"]*(1 + R.B[t-1])
  value.table[t, "V.p"] = value.table[t, "V.A"] + value.table[t, "V.B"]
  RB = max(value.table[t, "V.A"], value.table[t, "V.B"]) - value.table[t, "V.p"]/2
  if (value.table[t, "V.A"] > value.table[t, "V.B"]) {
    value.table[t, "V.A"] = value.table[t, "V.A"] - RB
    value.table[t, "V.B"] = value.table[t, "V.B"] + RB
    }
  else{
    value.table[t, "V.A"] = value.table[t, "V.A"] + RB
    value.table[t, "V.B"] = value.table[t, "V.B"] - RB
  }
  value.table[t, "V.p"] = value.table[t, "V.A"] + value.table[t, "V.B"]
}
value.table
##          V.A      V.B      V.p
## t-3 500.0000 500.0000 1000.000
## t-2 625.0000 625.0000 1250.000
## t-1 608.7662 608.7662 1217.532
## t   558.0357 558.0357 1116.071

Notice that the rebalanced portfolio slightly outperforms the buy-and-hold portfolio.

The portfolio return each period can be computed using \(R_{p,t} = \%\Delta V_{p,t}\):

diff(value.table[, "V.p"])/value.table[1:3, "V.p"]
##         t-2         t-1           t 
##  0.25000000 -0.02597403 -0.08333333

It can also be computed using \(R_{p,t} = 0.5\times R_{A,t} + 0.5\times R_{B,t}\):

0.5*R.A + 0.5*R.B
## [1]  0.25000000 -0.02597403 -0.08333333

Here, we see that the rebalanced portfolio loses less money over month \(t-1\) than the buy-and-hold portfolio.

1.3.1.3 Rebalance portfolio at specified dates

When the portfolio is rebalanced to a fixed initial portfolio, such as an equaly weighted portfolio, on specific dates the portfolio return calculations become a hybrid of those used for scenarios 1 and 2. The portfolio return is computed as \[ R_{p,t} = x_{A,t-1}\times R_{A,t} + x_{B,t-1}\times R_{B,t}, \] where \(x_{i,t-1} (i=A,B)\) are equal to the initial portfolio weights on the rebalancing dates and is computed like the buy-and-hold weights in between the rebalancing dates.

1.3.1.4 Actively managed portfolio

In an actively managed portfolio, the portfolio weights are chosen by the portfolio manager at each time period. Many mutual funds are managed in this way. The return on the actively managed portfolio is computed as \[ R_{p,t} = x_{A,t-1}\times R_{A,t} + x_{B,t-1}\times R_{B,t} \] where \(x_{A,t-1}\) and \(x_{B,t-1}\) are the portolio weights chosen by the portfolio manager at the beginning of time \(t\).

1.3.2 Continuously Compounded Portfolio Returns

The continuously compounded portfolio return is defined by (1.18), where \(R_{t}\) is computed using the portfolio return (1.24). However, notice that: \[\begin{equation} r_{p,t}=\ln(1+R_{p,t})=\ln\left(1+\sum_{i=1}^{n}x_{i}R_{i,t}\right)\neq\sum_{i=1}^{n}x_{i}r_{i,t},\tag{1.26} \end{equation}\] where \(r_{i,t}\) denotes the continuously compounded one-period return on asset \(i\). Hence, the continuously compounded portfolio return is not a share weighted average of the individual asset continuously compounded returns. However, if the portfolio return \(R_{p,t}=\sum_{i=1}^{n}x_{i}R_{i,t}\) is not too large then \(r_{p,t}\approx R_{p,t}\) otherwise, \(R_{p,t}>r_{p,t}\).

Example 1.20 (Compute continuously compounded portfolio returns)

Consider a portfolio of Microsoft and Starbucks stock with \(x_{\textrm{msft}}=0.25\), \(x_{\textrm{sbux}}=0.75\), \(R_{\textrm{msft},t}=0.0588\), \(R_{\textrm{sbux},t}=-0.0503\) and \(R_{p,t}=-0.02302\). Using ((1.26)), the continuously compounded portfolio return is: \[ r_{p,t}=\ln(1-0.02302)=\ln(0.977)=-0.02329. \] Using \(r_{\textrm{msft},t}=\ln(1+0.0588)=0.0572\) and \(r_{\textrm{sbux},t}=\ln(1-0.0503)=-0.05161,\) notice that: \[ x_{\textrm{msft}}r_{\textrm{msft}}+x_{\textrm{sbux}}r_{\textrm{sbux}}=-0.02442\neq r_{p,t} \]

\(\blacksquare\)

Because the continuously compounded portfolio return is not a share weighted average of the individual asset continuously compounded returns, the analysis of portfolios is typically performed using simple returns and not continuously compounded returns.


  1. This example is inspired by the return.portfolio vignette in PerformanceAnalytics).↩︎