Обзор
CCXT (CryptoCurrency eXchange Trading Library) — бесплатная библиотека с открытым исходным кодом для подключения к 100+ криптовалютным биржам через унифицированный API. Поддерживает REST и WebSocket протоколы, доступна на Python, JavaScript и PHP. Это критический инструмент для трейдеров, которые хотят автоматизировать торговлю, тестировать стратегии на реальных данных и масштабировать торговые системы без привязки к одной бирже.
Ключевые возможности
- Унифицированный API: единый интерфейс для 100+ бирж позволяет писать код один раз и запускать на любой бирже без переделки
- Публичные данные: стаканы (orderbook), исторические сделки, OHLCV свечи всех таймфреймов, тикеры с реальной волатильностью
- Приватный API: размещение/отмена ордеров, выставление лимитных и рыночных ордеров, проверка балансов, управление позициями, история торговли
- WebSocket потоковые данные: в реальном времени через CCXT Pro (подписка) — актуальные цены, изменения стакана, уведомления об исполнении
- Кросс-биржевой арбитраж: нормализованные данные между биржами позволяют сравнивать цены и находить разницы в котировках
- Обработка ошибок и rate limits: встроенная логика для работы с ограничениями каждой биржи и повторными попытками при сбоях
- Open-source: лицензия MIT, активно поддерживается, код открыт для аудита и кастомизации
- Мультиязычность: Python, JavaScript/TypeScript, PHP с одинаковым API
Покрытие данных
100+ бирж: Binance, Bybit, OKX, Coinbase, Kraken, KuCoin, Bitfinex, Gate.io, Huobi, Deribit, FTX, Upbit, Bitmex, Poloniex и многие другие. Все торговые пары, фьючерсы, опционы — доступные на каждой бирже. Исторические данные глубины стакана (если поддерживает биржа) для анализа микроструктуры.
Кто использует CCXT
- Дневные трейдеры: автоматизируют вход/выход по техническим сигналам, управляют позициями на нескольких биржах одновременно
- Свинг-трейдеры: получают минутные и часовые свечи для анализа трендов, отслеживают исполнение ордеров в реальном времени
- Алгоритмические трейдеры и квантификаторы: разрабатывают сложные стратегии с множественными условиями входа/выхода, реализуют машинное обучение на крипто-данных
- Разработчики торговых ботов: строят арбитражные системы, DCA (Dollar Cost Averaging) боты, ребалансировщики портфеля
- Стратегические инвесторы: мониторят портфели, переливают активы между биржами для оптимизации, анализируют комиссии и ликвидность
- Риск-менеджеры: отслеживают общие позиции, проверяют exposure, контролируют исполнение стоп-лоссов
Практические торговые сценарии
Сценарий 1: Многобиржевая торговля Трейдер разрабатывает стратегию на Binance, затем подключает ту же логику к OKX и Gate.io. CCXT позволяет получать данные, выставлять ордеры и отслеживать исполнение на всех трёх биржах одновременно без изменения кода торговой логики.
Сценарий 2: Тестирование стратегии перед живой торговлей Перед тем как запустить алгоритм на реальные деньги, трейдер берёт исторические данные из CCXT (свечи за последний год), прогоняет стратегию через бектестер (например, Backtrader или StratBase.ai), видит метрики (Sharpe, max drawdown, win rate), затем с уверенностью запускает на боевые счёта.
Сценарий 3: Арбитраж между биржами Система мониторит цены одного торгового инструмента (например, ETH/USDT) на 5 биржах параллельно через CCXT. Когда цена на Binance на 0.5% выше, чем на OKX, алгоритм покупает на OKX, продаёт на Binance и захватывает разницу минус комиссии.
Сценарий 4: Автоматическая ребалансировка портфеля DCA бот покупает BTC каждый понедельник через CCXT на Binance, проверяет текущие балансы, если портфель дрейфует от целевого распределения (70% BTC, 30% ETH), автоматически продаёт лишнее и докупает недостающее.
Сценарий 5: Анализ стакана и ликвидности Трейдер получает через CCXT snapshot стакана (bid/ask volumes на разных уровнях), видит, что на Kraken тонкий стакан, а на Coinbase глубокий. Вместо рыночного ордера на Kraken (который скользит на 0.3%), выбирает Coinbase для лучшего исполнения.
Детали API
| Параметр | Значение |
|----------|----------|
| Установка | pip install ccxt / npm install ccxt |
| Авторизация | API ключи биржи (для каждой биржи отдельно) |
| Rate Limit | Автоматический для каждой биржи, очередь запросов |
| Формат данных | Python dict / JS объекты, JSON |
| Лицензия | MIT (бесплатно, open-source) |
| Поддержка таймфреймов | 1m, 5m, 15m, 1h, 4h, 1d и другие (зависит от биржи) |
| Максимум свечей за запрос | 1000 шт (большинство бирж), требует цикл для истории |
Тарифы
- CCXT (бесплатно): open-source, полная поддержка REST API всех бирж, лимиты и обработка ошибок встроены
- CCXT Pro: WebSocket стриминг в реальном времени, более низкие задержки, подписка по запросу (для трейдеров, требующих минимальной задержки)
Начало работы
- Установите:
pip install ccxt - Импортируйте и инициализируйте биржу:
import ccxt exchange = ccxt.binance() - Получите OHLCV (свечи):
ohlcv = exchange.fetch_ohlcv('BTC/USDT', '1h') - Для приватного API (торговли) установите ключи:
exchange = ccxt.binance({ 'apiKey': 'ВАШ_КЛЮЧ', 'secret': 'ВАШ_СЕКРЕТ' }) - Выставьте лимитный ордер:
order = exchange.create_limit_buy_order('BTC/USDT', 1.0, 40000)
Интеграция с StratBase.ai
CCXT идеально дополняет бектестирование стратегий на StratBase.ai:
- Получение исторических данных: CCXT загружает свечи и тики непосредственно с бирж, эти данные вы подаёте в StratBase для тестирования исторической эффективности
- Forward-testing: после бектеста на StratBase вы берёте ту же стратегию, подключаете CCXT к боевым счётам и запускаете на реальных деньгах с реальной задержкой исполнения
- Валидация метрик: бектест на StratBase показывает теоретические результаты, живая торговля через CCXT показывает реальные (со слипаком, комиссиями, отклонениями). Сравнение даёт инсайт, где модель теряет деньги
- Мультибиржевой бектест: возьмите одну стратегию, протестируйте на данных разных бирж (Binance, OKX, Gate.io) через CCXT, выберите биржу с лучшими условиями (ликвидность, комиссии, спреды)
- Оптимизация параметров: бектестируете стратегию на StratBase с разными периодами, уровнями stop-loss, размерами позиций. Когда нашли лучшие параметры, развёртываете через CCXT с этими же значениями

