Estratégias de Market Making — Fornecendo Liquidez com Insights da Smart Money

Os market makers lucram com os spreads bid-ask ao fornecer ambos os lados da liquidez. No mercado de criptomoedas, isso é de baixo risco se feito corretamente: você pode manter um inventário mínimo ao fazer hedge em outra exchange, embolsando a diferença do spread. A Smart Money API ajuda os market makers a ajustar os spreads dinamicamente com base na atividade das baleias e anomalias nas taxas de funding.

Insight chave: Os market makers profissionais ampliam os spreads quando grandes ordens são esperadas (com base nas mudanças de posição das baleias). Eles apertam os spreads quando o momentum está diminuindo. Os sinais da Smart Money permitem que você antecipe essas mudanças.

Fundamentos do Market Making

O Spread

Você compra no preço bid e vende no preço ask. Seu lucro é a diferença:

Lucro por ciclo = Ask - Bid

No BTC/USDT a $42.000:

Risco de Inventário

Se você comprar 1 BTC a $42.000, mas o preço cair para $41.000 antes de vender, você estará $1.000 no negativo. Market makers sofisticados fazem hedge disso:

Python — Hedge de inventário
# Compre na Bybit no bid, venda imediatamente na Binance no ask
buy_bybit(symbol="BTCUSDT", size=1, side="buy", limit_price=41978.95)
sell_binance(symbol="BTCUSDT", size=1, side="sell", limit_price=42050)
# Lucro = 42050 - 41978.95 = 71.05 USDT, independente do movimento do preço
# O risco é apenas de execução: e se sua ordem de venda não for preenchida?

Estratégias de Spread Dinâmico

1. Market Making com Spread Fixo

O mais simples: Sempre cotar 1bp em ambos os lados.

Python — MM com spread fixo
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 Ajustado à Volatilidade

Amplie os spreads durante alta volatilidade, aperte durante mercados calmos:

Python — MM ajustado à volatilidade
def volatility_adjusted_mm(mid_price, returns_1h, confidence_score):
# Calcule a volatilidade de 1 hora (desvio padrão dos retornos)
vol = np.std(returns_1h)
# Spread base: 1bp
base_spread_bps = 1.0
# Multiplique pela volatilidade (escala 0-10x)
vol_multiplier = 1 + (vol * 50) # alta vol = spread mais amplo
# Multiplique pela confiança (se a Smart Money for ALTA, aperte um pouco)
if confidence_score > 0.65:
confidence_mult = 0.8 # aperte em 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. Spreads Reativos à Smart Money

Ajuste os spreads com base nos sinais de atividade das baleias:

Python — MM reativo às baleias
def smart_money_adjusted_spreads(symbol, mid_price):
# Obtenha a confirmação da Smart Money
sm = get_smart_money_signal(symbol)
# ALTA confiança + bullish = mercado subindo em breve
# Amplie o ask (esperando vender a um preço melhor)
# Aperte o bid (execução mais rápida no lado da compra)
if sm["confidence"] == "HIGH" and sm["direction"] == "long":
bid_spread = 0.8 # 0.8bp no bid (competitivo)
ask_spread = 1.4 # 1.4bp no ask (buscar preenchimento)
elif sm["confidence"] == "VETO":
bid_spread = 2.0 # amplo em ambos os lados (incerteza)
ask_spread = 2.0
else:
bid_spread = 1.0 # simétrico normal
ask_spread = 1.0
return {
"bid": mid_price - (mid_price * bid_spread / 10000),
"ask": mid_price + (mid_price * ask_spread / 10000)
}

Gestão de Inventário

Inventário Alvo

Defina um inventário neutro (por exemplo, 0 BTC). Se você acumular muito, aumente o bid (empurre para vender). Se estiver muito vendido, aumente o ask (empurre para comprar):

Python — Desequilíbrio de inventário
def get_inventory_skew(current_inventory, target_inventory=0):
skew = current_inventory - target_inventory
# Se estiver segurando muito (+1 BTC), ajuste o bid para vender
if skew > 0:
bid_adjustment = min(skew * 0.5, 2.0) # adiciona até 2bp
ask_adjustment = -min(skew * 0.5, 1.0) # aperta até 1bp
# Se estiver short, ajuste o ask para comprar
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

Market Maker de Produção

Python — Sistema completo 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. Obtenha o sinal do Smart Money
sm = get_smart_money_signal(self.symbol)
# 2. Ajuste de volatilidade
vol = calculate_volatility_1h(self.symbol)
# 3. Ajuste de inventário
inv_bid, inv_ask = get_inventory_skew(self.inventory)
# 4. Combine todos os fatores
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)
# Média dos preços ajustados
final_bid = np.mean([base_bid, vol_bid, sm_bid]) + inv_bid
final_ask = np.mean([base_ask, vol_ask, sm_ask]) + inv_ask
# Envie ordens
submit_order(side="bid", price=final_bid, size=1)
submit_order(side="ask", price=final_ask, size=1)

Otimize seu market making com sinais do Smart Money

Market makers que ajustam spreads com base na atividade de baleias e confiança do Smart Money veem preços de execução 15-25% melhores e risco de inventário reduzido.

Obtenha Acesso Algo →