Strategii de Market Making — Furnizarea de lichidități cu informații Smart Money

Market makerii profită din spread-urile bid-ask oferind ambele părți ale lichidității. În crypto, acest lucru este low-risk dacă este făcut corect: poți deține un inventar minim prin hedging pe alt exchange, păstrând diferența de spread. Smart Money API ajută market makerii să ajusteze spread-urile dinamic pe baza activității balenelor și a anomalilor ratei de funding.

Cheie de înțelegere: Market makerii profesioniști măresc spread-urile când se așteaptă comenzi mari (pe baza schimbărilor de poziții ale balenelor). Ei strâng spread-urile când momentul pierde putere. Semnalele Smart Money vă permit să anticipați aceste schimbări.

Fundamentele Market Making-ului

Spread-ul

Cumpărați la prețul bid, vindeți la prețul ask. Profitul dvs. este diferența:

Profit pe round-trip = Ask - Bid

Pe BTC/USDT la $42,000:

Riscul de Inventar

Dacă cumperi 1 BTC la $42.000, dar prețul scade la $41.000 înainte să vinzi, ești în pierdere cu $1.000. Market makerii sofisticați fac hedging la asta:

Python — Hedging de inventar
# Cumpără pe Bybit la bid, vinde imediat pe Binance la ask
buy_bybit(symbol="BTCUSDT", size=1, side="buy", limit_price=41978.95)
sell_binance(symbol="BTCUSDT", size=1, side="sell", limit_price=42050)
# Profit = 42050 - 41978.95 = 71.05 USDT, indiferent de mișcarea prețului
# Riscul este doar de execuție: ce se întâmplă dacă ordinul tău de vânzare nu este executat?

Strategii de Spread Dinamic

1. Market Making cu Spread Fix

Cel mai simplu: Oferă întotdeauna 1bp pe ambele părți.

Python — MM cu spread fix
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. Spread Ajustat la Volatilitate

Mărește spread-urile în perioade de volatilitate ridicată, strânge-le pe piețele calme:

Python — MM ajustat la volatilitate
def volatility_adjusted_mm(mid_price, returns_1h, confidence_score):
# Calculează volatilitatea pe 1 oră (deviația standard a randamentelor)
vol = np.std(returns_1h)
# Spread de bază: 1bp
base_spread_bps = 1.0
# Înmulțește cu volatilitatea (scală 0-10x)
vol_multiplier = 1 + (vol * 50) # volatilitate mare = spread mai larg
# Înmulțește cu încrederea (dacă Smart Money este HIGH, strânge puțin)
if confidence_score > 0.65:
confidence_mult = 0.8 # strânge cu 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. Spread-uri Reactive Smart Money

Ajustează spread-urile pe baza semnalelor de activitate ale balenelor:

Python — MM reactiv la balene
def smart_money_adjusted_spreads(symbol, mid_price):
# Obține confirmarea Smart Money
sm = get_smart_money_signal(symbol)
# Încredere HIGH + bullish = piața va urca în curând
# Mărește ask (speră să vinzi la un preț mai bun)
# Strânge bid (execuție mai rapidă pe partea de cumpărare)
if sm["confidence"] == ] == "HIGH" and sm["direction"] == ] == "long"::
bid_spread = 0.8 # 0.8bp pe bid (competitiv)
ask_spread = 1.4 # 1.4bp pe ask (forțează execuția)
elif sm["confidence"] == ] == "VETO"::
bid_spread = 2.0 # larg pe ambele părți (incertitudine)
ask_spread = 2.0
else::
bid_spread = 1.0 # normal simetric
ask_spread = 1.0
return {
"bid": mid_price - (mid_price * bid_spread / 10000),
"ask": mid_price + (mid_price * ask_spread / 10000)
}

Gestionarea Inventarului

Inventar Țintă

Setează o țintă de inventar neutră (de ex., 0 BTC). Dacă acumulezi prea mult, mărește bid (forțează vânzarea). Dacă ești prea short, mărește ask (forțează cumpărarea):

Python — Devierea inventarului
def get_inventory_skew(current_inventory, target_inventory=0):
skew = current_inventory - target_inventory
# Dacă deții prea mult (+1 BTC), ajustează oferta mai largă pentru a vinde
if skew > 0:
bid_adjustment = min(skew * 0.5, 2.0) # adaugă până la 2bp
ask_adjustment = -min(skew * 0.5, 1.0) # strânge până la 1bp
# Dacă ești pe minus, ajustează cererea mai largă pentru a cumpăra
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

Producător de piață

Python — Sistem complet de 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. Obține semnalul Smart Money
sm = get_smart_money_signal(self.symbol)
# 2. Ajustare volatilitate
vol = calculate_volatility_1h(self.symbol)
# 3. Ajustare inventar
inv_bid, inv_ask = get_inventory_skew(self.inventory)
# 4. Combină toți factorii
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)
# Media prețurilor ajustate
final_bid = np.mean([base_bid, vol_bid, sm_bid]) + inv_bid
final_ask = np.mean([base_ask, vol_ask, sm_ask]) + inv_ask
# Trimite comenzi
submit_order(side="bid", price=final_bid, size=1)
submit_order(side="ask", price=final_ask, size=1)

Optimizează-ți activitatea de producător de piață cu semnale Smart Money

Producătorii de piață care ajustează spreadurile pe baza activității balenelor și a încrederii Smart Money înregistrează prețuri de execuție cu 15-25% mai bune și risc redus de inventar.

Obține Acces Algo →