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