问题描述
我需要将 ADR 和 ORD 对(以及它们之间的货币)的股票价格数据编译到 Pandas 数据框中。我刚开始为此使用 Alpha Vantage API,它非常适合获取美国上市的股票价格(以分钟为单位)和货币汇率,但我还没有弄清楚如何获取外国上市的股票价格( ORD)。我几乎肯定它只是一个ticker.exchange类型的输入,但这似乎不起作用。
以下代码是我在 Jupiter Notebook 中使用的代码,用于获取 Diageo Plc 的 ADR。
from alpha_vantage.timeseries import TimeSeries
from pprint import pprint
ts = TimeSeries(key='YOUR_AV_KEY',output_format='pandas')
data,Meta_data = ts.get_inTraday(symbol='DEO',interval='1min',outputsize='full')
pprint(data.head(20))
查找 Diageo Plc 的ticker.exchange 代码。在伦敦交易所,我使用了这个查询: https://www.alphavantage.co/query?function=SYMBOL_SEARCH&keywords=Diageo&apikey=$
将 DGE.LON 作为ticker.exchange 代码。使用“DGE.LON”切换上述代码中的“DEO”时,出现以下错误: 无效的 API 调用。请重试或访问 TIME_SERIES_INTradAY
的文档 (https://www.alphavantage.co/documentation/)时间序列日内 API 仅适用于美国股票吗?有没有办法让我通过 Alpha Vantage 获取 DGE.LON 的每分钟定价数据?
解决方法
我不认为 Alpha Vantage 有所有外国股票的盘中数据。他们每天都有一些,但以下电话对我有用:
data,meta_data = ts.get_daily(symbol='DGE.LON',outputsize='compact')