# DEX и Пулы Ликвидности от А до Я: как устроен Automated Market Maker (AMM) и расчет Impermanent Loss

> Как устроен автоматический маркет-мейкер: формула x·y=k, проскальзывание, расчёт impermanent loss и доходность провайдера ликвидности на DEX.

Источник: https://bitcoincompass.pro/articles/amm-liquidity-pools-dex-guide/  
Опубликовано: 2026-08-15 · Обновлено: 2026-08-15  
Издатель: Bitcoin Compass Pro

# DEX и Пулы Ликвидности от А до Я: как устроен Automated Market Maker (AMM) и расчет Impermanent Loss

Децентрализованные биржи (**DEX**) произвели революцию в мировой финансовой системе, заменив централизованных посредников, кастодиальные счета и книги заявок (Order Books) на автономные смарт-контракты **Automated Market Maker (автоматических маркет-мейкеров, AMM)**. Сегодня протоколы уровня Uniswap, Curve и PancakeSwap обрабатывают миллиардные ежедневные объемы торгов без необходимости регистрировать аккаунты или доверять свои приватные ключи третьим лицам.

В этом фундаментальном руководстве мы разберем математическую модель формулы постоянного произведения x · y = k, механику концентрированной ликвидности в Uniswap v3/v4, влияние проскальзывания цены (Price Slippage), формулу расчета **непостоянных потерь (Impermanent Loss)** и предоставим рабочий Python-калькулятор для поставщиков ликвидности.

---

## 1. Архитектура DEX: почему книги ордеров уступили место AMM

В традиционных финансовых системах (и на централизованных криптобиржах вроде Binance или Bybit) торговля строится вокруг **книги лимитных ордеров (Central Limit Order Book, CLOB)**. Маркет-мейкеры постоянно выставляют и отменяют тысячи заявок в секунду.

В публичных блокчейнах (Ethereum, Arbitrum, Solana) реализация ончейн-стакана сталкивается с двумя фундаментальными ограничениями:
1. **Стоимость газа**: Каждая отмена или обновление лимитного ордера требует уплаты транзакционной комиссии.
2. **Время блока**: Задержка между блоками делает невозможным мгновенное обновление котировок при высокочастотной торговле (HFT).

> **Automated Market Maker (AMM)** элегантно решил эту проблему: смарт-контракт объединяет пулы из двух или более токенов, позволяя любому пользователю мгновенно совершить обмен по заранее известной математической формуле.

---

## 2. Математика Constant Product AMM: Формула x · y = k

Базовая модель децентрализованного обмена, популяризированная **Uniswap v2**, базируется на инварианте постоянного произведения:

    x · y = k

Где:
* x — количество резервов первого токена (например, ETH) в смарт-контракте пула.
* y — количество резервов второго токена (например, USDC).
* k — постоянный математический инвариант пула, который должен оставаться неизменным до и после сделки (без учета торговой комиссии).

### Ценообразование в пуле:

Спотовая маржинальная цена токена X относительно токена Y выражается простым соотношением резервов:

    Price(X) = y / x

### Расчет объема при свопе:
Если трейдер вносит Δ x токенов X, чтобы получить Δ y токенов Y, смарт-контракт вычисляет результат из уравнения:

    (x + Δ x) · (y - Δ y) = k

    Δ y = y - (k) / (x + Δ x) = (y · Δ x) / (x + Δ x)

Чем больше размер входящего ордера Δ x относительно общего объема резервов пула x, тем сильнее фактическая цена исполнения отклоняется от спотовой — это явление называется **проскальзыванием цены (Price Slippage)**.

---

## 3. Эволюция: Концентрированная ликвидность Uniswap v3 и v4

В классическом пуле Uniswap v2 ликвидность распределялась по всему ценовому диапазону от $0$ до ∞. В результате более 99% капитала оставалось незадействованным на текущих рыночных отметках.

В **Uniswap v3** была внедрена концепция **концентрированной ликвидности (Concentrated Liquidity)**:
* Поставщик ликвидности (LP) выбирает конкретный целевой диапазон цен [P_a, P_b].
* Внутри этого диапазона капитал работает с кредитным плечом эффективности (до сотен раз выше v2), генерируя многократно больше комиссионных сборов на каждый вложенный доллар.
* **Риск диапазона (Out-of-range)**: Если рыночная цена выходит за пределы диапазона [P_a, P_b], позиция на 100% конвертируется в один обесценивающийся токен и перестает приносить торговые комиссии до возвращения цены в коридор.

---

## 4. Математика Непостоянных Потерь (Impermanent Loss)

Поставка ликвидности в пул сопряжена с фундаментальным финансовым риском — **Impermanent Loss (IL)**.

> **Непостоянные потери (IL)** — это мера недополученной прибыли при предоставлении ликвидности в AMM-пул по сравнению с пассивным удержанием тех же токенов на кошельке (HODL) при изменении их относительного ценового коэффициента.

### Точная формула Impermanent Loss:

Если цена актива изменилась в r раз (r = (P_new) / (P_initial)), процент потерь вычисляется по формуле:

    IL(r) = (2 · √(r)) / (1 + r) - 1

### Таблица масштаба потерь при изменении цены:

| Изменение цены актива (r) | Отклонение цены | Непостоянные потери (IL) |
|---|---|---|
| **1.25x** | +25% | **-0.6%** |
| **1.50x** | +50% | **-2.0%** |
| **2.00x** | +100% (рост в 2 раза) | **-5.7%** |
| **3.00x** | +200% (рост в 3 раза) | **-13.4%** |
| **5.00x** | +400% (рост в 5 раз) | **-25.5%** |

Потери компенсируются аккумулированными торговыми комиссиями пула (Fee APY). Если годовая доходность комиссий пула превышает величину IL, поставщик ликвидности фиксирует чистую прибыль (Net Profit).

---

## 5. Практические стратегии управления ликвидностью для трейдера

1. **Коррелированные пулы для стабильной доходности**: Пулы стейблкоинов (USDC/USDT) или LST-деривативов (ETH/stETH) обладают околонулевым риском IL, так как активы привязаны к одной стоимости.
2. **Динамический ребалансинг диапазонов**: В трендовом рынке на волатильных парах (BTC/USDT) используйте широкие диапазоны (± 30-50%) для непрерывного сбора комиссий.
3. **Защита от сэндвич-атак MEV**: Устанавливайте максимальный порог допустимого проскальзывания (Slippage Tolerance) не более $0.1 - 0.5\%$ при свопах на крупных DEX.

Интегрируйте анализ ликвидности с инструментарием Bitcoin Compass Pro:
* Контролируйте волатильность и объемы основных пар в [Воч-листе](https://bitcoincompass.pro/features/).
* Оценивайте допустимый объем позиции и защитные стоп-приказы через [Калькулятор риска](https://bitcoincompass.pro/features/).
* Анализируйте ончейн-активность и дисбалансы книги ордеров в [Торговом терминале](https://bitcoincompass.pro/features/).

---

## 6. Алгоритмическая реализация и программный модуль (Python)

Ниже представлен Python-класс `AMMLiquidityEngine`, рассчитывающий результат свопа по формуле постоянного произведения, ценовое проскальзывание и точные непостоянные потери:

```python
import math
from typing import Dict

class AMMLiquidityEngine:
    # Модуль расчета AMM пулов и Impermanent Loss

    @staticmethod
    def calculate_swap(
        reserve_x: float,
        reserve_y: float,
        amount_in_x: float,
        fee_percent: float = 0.3
    ) -> Dict[str, float]:
        # Расчет свопа токена X на токен Y с учетом комиссии
        fee_multiplier = 1.0 - (fee_percent / 100.0)
        amount_in_with_fee = amount_in_x * fee_multiplier
        
        # Инвариант x * y = k
        k = reserve_x * reserve_y
        new_reserve_x = reserve_x + amount_in_with_fee
        new_reserve_y = k / new_reserve_x
        amount_out_y = reserve_y - new_reserve_y
        
        initial_price = reserve_y / reserve_x
        execution_price = amount_out_y / amount_in_x if amount_in_x > 0 else 0
        slippage_pct = ((initial_price - execution_price) / initial_price) * 100 if initial_price > 0 else 0
        
        return {
            "amount_out_y": round(amount_out_y, 4),
            "execution_price": round(execution_price, 4),
            "slippage_percent": round(slippage_pct, 2),
            "new_reserve_x": round(new_reserve_x, 2),
            "new_reserve_y": round(new_reserve_y, 2)
        }

    @staticmethod
    def calculate_impermanent_loss(price_ratio: float) -> Dict[str, float]:
        # Расчет Impermanent Loss при относительном изменении цены r = P_new / P_old
        if price_ratio <= 0:
            raise ValueError("Коэффициент изменения цены должен быть положительным.")
            
        il_decimal = (2.0 * math.sqrt(price_ratio)) / (1.0 + price_ratio) - 1.0
        il_percent = il_decimal * 100.0
        
        return {
            "price_ratio": round(price_ratio, 4),
            "impermanent_loss_percent": round(il_percent, 2),
            "portfolio_vs_hodl_pct": round((1.0 + il_decimal) * 100.0, 2)
        }

if __name__ == "__main__":
    # Пример 1: Своп 5 ETH в пул с 100 ETH и 300,000 USDC
    swap_res = AMMLiquidityEngine.calculate_swap(
        reserve_x=100.0,
        reserve_y=300000.0,
        amount_in_x=5.0,
        fee_percent=0.3
    )
    print(f"[*] Результат свопа: {swap_res}")

    # Пример 2: Расчет потерь IL при удвоении цены токена (r = 2.0)
    il_res = AMMLiquidityEngine.calculate_impermanent_loss(price_ratio=2.0)
    print(f"[✓] Непостоянные потери (IL): {il_res}")
```

---

## Заключение

DEX и пулы ликвидности сформировали децентрализованную основу расчетов в криптовалюте. Понимание математики AMM и механики Impermanent Loss позволяет не только эффективно зарабатывать на предоставлении ликвидности, но и совершать крупные торговые обмены с минимальным проскальзыванием.

**Главные правила:**
* Оценивайте отношение накопленных комиссий (Fee APR) к величине IL.
* Для минимизации проскальзывания используйте пулы с максимальной глубиной ликвидности.
* Контролируйте рынок в реальном времени с помощью [Торгового терминала](https://bitcoincompass.pro/features/) и [Калькулятора риска](https://bitcoincompass.pro/features/) на платформе Bitcoin Compass Pro.

## Частые вопросы

**В чем разница между биржевым стаканом (Order Book) и AMM?**

На традиционных биржах (CEX) сделка происходит при совпадении встречных заявок покупателя и продавца в биржевом стакане. В AMM на DEX стакана нет: трейдер совершает обмен напрямую против смарт-контракта с пулом резервов токенов, а цена определяется автоматически математической формулой.

**Что такое непостоянные потери (Impermanent Loss)?**

Это разница между суммарной стоимостью активов, предоставленных в пул ликвидности, и стоимостью тех же активов, если бы инвестор просто пассивно удерживал их на кошельке (HODL). Потери возникают из-за изменения соотношения цен токенов в паре.

**Почему потери называют «непостоянными»?**

Потому что если соотношение цен токенов в паре вернется к первоначальному уровню, на котором была открыта LP-позиция, недополученная прибыль полностью исчезнет, а поставщик ликвидности сохранит 100% заработанных торговых комиссий.

**Как работает концентрированная ликвидность в Uniswap v3?**

Вместо распределения капитала по всему ценовому диапазону от нуля до бесконечности (как в v2), Uniswap v3 позволяет поставщику размещать ликвидность в узком ценовом коридоре [P_min, P_max]. Это многократно повышает эффективность капитала и генерацию комиссионных выплат.

**Что такое MEV (Maximal Extractable Value) и сэндвич-атаки на DEX?**

MEV-боты отслеживают крупные входящие swap-транзакции в публичном мемпуле и вставляют свою транзакцию на покупку перед ордером пользователя (Front-run), а транзакцию на продажу сразу после него (Back-run), забирая прибыль на искусственно созданном ценовом проскальзывании (Slippage).
