capm模型R语言代码
时间: 2024-09-29 13:06:32 浏览: 89
CAPM 实证数据和代码
CAPM模型(Capital Asset Pricing Model),又称为资本资产定价模型,是用来衡量资产预期收益与系统风险间的关系的一种金融理论工具。在R语言中,我们可以使用`quantmod`库来获取历史数据,并通过` PerformanceAnalytics`包来进行分析。
下面是一个简单的CAPM模型计算的R代码示例:
```R
# 首先安装并加载必要的包
install.packages(c("quantmod", "PerformanceAnalytics"))
library(quantmod)
library(PerformanceAnalytics)
# 定义股票和指数的数据源及日期范围
getSymbols("AAPL", src = "yahoo") # 示例:苹果公司的股票
getSymbols("^GSPC", src = "yahoo") # 示例:标普500指数
# 获取每日收益率数据
daily_returns <- apply(log(Ad(getSymbols("AAPL"))), 2, diff) / log(Ad(getSymbols("AAPL"))[-1])
sp_index_daily_returns <- apply(log(Ad(getSymbols("^GSPC"))) , 2, diff) / log(Ad(getSymbols("^GSPC"))[- colMeans(sp_index_daily_returns)
# CAPM公式计算阿尔法(α)和贝塔(β)
alpha_AAPL <- mean(daily_returns) - market_return
beta_AAPL <- cov(sp_index_daily_returns, daily_returns) / var(sp_index_daily_returns)
cat("Apple的阿尔法(alpha): ", alpha_AAPL, "\n")
cat("Apple的贝塔(beta): ", beta_AAPL, "\n")
# 相关统计检验
results <- summary(lm(daily_returns ~ sp_index_daily_returns))
cat("CAPM回归结果:\n", results$coefficients[2], " (Beta)", results$r.squared, "\n")
```
这个代码首先获取了苹果公司股票(AAPL)和标普500指数的日收益率,然后计算出它们各自的阿尔法(超额回报率)和贝塔(对市场波动性的敏感度)。最后,它会进行一个线性回归以验证CAPM模型的有效性。
阅读全文