Market Making Strategies — Liquiditeit bieden met Smart Money Insights

Market makers profiteren van bid-ask spreads door aan beide kanten liquiditeit te bieden. In crypto is dit laag-risico als het correct wordt gedaan: je kunt minimale voorraad aanhouden door te hedgen op een andere exchange, waarbij je het spreadverschil opstrijkt. Smart Money API helpt market makers om spreads dynamisch aan te passen op basis van walvisactiviteit en funding rate anomalieën.

Belangrijk inzicht: Professionele market makers verbreden spreads wanneer grote orders worden verwacht (op basis van walvispositieveranderingen). Ze verkleinen spreads wanneer het momentum stagneert. Smart Money-signalen laten je deze veranderingen vooraf anticiperen.

Basisprincipes van Market Making

De Spread

Je koopt tegen de biedprijs en verkoopt tegen de vraagprijs. Je winst is het verschil:

Winst per round-trip = Vraag - Bied

Op BTC/USDT tegen $42.000:

Voorraadrisico

Als je 1 BTC koopt tegen $42.000 maar de prijs crasht naar $41.000 voordat je verkoopt, sta je $1.000 onder water. Geavanceerde market makers hedgen dit:

Python — Voorraadhedging
# Koop op Bybit tegen biedprijs, short direct op Binance tegen vraagprijs
buy_bybit(symbol="BTCUSDT", size=1, side="buy", limit_price=41978.95)
sell_binance(symbol="BTCUSDT", size=1, side="sell", limit_price=42050)
# Winst = 42050 - 41978.95 = 71.05 USDT, ongeacht prijsbeweging
# Risico is alleen uitvoering: wat als je verkooporder niet wordt uitgevoerd?

Dynamische Spread Strategieën

1. Vaste Spread Market Making

Eenvoudigste: Altijd 1bp aan beide kanten quoteren.

Python — Vaste 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. Volatiliteit-Aangepaste Spread

Verbreed spreads tijdens hoge volatiliteit, verklein tijdens rustige markten:

Python — Volatiliteit-aangepaste MM
def volatility_adjusted_mm(mid_price, returns_1h, confidence_score):
# Bereken 1-uurs volatiliteit (std dev van returns)
vol = np.std(returns_1h)
# Basis spread: 1bp
base_spread_bps = 1.0
# Vermenigvuldig met volatiliteit (schaal 0-10x)
vol_multiplier = 1 + (vol * 50) # hoge vol = bredere spread
# Vermenigvuldig met vertrouwen (als Smart Money HOOG is, verklein een beetje)
if confidence_score > 0.65:
confidence_mult = 0.8 # verklein met 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 Reactieve Spreads

Pas spreads aan op basis van walvisactiviteitssignalen:

Python — Walvis-reactieve MM
def smart_money_adjusted_spreads(symbol, mid_price):
# Krijg Smart Money-bevestiging
sm = get_smart_money_signal(symbol)
# HOOG vertrouwen + bullish = markt gaat binnenkort omhoog
# Verbreed vraag (hoop op betere verkoopprijs)
# Verklein bied (snellere uitvoering aan koopkant)
if sm["confidence"] == "HIGH" and sm["direction"] == "long":
bid_spread = 0.8 # 0.8bp op bied (competitief)
ask_spread = 1.4 # 1.4bp op vraag (push voor uitvoering)
elif sm["confidence"] == "VETO":
bid_spread = 2.0 # breed aan beide kanten (onzekerheid)
ask_spread = 2.0
else:
bid_spread = 1.0 # normaal symmetrisch
ask_spread = 1.0
return {
"bid": mid_price - (mid_price * bid_spread / 10000),
"ask": mid_price + (mid_price * ask_spread / 10000)
}

Voorraadbeheer

Doelvoorraad

Stel een neutrale voorraadtarget in (bijv. 0 BTC). Als je te veel ophoopt, verhoog dan de biedprijs (push om te verkopen). Als je te kort bent, verhoog dan de vraagprijs (push om te kopen):

Python — Inventarisscheefheid
def get_inventory_skew(current_inventory, target_inventory=0):
skew = current_inventory - target_inventory
# Als je te veel hebt (+1 BTC), verhoog de bid om te verkopen
if skew > 0:
bid_adjustment = min(skew * 0.5, 2.0) # voeg tot 2bp toe
ask_adjustment = -min(skew * 0.5, 1.0) # verklein met tot 1bp
# Als je short bent, verhoog de ask om te kopen
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

Productie Market Maker

Python — Volledig MM-systeem
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. Ontvang Smart Money-signaal
sm = get_smart_money_signal(self.symbol)
# 2. Volatiliteitsaanpassing
vol = calculate_volatility_1h(self.symbol)
# 3. Inventarisaanpassing
inv_bid, inv_ask = get_inventory_skew(self.inventory)
# 4. Combineer alle factoren
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)
# Gemiddelde van de aangepaste prijzen
final_bid = np.mean([base_bid, vol_bid, sm_bid]) + inv_bid
final_ask = np.mean([base_ask, vol_ask, sm_ask]) + inv_ask
# Plaats orders
submit_order(side="bid", price=final_bid, size=1)
submit_order(side="ask", price=final_ask, size=1)

Optimaliseer je market making met Smart Money-signalen

Market makers die spreads aanpassen op basis van walvisactiviteit en Smart Money-vertrouwen zien 15-25% betere uitvoeringsprijzen en verminderd inventarisrisico.

Krijg Algo-toegang →