做市策略 — 運用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%,並降低庫存風險。

獲取算法接入 →