استراتژی‌های مارکت‌میکینگ — ارائه نقدینگی با بینش‌های Smart Money

مارکت‌میکرها از اختلاف قیمت خرید و فروش سود می‌برند و با ارائه هر دو طرف نقدینگی عمل می‌کنند. در بازار کریپتو، اگر به درستی انجام شود، این کار کم‌ریسک است: شما می‌توانید با هج کردن در صرافی دیگر، موجودی خود را به حداقل برسانید و اختلاف قیمت را به جیب بزنید. Smart Money API به مارکت‌میکرها کمک می‌کند تا اسپردها را به صورت پویا بر اساس فعالیت نهنگ‌ها و ناهنجاری‌های نرخ تأمین مالی تنظیم کنند.

بینش کلیدی: مارکت‌میکرهای حرفه‌ای اسپردها را زمانی که انتظار می‌رود سفارشات بزرگی انجام شود (بر اساس تغییرات موقعیت نهنگ‌ها) گسترش می‌دهند. آن‌ها اسپردها را زمانی که حرکت بازار متوقف می‌شود، تنگ می‌کنند. سیگنال‌های Smart Money به شما امکان می‌دهند تا از این تغییرات پیشی بگیرید.

مبانی مارکت‌میکینگ

اسپرد

شما در قیمت خرید می‌خرید و در قیمت فروش می‌فروشید. سود شما تفاوت این دو است:

سود در هر دور = قیمت فروش - قیمت خرید

در BTC/USDT با قیمت ۴۲,۰۰۰ دلار:

ریسک موجودی

اگر شما ۱ BTC را با قیمت ۴۲,۰۰۰ دلار بخرید اما قیمت قبل از فروش به ۴۱,۰۰۰ دلار سقوط کند، شما ۱,۰۰۰ دلار ضرر کرده‌اید. مارکت‌میکرهای پیشرفته این ریسک را هج می‌کنند:

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، بدون توجه به حرکت قیمت
# ریسک فقط اجرایی است: اگر سفارش فروش شما پر نشود چه؟

استراتژی‌های اسپرد پویا

۱. مارکت‌میکینگ با اسپرد ثابت

ساده‌ترین حالت: همیشه ۱bp را در هر دو طرف ارائه دهید.

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}

۲. اسپرد تعدیل‌شده با نوسان

اسپردها را در زمان نوسان بالا گسترش دهید، در بازارهای آرام تنگ کنید:

Python — مارکت‌میکینگ تعدیل‌شده با نوسان
def volatility_adjusted_mm(mid_price, returns_1h, confidence_score):
# محاسبه نوسان ۱ ساعته (انحراف معیار بازده‌ها)
vol = np.std(returns_1h)
# اسپرد پایه: ۱bp
base_spread_bps = 1.0
# ضرب در نوسان (مقیاس ۰-۱۰x)
vol_multiplier = 1 + (vol * 50) # نوسان بالا = اسپرد گسترده‌تر
# ضرب در اعتماد (اگر Smart Money بالا باشد، کمی تنگ کنید)
if confidence_score > 0.65:
confidence_mult = 0.8 # تنگ کردن ۲۰٪
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
}

۳. اسپردهای واکنشی 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.8bp در قیمت خرید (رقابتی)
ask_spread = 1.4 # 1.4bp در قیمت فروش (فشار برای پر شدن)
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)
}

مدیریت موجودی

هدف موجودی

یک هدف خنثی برای موجودی تعیین کنید (مثلاً ۰ 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) # حداکثر 2bp اضافه کنید
ask_adjustment = -min(skew * 0.5, 1.0) # حداکثر 1bp کاهش دهید
# اگر موجودی کم باشد، قیمت پیشنهادی فروش را افزایش دهید تا خرید انجام شود
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 تولیدی

Python — سیستم کامل 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. دریافت سیگنال 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% قیمت اجرای بهتر و ریسک موجودی کمتری را تجربه می‌کنند.

دسترسی به الگوریتم →