R语言 如何检索多个品牌的库存数据?

92vpleto  于 2023-04-27  发布在  其他
关注(0)|答案(1)|浏览(84)

我正在为我的论文收集数据。在我的数据集中,我有:

  • 公司名称(约90家公司)
  • 公司新闻
  • 推特的日期
  • 公司股票代码

在单独的列中,我想添加该特定日期的股票价格,以便进行事件研究-然而,我在网上找到的所有材料都只关注一家公司。作为第一步,我想收集这些公司在此期间(2年)的所有股票数据,然后将两个数据集连接起来。我使用了以下代码:

stock_data <- getSymbols( tweet_stock_merge$`Stock Symbol`, src= "yahoo", from = "2019-12-26", to = "2022-01-06")

这为我提供了股票价格,但是,在几个数据集中的每一个-有没有一种方法,我可以检索一个数据集中的数据?
非常感谢提前,我希望它是明确的我打算做什么,它是有意义的一般-它也可能是我在错误的轨道上。
代码之后:股票数据〈- getSymbols(tweet_stock_merge $Stock Symbol,src=“yahoo”,from =“2019-12-26”,to =“2022-01-06”)
我在网上看过(包括ChatGPT和RTutor),我得到了以下代码:

# Create a new column in the df data frame
df$stock_price <- NA

# Create a loop to iterate through the date levels
for (date in levels(df$date)) {
  
  # Create a subset of the df data frame for each date level
  df_date <- subset(df, date == date)
  
  # Create a loop to iterate through the stock symbols
  for (stock_symbol in levels(df_date$stock_symbol)) {
    
    # Get the stock price for the stock symbol in the date level
    stock_price <- get_stock_price(date, stock_symbol)
    
    # Update the stock_price column in the df data frame
    df$stock_price[df$date == date & df$stock_symbol == stock_symbol] <- stock_price
  }

但是,它并没有给我带来真实的的结果。

rqcrx0a6

rqcrx0a61#

您可以使用quantmod和tidyquant收集多个公司的股票数据并将其存储在单个数据集中。这里有一种方法。加载库quantmodtidyquant。接下来,您可以通过使用您自己的tweet_stock_merge数据集中的符号列表来定义您的股票符号。例如:

stock_symbols <- c("AAPL", "GOOGL", "MSFT")
start_date <- "2019-12-26"
end_date <- "2022-01-06"
stock_data <- tq_get(stock_symbols, from = start_date, to = end_date, adjust = TRUE)
tweet_stock_merge$Date <- as.Date(tweet_stock_merge$Date)
stock_data$date <- as.Date(stock_data$date)
merged_data <- merge(tweet_stock_merge, stock_data, by.x = c("Stock Symbol", "Date"), by.y = c("symbol", "date"), all.x = TRUE)

希望这能帮上忙。

相关问题