【问题标题】:Write each column from each stock prices - R Studio写出每个股票价格的每一列 - R Studio
【发布时间】:2020-05-25 22:54:30
【问题描述】:

这是我开始的代码:

mdate <- "2016-01-04"
edate <- "2016-03-09"
tickers <- c("ABG","ACH","ADM","AEG","AEM","AGQ","AGRO","AKOb","APO","ARCO","ASA") # actual tickers should be more than 2000

for(ticker in tickers)
  High_Raw <- cbind(High_Raw, getSymbols(ticker, from = mdate, to = edate, auto.assign = F))

如您所料,矩阵显示 Open_ABG、High_ABG、Low_ABG...... Open_ACH、High_ACH....等等。

我想组织这些数据,例如; Open_ABG, Open_ACH... Open_ASA, High_ABG, High ACH.... High_ASA, Low_ABG.....等等

我知道我可以使用代码;

High_Raw <- cbind(High_Raw, getSymbols(ticker, from = mdate, to = edate, auto.assign = F))[,2] 
Low_Raw <- cbind(Low_Raw, getSymbols(ticker, from = mdate, to = edate, auto.assign = F)[,3]

但是,有错误;由于错误,High_Raw 包含 50 个代码,Low_Raw 包含 100 个代码。由于我尝试导入超过 2000 家公司的数据,因此这种方式不适用于此。

我该怎么做?

【问题讨论】:

  • 欢迎来到stackoverflow。我猜函数getSymbol 不是base R。你能指定你正在使用的包吗?我还建议this 发帖帮助我们帮助您。
  • 另外,我们没有High_Raw
  • 这个包是 quantmod,High_Raw 是一个新的,用来存储这些股票数据。

标签: r stock


【解决方案1】:

不要在for 循环中增加对象。使用lapply

library(dplyr)
library(quantmod)

tickers <- c("ABG","ACH","ADM")

data <- do.call(cbind.data.frame, lapply(tickers, function(x) 
               getSymbols(x, from = mdate, to = edate, auto.assign = F)))

然后你可以使用:

data %>% 
  select(contains('Open'), contains('High'), contains('Low'), contains('Close'))

#           ABG.Open ACH.Open ADM.Open ABG.High ACH.High ....
#2016-01-04     66.2     7.87     36.1     67.3     7.91 ....
#2016-01-05     66.7     7.94     35.8     67.1     7.95 ....
#2016-01-06     63.8     7.82     35.7     63.8     7.88 ....
#2016-01-07     56.2     7.40     34.9     57.7     7.52 ....
#2016-01-08     55.8     7.62     34.8     56.5     7.64 ....
#2016-01-11     53.6     7.37     34.5     55.9     7.39 ....
#....

如果您希望在最终输出中包含 'Volume''Adjusted',也可以包含它们。

【讨论】:

  • 哇!那很完美!非常感谢!
  • 你能看看我的另一个问题吗?我在此页面中解释了一些错误。如果您能帮助我,我将不胜感激。
猜你喜欢
  • 2021-06-11
  • 2013-04-18
  • 2021-10-08
  • 2018-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多