我正在尝试使用 PerformanceAnalytics CAPM.beta() 函数在 R 中量化股票的 beta(基准与 SPY),结果甚至与我在 Yahoo/Google Finance 在线看到的值都不接近。编码:
require(PerformanceAnalytics)
start_date <- "2013-08-24"
acad <- getSymbols("ACAD", from = start_date, auto.assign = F)
spy <- getSymbols("SPY", from = start_date, auto.assign = F)
CAPM.beta(acad[,6], spy[,6])
对于上面的例子,Yahoo/Finviz/Google 都列出了 ACAD 的 2.6 到 3.0 以上的测试版。虽然我不确定每个站点的回溯期是多少,但更改上述代码中的值会在 1、2、3 年的回溯中产生小于 1 的 beta 值。
同样,通过尝试使用 lm() 计算 beta,我得到了 0.39 beta 用于 ACAD ~ SPY 2 年回顾:
m <- lm(acad[,6] ~ spy[,6] + 0)
beta <- coef(m)[1]
beta
我错过了什么?