市值: $2.5422T -1.31%
成交额(24h): $142.9941B 21.94%
恐惧与贪婪指数:

40 - 中立

  • 市值: $2.5422T -1.31%
  • 成交额(24h): $142.9941B 21.94%
  • 恐惧与贪婪指数:
  • 市值: $2.5422T -1.31%
加密货币
话题
百科
资讯
加密话题
视频
热门加密百科

选择语种

选择语种

选择货币

加密货币
话题
百科
资讯
加密话题
视频

如何从Kraken API获取历史市场数据

The Kraken API provides historical OHLC cryptocurrency data via its public endpoint, requiring no API key but adhering to rate limits of 15 calls per minute.

2025/08/07 15:02

了解Kraken API及其数据功能

Kraken API是一个强大的接口,可让开发人员和交易者访问广泛的加密货币对的实时和历史市场数据。为了检索历史市场数据,用户必须与Kraken提供的公共终点相互作用,尤其是OHLC (开放,高,低,近距离)端点。该端点以各种时间间隔返回烛台数据,这对于技术分析,进行回测策略或构建数据驱动仪表板至关重要。数据包括时间戳记,开放价格,高价,低价,关闭价格,体积加权平均价格(VWAP),数量以及每个时期的交易数量。

访问API不需要对公共数据进行身份验证,这意味着不需要API密钥来获取历史价格。但是,适用速率限制:Kraken可以从一个IP地址每分钟最多15个呼叫。超过此限制将导致暂时阻塞。为了确保持续的访问,请在请求之间实现延迟或使用代码中的指数退回策略。

确定历史数据的正确端点

检索历史市场数据的主要终点是:

 https://api.kraken.com/0/public/OHLC

此端点需要两个参数: pairinterval 。这pair参数指定了交易对,例如Bitcoin for Bitcoin的xbt/usd ,或以太坊到欧元的ETH/EURinterval参数定义每个烛台的时间范围,必须是以下值之一:1(1分钟),5(5分钟),15(15分钟),30(30分钟),60(1小时),240(4小时),1440(1天),1440(1天),10080(1周)(1周),或21600(1个月)。

要请求数据,请使用这些参数构建URL。例如,获取Bitcoin/USD的1小时OHLC数据:

 https://api.kraken.com/0/public/OHLC?pair=XBT/USD&interval=60

响应将以JSON格式,其中包含OHLC数据点的数组和last一个时间戳,指示最新数据点,这对于分页很有用。

使用Python获取和解析Kraken OHLC数据

为了通过编程性检索历史数据,Python是一个流行的选择,因为它的简单性和强大的库。 requests库处理HTTP调用,而pandas可以构建数据以进行分析。

安装所需的软件包:

 pip install requests pandas

以下是获取和解析OHLC数据的完整脚本:

 import requests import pandas as pd def get_ohlc_data(对,间隔= 60,自= none):






url = 'https://api.kraken.com/0/public/OHLC' params = {'pair': pair, 'interval': interval} if since: params['since'] = since response = requests.get(url, params=params) data = response.json() if data['error']: raise Exception(f'API Error: {data['error']}') ohlc_data = data['result'][pair] df = pd.DataFrame(ohlc_data, columns=[ 'timestamp', 'open', 'high', 'low', 'close', 'vwap', 'volume', 'count' ]) df['timestamp'] = pd.to_datetime(df['timestamp'], unit='s') df.set_index('timestamp', inplace=True) last_timestamp = data['result']['last'] return df, last_timestamp示例用法url = 'https://api.kraken.com/0/public/OHLC' params = {'pair': pair, 'interval': interval} if since: params['since'] = since response = requests.get(url, params=params) data = response.json() if data['error']: raise Exception(f'API Error: {data['error']}') ohlc_data = data['result'][pair] df = pd.DataFrame(ohlc_data, columns=[ 'timestamp', 'open', 'high', 'low', 'close', 'vwap', 'volume', 'count' ]) df['timestamp'] = pd.to_datetime(df['timestamp'], unit='s') df.set_index('timestamp', inplace=True) last_timestamp = data['result']['last'] return df, last_timestamp

df,last = get_ohlc_data('xbt/usd',间隔= 60)打印(df.head())

该脚本以适当格式的时间戳和数值值返回熊猫数据框架,使其准备好绘制或分析。 since参数允许在特定时间戳之后获取数据,从而启用增量数据收集。

处理扩展历史数据的分页

KRAKEN将每个API调用限制为720个数据点(例如,720小时蜡烛= 30天)。要检索较长的历史系列,请使用since参数迭代。

  • 在没有since参数的情况下进行初始请求
  • 从响应中提取last
  • 在下一个请求中使用此last since
  • 重复直到没有返回新数据或涵盖所需的日期范围

示例循环:

 all_data = [] last = None _在范围(5)中:#检索多达5页






df, last_timestamp = get_ohlc_data('XBT/USD', interval=1440, since=last) all_data.append(df) last = last_timestamp time.sleep(1) # Respect rate limits full_history = pd.concat(all_data) df, last_timestamp = get_ohlc_data('XBT/USD', interval=1440, since=last) all_data.append(df) last = last_timestamp time.sleep(1) # Respect rate limits

这种方法可确保完整的历史覆盖范围,而不会超过速率限制。

验证和清洁检索数据

获取数据后,验证至关重要。检查缺少值,重复的时间戳或格式不一致。使用Pandas方法:

  • df.isnull().sum()检测缺失值
  • df.index.duplicated().any()查找重复的时间戳
  • df.sort_index()以确保按时间顺序排列

处理时间序列的空白:

 full_range = pd.date_range(start=df.index.min(), end=df.index.max(), freq='H') df = df.reindex(full_range)

这会创建一个连续的时间表,并用NAN填充缺失的时期,后来可以将其插值或标记为间隙。

通常问问题

Kraken OHLC端点支持哪些交易对? Kraken支持各种各样的对,包括XBT/USDETH/USDADA/EUR和Stablecoin对等主要加密货币,例如USDT/USD 。可以通过调用AssetPairs端点来获得完整列表: https://api.kraken.com/0/public/AssetPairs

我可以从Kraken获得tick级的历史数据吗?不,公共API仅提供至少1分钟的间隔烛台(OHLC)数据。 tick级(按交易交易)的历史数据无法通过标准API端点获得。对于颗粒状贸易数据,请考虑第三方聚合商或商业数据提供商。

为什么在调用OHLC端点时会得到空的结果或错误?确保pair使用正确的Kraken符号格式。例如,使用XBT/USD ,而不是BTC/USD。还验证interval值是允许的整数之一。网络问题或超过速率限制也可能导致空响应。

是否可以直接从Kraken直接以CSV格式检索数据? Kraken API仅以JSON格式返回数据。您必须使用Pandas等工具手动将JSON响应转换为CSV:

 df.to_csv('kraken_xbtusd_hourly.csv')

免责声明:info@kdj.com

所提供的信息并非交易建议。根据本文提供的信息进行的任何投资,kdj.com不承担任何责任。加密货币具有高波动性,强烈建议您深入研究后,谨慎投资!

如您认为本网站上使用的内容侵犯了您的版权,请立即联系我们(info@kdj.com),我们将及时删除。

相关百科

如何使用Gate.io的“闪兑”功能? (即时流动性)

如何使用Gate.io的“闪兑”功能? (即时流动性)

2026-04-24 21:59:56

Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少了新进入流通的 BTC 数量。 3.截至2020年减半,矿工每区块获得6.25 BTC;下一次减少将达到 3.125 BT...

如何参与Bybit Launchpad早期代币? (白名单)

如何参与Bybit Launchpad早期代币? (白名单)

2026-04-28 06:59:38

Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少每个区块新进入流通的 BTC 数量。 3.截至2020年减半,矿工每区块获得6.25 BTC;下一次减少将使其达到 3.1...

如何在币安上配置止损限价单? (执行指南)

如何在币安上配置止损限价单? (执行指南)

2026-04-25 01:19:47

Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少了新进入流通的 BTC 数量。 3.截至2020年减半,矿工每区块获得6.25 BTC;下一次减少将达到 3.125 BT...

如何使用MEXC上的“交易挖矿”功能获取奖励? (教程)

如何使用MEXC上的“交易挖矿”功能获取奖励? (教程)

2026-04-26 13:39:48

Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少每个区块新进入流通的 BTC 数量。 3.截至2020年减半,矿工每区块获得6.25 BTC;下一次减少将使其达到 3.1...

如何在KuCoin图表上设置EMA交叉策略? (买入/卖出信号)

如何在KuCoin图表上设置EMA交叉策略? (买入/卖出信号)

2026-04-27 13:00:00

Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少了新进入流通的 BTC 数量。 3.截至2020年减半,矿工每区块获得6.25 BTC;下一次减少将达到 3.125 BT...

如何使用Bitget“洞察”工具洞察市场情绪? (社交交易)

如何使用Bitget“洞察”工具洞察市场情绪? (社交交易)

2026-04-26 05:39:59

Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少了新进入流通的 BTC 数量。 3. 截至 2024 年减半,矿工每区块获得 6.25 BTC,低于 2020 年的 12...

如何使用Gate.io的“闪兑”功能? (即时流动性)

如何使用Gate.io的“闪兑”功能? (即时流动性)

2026-04-24 21:59:56

Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少了新进入流通的 BTC 数量。 3.截至2020年减半,矿工每区块获得6.25 BTC;下一次减少将达到 3.125 BT...

如何参与Bybit Launchpad早期代币? (白名单)

如何参与Bybit Launchpad早期代币? (白名单)

2026-04-28 06:59:38

Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少每个区块新进入流通的 BTC 数量。 3.截至2020年减半,矿工每区块获得6.25 BTC;下一次减少将使其达到 3.1...

如何在币安上配置止损限价单? (执行指南)

如何在币安上配置止损限价单? (执行指南)

2026-04-25 01:19:47

Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少了新进入流通的 BTC 数量。 3.截至2020年减半,矿工每区块获得6.25 BTC;下一次减少将达到 3.125 BT...

如何使用MEXC上的“交易挖矿”功能获取奖励? (教程)

如何使用MEXC上的“交易挖矿”功能获取奖励? (教程)

2026-04-26 13:39:48

Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少每个区块新进入流通的 BTC 数量。 3.截至2020年减半,矿工每区块获得6.25 BTC;下一次减少将使其达到 3.1...

如何在KuCoin图表上设置EMA交叉策略? (买入/卖出信号)

如何在KuCoin图表上设置EMA交叉策略? (买入/卖出信号)

2026-04-27 13:00:00

Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少了新进入流通的 BTC 数量。 3.截至2020年减半,矿工每区块获得6.25 BTC;下一次减少将达到 3.125 BT...

如何使用Bitget“洞察”工具洞察市场情绪? (社交交易)

如何使用Bitget“洞察”工具洞察市场情绪? (社交交易)

2026-04-26 05:39:59

Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少了新进入流通的 BTC 数量。 3. 截至 2024 年减半,矿工每区块获得 6.25 BTC,低于 2020 年的 12...

查看所有文章

User not found or password invalid

Your input is correct