首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >股票报价请求中的alpha-vantage重复值

股票报价请求中的alpha-vantage重复值
EN

Stack Overflow用户
提问于 2021-07-24 06:28:35
回答 1查看 28关注 0票数 1

在我的python代码中,我请求股票报价,它为我提供了100个报价。最后,我在一个连续的循环中发出了一个新的请求,但是,这些值与之前相同。当我停止程序并再次运行它时,它们能够改变,当我在循环中发出新的请求时,我希望它这样做。下面是代码。我添加了一条print语句来标记代码循环的位置。

代码语言:javascript
复制
import socket
import requests
import json
import os
import time


url = "https://alpha-vantage.p.rapidapi.com/query"

querystring = {"interval":"5min","function":"TIME_SERIES_INTRADAY","symbol":"MSFT","datatype":"json","output_size":"compact"}

headers = {
    'x-rapidapi-key': "use your own api key",
    'x-rapidapi-host': "alpha-vantage.p.rapidapi.com",
    'Cache-Control': "no-cache"
    }

while True:
    response = requests.request("GET", url, headers=headers, params=querystring)
    result = response.json()
    if "Time Series (5min)" in result:
        print("beginning")
        values = result['Time Series (5min)']
        days =  values.keys()
        v = []
        for i in days:
            #v.append(float(values[i]['2. high']))
            print(values[i]['2. high'])
            time.sleep(1)   
    else:
        print("error, no data")
    time.sleep(5)
EN

回答 1

Stack Overflow用户

发布于 2021-07-24 07:16:34

如果你阅读API,它会说:

默认情况下,

为outputsize=compact。字符串compact和full可以使用以下规范: compact只返回最新的100个数据点;full返回20+年历史数据的完整时间序列。如果您想要减少每个API调用的数据大小,建议使用"compact“选项。

所以,这个呼叫似乎不能被寻呼。总是只返回最后100个。使用for output_size full获取全部(根据interval请求的粒度,可能会很大)。当您等待一段时间后,很明显,最后100个值将发生更改,但在几秒钟内,API可能仍会返回最后的数据,因为没有更新,因为您只休眠了5毫秒,而不是分钟。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68505584

复制
相关文章

相似问题

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