首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从Python直接使用Alpha Vantage API

如何从Python直接使用Alpha Vantage API
EN

Stack Overflow用户
提问于 2018-01-03 05:57:53
回答 7查看 26.4K关注 0票数 5

我一直在使用Romel的alpha_vantage包,但也想直接从python (提供更大的功能)中使用alpha_vantage来处理包请求,如本文所述。

代码语言:javascript
运行
复制
import requests
import alpha_vantage

API_URL = "https://www.alphavantage.co/query"

data = {
    "function": "TIME_SERIES_DAILY",
    "symbol": "NIFTY",
    "outputsize": "compact",
    "datatype": "csv"
    "apikey": "XXX",
    }
response = requests.get(API_URL, data)
print(response.json())[/code]

但是,在返回的dict中,我得到了以下错误消息:

{“错误消息”:“无效的API调用。请重试或访问TIME_SERIES_DAILY文档(TIME_SERIES_DAILY)。”}

对于requests.post(),其结果是:

代码语言:javascript
运行
复制
response = requests.post(API_URL, data)
{'detail': 'Method "POST" not allowed.'}

我重新检查了文档,并跟踪了所有所需的API参数。感谢一些帮助,这是我在这里可能缺少的,以及正确的调用将是什么和/或任何其他替代方法。谢谢

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2018-05-03 21:00:40

提示在错误中。将请求的方法从post更改为get

代码语言:javascript
运行
复制
response = requests.get(API_URL, params=data)

并使用作为Alpha Vantage数据存在的滴答符号。NIFTY不是一只股票,而是一种指数。如果您使用MSFT尝试您的代码,它将工作。

票数 7
EN

Stack Overflow用户

发布于 2019-12-03 16:05:03

这就是我如何在不使用任何包装的情况下从Alpha Vantage获得每日股票时间序列的方法。收到后,我将数据转换成一个熊猫数据框架,以供进一步处理。

代码语言:javascript
运行
复制
    import requests
    import pandas as pd

    API_URL = "https://www.alphavantage.co/query" 
    symbol = 'SMBL'

    data = { "function": "TIME_SERIES_DAILY", 
    "symbol": symbol,
    "outputsize" : "full",
    "datatype": "json", 
    "apikey": "your_api_key" } 

    response = requests.get(API_URL, data) 
    response_json = response.json() # maybe redundant

    data = pd.DataFrame.from_dict(response_json['Time Series (Daily)'], orient= 'index').sort_index(axis=1)
    data = data.rename(columns={ '1. open': 'Open', '2. high': 'High', '3. low': 'Low', '4. close': 'Close', '5. adjusted close': 'AdjClose', '6. volume': 'Volume'})
    data = data[[ 'Open', 'High', 'Low', 'Close', 'AdjClose', 'Volume']]
    data.tail() # check OK or not
票数 4
EN

Stack Overflow用户

发布于 2018-07-27 16:13:55

代码语言:javascript
运行
复制
import requests
import alpha_vantage
import json


API_URL = "https://www.alphavantage.co/query" 
symbols = ['QCOM',"INTC","PDD"]

for symbol in symbols:
        data = { "function": "TIME_SERIES_INTRADAY", 
        "symbol": symbol,
        "interval" : "60min",       
        "datatype": "json", 
        "apikey": "XXX" } 
        response = requests.get(API_URL, data) 
        data = response.json()
        print(symbol)
        a = (data['Time Series (60min)'])
        keys = (a.keys())
        for key in keys:
                print(a[key]['2. high'] + " " + a[key]['5. volume'])
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48071949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档