R 如何只返回一个股票价格?

R 如何只返回一个股票价格?,r,dataset,quantmod,stock,R,Dataset,Quantmod,Stock,我有一千多个股票行情和相应的上市日期。我想用一个循环遍历每个股票代码,找到IPO日期的开盘价。我现在可以用quantmod来做这件事。getSymbols(),但它下载整个数据集,我可以将数据限制在一个时间范围内,但它不允许我这样做 getSymbols('AAPL',from='2017-02-02',to='2017-02-02') 由于某些原因,这不会返回第一个价格。它需要一个更大的时间框架,我只关心第一个开盘价。最终的输出将是在我现有的数据框中添加第三列,第三列将是第一个价格。我真的

我有一千多个股票行情和相应的上市日期。我想用一个循环遍历每个股票代码,找到IPO日期的开盘价。我现在可以用quantmod来做这件事。getSymbols(),但它下载整个数据集,我可以将数据限制在一个时间范围内,但它不允许我这样做

getSymbols('AAPL',from='2017-02-02',to='2017-02-02')

由于某些原因,这不会返回第一个价格。它需要一个更大的时间框架,我只关心第一个开盘价。最终的输出将是在我现有的数据框中添加第三列,第三列将是第一个价格。我真的试图避免下载成千上万的股票数据,因为那样它就会永远运行下去。如果您能帮助下载第一个开盘价,然后将该价格放入所有股票报价器的数据框中,我们将不胜感激。

由于您还没有提供您的数据示例,我自己制作了一个。下次请不要使用该对象的屏幕截图。改用
dput()

库(quantmod)
图书馆(lubridate)
getSymbols(c('AAPL','GOOG','MSFT','TSLA','FB'))

你的一些股票不是美国股票!这是有问题的,因为雅虎金融(Yahoo Finance)在美国以外的股票市场使用国家扩展。例如,在美国没有带有1810符号的股票,因此返回一个错误。有几个在美国以外,我选择了一个从香港。要下载此数据,需要在香港的符号之后放置.HK。伦敦证交所(伦敦)是

一旦我解决了这个问题,代码就可以工作了。所有股票发行商在IPO日都有其开盘价。然而,如果这些是不同的货币,我不确定这有多有用



xy我有初始日期,但每个股票IPO都是不同的,所以我不知道如何编写一个函数,可以执行日期加一天,如果IPO日期是31号,那该怎么办?我还将尝试添加一个输出表@phiverI很想在这里添加我的数据集,但我不知道如何在这篇文章中添加它,我感谢你的回答!但是,代码“index(x[1,])”返回错误“维数不正确”。您只需给出一个快照,如果代码只在几行上工作,它将扩展并处理完整数据。代码的这一部分只是让我创建数据来测试我的代码。这就是为什么提供示例非常重要的原因,它可以使流程更加顺畅,以避免来回出现这种情况,请使用第二个块。另外,您的对象的名称以及股票代码和ipo日期是什么?使用
dput(x[1:10,])
其中
x
是包含您的数据的对象的名称。然后在控制台中复制并粘贴输出。然后将其粘贴到你的问题中。我尝试运行你的代码,但没有更改代码,我修改了代码,两者都出现了相同的错误。我在文章开头有一个屏幕截图,我想这就是你想要的,它们都应该是stringsUse dput(x[1:10,]),其中x是包含数据的对象的名称。然后从控制台复制输出。然后将其粘贴到您的问题中作为编辑。谢谢!这管用!我想我必须为每只非美国股票添加额外的步骤,但这很有帮助。有没有办法查找所有quantmods股票交易所的符号,或者你必须单独查找@Rluver先生从雅虎金融(yahoo finance)获得的股票数据不是quantmod,所以这不是quantmod的选项。有雅虎使用的国家代码列表。如果您知道列表中每个股票所在的国家,您可以编写一个Web报废脚本,将列表中的国家与该表中的国家匹配,并获取国家代码。