如何使用 Quantmod 仅提取收盘价

问题描述

我是 quantmod 的新手

我正在使用 quantmod 来提取股票价格,但是,我想将我的提取限制为收盘价。我想知道是否有一种方法可以代替下载所有认列。

这是我正在使用的代码

tickers <- c("1COV.DE","ADS.DE","ALV.DE","BAS.DE")
from <- "2014-10-01"
to = "2021-07-29"

getSymbols(tickers,src = "yahoo",from = from,to = to,adjust = TRUE,periodicity = "daily")

解决方法

一种方法是使用 tidyquant 库并将所有四只股票放在一个数据框中。然后您可以按符号分组。这样,您就不会遇到不同长度符号的问题。

library(tidyquant)

tickers <- c("1COV.DE","ADS.DE","ALV.DE","BAS.DE")
from <- "2014-10-01"
to = "2021-07-29"

closed <- tq_get(tickers,from = from,to = to) %>%
  select(symbol,date,close) %>% 
  arrange(date)

,

你可以用这个模式来做到:

tickers <- c("1COV.DE","BAS.DE")

# Store all data in a new environment
e <- new.env()
getSymbols(tickers,from = "2014-10-01",adjust = TRUE,env = e)

# Combine close prices
prices <- do.call(merge,lapply(e,Cl))
# remove leading "X" created by make.names()
colnames(prices) <- gsub("^X","",colnames(prices))
# remove ".Close" suffix
colnames(prices) <- gsub(".Close",colnames(prices),fixed = TRUE)
# reorder columns to match 'tickers'
prices <- prices[,tickers]