Skip to main content

从 Alpha Vantage 获取数据到 python。

项目描述

AVAPI

从 Alpha Vantage 获取数据到 python。

作者:

文档

如需更完整的文档,请访问ReadTheDocs

alpha vantage API 还有其他 python 包装器,例如alphavantagealpha-vantage-downloaderalpha_vantagealphavantage-wrapper. 它们都有一个共同点,即它们对 Alpha Vantage 提供的每种数据类型都有不同的功能。在一个会话中以多种分辨率下载多种数据类型时,这可能不太实用。Avapi 有一个函数可以从 Alpha Vantage 下载任何数据类型: avapi.get_data() 将 **kwargs 作为输入并输出字典,除非给出 datatype="csv",在这种情况下会保存一个 csv 文件。如果数据类型是时间序列,则 avapi.to_df() 将其转换为 Pandas 数据帧。其目的是一种简单而灵活的方式将数据从 Alpha Vantage 获取到 python 中。

安装

pip install avapi

使用前

按照Alpha vantage网站上的说明获取免费的 API 密钥。这些文档提供了历史数据和指标的单点下载所需的所有信息。请查看 Alpha Vantage支持并通读常见问题

例子

“演示” api-key 仅适用于这些特定示例。如果您修改代码,您还需要提供自己的 api-key。

单次下载
import avapi as aa
import pandas as pd

data = aa.get_data(function='VWAP', symbol='MSFT',
                   interval='15min', apikey='demo')

df = aa.to_df(data)
df.head()
多个文件下载

免费帐户有限制:每分钟最多 5 个 API 请求,每天最多 500 个请求。在循环中,如果你不合并 time.sleep(),你可能会得到错误。

import avapi as aa
import pandas as pd
from time import sleep

data_path = 'data/'

data_calls = [

{
 'function': 'TIME_SERIES_DAILY',
 'symbol': 'MSFT',
 'apikey': 'demo',
 'datatype': 'csv',
},
{
 'function':'TIME_SERIES_INTRADAY',
 'symbol': 'MSFT',
 'interval': '5min',
 'apikey': 'demo',
 'datatype': 'csv',

}
]


for call in data_calls:
    save_to = data_path + call['function'] + '_' + call['symbol'] + '.csv'
    data = aa.get_data(save_to=save_to, **call)
    sleep(15)
意想不到的结果

如果您得到意外结果,您可以通过以下方式检查来自 Alpha Vantage 服务器的最新原始响应:

response = aa.response()
print(response)

贡献

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

avapi-0.1.6.tar.gz (4.1 kB 查看哈希)

已上传 source

内置分布

avapi-0.1.6-py3-none-any.whl (5.3 kB 查看哈希

已上传 py3