# chapter5 cfa1
prob_equities <- 0.6
prob_tbills <- 0.4
expected_return_equities <- 50000
expected_return_tbills <- -30000

expected_risk_premium <- expected_return_equities - expected_return_tbills

print(paste("Expected risk premium:", expected_risk_premium))
## [1] "Expected risk premium: 80000"
# chapter6 problem set 10 
# Given data
weights_bills <- c(0, 0.25, 0.45, 0.65, 0.85, 1.0)
weights_index <- rev(weights_bills)
expected_return_index <- 0.13  # 13%
variance_index <- 0.20  # 20%

# Calculate expected return for each portfolio
expected_return_portfolio <- weights_bills * 0 + weights_index * expected_return_index

# Calculate variance for each portfolio
variance_portfolio <- weights_bills^2 * 0 + weights_index^2 * variance_index

# Display the calculated values
portfolio_data <- data.frame(
  Portfolio = 1:6,
  W_bills = weights_bills,
  W_index = weights_index,
  Expected_Return = expected_return_portfolio,
  Variance = variance_portfolio
)

print(portfolio_data)
##   Portfolio W_bills W_index Expected_Return Variance
## 1         1    0.00    1.00          0.1300   0.2000
## 2         2    0.25    0.85          0.1105   0.1445
## 3         3    0.45    0.65          0.0845   0.0845
## 4         4    0.65    0.45          0.0585   0.0405
## 5         5    0.85    0.25          0.0325   0.0125
## 6         6    1.00    0.00          0.0000   0.0000
tbill_rate <- 0.05  # 5%
sp500_rate <- tbill_rate + 0.08  # 8% higher than T-bills
sp500_sd <- 0.20  # 20%

# Given weights
W_bills <- c(0, 0.2, 0.4, 0.6, 0.8, 1.0)
W_index <- rev(W_bills)

expected_return_portfolios <- W_bills * tbill_rate + W_index * sp500_rate

variance_portfolios <- W_bills^2 * 0 + W_index^2 * sp500_sd^2

print("Expected return of portfolios:")
## [1] "Expected return of portfolios:"
print(expected_return_portfolios)
## [1] 0.130 0.114 0.098 0.082 0.066 0.050
print(variance_portfolios)
## [1] 0.0400 0.0256 0.0144 0.0064 0.0016 0.0000
# chapter6 problem set 11
A <- 2

utility_levels <- expected_return_portfolios - 0.5 * A * variance_portfolios

print("Utility levels for A = 2:")
## [1] "Utility levels for A = 2:"
print(utility_levels)
## [1] 0.0900 0.0884 0.0836 0.0756 0.0644 0.0500
# chapter6 problem set 12
A <- 3

utility_levels_a3 <- expected_return_portfolios - 0.5 * A * variance_portfolios

print("Utility levels for A = 3:")
## [1] "Utility levels for A = 3:"
print(utility_levels_a3)
## [1] 0.0700 0.0756 0.0764 0.0724 0.0636 0.0500
# cfa1,2,3
expected_return <- c(0.12, 0.15, 0.21, 0.24)
standard_deviation <- c(0.30, 0.50, 0.16, 0.21)
A <- 4

utility_levels <- expected_return - 0.5 * A * standard_deviation^2

print("Utility levels:")
## [1] "Utility levels:"
print(utility_levels)
## [1] -0.0600 -0.3500  0.1588  0.1518
#2 On the basis of the utility formula above, which investment would you select if you were risk neutral?
# If I am not too concerned about risks, I would choose the investment that offers the best expected return, without paying much attention to potential problems.
#3 The variable A in the utility formula represents:
#b. Investor's aversion to risk.