mcpField
C
cryptofeed

cryptofeed

github.com/2025emma数据与数据库23.1k250 次安装45 周前更新
代码仓库

关于 cryptofeed

Cryptofeed 使用参考技能,介绍这款用于采集并规范化加密货币交易所数据的 Python 库,适合构建跨交易所行情与交易系统,并将数据写入存储后端。

主要功能

  1. 01规范化交易所市场数据
  2. 02WebSocket 数据流及 REST 回退
  3. 03支持 40 多家交易所
  4. 04订单簿、交易和行情通道
  5. 05直接写入存储后端
  6. 06跨交易所 NBBO 聚合

适用场景

  1. 01监控多个交易所的价格
  2. 02分析订单簿深度
  3. 03处理交易流数据
  4. 04将行情数据写入存储

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/2025emma/vibe-coding-cn --skill cryptofeed

安装后在 Claude Code 中输入/cryptofeed确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
index.md
other.md
README.md

详细介绍

Cryptofeed 技能

全面协助 Cryptofeed 开发——这是一个用于处理加密货币交易所数据流的 Python 库,可提供规范化、标准化的结果。

何时使用此技能

遇到以下情况时,应使用此技能:

  • 处理实时加密货币市场数据
  • 实现来自加密货币交易所的 WebSocket 流式传输
  • 构建算法交易系统
  • 处理订单簿更新、交易或行情数据
  • 连接 40 多家加密货币交易所
  • 使用规范化的交易所 API
  • 实现市场数据后端(Redis、MongoDB、Kafka 等)

快速参考

安装
# Basic installation
pip install cryptofeed

# With all optional backends
pip install cryptofeed[all]
基本用法模式
from cryptofeed import FeedHandler
from cryptofeed.exchanges import Coinbase, Bitfinex
from cryptofeed.defines import TICKER, TRADES, L2_BOOK

# Define callbacks
def ticker_callback(data):
    print(f"Ticker: {data}")

def trade_callback(data):
    print(f"Trade: {data}")

# Create feed handler
fh = FeedHandler()

# Add exchange feeds
fh.add_feed(Coinbase(
    symbols=['BTC-USD'],
    channels=[TICKER],
    callbacks={TICKER: ticker_callback}
))

fh.add_feed(Bitfinex(
    symbols=['BTC-USD'],
    channels=[TRADES],
    callbacks={TRADES: trade_callback}
))

# Start receiving data
fh.run()
全国最佳买价/卖价(NBBO)
from cryptofeed import FeedHandler
from cryptofeed.exchanges import Coinbase, Gemini, Kraken

def nbbo_update(symbol, bid, bid_size, ask, ask_size, bid_feed, ask_feed):
    print(f'Pair: {symbol} Bid: {bid:.2f} ({bid_size:.6f}) from {bid_feed}')
    print(f'Ask: {ask:.2f} ({ask_size:.6f}) from {ask_feed}')

f = FeedHandler()
f.add_nbbo([Coinbase, Kraken, Gemini], ['BTC-USD'], nbbo_update)
f.run()

支持的交易所(40 多家)

主要交易所
  • Binance(现货、期货、交割、美国)
  • Coinbase、Kraken(现货、期货)、Bitfinex
  • Gemini、OKX、Bybit
  • Huobi(现货、DM、Swap)、Gate.io(现货、期货)
  • KuCoin、Deribit、BitMEX、dYdX
其他交易所

AscendEX、Bequant、bitFlyer、Bithumb、Bitstamp、Blockchain.com、Bit.com、Bitget、Crypto.com、Delta、EXX、FMFW.io、HitBTC、Independent Reserve、OKCoin、Phemex、Poloniex、ProBit、Upbit

支持的数据频道

市场数据(公开)
  • L1_BOOK - 订单簿顶部
  • L2_BOOK - 按价格汇总的数量
  • L3_BOOK - 按价格汇总的订单
  • TRADES - 已执行的交易(主动方)
  • TICKER - 行情价格更新
  • FUNDING - 资金费率数据
  • OPEN_INTEREST - 未平仓合约统计数据
  • LIQUIDATIONS - 强制平仓事件
  • INDEX - 指数价格数据
  • CANDLES - 蜡烛图/K 线数据
需身份验证的频道(私有)
  • ORDER_INFO - 订单状态更新
  • TRANSACTIONS - 充值和提现
  • BALANCES - 钱包余额更新
  • FILLS - 用户已执行的交易

支持的后端

将数据直接写入存储系统:

  • Redis(Streams 和 Sorted Sets)
  • Arctic - 时间序列数据库
  • ZeroMQ、InfluxDB v2、MongoDB
  • Kafka、RabbitMQ、PostgreSQL
  • QuasarDB、GCP Pub/Sub、QuestDB
  • UDP/TCP/Unix Sockets

主要功能

实时数据规范化

Cryptofeed 会规范化各交易所的数据,提供一致的:

  • 交易对格式
  • 时间戳处理
  • 数据结构
  • 频道名称
WebSocket + REST 回退
  • 主要使用 WebSocket 获取实时数据
  • WebSocket 不可用时回退到 REST 轮询
  • 自动处理重新连接
NBBO 聚合

通过聚合多个交易所的数据,创建合成的全国最佳买价/卖价数据流,以寻找套利机会。

后端集成

无需编写自定义集成代码,即可将数据直接写入各种存储系统。

要求

  • Python:3.8 或更高版本
  • 安装:通过 pip 或从源代码安装
  • 可选依赖项:按需安装后端

常见用例

多交易所价格监控
fh = FeedHandler()
fh.add_feed(Binance(symbols=['BTC-USDT'], channels=[TICKER], callbacks=ticker_cb))
fh.add_feed(Coinbase(symbols=['BTC-USD'], channels=[TICKER], callbacks=ticker_cb))
fh.add_feed(Kraken(symbols=['BTC-USD'], channels=[TICKER], callbacks=ticker_cb))
fh.run()
订单簿深度分析
def book_callback(book, receipt_timestamp):
    print(f"Bids: {len(book.book.bids)} | Asks: {len(book.book.asks)}")

fh.add_feed(Coinbase(
    symbols=['BTC-USD'],
    channels=[L2_BOOK],
    callbacks={L2_BOOK: book_callback}
))
交易流分析
def trade_callback(trade, receipt_timestamp):
    print(f"{trade.exchange} - {trade.symbol}: {trade.side} {trade.amount} @ {trade.price}")

fh.add_feed(Binance(
    symbols=['BTC-USDT', 'ETH-USDT'],
    channels=[TRADES],
    callbacks={TRADES: trade_callback}
))

参考文件

此技能在 references/ 中包含文档:

  • getting_started.md - 安装和基本用法
  • README.md - 完整概述和示例

需要详细信息时,可使用 view 阅读特定参考文件。

使用此技能

初学者

先了解基本的 FeedHandler 设置和单个交易所连接,再添加多个数据流。

高级用户

探索 NBBO 数据流、需身份验证的频道和后端集成,以用于生产系统。

代码示例

请参阅上方的快速参考部分和参考文件,查看完整的可运行示例。

资源

注意事项

  • 需要 Python 3.8+
  • 以 WebSocket 为主,REST 为备用方案
  • 对所有交易所的数据进行规范化
  • 持续开发并提供社区支持
  • 支持 40 多家交易所,且数量持续增长

评论

支持 Markdown