Market Making — کسب از اسپرد
Inventory Risk.
Market Making — ریسک موجودی (Inventory Risk)
هدف یادگیری
پس از مطالعه این درس، خواهید توانست:
- مفهوم ریسک موجودی را در چارچوب کمّی تعریف کنید
- مدل Avellaneda-Stoikov را برای قیمتگذاری بهینه بیدآسک به کار ببرید
- استراتژیهای skewing و delta-hedging موجودی را پیادهسازی کنید
- معیارهای کنترل ریسک موجودی (مانند VaR موجودی و حد کشیدگی) را محاسبه کنید
---
۱. ماهیت ریسک موجودی در مارکتمیکینگ
هر مارکتمیکر با ارسال همزمان سفارشهای خرید (bid) و فروش (ask) موجودی خود را در معرض تغییر مداوم قرار میدهد. وقتی یک معاملهگر بزرگ تمام سفارشهای خرید شما را میبلعد، موجودی دارایی شما به شکل ناخواستهای افزایش مییابد. برعکس، اگر همه سفارشهای فروش شما اجرا شوند، موجودی به سمت کمبود (short) میرود.
این وضعیت چرا خطرناک است؟ زیرا مارکتمیکر حالا یک موضع جهتدار (directional position) دارد که ذاتاً قصد نداشته. هر حرکت قیمت برخلاف موجودی، مستقیماً سود ناخالص اسپرد را میبلعد.
مثال عددی:
فرض کنید اسپرد شما روی BTC/USDT برابر ۱۰ دلار است (bid: 69,990 | ask: 70,000). اگر ۵ BTC در موجودی long دارید و قیمت ۱۰۰ دلار سقوط کند:
زیان موجودی = 5 BTC × 100$ = 500$
سود اسپرد برای پوشش = تعداد معاملات × 10$ اسپرد
→ برای جبران این زیان: باید 50 معامله دوطرفه انجام دهید
این نشان میدهد که یک حرکت قیمت میتواند سود دهها معامله را نابود کند.
---
۲. مدلسازی کمّی: چارچوب Avellaneda-Stoikov
مدل کلاسیک AS (2008) ریسک موجودی را با یک معادله دیفرانسیل جزئی مدل میکند. فرض اصلی: قیمت دارایی یک حرکت براونی هندسی (GBM) است:
dS = σ dW
مارکتمیکر یک تابع مطلوبیت نمایی دارد با ضریب ریسکگریزی γ:
U(x) = -e^(-γx)
قیمت رزرواسیون (reservation price):
r(s, q, t) = s - q × γ × σ² × (T - t)
که در آن:
- s = قیمت میانی فعلی (mid-price)
- q = موجودی فعلی (مثبت = long، منفی = short)
- γ = ضریب ریسکگریزی
- σ = نوسانپذیری دارایی
- T - t = زمان باقیمانده تا پایان افق معاملاتی
اسپرد بهینه:
δ* = γ × σ² × (T - t) + (2/γ) × ln(1 + γ/κ)
که κ نرخ ورود سفارشات بازار (market order arrival rate) است.
تفسیر عملی:
وقتی موجودی q > 0 (long)، قیمت رزرواسیون r < s میشود — یعنی مارکتمیکر bid خود را پایین میکشد تا خرید کمتر جذب کند و ask را پایین میبرد تا سریعتر موجودی را تخلیه کند. این همان مفهوم skewing است.
---
۳. پیادهسازی Skewing: تنظیم کوتها بر اساس موجودی
در عمل، skewing با یک فرمول سادهتر اجرا میشود:
bid_adjusted = mid - (spread/2) - skew_factor × q
ask_adjusted = mid + (spread/2) - skew_factor × q
ضریب skew معمولاً به صورت کسری از اسپرد تعریف میشود:
skew_factor = α × (q / q_max)
که q_max حداکثر موجودی مجاز و α شدت پاسخ به موجودی است.
مثال عددی:
معیارها:
mid = 70,000$
spread = 20$ (±10$)
q = +3 BTC (long)
q_max = 5 BTC
α = 0.5 (نیمی از اسپرد به عنوان skew)
محاسبه:
skew = 0.5 × (3/5) × 20 = 6$
کوتهای تنظیمشده:
bid = 70,000 - 10 - 6 = 69,984$
ask = 70,000 + 10 - 6 = 70,004$
نتیجه: bid پایینتر رفت (احتمال خرید کمتر) و ask پایینتر رفت (احتمال فروش بیشتر) — موجودی long را تخلیه میکنیم.
---
۴. کنترل موجودی: معیارهای ریسک و محدودیتها
۴.۱ VaR موجودی
ارزش در معرض خطر موجودی (Inventory VaR) را با فرض توزیع نرمال بازدهها محاسبه میکنیم:
Inventory VaR = |q| × S × σ_daily × z_α × √(T_liquidation / 252)
که:
- z_α = quantile نرمال در سطح اطمینان α (برای 99%: z = 2.326)
- T_liquidation = روزهای لازم برای تسویه موجودی
مثال:
|q| = 4 BTC
S = 70,000$
σ_daily = 3%
z_99% = 2.326
T_liquidation = 1 روز
Inventory VaR = 4 × 70,000 × 0.03 × 2.326 × √(1/252)
= 4 × 70,000 × 0.03 × 2.326 × 0.063
≈ 1,237$
اگر این عدد از آستانه تعریفشده (مثلاً ۲٪ سرمایه) تجاوز کند، باید موجودی را کاهش دهید.
۴.۲ Inventory Skewness Ratio
ISR = q / q_max
| ISR | وضعیت | اقدام |
|-----|--------|-------|
| [-0.3, +0.3] | خنثی | کوتهای استاندارد |
| [+0.3, +0.7] | long متوسط | skew ملایم |
| [+0.7, +1.0] | long شدید | skew قوی + کاهش حجم bid |
| بالای +1.0 | بحرانی | توقف bid / hedge فوری |
۴.۳ Realized Spread vs. Inventory P&L
مارکتمیکرهای حرفهای P&L را به دو جزء تجزیه میکنند:
کل P&L = Spread P&L + Inventory P&L
Spread P&L = Σ (ask_i - mid_i) × vol_ask + Σ (mid_i - bid_i) × vol_bid
Inventory P&L = q_final × (S_final - S_0) + Σ q_t × ΔS_t
هدف: Spread P&L مثبت و پایدار، Inventory P&L نزدیک به صفر.
---
۵. هجینگ موجودی: رویکردهای عملی
۵.۱ Delta Hedging با قراردادهای آتی
رایجترین روش، باز کردن موضع معکوس در بازار آتی (perpetual swap) است:
hedge_size = -q × hedge_ratio
معمولاً hedge_ratio بین ۰.۵ تا ۱.۰ انتخاب میشود. هج کامل (ratio=1) Inventory P&L را به صفر میرساند اما هزینه funding rate را تحمیل میکند.
هزینه هج:
Funding Cost = hedge_size × S × funding_rate × time
مثال (funding rate = 0.01% هر 8 ساعت):
hedge = 3 BTC × 70,000$ = 210,000$
هزینه روزانه = 210,000 × 0.0001 × 3 = 63$ در روز
اگر Spread P&L روزانه از این هزینه بیشتر باشد، هج توجیه دارد.
۵.۲ Cross-Asset Hedging
در مواردی که ارتباط (correlation) بالایی بین داراییها وجود دارد، میتوان موجودی یک دارایی را با دارایی دیگر هج کرد:
hedge_size_B = -q_A × (σ_A / σ_B) × ρ(A,B)
مثال: هجینگ ETH با BTC وقتی ρ ≈ 0.85:
q_ETH = +10 ETH
σ_ETH_daily = 4%, σ_BTC_daily = 3%
hedge_BTC = -10 × (ETH_price/BTC_price) × (4%/3%) × 0.85
این روش زمانی منطقی است که هزینههای معاملاتی هج اصلی بالاتر باشد.
۵.۳ Options-Based Hedging (پیشرفته)
برای مارکتمیکرهایی که در آپشنها فعال هستند، هج Delta-Gamma با خرید/فروش آپشنهای کمهزینه امکانپذیر است. معادله هج پویا:
Δ_portfolio = q_spot + Δ_futures × n_futures + Σ Δ_option_i × n_i = 0
Γ_portfolio = Σ Γ_option_i × n_i = target_gamma
هدف: delta صفر نگه داشتن در حین مدیریت gamma برای بهرهبرداری از نوسان.
---
۶. چالشهای دنیای واقعی و راهحلهای کمّی
۶.۱ Adverse Selection و ریسک موجودی تجمعی
مارکتمیکرها در معرض adverse selection هستند: معاملهگران informed (که اطلاعات بهتری دارند) در جهتی معامله میکنند که موجودی شما را در سمت اشتباه تجمیع میکند.
شاخص Kyle's Lambda برای تشخیص فشار informed trading:
ΔP_t = λ × OFI_t + ε_t
OFI = Order Flow Imbalance = (buy_volume - sell_volume) / total_volume
وقتی λ بالا میرود، هزینه موجودی افزایش مییابد و باید اسپرد را گسترش دهید.
۶.۲ Optimal Stopping: چه زمانی موجودی را اجباراً تسویه کنیم؟
یک قاعده ساده برای توقف اجباری:
اگر: |Inventory P&L| > max_loss_threshold
یا: |ISR| > 0.9
یا: VaR موجودی > 2% سرمایه
→ تمام موجودی را با سفارش market order تسویه کن
هزینه تسویه اجباری:
Slippage Cost = |q| × S × impact_coefficient × √(|q| / ADV)
که ADV حجم روزانه متوسط بازار است. این هزینه باید در محاسبات Inventory VaR لحاظ شود.
۶.۳ مدیریت چندین جفت ارز همزمان (Portfolio Inventory Risk)
برای مارکتمیکرهای چندجفتی، ریسک موجودی پرتفوی با ماتریس کوواریانس محاسبه میشود:
Portfolio Inventory VaR = z_α × √(q^T × Σ × q × T_liq/252)
که Σ ماتریس کوواریانس بازده داراییها و q بردار موجودیهاست. تنوعبخشی طبیعی بین جفتهای غیرهمبسته VaR را کاهش میدهد.
---
نتیجهگیری
ریسک موجودی ستون اصلی مدیریت ریسک در مارکتمیکینگ است. مدل Avellaneda-Stoikov یک چارچوب کمّی مستحکم برای قیمتگذاری بهینه بیدآسک با لحاظ موجودی فراهم میکند. اما در عمل، ترکیبی از skewing پویا، هجینگ با ابزارهای مشتقه، و محدودیتهای سخت VaR لازم است.
نکات کلیدی:
- ریسک موجودی از جهتدار شدن ناخواسته پرتفوی ناشی میشود و سود اسپرد را تهدید میکند
- قیمت رزرواسیون (r = s - q·γ·σ²·(T-t)) نقطه مرجع تنظیم کوتها بر اساس موجودی است
- Skewing با جابهجایی همزمان bid و ask، موجودی را بدون هج صریح مدیریت میکند
- Inventory VaR معیار اصلی ریسک موجودی است و باید حد بحرانی داشته باشد
- Delta hedging با آتیها رایجترین روش هج است، اما هزینه funding rate را تحمیل میکند
- Kyle's Lambda نشانه adverse selection را تشخیص میدهد و سیگنال گسترش اسپرد است
- در مارکتمیکینگ چندجفتی، ماتریس کوواریانس ابزار ضروری برای محاسبه ریسک پرتفوی موجودی است
- توقف اجباری با سفارش market order، آخرین سپر دفاعی در برابر انباشت موجودی بحرانی است