mcpField
C
cryptofeed

cryptofeed

github.com/2025emmaデータ・データベース23.1k250 回インストール45 週間前に更新
リポジトリ

cryptofeed について

Cryptofeed を使うためのリファレンススキルです。暗号資産取引所のデータを収集・正規化する Python ライブラリを扱い、複数取引所の市場データや取引システムの構築、ストレージへの出力を支援します。

主な機能

  1. 01取引所市場データの正規化
  2. 02REST によるフォールバック付き WebSocket 配信
  3. 0340 以上の取引所に対応
  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 の開発を幅広く支援します。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(現物、先物、デリバリー、US)
  • Coinbase、Kraken(現物、先物)、Bitfinex
  • Gemini、OKX、Bybit
  • Huobi(現物、DM、スワップ)、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 ソケット

主な機能

リアルタイムデータの正規化

Cryptofeed はすべての取引所のデータを正規化し、一貫性のある次の項目を提供します。

  • シンボル形式
  • タイムスタンプの処理
  • データ構造
  • チャネル名
WebSocket と REST のフォールバック
  • リアルタイムデータには主に WebSocket を使用します
  • WebSocket が利用できない場合は、REST ポーリングにフォールバックします
  • 再接続を自動的に処理します
NBBO の集約

複数の取引所のデータを集約して裁定取引の機会を見つける、合成 National Best Bid/Offer フィードを作成できます。

バックエンドとの連携

カスタムの連携コードを作成せずに、さまざまなストレージシステムへデータを直接書き込めます。

要件

  • 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 以上の取引所に対応しており、今後も増加予定です

コメント