做市策略 — 利用Smart Money洞察力提供流动性

做市商通过提供买卖双向流动性从买卖价差中获利。在加密货币领域,若操作得当,这是一种低风险策略:您可以通过在另一交易所对冲来持有最小库存,从而赚取价差收益。Smart Money API帮助做市商根据鲸鱼活动和资金费率异常动态调整价差。

关键洞察: 专业做市商在预期有大额订单时(基于鲸鱼仓位变化)会扩大价差,在动能停滞时则收窄价差。Smart Money信号让您能提前应对这些变化。

做市基础

价差

您以买价买入,以卖价卖出。利润即为两者的差额:

每轮交易利润 = 卖价 - 买价

以BTC/USDT价格42,000美元为例:

库存风险

如果您以42,000美元买入1 BTC,但在卖出前价格暴跌至41,000美元,您将亏损1,000美元。成熟的做市商会对此进行对冲:

Python — 库存对冲
# 在Bybit以买价买入,同时在Binance以卖价做空
buy_bybit(symbol="BTCUSDT", size=1, side="buy", limit_price=41978.95)
sell_binance(symbol="BTCUSDT", size=1, side="sell", limit_price=42050)
# 利润 = 42050 - 41978.95 = 71.05 USDT,与价格变动无关
# 唯一风险是执行:如果您的卖单未能成交怎么办?

动态价差策略

1. 固定价差做市

最简单的方式:始终在双边报价1基点。

Python — 固定价差做市
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. 波动性调整价差

在高波动时期扩大价差,在平稳市场收窄价差:

Python — 波动性调整做市
def volatility_adjusted_mm(mid_price, returns_1h, confidence_score):
# 计算1小时波动率(收益率标准差)
vol = np.std(returns_1h)
# 基础价差:1基点
base_spread_bps = 1.0
# 乘以波动率(缩放0-10倍)
vol_multiplier = 1 + (vol * 50) # 高波动率 = 更宽价差
# 乘以置信度(若Smart Money为HIGH,则略微收紧)
if confidence_score > 0.65:
confidence_mult = 0.8 # 收紧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动态价差

根据鲸鱼活动信号调整价差:

Python — 鲸鱼反应型做市
def smart_money_adjusted_spreads(symbol, mid_price):
# 获取Smart Money确认信号
sm = get_smart_money_signal(symbol)
# 高置信度 + 看涨 = 市场即将上行
# 放宽卖单价差(期望以更好价格卖出)
# 收紧买单价差(加速买入执行)
if sm["confidence"] == ] == "HIGH" and sm["direction"] == ] == "long"::
bid_spread = 0.8 # 买单价差0.8基点(更具竞争力)
ask_spread = 1.4 # 卖单价差1.4基点(推动成交)
elif sm["confidence"] == ] == "VETO"::
bid_spread = 2.0 # 双向放宽价差(不确定性)
ask_spread = 2.0
else:
bid_spread = 1.0 # 默认对称价差
ask_spread = 1.0
return {
"bid": mid_price - (mid_price * bid_spread / 10000),
"ask": mid_price + (mid_price * ask_spread / 10000)
}

库存管理

目标库存

设定中性库存目标(如0 BTC)。若积累过多,提高买价(推动卖出);若空头过多,提高卖价(推动买入):

Python — 库存偏离
def get_inventory_skew(current_inventory, target_inventory=0):
skew = current_inventory - target_inventory
# 若持仓过多(+1 BTC),则调宽买价以卖出
if skew > 0:
bid_adjustment = min(skew * 0.5, 2.0) # 最多增加2个基点
ask_adjustment = -min(skew * 0.5, 1.0) # 最多收紧1个基点
# 若空仓,则调宽卖价以买入
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

生产级做市商

Python — 完整做市系统
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信号
sm = get_smart_money_signal(self.symbol)
# 2. 波动率调整
vol = calculate_volatility_1h(self.symbol)
# 3. 库存调整
inv_bid, inv_ask = get_inventory_skew(self.inventory)
# 4. 综合所有因素
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)
# 计算调整后均价
final_bid = np.mean([base_bid, vol_bid, sm_bid]) + inv_bid
final_ask = np.mean([base_ask, vol_ask, sm_ask]) + inv_ask
# 提交订单
submit_order(side="bid", price=final_bid, size=1)
submit_order(side="ask", price=final_ask, size=1)

通过Smart Money信号优化做市策略

根据鲸鱼活动和Smart Money信心调整点差的做市商,执行价格可提升15-25%,并降低库存风险。

获取算法接入 →