Your Risk Engine Is Blind Without Liquidation Scores
By @CoinMarketMan - 14-Jul-2026
Ваш Риск-Движок Слеп Без Оценок Риска Ликвидации
4 июля бессрочные фьючерсы на золото на Hyperliquid упали примерно на $100 менее чем за минуту, прежде чем арбитражные боты вернули цену обратно. Трейдеры, державшие лонги с плечом в то 60-секундное окно, были ликвидированы раньше, чем успели среагировать. Контракт в итоге скорректировался, но ущерб уже был нанесён.
Флэш-крэши не объявляют о себе заранее. Они происходят в праздничные выходные, в окна низкой ликвидности и при несоответствии оракулов. Если ваш риск-движок следит только за ценой и маржей, он вслепую летит навстречу давлению, нарастающему под поверхностью. Оценка риска ликвидации закрывает этот пробел: она показывает, какой объём открытого интереса по данному активу находится вблизи принудительного закрытия, с разбивкой по поведенческому когорту, который его удерживает.
В этой статье показано, как подключить эндпоинт риска ликвидации HyperTracker к работающему риск-движку. В конце у вас будет Python-код, который опрашивает оценки риска, фильтрует по когорту и отправляет алерты до начала каскадов.
Что На Самом Деле Измеряет Оценка Риска Ликвидации
Большинство риск-дашбордов отслеживают коэффициенты маржи. Это полезно для ваших собственных позиций, но ничего не говорит о более широком рынке. Оценка риска ликвидации переворачивает вопрос: вместо «буду ли я ликвидирован» она спрашивает «сколько рынка будет ликвидировано?»
Наш эндпоинт риска ликвидации возвращает три поля для каждого актива в рамках заданного когорта:
totalValue: суммарный открытый интерес по данному активу в когортеriskValue: объём позиций в долларах, находящихся в пределах 75% от порога ликвидацииpercentRisk: отношение стоимости под риском к общей экспозиции
percentRisk 18% по ETH в когорте Whale означает, что почти пятая часть всех позиций по ETH, удерживаемых Whale, близка к принудительному закрытию. Это опережающий индикатор. Когда крупные позиции с плечом скапливаются вблизи ликвидации, относительно небольшое движение цены может запустить каскад: принудительные продажи давят на цену вниз, что провоцирует новые ликвидации, которые давят цену ещё дальше.
Эндпоинт: Один Запрос, Все Активы
Эндпоинт риска ликвидации находится по адресу:
GET /api/external/{segmentId}/assets/liquidation-risk
Передайте ID сегмента когорта как path-параметр, и в ответ получите ранжированный список активов по степени риска. Ответ включает totalCount (количество активов с позициями в данном когорте) и массив items с детализацией риска по каждому активу.
Вот полный список ID когортов, по которым можно делать запросы:
| Когорт | Тип | ID | |---|---|---| | Shrimp ($0-$250) | Размер | 16 | | Fish ($250-$10K) | Размер | 1 | | Dolphin ($10K-$50K) | Размер | 2 | | Apex Predator ($50K-$100K) | Размер | 3 | | Small Whale ($100K-$500K) | Размер | 4 | | Whale ($500K-$1M) | Размер | 5 | | Tidal Whale ($1M-$5M) | Размер | 6 | | Leviathan ($5M+) | Размер | 7 | | Money Printer (+$1M+) | PnL | 8 | | Smart Money (+$100K-$1M) | PnL | 9 | | Consistent Grinder (+$10K-$100K) | PnL | 10 | | Humble Earner ($0-$10K) | PnL | 11 | | Exit Liquidity (-$10K-$0) | PnL | 12 | | Semi-Rekt (-$100K до -$10K) | PnL | 13 | | Full Rekt (-$1M до -$100K) | PnL | 14 | | Giga-Rekt (ниже -$1M) | PnL | 15 |
Качество сигнала зависит от того, по какому когорту делается запрос. Ликвидации Whale и Leviathan двигают рынки, потому что объём принудительного закрытия достаточно велик, чтобы повлиять на цену. Ликвидации Shrimp — это шум. Поэтому ваш риск-движок должен взвешивать оценки соответствующим образом.
Подключение: Минимальный Python-Монитор Рисков
Вот рабочий монитор рисков менее чем в 50 строках. Он опрашивает эндпоинт риска ликвидации по наиболее важным когортам (Whale, Tidal Whale, Leviathan, Smart Money, Money Printer), вычисляет взвешенную оценку и отправляет алерт, когда агрегированное значение превышает заданный вами порог.
import requests, time, json
API_BASE = "https://ht-api.coinmarketman.com/api/external"
TOKEN = "YOUR_JWT_TOKEN"
HEADERS = {"Authorization": f"Bearer {TOKEN}"}
# Когорты, влияющие на рынок, с относительными весами
WATCHED_COHORTS = {
5: {"name": "Whale", "weight": 1.0},
6: {"name": "Tidal Whale", "weight": 1.5},
7: {"name": "Leviathan", "weight": 2.0},
9: {"name": "Smart Money", "weight": 1.2},
8: {"name": "Money Printer", "weight": 1.3},
}
ALERT_THRESHOLD = 15.0 # взвешенный percentRisk для срабатывания алерта
POLL_INTERVAL = 300 # 5 минут, соответствует обновлению API
def get_risk(segment_id):
url = f"{API_BASE}/{segment_id}/assets/liquidation-risk"
resp = requests.get(url, headers=HEADERS)
resp.raise_for_status()
return resp.json()["items"]
def compute_weighted_risk(coin):
"""Вычисляет взвешенную оценку риска для одного актива по всем когортам."""
total_weight = 0
weighted_sum = 0
for seg_id, meta in WATCHED_COHORTS.items():
assets = get_risk(seg_id)
match = next((a for a in assets if a["coin"] == coin), None)
if match:
weighted_sum += match["percentRisk"] * meta["weight"]
total_weight += meta["weight"]
return weighted_sum / total_weight if total_weight else 0
def scan_and_alert():
# Получаем один когорт для списка активов
all_assets = get_risk(5)
for asset in all_assets:
score = compute_weighted_risk(asset["coin"])
if score >= ALERT_THRESHOLD:
print(f"ALERT: {asset['coin']} weighted risk = {score:.1f}%")
# Замените на ваш вебхук, Telegram-бот или вызов Slack
fire_alert(asset["coin"], score)
while True:
scan_and_alert()
time.sleep(POLL_INTERVAL)
Примечание о пороговом значении и весах выше. ALERT_THRESHOLD 15.0 и веса когортов являются иллюстративными отправными точками. Оба параметра следует калибровать на основе собственного бэктестинга и допустимого уровня риска. HyperTracker классифицирует кошельки по когортам. Конкретные пороги риска или правила управления позицией он не предписывает.
Фильтрация По Когорту: Почему Это Важно
Наивный подход — запросить все 16 когортов и усреднить их оценки риска. Это хуже, чем бесполезно, потому что размывает сигнал. Когда позиции Shrimp скапливаются вблизи ликвидации, рынок этого почти не замечает. Когда под угрозой Leviathan, объём принудительных продаж способен создать каскадные ликвидации, порождающие флэш-крэши.
Код выше решает это за счёт присвоения более высоких весов когортам с крупными балансами. Но можно также выстроить отдельные уровни алертов:
- Уровень 1 (критический): Leviathan, Tidal Whale, Money Printer. Позиции здесь представляют наибольшую условную экспозицию. Немедленно срабатывает при повышенном риске.
- Уровень 2 (предупреждение): Whale, Small Whale, Smart Money. Значительный объём, но меньше влияния на рынок.
- Уровень 3 (информационный): Всё остальное. Логировать для исследований и бэктестинга, в продакшне не алертить.
Такая многоуровневая структура сохраняет чистоту канала алертов. Риск-движок, который алертит на всё, по сути не алертит ни на что: оператор просто перестаёт обращать внимание.
От Оценок к Решениям: Что Должен Делать Ваш Бот
Сырые оценки риска — это наблюдение. Решения — вот что отличает мониторинговый дашборд от риск-движка. Вот как транслировать повышенный риск ликвидации в автоматизированные действия:
Сократите экспозицию до начала каскада
Если ваш бот держит лонг по ETH, а взвешенная оценка риска ликвидации по ETH резко вырастает выше порога, это сигнал к уменьшению размера позиции или расширению стопа. Логика проста: повышенный риск означает, что пул позиций с плечом близок к принудительному закрытию, а принудительное закрытие крупных позиций может двинуть цену против вас. Предсказывать направление не нужно. Нужно просто стать меньше.
Поймайте возможность для fade после сброса
Каскадные ликвидации, как правило, дают перелёт. После сброса оценки риска ликвидации резко падают, потому что позиции под угрозой уже закрыты. Именно тогда обычно включается возврат к среднему. Если ваш бот отслеживает оценки риска во времени, резкое падение с высокого значения до низкого может быть сигналом, что принудительные продажи завершены и разворот на подходе.
Сопоставьте с когортным байасом
Риск ликвидации говорит о том, что давление нарастает. Когортный байас говорит, в каком направлении. Если Leviathan преимущественно в лонге, а их риск ликвидации растёт, это направленный сигнал: принудительные продажи, если они произойдут, будут на стороне лонга. Комбинируйте эндпоинт /assets/liquidation-risk с эндпоинтом /bias для более полной картины.
Реальный Контекст: Почему Это Важно Сейчас
Суммарный открытый интерес Hyperliquid достиг $11.07 млрд 13 июля — максимального уровня 2026 года. Чем больше открытый интерес, тем больше позиций, плеча и потенциального объёма ликвидаций. По мере роста платформы разрыв между «мониторингом собственной маржи» и «мониторингом маржи рынка» увеличивается.
Флэш-крэш золота 4 июля — наглядный пример. Бессрочные фьючерсы на золото упали примерно на $100 менее чем за минуту из-за тонкой праздничной ликвидности и отклонения цены оракула. Контракт быстро восстановился, но все, кто держал лонг с плечом в то 60-секундное окно, были ликвидированы раньше, чем успели среагировать. Риск-движок, отслеживающий оценки риска ликвидации по золоту, зафиксировал бы повышенную концентрацию позиций под угрозой до начала крэша.
Этот паттерн повторяется. В конце мая 2026 года бессрочный контракт Hyperliquid на pre-IPO акции SpaceX упал примерно на 45% примерно за 30 минут после сбоя данных оракула, ликвидировав $1.51 млн на 1 393 позициях. Другой актив, тот же механизм: концентрированное плечо вблизи порогов ликвидации, триггерное событие и каскад. Единственная переменная — увидел ли ваш риск-движок это заранее.
Перевод В Продакшн
Минимальный монитор выше подходит для прототипирования. Для продакшна потребуется несколько дополнений:
- Персистентное состояние: Сохраняйте исторические оценки риска в базе данных временных рядов (InfluxDB, TimescaleDB или даже обычный CSV). Это позволит бэктестировать калибровку порогов и выявлять тренды.
- Доставка через вебхуки: На тарифах Flow ($799/мес) или Stream ($1,999/мес) можно получать push-обновления через вебхуки вместо поллинга. Это устраняет 5-минутную задержку опроса и предоставляет данные о рисках сразу после их обновления.
- Корреляция между активами: Когда риск ликвидации одновременно растёт по нескольким активам в одном когорте, это более широкое событие делевериджинга. Ваш риск-движок должен обнаруживать коррелированные всплески и реагировать на агрегированный сигнал, потому что коррелированный всплеск опаснее изолированного.
- Дашборд-слой: Направляйте данные о рисках ликвидации в Grafana, Retool или кастомный фронтенд. Визуализация оценок риска во времени, наложенная на цену, ускоряет распознавание паттернов гораздо больше, чем чтение логов.
Математика build vs. buy: Построить аналогичную оценку риска ликвидации из сырых данных Hyperliquid означает: принимать каждую позицию, вычислять близость к порогам ликвидации, классифицировать кошельки по поведенческим сегментам и агрегировать по когортам. Это пайплайн, на создание которого уходят месяцы и который стоит $10 000+/месяц в эксплуатации. API HyperTracker даёт ту же аналитику от $179/мес одним REST-запросом.
Добавьте оценку риска ликвидации в ваш риск-движок
16 поведенческих когортов. Риск-экспозиция на уровне активов. Один API-запрос. Начните разработку на бесплатном тарифе.
Ваш риск-движок уже отслеживает маржу и PnL. Оценка риска ликвидации добавляет недостающий слой: что остальной рынок будет вынужден сделать в ближайшее время. На рынке, где флэш-крэши разыгрываются за 60 секунд, это предвидение — разница между сокращением экспозиции и превращением в Exit Liquidity.