XTS pochodzi z różnych źródeł. Użycie R do obliczenia beta

Jestem trochę nowy w R. Wyobrażam sobie, że mój błąd będzie trywialny dla doświadczonych.

Próbuję napisać program R, który obliczy beta dla wielu zasobów. Symbole zapasów są odczytywaneInput.csv, a dane są pobierane z yahoo. Kod następnie przechodzi przez obliczenia beta dla każdego zapasu i generuje csv podsumowujący regresje.

Kod zadziałał, gdy we wszystkich okresach założono jedną stawkę wolną od ryzyka, ale uważam, że w normalizowaniu nadmiernych zwrotów może zaistnieć potrzeba użycia rzeczywistej stopy wolnej od ryzyka. Mam problem z tym krokiem. Plik xts jest z powodzeniem pobierany z FRED (GS20), ale kiedy zwrot jest odejmowany od zabezpieczenia i zwrotu z rynku, generuje xts o zerowej długości. To zabija program.

Wierzę, że może to być spowodowane tym, że daty są w różnych formatach między FRED i Yahoo. Zauważyłem, że polecenie getSymbols zignorowało daty od-do. Każda pomoc byłaby doceniana.

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 <- lm(sec.xsweekly ~ mar.xsmonthly + lag(mar.xsmonthly,-1))

    summary[n,1] <- coef(sec.reg)[1]
    summary[n,2] <- coef(sec.reg)[2]
    summary[n,3] <- coef(sec.reg)[3]
    summary[n,5]<-summary(sec.reg)$r.squared
}

summary[,4] <- summary[,2]+summary[,3]

colnames(summary) <- c("Alpha","Beta","Beta-Lag","Sum Beta","R-Squared")
write.csv(summary,file="output.csv")

questionAnswers(1)

yourAnswerToTheQuestion