Data

data <- data.frame(
  Year = 1997:2006,
  Cash_Flow_X = c(1000, 1500, 1400, 1700, 1900, 1600, 1700, 2000, 2100, 2200),
  Beginning_Value_X = c(20000, 22000, 21000, 24000, 22000, 23000, 26000, 25000, 24000, 27000),
  Ending_Value_X = c(22000, 21000, 24000, 22000, 23000, 26000, 25000, 24000, 27000, 30000),
  Cash_Flow_Y = c(1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400),
  Beginning_Value_Y = c(20000, 20000, 20000, 21000, 21000, 22000, 23000, 23000, 24000, 25000),
  Ending_Value_Y = c(20000, 20000, 21000, 21000, 22000, 23000, 23000, 24000, 25000, 25000)
)

A. Calculate annual returns for each asset

data$Return_X <- (data$Ending_Value_X - data$Beginning_Value_X + data$Cash_Flow_X) / data$Beginning_Value_X
data$Return_Y <- (data$Ending_Value_Y - data$Beginning_Value_Y + data$Cash_Flow_Y) / data$Beginning_Value_Y

print(data)
##    Year Cash_Flow_X Beginning_Value_X Ending_Value_X Cash_Flow_Y
## 1  1997        1000             20000          22000        1500
## 2  1998        1500             22000          21000        1600
## 3  1999        1400             21000          24000        1700
## 4  2000        1700             24000          22000        1800
## 5  2001        1900             22000          23000        1900
## 6  2002        1600             23000          26000        2000
## 7  2003        1700             26000          25000        2100
## 8  2004        2000             25000          24000        2200
## 9  2005        2100             24000          27000        2300
## 10 2006        2200             27000          30000        2400
##    Beginning_Value_Y Ending_Value_Y    Return_X   Return_Y
## 1              20000          20000  0.15000000 0.07500000
## 2              20000          20000  0.02272727 0.08000000
## 3              20000          21000  0.20952381 0.13500000
## 4              21000          21000 -0.01250000 0.08571429
## 5              21000          22000  0.13181818 0.13809524
## 6              22000          23000  0.20000000 0.13636364
## 7              23000          23000  0.02692308 0.09130435
## 8              23000          24000  0.04000000 0.13913043
## 9              24000          25000  0.21250000 0.13750000
## 10             25000          25000  0.19259259 0.09600000
 #Average annual return for each asset
avg_return_x <- mean(data$Return_X)
avg_return_y <- mean(data$Return_Y)

B. Standard dev of returns

std_dev_x <- sd(data$Return_X)
std_dev_y <- sd(data$Return_Y)

cat("Average Return X:", avg_return_x, "\n")
## Average Return X: 0.1173585
cat("Average Return Y:", avg_return_y, "\n")
## Average Return Y: 0.1114108
cat("Standard Deviation X:", std_dev_x, "\n")
## Standard Deviation X: 0.0890018
cat("Standard Deviation Y:", std_dev_y, "\n")
## Standard Deviation Y: 0.02779815

D. CAPM

risk_free_rate <- 0.07
market_return <- 0.10
beta_x <- 1.60
beta_y <- 1.10

# Required returns
required_return_x <- risk_free_rate + beta_x * (market_return - risk_free_rate)
required_return_y <- risk_free_rate + beta_y * (market_return - risk_free_rate)

cat("Required Return X:", required_return_x, "\n")
## Required Return X: 0.118
cat("Required Return Y:", required_return_y, "\n")
## Required Return Y: 0.103

F. Market return drop

market_return2 <- 0.09

adjusted_required_return_x = risk_free_rate + beta_x * (market_return2 - risk_free_rate)
adjusted_required_return_y = risk_free_rate + beta_y * (market_return2 - risk_free_rate)

cat("Adjusted Required Return X:", adjusted_required_return_x, "\n")
## Adjusted Required Return X: 0.102
cat("Adjusted Required Return Y:", adjusted_required_return_y, "\n")
## Adjusted Required Return Y: 0.092