1
私はlapplyを使って株式のリストをCAPMを使ってベータ計算に成功させる次のコードを持っています。しかし、各株式がモデルを実行した後、回帰係数(ベータ)を別のリストに追加する(またはcapmリストから抽出する)必要があります。私の問題は、appappが私のラップ関数内で動作しないということです。データリストリストに係数があることを期待しています。リストに結果を追加する
library(qmao)
library(broom)
startDate = as.Date("2013-10-01") #Specify what date to get the prices from
endDate = as.Date("2016-09-30")
symbols <- c('AAPL','AMZN')
data.env <- new.env()
getSymbols(symbols, env = data.env ,from= startDate ,to= endDate)
pf <- PF(symbols,env = data.env,silent=TRUE) # consolidated xts-object
pfMth <- pf[endpoints(pf,on='months'),] # get monthly endpoints
pfMthRets <- ROC(pfMth,type='discrete')
pfMthRets <- na.omit(pfMthRets)
tail(pfMthRets)
plot(pfMthRets$AAPL)
getSymbols("^gspc",from = startDate, to = endDate)
GSPC_Adjusted = GSPC$GSPC.Adjusted
GSPC.mrtn <- monthlyReturn(GSPC$GSPC.Adjusted)
GSPC.mrtn <- GSPC.mrtn [-1,]
names(GSPC.mrtn)[1] <- "SP"
datalist = list()
lapply(symbols, function(symbols) {
input <- as.formula(paste("pfMthRets$",symbols, "~ GSPC.mrtn$SP"))
capm <- lm(input)
datalist <- append(datalist, coefficients(capm))
})
ありがとうございます。私はループの外でdo.call関数を使って周りを回っていましたが、動作させることができませんでした。キーは係数(capm)ラインでした。素晴らしい学習経験。 –