تئوری پرتفولیو مدرن
Markowitz در عصر کریپتو.
هدف یادگیری
در پایان این درس، قادر خواهید بود تئوری پرتفولیو مدرن مارکوویتز را بهصورت ریاضی فرمولهبندی کنید، مرز کارآمد را بسازید، محدودیتهای بنیادین این مدل را در محیط کریپتو تشخیص دهید، و با ابزارهای جایگزینی مانند CVaR، Black-Litterman و Risk Parity این نقصها را جبران کنید.
---
۱. ستونهای ریاضی MPT
هری مارکوویتز در ۱۹۵۲ با مقالهای کوتاه در Journal of Finance چارچوبی بنا کرد که هنوز پایهی اکثر مدیریت دارایی مدرن است. ایدهی مرکزی ساده است: ریسک پرتفولیو با میانگین وزنی ریسک داراییهای منفرد برابر نیست، زیرا همبستگی بین داراییها اثر تنوعبخشی ایجاد میکند.
بازده مورد انتظار پرتفولیو
$$E(R_p) = \sum_{i=1}^{n} w_i \cdot E(R_i)$$
که در آن $w_i$ وزن دارایی $i$ و $E(R_i)$ بازده مورد انتظار آن است.
واریانس پرتفولیو
$$\sigma_p^2 = \sum_{i=1}^{n} \sum_{j=1}^{n} w_i w_j \sigma_{ij}$$
که $\sigma_{ij} = \rho_{ij} \cdot \sigma_i \cdot \sigma_j$ کوواریانس دارایی $i$ و $j$ است و $\rho_{ij}$ ضریب همبستگی آنهاست.
مثال محاسباتی: فرض کنید پرتفولیویی از دو دارایی داریم:
| دارایی | وزن | انحراف معیار سالانه |
|--------|-----|--------------------|
| BTC | 60% | 75% |
| ETH | 40% | 85% |
با ضریب همبستگی $\rho = 0.82$:
$$\sigma_p^2 = (0.6)^2(0.75)^2 + (0.4)^2(0.85)^2 + 2(0.6)(0.4)(0.82)(0.75)(0.85)$$
$$= 0.2025 + 0.1156 + 0.2494 \approx 0.5675$$
$$\sigma_p \approx 75.3\%$$
میانگین وزنی ریسک برابر $0.6 \times 75\% + 0.4 \times 85\% = 79\%$ است. پرتفولیو با وجود همبستگی بالای ۰.۸۲، همچنان ۳.۷ واحد درصد ریسک کمتری دارد — این همان اثر تنوعبخشی مارکوویتز است.
---
۲. مرز کارآمد و نقطهی بهینه
مجموعهی تمام پرتفولیوهای ممکن در فضای ریسک-بازده یک ناحیهی گلولهمانند ایجاد میکند. مرز کارآمد (Efficient Frontier) لبهی بالایی این ناحیه است: برای هر سطح ریسک، پرتفولیویی که بیشترین بازده را دارد.
مسئلهی بهینهسازی بهصورت برنامهریزی درجهدوم (QP) فرموله میشود:
$$\min_{w} \; w^T \Sigma w \quad \text{s.t.} \quad w^T \mu = \mu_p, \quad w^T \mathbf{1} = 1, \quad w_i \geq 0$$
راهحل تحلیلی از طریق ضرایب لاگرانژ:
$$w^* = \lambda_1 \Sigma^{-1} \mu + \lambda_2 \Sigma^{-1} \mathbf{1}$$
دو نقطهی کلیدی روی مرز وجود دارد:
- پرتفولیوی حداقل واریانس (MVP): کمترین ریسک ممکن با $\lambda_1 = 0$
- پرتفولیوی مماس (Tangency Portfolio): بالاترین نسبت شارپ
نسبت شارپ و خط بازار سرمایه
$$SR = \frac{E(R_p) - R_f}{\sigma_p}$$
پرتفولیوی مماس نقطهای است که خط ترسیمشده از نرخ بهرهی بدون ریسک ($R_f$) به مرز کارآمد، مماس میشود. این خط را Capital Market Line (CML) مینامیم:
$$E(R_p) = R_f + \frac{E(R_m) - R_f}{\sigma_m} \cdot \sigma_p$$
مثال: با $R_f = 5\%$، بازده پرتفولیوی مماس ۴۵٪ و انحراف معیار ۵۵٪:
$$SR = \frac{0.45 - 0.05}{0.55} \approx 0.727$$
هر واحد ریسک اضافی، ۰.۷۲۷ واحد بازده مازاد میآورد.
---
۳. MPT در مواجهه با کریپتو: کجا مدل میشکند؟
اینجاست که کار جدی شروع میشود. MPT کلاسیک بر چند فرض استوار است که در کریپتو بهشدت نقض میشوند.
۳.۱ توزیع غیرنرمال (Fat Tails)
MPT فرض میکند بازدهها از توزیع نرمال پیروی میکنند. اما کریپتو kurtosis (کشیدگی) بالایی دارد:
| دارایی | Excess Kurtosis (تقریبی) |
|--------|-------------------------|
| S&P 500 | ~1.2 |
| BTC | ~5.7 |
| ETH | ~7.1 |
| DOGE | ~21.5 |
کشیدگی اضافی بیشتر از صفر یعنی رویدادهای دنبالهدار (Tail Events) بسیار بیشتر از آنچه توزیع نرمال پیشبینی میکند رخ میدهند. یک رویداد ۵-سیگما در توزیع نرمال احتمالی در حدود یک در یک میلیون دارد؛ در کریپتو چنین رویدادهایی در بازهی چند سال قابل مشاهدهاند.
۳.۲ همبستگی ناپایدار (Correlation Breakdown)
در بازارهای آرام، همبستگی BTC–ETH حدود ۰.۷–۰.۸ است. اما در بحرانها، این عدد به ۰.۹۵+ میرسد — دقیقاً زمانی که به تنوعبخشی بیشترین نیاز است، داراییها با هم سقوط میکنند. این Asymmetric Correlation است:
$$\rho_{\text{bear market}} \gg \rho_{\text{bull market}}$$
تحقیقات تجربی نشان میدهد در دورههای سقوط بیش از ۳۰٪ بازار کریپتو، میانگین همبستگی بین ۱۰ آلتکوین برتر به بالای ۰.۹ میرسد.
۳.۳ ناپایداری ماتریس کوواریانس
ماتریس $\Sigma$ در MPT ثابت فرض میشود. در کریپتو، واریانسها در بازههای مختلف میتوانند ۵ تا ۱۰ برابر تغییر کنند. این ناپایداری منجر به Estimation Error میشود که در فرایند بهینهسازی تقویت شده و پرتفولیوهای بسیار متمرکز و ناپایدار تولید میکند — پدیدهای که Michaud آن را Error Maximization نامید.
---
۴. رویکردهای مدرن برای محیط کریپتو
۴.۱ CVaR بهجای واریانس
Conditional Value at Risk یا Expected Shortfall معیار دقیقتری برای ریسک دنباله است:
$$CVaR_\alpha = E\left[R \mid R \leq VaR_\alpha\right] = -\frac{1}{1-\alpha} \int_0^{1-\alpha} VaR_u \, du$$
برای $\alpha = 0.95$، CVaR میانگین زیان در بدترین ۵٪ روزها را نشان میدهد — نه تنها آستانهی آن. بهینهسازی پرتفولیو با CVaR:
$$\min_w CVaR_\alpha(w) \quad \text{s.t.} \quad E(R_p) \geq \mu_{\text{target}}, \quad \mathbf{1}^T w = 1$$
Rockafellar و Uryasev (2000) نشان دادند این مسئله به یک برنامهریزی خطی تبدیل میشود و قابل حل کارآمد است.
۴.۲ مدل Black-Litterman
مشکل اصلی MPT حساسیت شدید به بازدههای مورد انتظار ورودی است. Black-Litterman این را با ترکیب بازدههای تعادلی ضمنی بازار با دیدگاههای سرمایهگذار حل میکند:
$$\mu_{BL} = \left[(\tau\Sigma)^{-1} + P^T \Omega^{-1} P\right]^{-1}\left[(\tau\Sigma)^{-1}\pi + P^T\Omega^{-1}q\right]$$
که:
- $\pi = \lambda \Sigma w_{\text{market}}$: بازدههای تعادلی ضمنی از وزنهای بازار
- $P$: ماتریس دیدگاهها (مثلاً «BTC از ETH عملکرد بهتری دارد»)
- $q$: بردار بازدههای مورد انتظار طبق دیدگاهها
- $\Omega$: ماتریس قطری عدم اطمینان دیدگاهها
- $\tau$: پارامتر مقیاس (معمولاً $1/T$)
در کریپتو، $\pi$ میتواند از دادههای آنچین مانند MVRV Ratio یا NVT Signal غنیسازی شود.
۴.۳ Risk Parity
بهجای تخصیص وزن برابر یا تخصیص بر اساس بازده مورد انتظار، Risk Parity وزنها را طوری تنظیم میکند که سهم ریسک هر دارایی برابر باشد:
$$RC_i = w_i \cdot \frac{\partial \sigma_p}{\partial w_i} = w_i \cdot \frac{(\Sigma w)_i}{\sigma_p}$$
هدف: $RC_i = \frac{\sigma_p}{n} \quad \forall i$
در عمل، چون SOL نوسان بسیار بیشتری از BTC دارد، Risk Parity وزن بسیار کمتری به SOL میدهد. این روش در برابر نوسانپذیری نامتقارن کریپتو مقاومتر است.
---
۵. پیادهسازی عملی: پرتفولیوی سه دارایی کریپتو
فرض کنید با دادههای ۲ سالهی BTC، ETH و SOL کار میکنیم:
ماتریس همبستگی (تخمینی از دادههای تاریخی):
| | BTC | ETH | SOL |
|--|-----|-----|-----|
| BTC | 1.00 | 0.82 | 0.71 |
| ETH | 0.82 | 1.00 | 0.78 |
| SOL | 0.71 | 0.78 | 1.00 |
انحراف معیار سالانه: BTC ≈ 72%، ETH ≈ 84%، SOL ≈ 115%
گام اول — ساخت ماتریس کوواریانس:
$$\Sigma_{ij} = \rho_{ij} \cdot \sigma_i \cdot \sigma_j$$
مثلاً: $\Sigma_{BTC,SOL} = 0.71 \times 0.72 \times 1.15 \approx 0.588$
گام دوم — بهینهسازی Mean-CVaR با Python:
python
from scipy.optimize import minimize
import numpy as np
def portfolio_cvar(weights, returns, alpha=0.95):
port_ret = returns @ weights
var_threshold = np.percentile(port_ret, (1 - alpha) * 100)
cvar = port_ret[port_ret <= var_threshold].mean()
return -cvar # minimize negative CVaR
constraints = [{'type': 'eq', 'fun': lambda w: np.sum(w) - 1}]
bounds = [(0.05, 0.60)] * 3 # min 5%, max 60% per asset
result = minimize(
portfolio_cvar,
x0=[1/3, 1/3, 1/3],
args=(daily_returns,),
method='SLSQP',
bounds=bounds,
constraints=constraints
)
print(result.x) # optimal weights
گام سوم — Walk-Forward Validation:
هرگز با تمام دادهها بهینه نکنید. از Walk-Forward Optimization استفاده کنید:
- روی ۱۸ ماه اول بهینه کنید
- روی ۶ ماه بعد بکتست بگیرید
- پنجره را یک ماه به جلو بکشید و تکرار کنید
این روش Overfitting را که بزرگترین دام بهینهسازی پرتفولیو است، بهطور چشمگیری کاهش میدهد.
---
نتیجهگیری
تئوری پرتفولیو مارکوویتز پایهای غیرقابل انکار است، اما برای محیط کریپتو باید با ابزارهای مدرن تقویت شود. استفادهی کور از MPT کلاسیک در کریپتو — به دلیل توزیعهای دنبالهپهن، همبستگیهای ناپایدار، و نوسانپذیری شدید — میتواند منجر به تخمین بسیار خوشبینانه از ریسک و پرتفولیوهای آسیبپذیر شود. یک کوانت حرفهای، MPT را نقطهی شروع میداند، نه نقطهی پایان.
---
خلاصه نقطهای
- MPT کلاسیک با بهینهسازی میانگین-واریانس کار میکند؛ ریاضیاتش محکم است، اما فرض نرمال بودن توزیع در کریپتو نقض میشود.
- Excess Kurtosis بالا در کریپتو یعنی سقوطهای شدید بسیار بیشتر از توزیع نرمال رخ میدهند و واریانس معیار کافی نیست.
- Correlation Breakdown در بحرانها اثر تنوعبخشی را دقیقاً در بدترین زمان از بین میبرد — ریسک اصلی MPT در کریپتو.
- CVaR (Expected Shortfall) ریسک دنباله را اندازه میگیرد و به برنامهریزی خطی قابل حل تبدیل میشود.
- Black-Litterman حساسیت به ورودیهای بازده را کاهش میدهد و امکان تزریق دیدگاههای آنچین را فراهم میکند.
- Risk Parity با تخصیص برابر سهم ریسک (نه وزن)، در برابر نوسانپذیری نامتقارن کریپتو مقاومتر است.
- Walk-Forward Optimization الزامی است — هرگز روی کل دادههای تاریخی بهینه نکنید.
- ماتریس کوواریانس باید بهصورت پویا (مثلاً با DCC-GARCH یا Ledoit-Wolf Shrinkage) تخمین زده شود تا Estimation Error کنترل شود.