-
bitcoin $76464.156879 USD
0.86% -
ethereum $2445.495804 USD
1.91% -
tether $0.999058 USD
-0.01% -
bnb $725.991560 USD
1.93% -
xrp $1.303704 USD
0.85% -
usd-coin $0.999942 USD
0.00% -
solana $100.064497 USD
3.06% -
tron $0.335357 USD
0.24% -
zcash $1358.632097 USD
14.53% -
hyperliquid $79.355311 USD
2.37% -
dogecoin $0.081165 USD
1.50% -
monero $495.294239 USD
-2.55% -
chainlink $11.205049 USD
3.83% -
unus-sed-leo $8.932502 USD
0.55% -
cardano $0.198341 USD
1.78%
如何从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此端点需要两个参数: pair和interval 。这pair参数指定了交易对,例如Bitcoin for Bitcoin的xbt/usd ,或以太坊到欧元的ETH/EUR 。 interval参数定义每个烛台的时间范围,必须是以下值之一: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 pddef 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_timestampdf,last = get_ohlc_data('xbt/usd',间隔= 60)打印(df.head())
该脚本以适当格式的时间戳和数值值返回熊猫数据框架,使其准备好绘制或分析。 since参数允许在特定时间戳之后获取数据,从而启用增量数据收集。
处理扩展历史数据的分页
KRAKEN将每个API调用限制为720个数据点(例如,720小时蜡烛= 30天)。要检索较长的历史系列,请使用since参数迭代。
- 在没有
since参数的情况下进行初始请求 - 从响应中提取
last值 - 在下一个请求中使用此
lastsince - 重复直到没有返回新数据或涵盖所需的日期范围
示例循环:
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 limitsfull_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/USD , ETH/USD , ADA/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),我们将及时删除。
- Vitalik Buterin 挑战人工智能网络安全末日叙事,倡导形式验证
- 2026-09-18 00:55:01
- AML RightSource 荣获著名的 Dobra-Sight 数字资产合规卓越奖
- 2026-09-18 00:40:01
- Solana 和 XRP 引领加密货币市场的潮流转变,向更广泛的代币化趋势致敬
- 2026-09-17 20:40:01
- HBO Max Reddit 帐户因窃取加密货币的恶意软件攻击而被劫持:新一波复杂的诈骗
- 2026-09-17 12:50:01
- 众议院委员会推进战略比特币储备法案,塑造联邦加密控股的未来
- 2026-09-17 12:40:01
- 加密税法案:数字资产面临新的税收规则,但清晰度仍然难以捉摸
- 2026-09-17 09:10:02
相关百科
如何在OKX上查看BTC永续资金?
2026-09-12 19:19:43
OKX BTC 永续合约的资金费率机制1. BTC-USDT 永续合约资金费率在 UTC 00:00、08:00 和 16:00 每八小时计算一次,自 2025 年 6 月 15 日起,TUSDT 永续合约的计算时间改为每两小时计算一次,但 BTC-USDT 的计算时间保持不变。 2. 资金来源于永...
如何查看OKX跟单盈亏?
2026-09-18 01:39:44
了解 OKX 跟单交易机制1. OKX复制交易允许用户自动复制选定的专业交易者(称为主导交易者)的交易。每个跟单交易者的仓位与主导交易者的执行订单实时同步。 2. 所有复制头寸继承与原始交易相同的入场价格、规模、杠杆和保证金模式,前提是复制交易者有足够的可用保证金并满足风险参数。 3. 盈亏计算是根...
如何停止 OKX 交易机器人?
2026-09-15 17:20:06
终止 OKX 交易机器人会话1. 通过 OKX Web UI 或部署机器人的自定义仪表板访问机器人的控制界面。 2. 找到活动会话标识符 — 这显示为与正在运行的实例关联的唯一字母数字字符串。 3. 如果使用 python-okx SDK,请执行stop_bot()方法,确保在关闭之前取消所有挂单。...
如何在OKX上使用TWAP机器人?
2026-09-17 08:59:53
了解 TWAP 执行逻辑1. 时间加权平均价格 (TWAP) 算法将大订单划分为较小的子订单,在定义的持续时间内定期执行。 2. 机器人计算总量,并根据用户指定的时间窗口在秒、分钟或小时内均匀分割。 3. 每个子订单均提交市场或限价参数,并遵守 OKX 所选工具的最小订单规模和价格变动规则。 4. ...
如何在 OKX 上设置 DCA 机器人?
2026-09-16 10:59:57
了解加密货币交易中的 DCA 策略1. 平均成本法是一种严格的投资方法,无论价格波动如何,都会定期购买固定数量的加密货币。 2. 这种方法可以减轻情绪化决策,并减少波动引起的计时错误的风险。 3、在OKX上,DCA执行依赖API集成来触发订单,无需人工干预。 4. 该策略不保证利润,但历史上平滑了整...
如何平掉部分 OKX 期货头寸?
2026-09-10 10:39:39
了解部分平仓机制1. OKX 期货合约支持通过标准下单进行部分平仓,而不是通过专用的“部分平仓”API 端点。 2. 头寸规模减少仅由提交的订单数量决定——不需要特殊标志或参数。 3、用户必须保证其下单数量不超过当前持仓规模;超过会触发错误响应,代码为 51000。 4. 对于部分平仓,市价单和限价...
如何在OKX上查看BTC永续资金?
2026-09-12 19:19:43
OKX BTC 永续合约的资金费率机制1. BTC-USDT 永续合约资金费率在 UTC 00:00、08:00 和 16:00 每八小时计算一次,自 2025 年 6 月 15 日起,TUSDT 永续合约的计算时间改为每两小时计算一次,但 BTC-USDT 的计算时间保持不变。 2. 资金来源于永...
如何查看OKX跟单盈亏?
2026-09-18 01:39:44
了解 OKX 跟单交易机制1. OKX复制交易允许用户自动复制选定的专业交易者(称为主导交易者)的交易。每个跟单交易者的仓位与主导交易者的执行订单实时同步。 2. 所有复制头寸继承与原始交易相同的入场价格、规模、杠杆和保证金模式,前提是复制交易者有足够的可用保证金并满足风险参数。 3. 盈亏计算是根...
如何停止 OKX 交易机器人?
2026-09-15 17:20:06
终止 OKX 交易机器人会话1. 通过 OKX Web UI 或部署机器人的自定义仪表板访问机器人的控制界面。 2. 找到活动会话标识符 — 这显示为与正在运行的实例关联的唯一字母数字字符串。 3. 如果使用 python-okx SDK,请执行stop_bot()方法,确保在关闭之前取消所有挂单。...
如何在OKX上使用TWAP机器人?
2026-09-17 08:59:53
了解 TWAP 执行逻辑1. 时间加权平均价格 (TWAP) 算法将大订单划分为较小的子订单,在定义的持续时间内定期执行。 2. 机器人计算总量,并根据用户指定的时间窗口在秒、分钟或小时内均匀分割。 3. 每个子订单均提交市场或限价参数,并遵守 OKX 所选工具的最小订单规模和价格变动规则。 4. ...
如何在 OKX 上设置 DCA 机器人?
2026-09-16 10:59:57
了解加密货币交易中的 DCA 策略1. 平均成本法是一种严格的投资方法,无论价格波动如何,都会定期购买固定数量的加密货币。 2. 这种方法可以减轻情绪化决策,并减少波动引起的计时错误的风险。 3、在OKX上,DCA执行依赖API集成来触发订单,无需人工干预。 4. 该策略不保证利润,但历史上平滑了整...
如何平掉部分 OKX 期货头寸?
2026-09-10 10:39:39
了解部分平仓机制1. OKX 期货合约支持通过标准下单进行部分平仓,而不是通过专用的“部分平仓”API 端点。 2. 头寸规模减少仅由提交的订单数量决定——不需要特殊标志或参数。 3、用户必须保证其下单数量不超过当前持仓规模;超过会触发错误响应,代码为 51000。 4. 对于部分平仓,市价单和限价...
查看所有文章














