r-如何找到投资组合中每只股票的月度回报

  • 本文关键字:回报 何找 投资 组合 r stock
  • 更新时间 :
  • 英文 :


我想找到每只股票的月度回报。我当前的代码为我的所有股票提供相同的价值

tickers <- c('DPZ','SPY','AMD','MSFT')
Portfolio1 <- getSymbols.yahoo(tickers[1], from="2016-01-01", to= "2018- 
12- 
31", auto.assign=FALSE)
Portfolio2 <- Portfolio1[,6]
my_portfolio <- monthlyReturn(Portfolio2)
for(i in 2:length(tickers)){
ticker1 <- c('DPZ','SPY','AMD','MSFT')
getSymbols.yahoo(tickers[i], from="2016-01-01", to= "2018-12-31", 
auto.assign=FALSE)
Portfolio2 <- Portfolio1[,6]
holder <- monthlyReturn(Portfolio2)
my_portfolio <- cbind( my_portfolio, holder )
}
names (my_portfolio) <- tickers

如果您愿意使用tidyquant,您可以执行:

library(tidyquant)
library(dplyr)
result <- c("DPZ", "SPY", "AMD", "MSFT") %>%
tq_get(get = "stock.prices", from = "2016-01-01", to = "2018-12-31") %>%
group_by(symbol) %>%
tq_transmute(
select = adjusted,
mutate_fun = periodReturn,
period = "monthly",
col_rename = "monthly.returns",
type = "log"
)

最新更新