Empty
Empty
CAPM Expected Return (Julia)
function capm_expected_return(Rf::Float64, Rm::Float64, beta::Float64)
return Rf + beta * (Rm - Rf)
end
Rf = 0.03
Rm = 0.09
betas = [0.8, 1.0, 1.2, 1.5]
expected_returns = [capm_expected_return(Rf, Rm, b) for b in betas]
println(expected_returns)
Estimating Beta (OLS)
using CSV, DataFrames, GLM
df = CSV.read("returns.csv", DataFrame)
df.asset_excess = df.asset_return .- df.rf
df.market_excess = df.market_return .- df.rf
model = lm(@formula(asset_excess ~ market_excess), df)
println(coef(model))