Методология расчёта цен
Обзор
CoinPaprika агрегирует данные о ценах в режиме реального времени с сотен криптовалютных бирж для формирования единой надёжной справочной цены для каждого цифрового актива. Методология разработана таким образом, чтобы быть:
Отзывчивой
Цены отражают текущие рыночные условия без зависимости от цепочек исторических цен.
Каждый запуск конвейера начинается с нуля — устаревшие данные не наследуются.
Надёжной
Обнаружение выбросов и взвешивание на основе доверия минимизируют влияние ошибочных или манипулированных данных.
Статистические границы автоматически сужаются для активов с высокой ликвидностью.
Прозрачной
Каждый шаг конвейера задокументирован и поддаётся аудиту.
Эта страница является единственным источником правды о том, как формируются цены.
1. Источники данных
2.1 Интеграция с биржами
CoinPaprika интегрируется с криптовалютными биржами через их публичные API. Каждая биржа должна предоставлять идентификаторы торговых пар (например, BTC/USD, ETH/BTC), последнюю цену сделки для каждой торговой пары и объём торгов за 24 часа для каждой торговой пары.
2.2 Область охвата
В конвейер расчёта цен включены только спотовые рынки. Производные рынки (фьючерсы, бессрочные свопы, опционы) исключены, поскольку их цены могут значительно отличаться от базовой спотовой цены из-за ставок финансирования, механизмов экспирации и динамики кредитного плеча.
2.3 Внешние справочные данные
Курсы обмена фиатных валют предоставляются сервисом Open Exchange Rates для конвертации между фиатными валютами (EUR, GBP, JPY и др.) и USD. Курсы привязки стейблкоинов — USDT, USDC и других основных стейблкоинов — конвертируются в USD с использованием взвешенного по объёму индекса, рассчитанного на основе их USD-рынков.
2. Конвейер расчёта цен
Алгоритм разработан для расчёта цен исключительно на основе текущего состояния рынка, без зависимости от цен предыдущих запусков. Каждое выполнение начинается с нуля — алгоритм самостоятельно формирует курсы конвертации из актуальных рыночных данных и сходится к точным ценам через множество итераций. Весь конвейер выполняется каждые 60 секунд.
Сбор данных
С каждой интегрированной биржи CoinPaprika получает все доступные спотовые рынки. Каждый рынок предоставляет: название торговой пары (например, BTC/USD), последнюю цену сделки в котируемой валюте и объём торгов за 24 часа в котируемой валюте.
Установка базового курса BTC/USD
Алгоритм стартует без предполагаемых цен. Первый расчёт — взвешенная средняя цена BTC/USD, полученная непосредственно со всех спотовых рынков BTC/USD. Bitcoin выбран, поскольку рынки BTC, как правило, наиболее ликвидны на биржах.
BTC_USD = Σ(Price_i × Volume_i) / Σ(Volume_i) where i = each BTC/USD market across all exchangesПервый проход: только рынки BTC и фиатных валют
Используя курс BTC/USD, алгоритм обрабатывает рынки, где одна из сторон пары — BTC или фиатная валюта. Рынки, деноминированные в BTC (например, ETH/BTC, SOL/BTC):
Price_USD = Price_BTC × BTC_USDРынки, деноминированные в фиатных валютах (например, ETH/EUR, BTC/JPY):
Price_BTC = Price_USD / BTC_USDПоследующие проходы: включение всех рынков
Многие криптовалюты также торгуются против других криптовалют. Алгоритм использует курсы конвертации из предыдущего прохода для итеративного разрешения этих рынков.
Pass 1: BTC/USD markets → BTC_USD rate Pass 2: BTC + fiat markets → conversion rates for major coins Pass 3: All markets using Pass 2 rates → refined rates, more coins covered Pass N: Repeat until convergence → all reachable coins have pricesОбнаружение и удаление выбросов
Перед финальной агрегацией аномальные рыночные цены выявляются и исключаются. Рынки, исключаемые заранее: с нулевыми торговыми комиссиями, с incentive-торговлей, с устаревшими данными (>30 мин) и с парами из чёрного списка. Статистическое обнаружение выбросов использует границы на основе медианы, скорректированные по глубине ликвидности.
Итоговая цена: средневзвешенная по объёму
После удаления выбросов итоговая цена представляет собой средневзвешенное по объёму значение по всем оставшимся действительным рынкам:
Price_USD = Σ(Price_i_USD × Volume_i_USD) / Σ(Volume_i_USD)Рынки с более высокой ликвидностью естественно имеют больший вес, что гарантирует отражение агрегированной ценой основного реального торгового оборота.
3. Расчёт торгового объёма
4.1 Объём по бирже
Объём торгов за 24 часа для каждой биржи — это сумма объёмов, конвертированных в USD, по всем активным торговым парам, не находящимся в чёрном списке. Пары, не обновлявшиеся в течение 30 минут, исключаются.
Exchange_Volume = Σ(Volume_pair_i × Price_pair_i_USD)4.2 Объём по активу
Объём торгов за 24 часа для отдельного актива — это сумма объёмов по всем его действительным торговым парам на всех интегрированных биржах.
4.3 Глобальный объём
Глобальный объём торговли криптовалютами — это сумма всех объёмов по биржам.
4. Оценка надёжности биржи
Каждая биржа получает Оценку надёжности по шкале от 0 до 100, отражающую достоверность и качество предоставляемых данных. Оценка надёжности влияет на то, как данные биржи взвешиваются и фильтруются в конвейере расчёта цен.
5.1 Критерии оценки
| Критерий | Описание |
|---|---|
| Ликвидность | Общая глубина стакана заявок и спред на рынках |
| Качество и охват API | Полнота, надёжность и доступность публичного API биржи |
| Веб-трафик | Независимый анализ трафика (например, SimilarWeb) для подтверждения заявленной активности пользователей |
| Прозрачность команды | Публично идентифицируемые члены команды и чёткая информация о корпоративном субъекте |
| Соответствие нормативным требованиям | Регистрация в соответствующих финансовых органах и соблюдение применимых нормативных актов |
| История инцидентов | Список перебоев, взломов, заморозок вывода средств или регуляторных действий |
| Proof of Reserves | Независимо верифицируемое подтверждение хранения активов на блокчейне Скоро |
5.2 Применение Оценки надёжности
- Биржи, находящиеся на проверке, полностью исключаются из расчётов цен и объёмов.
- Оценки надёжности пересматриваются и обновляются периодически, а также могут изменяться немедленно в ответ на значимые события (взломы, регуляторные действия, длительные сбои API и т.д.).
- Данные биржи подвергаются дополнительной проверке через Индикатор ликвидности торговых пар (см. Раздел 5).
5.3 Оценочный реальный объём (ERV)
Оценочный реальный объём — это метрика, введённая в 2019 году для борьбы с фиктивными объёмами и wash trading. ERV рассчитывается на основе индикаторов ликвидности всех рынков конкретной биржи. Объём торгов каждого рынка за 24 часа корректируется с использованием весов, присвоенных категории индикатора ликвидности (Хороший, Средний или Плохой).
5. Индикатор ликвидности торговых пар (Точки)
Отдельные торговые пары получают оценку ликвидности в режиме реального времени на основе спреда стакана заявок (процентная разница между лучшей ценой покупки и продажи), глубины стакана (стоимость в пределах ±1% и ±10% от средней цены), согласованности объёма и проверок на выбросы.
6.1 Категории индикаторов
- Хороший — Высокая ликвидность и нормальные рыночные условия.
- Средний — Ограниченные или нестабильные рыночные условия; ликвидность ниже, чем предполагает заявленный объём.
- Плохой — Недостаточная ликвидность относительно заявленного объёма или серьёзно несбалансированные рыночные условия.
Торговые пары, не прошедшие проверку ликвидности, получают пониженный вес в расчёте VWAP. Если для расчёта цены и объёма актива нет другого источника, пара всё равно используется — с чётким указанием на то, что ликвидность не удалось верифицировать.
6. Объём в обращении
7.1 Монеты Proof-of-Work
Для криптовалют на основе PoW (например, Bitcoin, Litecoin) объём в обращении запрашивается напрямую из API блокчейн-обозревателей. Значения верифицируются по нескольким независимым обозревателям блоков и обновляются автоматически по мере добычи новых блоков.
7.2 Токены (на основе смарт-контрактов)
Для токенов ERC-20 и аналогичных объём в обращении рассчитывается как:
Circulating Supply = Total Supply - Locked Tokens
Locked Tokens includes:
- Team/founder vesting wallets
- Treasury or reserve wallets
- Burn addresses
- Locked staking contracts7.3 Верификация
Данные об объёме в обращении перекрёстно проверяются с информацией, раскрытой командами проектов, и обновляются при событиях разблокировки, сжигания токенов или иных событиях, влияющих на предложение. Конкретные пороговые значения намеренно не раскрываются во избежание манипуляций.
7. Производные метрики
8.1 Рыночная капитализация
Per-asset: Market Cap = Current Price (USD) × Circulating Supply
Global: Global Market Cap = Σ(Market Cap of all tracked assets)8.2 Исторический максимум (ATH)
Для каждого актива CoinPaprika отслеживает наивысшую когда-либо зафиксированную агрегированную цену, дату её достижения и текущее расстояние до ATH:
ATH Distance (%) = (ATH Price − Current Price) / ATH Price × 100%8. Критерии листинга
9.1 Криптовалютные активы
Для включения в листинг на CoinPaprika криптовалюта должна соответствовать следующим требованиям:
- Функциональный сайт, принадлежащий проекту, с чёткой информацией о проекте
- Рабочий блокчейн-обозреватель с верифицируемыми данными на блокчейне
- Активная торговля хотя бы на одной интегрированной с CoinPaprika бирже
- Прозрачная коммуникация — проект поддерживает публичные каналы (X/Twitter, Telegram, Discord) с регулярными обновлениями и оперативным реагированием на вопросы сообщества
9.2 Биржи
Для интеграции в качестве источника данных биржа должна:
- Иметь функциональный сайт с верифицируемой торговой активностью
- Предоставлять публичный REST API, соответствующий стандартам данных CoinPaprika (торговые пары, цены, объёмы)
- Поддерживать актуальную документацию API
- Предоставить выделенный контакт по вопросам качества данных
9. Частота обновления
| Данные о ценах и объёмах | Каждые 60 секунд (в реальном времени) |
| Объём в обращении | Периодически + при значимых событиях, влияющих на предложение |
| Оценки надёжности бирж | Непрерывная оценка; формальный периодический пересмотр |
| Индикаторы ликвидности торговых пар | Непрерывно (в реальном времени) |
| Курсы фиатных валют | Несколько раз в день (Open Exchange Rates) |