Market Making Strategies — Tillhandahållande av likviditet med Smart Money-insikter

Market makers tjänar på bid-ask-spreader genom att tillhandahålla båda sidor av likviditeten. Inom krypto är detta lågrisk om det görs korrekt: du kan hålla minimalt lager genom att säkra på en annan börs och behålla spreaddifferensen. Smart Money API hjälper market makers att justera spreader dynamiskt baserat på valaktivitet och avvikelser i finansieringsräntan.

Nyckelinsikt: Professionella market makers breddar spreader när stora order förväntas (baserat på förändringar i valpositioner). De drar åt spreader när momentum avtar. Smart Money-signaler låter dig förekomma dessa förändringar.

Grundläggande marknadsmaking

Spreader

Du köper till budpris, säljer till erbjudandepris. Din vinst är skillnaden:

Vinst per rundtur = Erbjudande - Bud

På BTC/USDT till $42,000:

Lagerrisk

Om du köper 1 BTC till $42,000 men praset kraschar till $41,000 innan du säljer, är du under vatten med $1,000. Sofistikerade market makers säkrar detta:

Python — Lager säkring
# Köp på Bybit till bud, kort på Binance till erbjudande
buy_bybit(symbol="BTCUSDT", size=1, side="buy", limit_price=41978.95)
sell_binance(symbol="BTCUSDT", size=1, side="sell", limit_price=42050)
# Vinst = 42050 - 41978.95 = 71.05 USDT, oavsett prisrörelse
# Risk är endast utförande: vad händer om din säljorder inte fylls?

Dynamiska spreadstrategier

1. Fast spread marknadsmaking

Enklast: Alltid erbjud 1bp på båda sidor.

Python — Fast 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. Volatilitetsjusterad spread

Bredda spreader under hög volatilitet, dra åt under lugna marknader:

Python — Volatilitetsjusterad MM
def volatility_adjusted_mm(mid_price, returns_1h, confidence_score):
# Beräkna 1-timmars volatilitet (std avkastning)
vol = np.std(returns_1h)
# Basspread: 1bp
base_spread_bps = 1.0
# Multiplicera med volatilitet (skala 0-10x)
vol_multiplier = 1 + (vol * 50) # hög vol = bredare spread
# Multiplicera med förtroende (om Smart Money är HÖG, dra åt lite)
if confidence_score > 0.65:
confidence_mult = 0.8 # dra åt med 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-reaktiva spreader

Justera spreader baserat på valaktivitetsignaler:

Python — Val-reaktiv MM
def smart_money_adjusted_spreads(symbol, mid_price):
# Hämta Smart Money-bekräftelse
sm = get_smart_money_signal(symbol)
# HÖGT förtroende + hausse = marknaden rör sig snart uppåt
# Bredda erbjudande (hoppas sälja till bättre pris)
# Dra åt bud (snabbare utförande på köpsidan)
if sm["confidence"] == ] == "HIGH" and sm["direction"] == ] == "long"::
bid_spread = 0.8 # 0.8bp på bud (konkurrenskraftigt)
ask_spread = 1.4 # 1.4bp på erbjudande (pusha för utfyllnad)
elif sm["confidence"] == ] == "VETO"::
bid_spread = 2.0 # bred på båda sidor (osäkerhet)
ask_spread = 2.0
else::
bid_spread = 1.0 # normal symmetrisk
ask_spread = 1.0
return {
"bid": mid_price - (mid_price * bid_spread / 10000),
"ask": mid_price + (mid_price * ask_spread / 10000)
}

Lagerhantering

Mållager

Sätt ett neutralt lagermål (t.ex. 0 BTC). Om du ackumulerar för mycket, öka bud (pusha för att sälja). Om du är för kort, öka erbjudande (pusha för att köpa):

Python — Lagerförskjutning
def get_inventory_skew(current_inventory, target_inventory=0):
skew = current_inventory - target_inventory
# Om man håller för mycket (+1 BTC), justera budet bredare för att sälja
if skew > 0:
bid_adjustment = min(skew * 0.5, 2.0) # lägg till upp till 2bp
ask_adjustment = -min(skew * 0.5, 1.0) # minska med upp till 1bp
# Om man är short, justera frågan bredare för att köpa
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

Produktionsmarknadsmakare

Python — Fullständigt MM-system
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. Hämta Smart Money-signal
sm = get_smart_money_signal(self.symbol)
# 2. Volatilitetsjustering
vol = calculate_volatility_1h(self.symbol)
# 3. Lagerjustering
inv_bid, inv_ask = get_inventory_skew(self.inventory)
# 4. Kombinera alla faktorer
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)
# Genomsnitt av de justerade priserna
final_bid = np.mean([base_bid, vol_bid, sm_bid]) + inv_bid
final_ask = np.mean([base_ask, vol_ask, sm_ask]) + inv_ask
# Skicka order
submit_order(side="bid", price=final_bid, size=1)
submit_order(side="ask", price=final_ask, size=1)

Optimera din marknadsmaking med Smart Money-signaler

Marknadsmakare som justerar spridningar baserat på valaktivitet och Smart Money-tillförlitlighet ser 15-25% bättre exekveringspriser och minskat lagerrisk.

Få Algo-tillgång →