【发布时间】:2021-04-23 03:09:56
【问题描述】:
Financial Modeling Prep 是一个免费的 API,可用于访问各种财务指标,例如股票价格和加密货币数据。 API 文档概述了如何通过 Python 等编程语言访问数据。特别是对于加密货币数据:
https://financialmodelingprep.com/developer/docs/#Historical-Cryptocurrencies-Price
只需生成唯一的 API 密钥,即可通过调用 URL 访问数据。 URL 的内容被接收并解析为 JSON,并在 Python 中作为对象返回。例如,我可以访问比特币的所有历史数据(价格、交易量、低点、高点等):
try:
# For Python 3.0 and later
from urllib.request import urlopen
except ImportError:
# Fall back to Python 2's urllib2
from urllib2 import urlopen
import json
def get_jsonparsed_data(url):
response = urlopen(url)
data = response.read().decode("utf-8")
return json.loads(data)
url = ("https://financialmodelingprep.com/api/v3/historical-price-full/crypto/BTCUSD?apikey=myKey")
myData = get_jsonparsed_data(url)
默认情况下,通过此 URL 调用,对象包含所有 BTC 数据(截至 21 年 1 月 18 日,价值 1828 天),时间间隔为 1 天。例如,使用 Spyder 变量资源管理器:
但是,我想将时间分辨率提高到 4 小时。 API 文档提供了有关如何执行此操作的一些见解 - 只需将 url 更改为以下内容:
url = ("https://financialmodelingprep.com/api/v3/historical-chart/4hour/BTCUSD?apikey=myKey")
结果是每 4 小时采样一次的 BTC 数据。但是,只有200个数据点,限制了历史数据的范围:
查看文档后,不清楚如何指定 4 小时间隔以及所有历史数据(所以我会得到 6*1828 = 10968 个数据点)。如何获取感兴趣的时间间隔内的所有数据?
【问题讨论】: