1 Chapter 6: Problems 10–12

Given data (for Problems 10–12):

  • S&P 500 historical risk premium over T-bills: 8%
  • Current T-bill rate: 5% → Expected return on S&P 500: \(E(r_S) = 5\% + 8\% = 13\%\)
  • S&P 500 standard deviation: \(\sigma_S = 20\%\)
  • T-bill standard deviation: \(\sigma_{bills} = 0\) (risk-free)
r_tbill   <- 0.05   # risk-free rate
r_sp500   <- 0.13   # expected return on S&P 500 (5% + 8% risk premium)
sigma_sp  <- 0.20   # std dev of S&P 500

# Portfolio weights
w_bills <- c(0, 0.2, 0.4, 0.6, 0.8, 1.0)
w_index <- 1 - w_bills

1.1 Problem 10: Expected Return and Variance

For a portfolio mixing T-bills (weight \(w_b\)) and the S&P 500 (weight \(w_s = 1 - w_b\)):

\[E(r_p) = w_b \cdot r_f + w_s \cdot E(r_S)\]

\[\sigma_p^2 = w_s^2 \cdot \sigma_S^2 \quad \text{(T-bills have zero variance and zero covariance)}\]

\[\sigma_p = w_s \cdot \sigma_S\]

E_rp    <- w_bills * r_tbill + w_index * r_sp500
sigma_p <- w_index * sigma_sp
var_p   <- sigma_p^2

df10 <- data.frame(
  W_bills   = w_bills,
  W_index   = w_index,
  E_Return  = paste0(round(E_rp * 100, 1), "%"),
  Variance  = round(var_p, 4),
  Std_Dev   = paste0(round(sigma_p * 100, 1), "%")
)

kable(df10,
      col.names = c("W_bills", "W_index", "E(r_p)", "Variance (σ²)", "Std Dev (σ)"),
      align     = "ccccc",
      caption   = "Problem 10: Portfolio Expected Return and Variance")
Problem 10: Portfolio Expected Return and Variance
W_bills W_index E(r_p) Variance (σ²) Std Dev (σ)
0.0 1.0 13% 0.0400 20%
0.2 0.8 11.4% 0.0256 16%
0.4 0.6 9.8% 0.0144 12%
0.6 0.4 8.2% 0.0064 8%
0.8 0.2 6.6% 0.0016 4%
1.0 0.0 5% 0.0000 0%

Conclusion: As weight shifts from T-bills to the S&P 500, both expected return and risk increase linearly. The 100% S&P 500 portfolio has the highest expected return (13%) but also the highest risk (σ = 20%).


1.2 Problem 11: Utility Levels with A = 2

The mean-variance utility function is:

\[U = E(r_p) - \frac{1}{2} A \sigma_p^2\]

With \(A = 2\):

\[U = E(r_p) - \frac{1}{2}(2)\sigma_p^2 = E(r_p) - \sigma_p^2\]

A2   <- 2
U_A2 <- E_rp - 0.5 * A2 * var_p

df11 <- data.frame(
  W_bills  = w_bills,
  W_index  = w_index,
  E_Return = round(E_rp, 4),
  Variance = round(var_p, 4),
  Utility  = round(U_A2, 4)
)

kable(df11,
      col.names = c("W_bills", "W_index", "E(r_p)", "Variance (σ²)", "Utility (A=2)"),
      align     = "ccccc",
      caption   = "Problem 11: Utility with A = 2")
Problem 11: Utility with A = 2
W_bills W_index E(r_p) Variance (σ²) Utility (A=2)
0.0 1.0 0.130 0.0400 0.0900
0.2 0.8 0.114 0.0256 0.0884
0.4 0.6 0.098 0.0144 0.0836
0.6 0.4 0.082 0.0064 0.0756
0.8 0.2 0.066 0.0016 0.0644
1.0 0.0 0.050 0.0000 0.0500

Optimal portfolio (A = 2): W_bills = 0, W_index = 1 with Utility = 0.09

Conclusion: With a low risk-aversion coefficient (A = 2), the investor maximizes utility by holding 100% in the S&P 500. The higher expected return more than compensates for the additional variance.

Continuous optimal weight: \(w^* = \frac{E(r_S) - r_f}{A \cdot \sigma_S^2} = \frac{0.08}{2 \times 0.04} = 1.0\) → confirms 100% in the risky asset.


1.3 Problem 12: Utility Levels with A = 3

With \(A = 3\):

\[U = E(r_p) - \frac{1}{2}(3)\sigma_p^2 = E(r_p) - 1.5\sigma_p^2\]

A3   <- 3
U_A3 <- E_rp - 0.5 * A3 * var_p

df12 <- data.frame(
  W_bills  = w_bills,
  W_index  = w_index,
  E_Return = round(E_rp, 4),
  Variance = round(var_p, 4),
  Utility  = round(U_A3, 4)
)

kable(df12,
      col.names = c("W_bills", "W_index", "E(r_p)", "Variance (σ²)", "Utility (A=3)"),
      align     = "ccccc",
      caption   = "Problem 12: Utility with A = 3")
Problem 12: Utility with A = 3
W_bills W_index E(r_p) Variance (σ²) Utility (A=3)
0.0 1.0 0.130 0.0400 0.0700
0.2 0.8 0.114 0.0256 0.0756
0.4 0.6 0.098 0.0144 0.0764
0.6 0.4 0.082 0.0064 0.0724
0.8 0.2 0.066 0.0016 0.0636
1.0 0.0 0.050 0.0000 0.0500

Optimal portfolio (A = 3): W_bills = 0.4, W_index = 0.6 with Utility = 0.0764

Conclusion: With higher risk aversion (A = 3), utility values are lower across all risky allocations. Among the discrete choices the 100% index still wins, but the continuous optimum is now \(w^* = \frac{0.08}{3 \times 0.04} \approx 66.7\%\) in the S&P 500 — a meaningfully smaller risky allocation than under A = 2.

plot(w_index, U_A2,
     type = "b", col = "steelblue", pch = 16, lwd = 2,
     xlab = "Weight in S&P 500 (W_index)",
     ylab = "Utility",
     main = "Utility vs. Portfolio Allocation",
     ylim = range(c(U_A2, U_A3)))
lines(w_index, U_A3,
      type = "b", col = "tomato", pch = 17, lwd = 2)
legend("bottomright",
       legend = c("A = 2", "A = 3"),
       col    = c("steelblue", "tomato"),
       lwd = 2, pch = c(16, 17))
grid()
Utility vs. Portfolio Allocation for A=2 and A=3

Utility vs. Portfolio Allocation for A=2 and A=3


2 CFA Problems 1–3

Given utility formula:

\[U = E(r) - \frac{1}{2} A \sigma^2, \quad A = 4\]

investments <- 1:4
E_r         <- c(0.12, 0.15, 0.21, 0.24)
sigma_cfa   <- c(0.30, 0.50, 0.16, 0.21)
var_cfa     <- sigma_cfa^2

kable(data.frame(Investment = investments, Er = E_r, Sigma = sigma_cfa),
      col.names = c("Investment", "E(r)", "σ"),
      align     = "ccc",
      caption   = "CFA Utility Formula Data")
CFA Utility Formula Data
Investment E(r) σ
1 0.12 0.30
2 0.15 0.50
3 0.21 0.16
4 0.24 0.21

2.1 CFA Problem 1: Risk-Averse Investor (A = 4)

\[U = E(r) - \frac{1}{2}(4)\sigma^2 = E(r) - 2\sigma^2\]

A_cfa <- 4
U_cfa <- E_r - 0.5 * A_cfa * var_cfa

df_cfa1 <- data.frame(
  Investment = investments,
  E_r        = E_r,
  Sigma      = sigma_cfa,
  Variance   = round(var_cfa, 4),
  Utility    = round(U_cfa, 4)
)

kable(df_cfa1,
      col.names = c("Investment", "E(r)", "σ", "σ²", "Utility (A=4)"),
      align     = "ccccc",
      caption   = "CFA Problem 1: Utility with A = 4")
CFA Problem 1: Utility with A = 4
Investment E(r) σ σ² Utility (A=4)
1 0.12 0.30 0.0900 -0.0600
2 0.15 0.50 0.2500 -0.3500
3 0.21 0.16 0.0256 0.1588
4 0.24 0.21 0.0441 0.1518

Answer: A risk-averse investor with A = 4 selects Investment 3 (U = 0.1588). Investment 3 offers a strong expected return (21%) with the lowest standard deviation (16%) among the four options, yielding the best risk-adjusted utility.


2.2 CFA Problem 2: Risk-Neutral Investor

A risk-neutral investor has \(A = 0\), so:

\[U = E(r) - \frac{1}{2}(0)\sigma^2 = E(r)\]

Variance is completely ignored; only expected return matters.

kable(data.frame(Investment = investments,
                 Er         = E_r,
                 Utility    = E_r),
      col.names = c("Investment", "E(r)", "Utility (A=0)"),
      align     = "ccc",
      caption   = "CFA Problem 2: Utility for Risk-Neutral Investor")
CFA Problem 2: Utility for Risk-Neutral Investor
Investment E(r) Utility (A=0)
1 0.12 0.12
2 0.15 0.15
3 0.21 0.21
4 0.24 0.24

Answer: A risk-neutral investor selects Investment 4 (E(r) = 0.24), which has the highest expected return regardless of risk.


2.3 CFA Problem 3: What Does A Represent?

\[U = E(r) - \frac{1}{2} A \sigma^2\]

The coefficient A scales the penalty applied to portfolio variance. A higher value of A means the investor penalizes variance more heavily.

Answer: (b) Investor’s aversion to risk.

Option Verdict Reason
(a) Investor’s return requirement Return requirement is captured by E(r), not A
(b) Investor’s aversion to risk A is the risk-aversion coefficient — higher A = greater variance penalty
(c) Certainty equivalent rate The certainty equivalent is the value of U, not the parameter A
(d) Preference for 1 unit return per 4 units risk A is not a return-to-risk ratio; it is a scaling coefficient

3 Summary

Problem Key Finding
10 E(r_p) and σ² scale linearly with weight in S&P 500
11 (A=2) Optimal: 100% S&P 500 (U = 0.09); continuous w* = 100%
12 (A=3) Discrete optimum still 100% S&P 500; continuous w* ≈ 66.7%
CFA 1 Investment 3 maximizes utility for A = 4 (U ≈ 0.1588)
CFA 2 Investment 4 chosen by risk-neutral investor (highest E(r) = 0.24)
CFA 3 A = investor’s aversion to risk — answer (b)