如何获取免费加密货币历史数据和实时行情接口

在整理数字货币数据时,我逐渐发现一个规律: 只要数据能稳定、持续地被程序访问,后面的分析和策略反而会简单很多。

相比在网页上手动下载行情文件,我更习惯用接口把历史和实时数据直接拉到本地,统一处理。

加密货币历史数据下载

做回测时,最常用的是分钟线和小时线数据。 通过 HTTP 接口一次性拉取历史 K 线,可以避免反复拼接不同来源的数据。

复制代码
import requests
import pandas as pd

url = "https://api.alltick.co/v1/crypto/ohlc"
params = {
    "symbol": "BTCUSDT",
    "interval": "1h",
    "limit": 5000
}

resp = requests.get(url, params=params)
data = resp.json()["data"]

df = pd.DataFrame(data)
df["time"] = pd.to_datetime(df["time"], unit="ms")
print(df.head())

这种方式适合批量下载加密货币历史数据,整理成统一格式后,后续处理会轻松很多。

加密货币实时行情数据下载

如果需要实时观察价格变化,WebSocket 推送比轮询接口更合适。 行情到达后可以直接进入计算逻辑,不需要额外的中转步骤。

复制代码
import websocket
import json

def on_message(ws, message):
    msg = json.loads(message)
    print("最新价格:", msg["price"], "时间:", msg["time"])

ws = websocket.WebSocketApp(
    "wss://api.alltick.co/v1/crypto/realtime",
    on_message=on_message
)
ws.run_forever()

在本地跑一段时间后,就可以持续拿到最新行情,用来做监控或数据记录。

加密货币数据集的整理方式

当历史数据和实时行情都能稳定获取后,我通常会把它们统一存成表结构,按币种和周期拆分。 例如同时拉取 BTC、ETH 等多个交易对的数据:

复制代码
symbols = ["BTCUSDT", "ETHUSDT", "LTCUSDT"]

for symbol in symbols:
    r = requests.get(
        "https://api.alltick.co/v1/crypto/ohlc",
        params={"symbol": symbol, "interval": "1d", "limit": 1000}
    )
    df = pd.DataFrame(r.json()["data"])
    df["time"] = pd.to_datetime(df["time"], unit="ms")
    print(symbol, df.tail(2))

这种方式可以逐步构建自己的加密货币数据集,同时覆盖多个主流币种。

同一套接口处理历史与实时

实际使用中,用同一套接口同时拉取历史和实时数据,会减少很多适配成本。 我目前在用的一种方式,是在获取加密货币行情时使用过 AllTick API,它与常见的数据接口一样,都是按交易对返回 K 线和实时价格,可以直接接入现有的数据处理流程。

整个过程不需要额外调整策略逻辑,只是把数据源换成更稳定的接口形式。

相关推荐
IT_陈寒2 小时前
用了Proxy才发现以前的JavaScript白写了
前端·人工智能·后端
甲维斯2 小时前
Claude Opus5手搓“NewAPI Plus”首轮成果!
人工智能
程序猿DD3 小时前
分享两个我每天都在用的 Skill,拖进豆包就能跑,限时领 30 天会员
人工智能
阿里云大数据AI技术3 小时前
Agentic Search 2.0:从单轮对话迈向企业级 AI 搜索自动驾驶Agent
人工智能·elasticsearch·agent
东风破_3 小时前
从 messages 数组到 Memory:大模型到底是怎么“记住”上一轮对话的?
人工智能
AEI3 小时前
四年间大模型的演进历程
人工智能·面试·程序员
狂师4 小时前
阿里开源:skill-up,一款Agent Skill 评测工具!
人工智能·开源·agent
武子康4 小时前
同一套 Agent Runtime,为什么 Web、Headless 和 Python SDK 仍然不是同一个产品
人工智能·llm·agent
天天代码码天天4 小时前
一个纯 C 的 OCR Runtime,又向前走了一步:lw.PPOCR.C preview.5 发布
人工智能
程序员cxuan4 小时前
Claude 官方的学习教程,太强了。
人工智能·后端·程序员