Стратегії маркет-мейкінгу — Надання ліквідності з розумними грошима

Маркет-мейкери отримують прибуток від спреду між bid та ask, надаючи ліквідність з обох сторін. У крипто це низькоризикова стратегія, якщо виконується правильно: ви можете утримувати мінімальний інвентар, хеджуючись на іншій біржі, отримуючи прибуток від різниці спредів. Smart Money API допомагає маркет-мейкерам динамічно корегувати спреди на основі активності китів та аномалій фандинг-рейтів.

Ключовий інсайт: Професійні маркет-мейкери розширюють спреди, коли очікуються великі ордери (на основі змін позицій китів). Вони звужують спреди, коли імпульс слабшає. Сигнали Smart Money дозволяють вам передбачати ці зміни.

Основні принципи маркет-мейкінгу

Спред

Ви купуєте за ціною bid, продаєте за ціною ask. Ваш прибуток — це різниця:

Прибуток за цикл = Ask - Bid

Для BTC/USDT за $42,000:

Ризик інвентаря

Якщо ви купуєте 1 BTC за $42,000, але ціна падає до $41,000 до продажу, ви втрачаєте $1,000. Досвідчені маркет-мейкери хеджують це:

Python — Хеджування інвентаря
# Купівля на Bybit за bid, негайний шорт на Binance за ask
buy_bybit(symbol="BTCUSDT", size=1, side="buy", limit_price=41978.95)
sell_binance(symbol="BTCUSDT", size=1, side="sell", limit_price=42050)
# Прибуток = 42050 - 41978.95 = 71.05 USDT, незалежно від руху ціни
# Ризик — лише виконання: що, якщо ваш ордер на продаж не виконається?

Динамічні стратегії спредів

1. Фіксований спред маркет-мейкінгу

Найпростіше: завжди виставляти спред 1bp з обох сторін.

Python — Фіксований спред MM
def fixed_spread_mm(mid_price, spread_bps=1.0):
spread = mid_price * (spread_bps / 10000)
bid = mid_price - (spread / 2)
ask = mid_price + (spread / 2)
return {"bid": bid, "ask": ask}

2. Волатильність-адаптований спред

Розширюйте спреди під час високої волатильності, звужуйте під час спокійних ринків:

Python — Волатильність-адаптований MM
def volatility_adjusted_mm(mid_price, returns_1h, confidence_score):
# Розрахунок 1-годинної волатильності (стандартне відхилення доходностей)
vol = np.std(returns_1h)
# Базовий спред: 1bp
base_spread_bps = 1.0
# Множник волатильності (масштаб 0-10x)
vol_multiplier = 1 + (vol * 50) # Висока волатильність = ширший спред
# Множник впевненості (якщо Smart Money HIGH, трохи звужуємо)
if confidence_score > 0.65:
confidence_mult = 0.8 # звужуємо на 20%
else:
confidence_mult = 1.0
final_spread_bps = base_spread_bps * vol_multiplier * confidence_mult
spread = mid_price * (final_spread_bps / 10000)
return {
"bid": mid_price - (spread / 2),
"ask": mid_price + (spread / 2),
"spread_bps": final_spread_bps
}

3. Реактивні спредина основі Smart Money

Корекція спредів на основі сигналів активності китів:

Python — MM, що реагує на китов
def smart_money_adjusted_spreads(symbol, mid_price):
# Отримання сигналу Smart Money
sm = get_smart_money_signal(symbol)
# Високий рівень впевненості + бульший сигнал = ринок скоро рухатиметься вгору
# Розширення ask (сподівання на кращу ціну продажу)
# Звуження bid (швидше виконання на купівлі)
if sm["confidence"] == ]== "HIGH" and sm["direction"] == ]== "long"::
bid_spread = 0.8 # 0.8bp на bid (конкурентно)
ask_spread = 1.4 # 1.4bp на ask (прагнення до виконання)
elif sm["confidence"] == ]== "VETO"::
bid_spread = 2.0 # широкий спред з обох сторін (невизначеність)
ask_spread = 2.0
else::
bid_spread = 1.0 # звичайний симетричний спред
ask_spread = 1.0
return {
"bid": mid_price - (mid_price * bid_spread / 10000),
"ask": mid_price + (mid_price * ask_spread / 10000)
}

Управління інвентарем

Цільовий інвентар

Встановіть нейтральний цільовий інвентар (напр., 0 BTC). Якщо ви накопичуєте занадто багато, збільшуйте bid (штовхайте до продажу). Якщо ви занадто шорт, збільшуйте ask (штовхайте до купівлі):

Python — Перекос інвентаризації
def get_inventory_skew(current_inventory, target_inventory=0):
skew = current_inventory - target_inventory
# Якщо утримуємо занадто багато (+1 BTC), розширюємо ставку для продажу
if skew > 0:
bid_adjustment = min(skew * 0.5, 2.0) # додаємо до 2bp
ask_adjustment = -min(skew * 0.5, 1.0) # звужуємо до 1bp
# Якщо коротка позиція, розширюємо ставку для купівлі
elif skew < 0:
ask_adjustment = min(abs(skew) * 0.5, 2.0)
bid_adjustment = -min(abs(skew) * 0.5, 1.0)
else:
bid_adjustment = 0
ask_adjustment = 0
return bid_adjustment, ask_adjustment

Виробничий Маркет-Мейкер

Python — Повна система MM
class CryptoMarketMaker:
def __init__(self, symbol, inventory_target=0):
self.symbol = symbol
self.inventory = 0
self.inventory_target = inventory_target
def update_quotes(self, mid_price):
# 1. Отримуємо сигнал Smart Money
sm = get_smart_money_signal(self.symbol)
# 2. Коригування волатильності
vol = calculate_volatility_1h(self.symbol)
# 3. Коригування інвентаризації
inv_bid, inv_ask = get_inventory_skew(self.inventory)
# 4. Комбінуємо всі фактори
base_bid, base_ask = fixed_spread_mm(mid_price, 1.0)
vol_bid, vol_ask = volatility_adjusted_mm(mid_price, [vol], sm["composite"])
sm_bid, sm_ask = smart_money_adjusted_spreads(self.symbol, mid_price)
# Середнє значення скоригованих цін
final_bid = np.mean([base_bid, vol_bid, sm_bid]) + inv_bid
final_ask = np.mean([base_ask, vol_ask, sm_ask]) + inv_ask
# Надсилаємо ордери
submit_order(side="bid", price=final_bid, size=1)
submit_order(side="ask", price=final_ask, size=1)

Оптимізуйте свій маркет-мейкінг з сигналами Smart Money

Маркет-мейкери, які коригують спреди на основі активності китів і довіри Smart Money, отримують на 15-25% кращі ціни виконання та знижений ризик інвентаризації.

Отримати доступ до алгоритму →