使用 pandas 数据阅读器提取股票信息
Posted
技术标签:
【中文标题】使用 pandas 数据阅读器提取股票信息【英文标题】:Pulling stock information using pandas datareader 【发布时间】:2018-04-02 01:23:24 【问题描述】:我正在使用 pandas 数据阅读器来提取给定日期范围内的股票信息。例如:
import pandas_datareader.data as web
import datetime as dt
start = dt.datetime(2018,3,26)
end = dt.datetime(2018,3,29)
web.DataReader('IBM','yahoo', start, end).reset_index()
这将为 IBM 返回以下数据框:
这包含我正在寻找的信息,但我想自动迭代多个股票代码(而不是手动更改股票代码)。理想情况下,我可以通过所需股票代码列表循环此代码。
【问题讨论】:
【参考方案1】:这是另一种方式,直接创建数据框:
tickers = ['IBM','AAPL']
df = pd.concat([web.DataReader(ticker,'morningstar', start, end) for ticker in tickers]).reset_index()
返回:
Symbol Date Close High Low Open Volume
0 IBM 2018-03-26 153.37 153.6570 150.28 151.210 4103904
1 IBM 2018-03-27 151.91 154.8697 151.16 153.950 3883745
2 IBM 2018-03-28 152.52 153.8600 151.89 152.070 3664826
3 IBM 2018-03-29 153.43 153.8900 151.08 153.070 3419959
4 AAPL 2018-03-26 172.77 173.1000 166.44 168.070 37541236
5 AAPL 2018-03-27 168.34 175.1500 166.92 173.680 40922579
6 AAPL 2018-03-28 166.48 170.0200 165.19 167.250 41668545
7 AAPL 2018-03-29 167.78 171.7500 166.90 167.805 38398505
【讨论】:
【参考方案2】:我认为这可能是您正在寻找的。p>
import pandas_datareader.data as web
import datetime as dt
start = dt.datetime(2018,3,26)
end = dt.datetime(2018,3,29)
tickers = ['IBM', 'FB']
data =
for t in tickers:
data[t] = web.DataReader(t,'morningstar', start, end).reset_index()
【讨论】:
以上是关于使用 pandas 数据阅读器提取股票信息的主要内容,如果未能解决你的问题,请参考以下文章
用Pandas Dataframe支撑起多只金融产品股票的数据内部形态
text [股票数据提取]考虑到Pandas_Datareader不再适用于雅虎数据,获取股票数据。 #pandas #e