小编Dan*_*gan的帖子

XTS的日期来自不同的来源.用R来计算beta

我对R有些新意.我想我的错误对经验丰富的人来说是微不足道的.

我正在尝试编写一个R程序来计算一些股票的beta.读取股票代码Input.csv,并从雅虎下载数据.然后,代码循环遍历每个股票的beta计算,并输出总结回归的csv.

当所有时期都假设单一无风险利率时,我得到了代码,但我相信我可能需要在规范超额收益时使用每个月的实际无风险利率.我在这一步遇到了麻烦.从FRED(GS20)成功下载了xts,但是当从安全和市场回报中减去回报时,它产生的xts为零长度.这会杀死该计划.

我相信这可能是因为FRED和雅虎之间的日期格式不同.我注意到getSymbols命令忽略了from-to日期.任何帮助,将不胜感激.

require(PerformanceAnalytics)
require(quantmod)
require(car)

setwd("R Projects/Beta Test")

proxy <- read.csv("Input.csv",header=FALSE)[,1]
summary <- as.data.frame(matrix(0, ncol = 5, nrow = 0))

mar <- getSymbols("^GSPC", src = "yahoo", from = as.Date("2006-01-01"),
                  to = as.Date("2011-12-31"),auto.assign=FALSE)
riskFree <- getSymbols("GS20", src = "FRED", from = as.Date("2006-12-01"),
                       to = as.Date("2011-12-31"),auto.assign=FALSE)

for (n in proxy){

    sec <- getSymbols(n, src = "yahoo", from = as.Date("2006-01-01"),
                      to = as.Date("2011-12-31"),auto.assign=FALSE)

    #Monthly Returns
    #ERROR PRODUCED HERE
    sec.xsmonthly <- monthlyReturn(to.monthly(sec),type="log") - riskFree
    mar.xsmonthly <- monthlyReturn(to.monthly(mar),type="log") - riskFree

    sec.reg …
Run Code Online (Sandbox Code Playgroud)

finance r xts quantmod

5
推荐指数
1
解决办法
1544
查看次数

标签 统计

finance ×1

quantmod ×1

r ×1

xts ×1