cryptofeed
关于
Cryptofeed is a Python library for accessing real-time cryptocurrency market data via WebSocket from over 40 exchanges. It provides normalized feeds for order books, trades, and tickers, ideal for building algorithmic trading systems and data analysis backends. Use this skill when implementing streaming market data connections or processing standardized exchange data.
快速安装
Claude Code
推荐/plugin add https://github.com/2025Emma/vibe-coding-cngit clone https://github.com/2025Emma/vibe-coding-cn.git ~/.claude/skills/cryptofeed在 Claude Code 中复制并粘贴此命令以安装该技能
技能文档
Cryptofeed Skill
Comprehensive assistance with Cryptofeed development - a Python library for handling cryptocurrency exchange data feeds with normalized and standardized results.
When to Use This Skill
This skill should be triggered when:
- Working with real-time cryptocurrency market data
- Implementing WebSocket streaming from crypto exchanges
- Building algorithmic trading systems
- Processing order book updates, trades, or ticker data
- Connecting to 40+ cryptocurrency exchanges
- Using normalized exchange APIs
- Implementing market data backends (Redis, MongoDB, Kafka, etc.)
Quick Reference
Installation
# Basic installation
pip install cryptofeed
# With all optional backends
pip install cryptofeed[all]
Basic Usage Pattern
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()
National Best Bid/Offer (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()
Supported Exchanges (40+)
Major Exchanges
- Binance (Spot, Futures, Delivery, US)
- Coinbase, Kraken (Spot, Futures), Bitfinex
- Gemini, OKX, Bybit
- Huobi (Spot, DM, Swap), Gate.io (Spot, Futures)
- KuCoin, Deribit, BitMEX, dYdX
Additional Exchanges
AscendEX, Bequant, bitFlyer, Bithumb, Bitstamp, Blockchain.com, Bit.com, Bitget, Crypto.com, Delta, EXX, FMFW.io, HitBTC, Independent Reserve, OKCoin, Phemex, Poloniex, ProBit, Upbit
Supported Data Channels
Market Data (Public)
- L1_BOOK - Top of order book
- L2_BOOK - Price aggregated sizes
- L3_BOOK - Price aggregated orders
- TRADES - Executed trades (taker side)
- TICKER - Price ticker updates
- FUNDING - Funding rate data
- OPEN_INTEREST - Open interest statistics
- LIQUIDATIONS - Liquidation events
- INDEX - Index price data
- CANDLES - Candlestick/K-line data
Authenticated Channels (Private)
- ORDER_INFO - Order status updates
- TRANSACTIONS - Deposits and withdrawals
- BALANCES - Wallet balance updates
- FILLS - User's executed trades
Supported Backends
Write data directly to storage:
- Redis (Streams and Sorted Sets)
- Arctic - Time-series database
- ZeroMQ, InfluxDB v2, MongoDB
- Kafka, RabbitMQ, PostgreSQL
- QuasarDB, GCP Pub/Sub, QuestDB
- UDP/TCP/Unix Sockets
Key Features
Real-time Data Normalization
Cryptofeed normalizes data across all exchanges, providing consistent:
- Symbol formatting
- Timestamp handling
- Data structures
- Channel names
WebSocket + REST Fallback
- Primarily uses WebSockets for real-time data
- Falls back to REST polling when WebSocket unavailable
- Automatic reconnection handling
NBBO Aggregation
Create synthetic National Best Bid/Offer feeds by aggregating data across multiple exchanges to find arbitrage opportunities.
Backend Integration
Direct data writing to various storage systems without custom integration code.
Requirements
- Python: 3.8 or higher
- Installation: Via pip or from source
- Optional Dependencies: Install backends as needed
Common Use Cases
Multi-Exchange Price Monitoring
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()
Order Book Depth Analysis
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}
))
Trade Flow Analysis
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}
))
Reference Files
This skill includes documentation in references/:
- getting_started.md - Installation and basic usage
- README.md - Complete overview and examples
Use view to read specific reference files when detailed information is needed.
Working with This Skill
For Beginners
Start with basic FeedHandler setup and single exchange connections before adding multiple feeds.
For Advanced Users
Explore NBBO feeds, authenticated channels, and backend integrations for production systems.
For Code Examples
See the quick reference section above and the reference files for complete working examples.
Resources
- Repository: https://github.com/bmoscon/cryptofeed
- PyPI: https://pypi.python.org/pypi/cryptofeed
- Examples: https://github.com/bmoscon/cryptofeed/tree/master/examples
- Documentation: https://github.com/bmoscon/cryptofeed/blob/master/docs/README.md
- Discord: https://discord.gg/zaBYaGAYfR
- Related: Cryptostore (containerized data storage)
Notes
- Requires Python 3.8+
- WebSocket-first approach with REST fallback
- Normalized data across all exchanges
- Active development and community support
- 40+ supported exchanges and growing
GitHub 仓库
相关推荐技能
content-collections
元Content Collections 是一个 TypeScript 优先的构建工具,可将本地 Markdown/MDX 文件转换为类型安全的数据集合。它专为构建博客、文档站和内容密集型 Vite+React 应用而设计,提供基于 Zod 的自动模式验证。该工具涵盖从 Vite 插件配置、MDX 编译到生产环境部署的完整工作流。
hybrid-cloud-networking
元这个Skill帮助开发者配置本地基础设施与云平台之间的安全高性能连接。它支持VPN和专用连接选项,适用于构建混合云架构、连接数据中心到云以及实现安全的跨地域网络。关键能力包括建立AWS、Azure、GCP的混合连接,满足合规要求并支持渐进式云迁移。
llamaindex
元LlamaIndex是一个专门构建RAG应用的开发框架,提供300多种数据连接器用于文档摄取、索引和查询。它具备向量索引、查询引擎和智能代理等核心功能,支持构建文档问答、知识检索和聊天机器人等数据密集型应用。开发者可用它快速搭建连接私有数据与LLM的RAG管道。
csv-data-summarizer
元该Skill能自动分析CSV文件,无需用户交互即可生成统计摘要和可视化图表。它专为处理表格数据请求而设计,内置pandas、matplotlib和seaborn依赖。开发者在上传CSV或提出数据分析需求时,系统会直接执行全量分析并输出结果。
