Chapter 6 Problems 10–12

Historical data suggests:

rf <- 0.05
sp_return <- 0.13
sp_sd <- 0.20

Portfolio Weights

Weights invested in T-bills and S&P 500:

weights <- tibble(
  w_bill = c(1.0,0.8,0.6,0.4,0.2,0.0),
  w_index = c(0.0,0.2,0.4,0.6,0.8,1.0)
)

weights
## # A tibble: 6 × 2
##   w_bill w_index
##    <dbl>   <dbl>
## 1    1       0  
## 2    0.8     0.2
## 3    0.6     0.4
## 4    0.4     0.6
## 5    0.2     0.8
## 6    0       1

Problem 10

Calculate expected return and variance for each portfolio.

Expected return formula:

E(Rp) = w_rf * rf + w_index * r_index

Standard deviation:

σp = w_index * σ_index

Variance:

σ² = (σp)^2

portfolio <- weights %>%
  mutate(
    expected_return = w_bill*rf + w_index*sp_return,
    sd = w_index * sp_sd,
    variance = sd^2
  )

portfolio
## # A tibble: 6 × 5
##   w_bill w_index expected_return    sd variance
##    <dbl>   <dbl>           <dbl> <dbl>    <dbl>
## 1    1       0             0.05   0      0     
## 2    0.8     0.2           0.066  0.04   0.0016
## 3    0.6     0.4           0.082  0.08   0.0064
## 4    0.4     0.6           0.098  0.12   0.0144
## 5    0.2     0.8           0.114  0.16   0.0256
## 6    0       1             0.13   0.2    0.04

Problem 11

Utility for an investor with risk aversion A = 2

Utility formula:

U = E(r) − 0.5 * A * σ²

A2 <- 2

portfolio_A2 <- portfolio %>%
  mutate(
    utility_A2 = expected_return - 0.5 * A2 * variance
  )

portfolio_A2
## # A tibble: 6 × 6
##   w_bill w_index expected_return    sd variance utility_A2
##    <dbl>   <dbl>           <dbl> <dbl>    <dbl>      <dbl>
## 1    1       0             0.05   0      0          0.05  
## 2    0.8     0.2           0.066  0.04   0.0016     0.0644
## 3    0.6     0.4           0.082  0.08   0.0064     0.0756
## 4    0.4     0.6           0.098  0.12   0.0144     0.0836
## 5    0.2     0.8           0.114  0.16   0.0256     0.0884
## 6    0       1             0.13   0.2    0.04       0.09

Best Portfolio for A = 2

portfolio_A2 %>%
  arrange(desc(utility_A2)) %>%
  slice(1)
## # A tibble: 1 × 6
##   w_bill w_index expected_return    sd variance utility_A2
##    <dbl>   <dbl>           <dbl> <dbl>    <dbl>      <dbl>
## 1      0       1            0.13   0.2     0.04       0.09

Conclusion:
The portfolio with the highest utility is the optimal choice for an investor with risk aversion A = 2.


Problem 12

Utility for an investor with risk aversion A = 3

A3 <- 3

portfolio_A3 <- portfolio %>%
  mutate(
    utility_A3 = expected_return - 0.5 * A3 * variance
  )

portfolio_A3
## # A tibble: 6 × 6
##   w_bill w_index expected_return    sd variance utility_A3
##    <dbl>   <dbl>           <dbl> <dbl>    <dbl>      <dbl>
## 1    1       0             0.05   0      0          0.05  
## 2    0.8     0.2           0.066  0.04   0.0016     0.0636
## 3    0.6     0.4           0.082  0.08   0.0064     0.0724
## 4    0.4     0.6           0.098  0.12   0.0144     0.0764
## 5    0.2     0.8           0.114  0.16   0.0256     0.0756
## 6    0       1             0.13   0.2    0.04       0.07

Best Portfolio for A = 3

portfolio_A3 %>%
  arrange(desc(utility_A3)) %>%
  slice(1)
## # A tibble: 1 × 6
##   w_bill w_index expected_return    sd variance utility_A3
##    <dbl>   <dbl>           <dbl> <dbl>    <dbl>      <dbl>
## 1    0.4     0.6           0.098  0.12   0.0144     0.0764

Conclusion:
A higher risk-aversion coefficient leads investors to prefer less risky portfolios with lower stock weight.


CFA Problems 1–3

Given investments:

Investment Expected Return Standard Deviation
1 0.12 0.30
2 0.15 0.50
3 0.21 0.16
4 0.24 0.21

Utility formula:

U = E(r) − Aσ²

Where A = 4

investments <- tibble(
  investment = c(1,2,3,4),
  return = c(0.12,0.15,0.21,0.24),
  sd = c(0.30,0.50,0.16,0.21)
)

A <- 4

investments <- investments %>%
  mutate(
    variance = sd^2,
    utility = return - A * variance
  )

investments
## # A tibble: 4 × 5
##   investment return    sd variance utility
##        <dbl>  <dbl> <dbl>    <dbl>   <dbl>
## 1          1   0.12  0.3    0.09   -0.24  
## 2          2   0.15  0.5    0.25   -0.85  
## 3          3   0.21  0.16   0.0256  0.108 
## 4          4   0.24  0.21   0.0441  0.0636

CFA Problem 1

Which investment would a risk-averse investor (A = 4) choose?

investments %>%
  arrange(desc(utility)) %>%
  slice(1)
## # A tibble: 1 × 5
##   investment return    sd variance utility
##        <dbl>  <dbl> <dbl>    <dbl>   <dbl>
## 1          3   0.21  0.16   0.0256   0.108

The investment with the highest utility value is the preferred choice.


CFA Problem 2

If the investor is risk neutral, they only care about expected return.

investments %>%
  arrange(desc(return)) %>%
  slice(1)
## # A tibble: 1 × 5
##   investment return    sd variance utility
##        <dbl>  <dbl> <dbl>    <dbl>   <dbl>
## 1          4   0.24  0.21   0.0441  0.0636

Conclusion:
A risk-neutral investor chooses the investment with the highest expected return.


CFA Problem 3

The variable A in the utility formula represents:

Investor’s aversion to risk.

Higher values of A indicate greater dislike for risk, meaning investors require higher returns to accept additional volatility.


Final Conclusion

This analysis evaluated portfolio combinations between risk-free assets and the S&P 500. As the weight in equities increases, expected return increases but risk also rises. Utility analysis shows how investor preferences change depending on their risk aversion level. Risk-neutral investors focus only on return, while risk-averse investors balance return against risk.