Given

Risk-free rate (T-bill) = 5% = 0.05

S&P 500 expected return = 5% + 8% = 13% = 0.13

S&P standard deviation = 20% = 0.20

T-bill standard deviation = 0

rf <- 0.05
rm <- 0.13
sigma_m <- 0.20

w_bills <- c(0,0.2,0.4,0.6,0.8,1)
w_index <- 1 - w_bills

expected_return <- w_bills*rf + w_index*rm
variance <- (w_index^2)*(sigma_m^2)

data.frame(w_bills, w_index, expected_return, variance)
##   w_bills w_index expected_return variance
## 1     0.0     1.0           0.130   0.0400
## 2     0.2     0.8           0.114   0.0256
## 3     0.4     0.6           0.098   0.0144
## 4     0.6     0.4           0.082   0.0064
## 5     0.8     0.2           0.066   0.0016
## 6     1.0     0.0           0.050   0.0000
A <- 2
utility <- expected_return - 0.5*A*variance

data.frame(w_bills, w_index, expected_return, variance, utility)
##   w_bills w_index expected_return variance utility
## 1     0.0     1.0           0.130   0.0400  0.0900
## 2     0.2     0.8           0.114   0.0256  0.0884
## 3     0.4     0.6           0.098   0.0144  0.0836
## 4     0.6     0.4           0.082   0.0064  0.0756
## 5     0.8     0.2           0.066   0.0016  0.0644
## 6     1.0     0.0           0.050   0.0000  0.0500
A <- 3
utility <- expected_return - 0.5*A*variance

data.frame(w_bills, w_index, expected_return, variance, utility)
##   w_bills w_index expected_return variance utility
## 1     0.0     1.0           0.130   0.0400  0.0700
## 2     0.2     0.8           0.114   0.0256  0.0756
## 3     0.4     0.6           0.098   0.0144  0.0764
## 4     0.6     0.4           0.082   0.0064  0.0724
## 5     0.8     0.2           0.066   0.0016  0.0636
## 6     1.0     0.0           0.050   0.0000  0.0500
A <- 4

E <- c(0.12,0.15,0.21,0.24)
sigma <- c(0.30,0.50,0.16,0.21)

utility <- E - 0.5*A*(sigma^2)

data.frame(investment=1:4,E,sigma,utility)
##   investment    E sigma utility
## 1          1 0.12  0.30 -0.0600
## 2          2 0.15  0.50 -0.3500
## 3          3 0.21  0.16  0.1588
## 4          4 0.24  0.21  0.1518