Alpha Vantage 是一个能够让你通过 Json 和 Pandas DataFrame 格式获取免费实时金融数据的API。
它获取数据时需要使用API Key,你可以在这里申请:
https://www.alphavantage.co/support/#api-key
输入完相关信息后点击 GET FREE API KEY 后就能获取到API KEY,非常方便。
下面就教大家怎么使用 Alpha Vantage API.
1.准备
开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,请访问这篇文章:超详细Python安装指南 进行安装。
(可选1) 如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda,它内置了Python和pip.
(可选2) 此外,推荐大家用VSCode编辑器来编写小型Python项目:Python 编程的最好搭档—VSCode 详细指南
Windows环境下打开Cmd(开始—运行—CMD),苹果系统环境下请打开Terminal(command+空格输入Terminal),输入命令安装依赖:
pip install alpha_vantage
2.基本使用
默认情况下,数据会以字典的形式返回:
from alpha_vantage.timeseries import TimeSeries ts = TimeSeries(key='你的API Key') data, meta_data = ts.get_intraday('OXY') print(data)
如果你想要获取Dataframe版本的数据,请这样写:
from alpha_vantage.timeseries import TimeSeries ts = TimeSeries(key='你的API Key', output_format='pandas', indexing_type='date') data, meta_data = ts.get_intraday('OXY') print(data)
你还可以指定数据的频率,比如获取分钟级数据:
from alpha_vantage.timeseries import TimeSeries ts = TimeSeries(key='你的API Key', output_format='pandas', indexing_type='date') data, meta_data = ts.get_intraday('OXY', interval='1min', outputsize='full') print(data)
可惜的是,alpha_vantage 不允许我们获取历史行情数据。
3.高级功能
没什么特别的高级功能,它支持异步获取数据:
import asyncio from alpha_vantage.async_support.timeseries import TimeSeries symbols = ['AAPL', 'GOOG', 'TSLA', 'MSFT'] async def get_data(symbol): ts = TimeSeries(key='YOUR_KEY_HERE') data, _ = await ts.get_quote_endpoint(symbol) await ts.close() return data loop = asyncio.get_event_loop() tasks = [get_data(symbol) for symbol in symbols] group1 = asyncio.gather(*tasks) results = loop.run_until_complete(group1) loop.close() print(results)
这样能异步获取不同股票的当前价格,减少了网络IO的等待时间。
如果你希望以最简单的方式每天按时获取分钟级数据,那么这个API是你值得尝试的。
我们的文章到此就结束啦,如果你喜欢今天的 Python 教程,请持续关注Python实用宝典。
有任何问题,可以在公众号后台回复:加群,回答相应验证信息,进入互助群询问。
原创不易,希望你能在下面点个赞和在看支持我继续创作,谢谢!
Python实用宝典 ( pythondict.com )
不只是一个宝典
欢迎关注公众号:Python实用宝典