【问题标题】:How to find monthly returns for each stock in portfolio如何找到投资组合中每只股票的月收益
【发布时间】:2020-04-19 16:53:51
【问题描述】:

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

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

【问题讨论】:

    标签: r stock


    【解决方案1】:

    如果你愿意使用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"
      )
    

    【讨论】:

    • 我宁愿不必使用 tidyquant。另外,我只使用您包含的代码获取 DPZ,而且它的格式很奇怪。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-26
    • 2018-11-25
    相关资源
    最近更新 更多