我有一些格式化的股票数据(从其他来源获得):
Company,Date,Close
AXP,2011-06-03,49.28
AXP,2011-06-04,49.28
CAT,2011-06-03,101.1
CAT,2011-06-04,101.1
我想要做的是添加音量。如果使用GetSymbols
命令下载库存数据,则卷是其中的一部分。
问题是使用GetSymbols
命令获得的数据结构完全不同。参见:
以某种方式可以更改格式以便我拥有上述格式的数据吗?我希望结果表看起来像这样:
Company,Date,Close,Volume
AXP,2011-06-03,49.28,5000000
AXP,2011-06-04,49.28,3500000
CAT,2011-06-03,101.1,1000000
CAT,2011-06-04,101.1,3000000
提前致谢!!
答案 0 :(得分:1)
你可以采取一种方式:
遍历股票代码:
-(UITableViewCell *)cellForField:(FXFormField *)field {@autoreleasepool {}}
创建的xts并提取卷列并添加新的getSymbols
列Company
代码rbind
原始数据框,其中包含merge
列代码段假定您导入的数据是Company,Date
对象并命名为dataframe
dfOrig
tickers <- c('AXP','CAT')
getSymbols(c("AXP","CAT"), from = '2018-03-01')
dfNew <- data.frame(Company = character(),
Date=as.Date(character()),
Close=numeric(),
Volume=numeric(),
stringsAsFactors=FALSE)
for(i in 1:length(tickers)){
dfSym <- cbind(Company=rep(tickers[i],nrow(get(tickers[i]))),fortify.zoo(get(tickers[i])[,5]))
names(dfSym)[2:3] <- c('Date','Volume')
dfNew <- rbind(dfNew,dfSym)
}
的前几行:
dfNew
现在,您可以按> head(dfNew)
Company Date Volume
1 AXP 2018-03-01 4369800
2 AXP 2018-03-02 3584700
3 AXP 2018-03-05 2661400
4 AXP 2018-03-06 3221100
5 AXP 2018-03-07 3594900
6 AXP 2018-03-08 3760500
和Company
合并数据框。
Date
答案 1 :(得分:0)
您可以使用tidyquant
:
library(tidyquant)
ticks <- c("AXP","CAT")
sd <- as.Date("2011-06-03")
ed <- as.Date("2011-06-10")
tq_get(ticks,
from = sd,
to = ed ) %>%
select(symbol, date, close,volume) %>%
arrange(date)