Market Making Stratejileri — Smart Money İçgörüleriyle Likidite Sağlama

Market maker'lar, likiditenin her iki tarafını da sağlayarak bid-ask spread'lerinden kar elde eder. Kriptoda bu, doğru yapılırsa düşük risklidir: başka bir borsada hedge yaparak minimum envanter tutabilir, spread farkını cebe atabilirsiniz. Smart Money API, market maker'ların spread'leri balina aktivitesi ve fonlama oranı anomalilerine göre dinamik olarak ayarlamasına yardımcı olur.

Kritik içgörü: Profesyonel market maker'lar, büyük emirler beklendiğinde (balina pozisyon değişikliklerine göre) spread'leri genişletir. Momentum durduğunda spread'leri daraltırlar. Smart Money sinyalleri, bu değişiklikleri önceden görmenizi sağlar.

Market Making Temelleri

Spread

Bid fiyatından alır, ask fiyatından satarsınız. Karınız aradaki farktır:

Round-trip başına kar = Ask - Bid

BTC/USDT $42,000'de:

Envanter Riski

1 BTC'yi $42,000'den alırsanız ancak fiyat satmadan önce $41,000'e düşerse, $1,000 zarardasınız. Sofistike market maker'lar bunu hedge eder:

Python — Envanter hedge'leme
# Bybit'te bid'den al, hemen Binance'te ask'ten short aç
buy_bybit(symbol="BTCUSDT", size=1, side="buy", limit_price=41978.95)
sell_binance(symbol="BTCUSDT", size=1, side="sell", limit_price=42050)
# Kar = 42050 - 41978.95 = 71.05 USDT, fiyat hareketinden bağımsız
# Risk sadece uygulamadır: ya satış emriniz doldurmazsa?

Dinamik Spread Stratejileri

1. Sabit Spread Market Making

En basiti: Her zaman her iki tarafta 1bp teklif verin.

Python — Sabit spread 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. Oynaklığa Göre Ayarlanmış Spread

Yüksek oynaklıkta spread'leri genişletin, sakin piyasalarda daraltın:

Python — Oynaklığa göre ayarlanmış MM
def volatility_adjusted_mm(mid_price, returns_1h, confidence_score):
# 1 saatlik oynaklığı hesapla (getirilerin standart sapması)
vol = np.std(returns_1h)
# Temel spread: 1bp
base_spread_bps = 1.0
# Oynaklıkla çarp (0-10x ölçek)
vol_multiplier = 1 + (vol * 50) # yüksek vol = geniş spread
# Güvenle çarp (Smart Money YÜKSEK ise biraz daralt)
if confidence_score > 0.65:
confidence_mult = 0.8 # %20 daralt
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 Reaktif Spread'ler

Balina aktivitesi sinyallerine göre spread'leri ayarlayın:

Python — Balina-reaktif MM
def smart_money_adjusted_spreads(symbol, mid_price):
# Smart Money onayını al
sm = get_smart_money_signal(symbol)
# YÜKSEK güven + boğa = piyasa yakında yukarı hareket edecek
# Ask'i genişlet (daha iyi fiyattan satma umudu)
# Bid'i daralt (alım tarafında daha hızlı işlem)
if sm["confidence"] == ] == "HIGH" and sm["direction"] == ] == "long"::
bid_spread = 0.8 # bid'de 0.8bp (rekabetçi)
ask_spread = 1.4 # ask'te 1.4bp (doldurma baskısı)
elif sm["confidence"] == ] == "VETO"::
bid_spread = 2.0 # her iki tarafta geniş (belirsizlik)
ask_spread = 2.0
else:
bid_spread = 1.0 # normal simetrik
ask_spread = 1.0
return {
"bid": mid_price - (mid_price * bid_spread / 10000),
"ask": mid_price + (mid_price * ask_spread / 10000)
}

Envanter Yönetimi

Hedef Envanter

Nötr bir envanter hedefi belirleyin (örn. 0 BTC). Çok fazla birikirse bid'i artırın (satmaya zorlayın). Çok kısa iseniz ask'i artırın (almaya zorlayın):

Python — Envanter eğriliği
def get_inventory_skew(current_inventory, target_inventory=0):
skew = current_inventory - target_inventory
# Çok fazla tutuluyorsa (+1 BTC), satmak için teklifi genişlet
if skew > 0:
bid_adjustment = min(skew * 0.5, 2.0) # en fazla 2bp ekle
ask_adjustment = -min(skew * 0.5, 1.0) # en fazla 1bp sıkılaştır
# Short pozisyondaysa, alım için teklifi genişlet
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

Üretim Piyasa Yapıcısı

Python — Tam MM sistemi
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 sinyalini al
sm = get_smart_money_signal(self.symbol)
# 2. Oynaklık ayarlaması
vol = calculate_volatility_1h(self.symbol)
# 3. Envanter ayarlaması
inv_bid, inv_ask = get_inventory_skew(self.inventory)
# 4. Tüm faktörleri birleştir
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)
# Ayarlanmış fiyatları ortala
final_bid = np.mean([base_bid, vol_bid, sm_bid]) + inv_bid
final_ask = np.mean([base_ask, vol_ask, sm_ask]) + inv_ask
# Emirleri gönder
submit_order(side="bid", price=final_bid, size=1)
submit_order(side="ask", price=final_ask, size=1)

Smart Money sinyalleri ile piyasa yapıcılığınızı optimize edin

Balina aktivitesi ve Smart Money güvenine göre spreadleri ayarlayan piyasa yapıcıları, %15-25 daha iyi işlem fiyatları ve azaltılmış envanter riski görür.

Algo Erişimi Al →