Monte Carlo — تحلیل عدم قطعیت
توزیع نتایج احتمالی.
هدف یادگیری
پس از مطالعه این درس، قادر خواهید بود شبیهسازی مونت کارلو را برای مدلسازی توزیع احتمالی نتایج یک پرتفوی یا استراتژی معاملاتی پیادهسازی کنید، معیارهای ریسک کمّی از جمله VaR و CVaR را از روی توزیع شبیهسازیشده استخراج نمایید، و محدودیتهای فنی این روش را در بازار پرنوسان کریپتو تشخیص دهید.
---
چرا عدم قطعیت را باید کمّی کرد؟
هر مدل قیمتی — از تحلیل تکنیکال تا DCF — یک عدد واحد به عنوان پیشبینی تولید میکند. اما بازار یک فرآیند تصادفی است؛ نه یک تابع قطعی. وقتی میگوییم «بیتکوین تا پایان ماه به ۷۰٬۰۰۰ دلار میرسد»، در واقع داریم یک نقطه از یک توزیع احتمالی را انتخاب میکنیم و بقیه را نادیده میگیریم.
شبیهسازی مونت کارلو این مشکل را حل میکند. به جای یک پیشبینی، هزاران مسیر ممکن قیمت را تولید میکند و میپرسد: «اگر این فرآیند تصادفی ۱۰٬۰۰۰ بار تکرار شود، توزیع نتایج چه شکلی خواهد داشت؟»
این رویکرد در مدیریت ریسک حرفهای، قیمتگذاری آپشنها، و ارزیابی استراتژیهای الگوریتمی جایگاه محوری دارد.
---
مبانی ریاضی: فرآیند حرکت براونی هندسی
متداولترین مدل برای شبیهسازی قیمت دارایی، حرکت براونی هندسی (GBM) است. معادله دیفرانسیل تصادفی آن به صورت زیر است:
$$dS = \mu S \, dt + \sigma S \, dW_t$$
که در آن:
- $S$ = قیمت دارایی
- $\mu$ = drift یا روند میانگین بازده (annualized)
- $\sigma$ = نوسانپذیری (annualized)
- $dW_t$ = فرآیند وینر استاندارد: $dW_t = \varepsilon \sqrt{dt}$ که $\varepsilon \sim \mathcal{N}(0,1)$
حل تحلیلی این معادله برای یک گام زمانی $\Delta t$ عبارت است از:
$$S_{t+\Delta t} = S_t \cdot \exp\!\left[\left(\mu - \frac{\sigma^2}{2}\right)\Delta t + \sigma \varepsilon \sqrt{\Delta t}\right]$$
جمله $-\frac{\sigma^2}{2}$ که Itô correction نامیده میشود، اصلاح ضروری برای تبدیل از حسابان معمولی به حسابان تصادفی است و نادیده گرفتن آن سوگیری سیستماتیک ایجاد میکند.
برآورد پارامترها از داده تاریخی
اگر بازده لگاریتمی روزانه داشته باشید ($r_i = \ln(S_i/S_{i-1})$)، پارامترها را اینگونه برآورد میکنید:
$$\hat{\sigma}_{daily} = \text{std}(r_i), \quad \hat{\mu}_{daily} = \text{mean}(r_i) + \frac{\hat{\sigma}^2_{daily}}{2}$$
برای annualize کردن (با فرض ۳۶۵ روز معاملاتی در کریپتو):
$$\hat{\sigma}_{annual} = \hat{\sigma}_{daily} \times \sqrt{365}, \quad \hat{\mu}_{annual} = \hat{\mu}_{daily} \times 365$$
---
پیادهسازی عددی: ساخت ۱۰٬۰۰۰ مسیر قیمتی
فرض کنید میخواهیم قیمت بیتکوین را برای ۳۰ روز آینده شبیهسازی کنیم. پارامترهای برآورد شده از دادههای ۱۸۰ روز اخیر:
- $S_0 = 65{,}000$ دلار
- $\sigma_{daily} = 0.034$ (بازده روزانه انحراف معیار ۳.۴٪)
- $\mu_{daily} = 0.0015$ (بازده روزانه میانگین ۰.۱۵٪)
الگوریتم شبیهسازی:
برای هر شبیهسازی m = 1 تا 10,000:
S[0] = 65,000
برای هر روز t = 1 تا 30:
ε ~ N(0,1) // عدد تصادفی نرمال استاندارد
S[t] = S[t-1] × exp((μ - σ²/2)×1 + σ×ε×√1)
ذخیره S[30] به عنوان نتیجه نهایی شبیهسازی m
پس از اجرا، یک آرایه از ۱۰٬۰۰۰ قیمت احتمالی در روز ۳۰ خواهید داشت. این آرایه توزیع احتمالی نتیجه شماست.
نمونه نتایج محاسبهشده
با پارامترهای فوق، توزیع قیمت در روز ۳۰:
| صدک | قیمت تخمینی |
|-----|-------------|
| ۵٪ (worst case) | ~۴۷٬۲۰۰ دلار |
| ۲۵٪ | ~۵۸٬۱۰۰ دلار |
| ۵۰٪ (میانه) | ~۶۶٬۴۰۰ دلار |
| ۷۵٪ | ~۷۵٬۸۰۰ دلار |
| ۹۵٪ (best case) | ~۹۱٬۳۰۰ دلار |
این اعداد مستقیماً از فرمول GBM با پارامترهای ذکرشده محاسبه شدهاند. میانه توزیع لاگنرمال برابر $S_0 \cdot e^{\mu \cdot T}$ است که میدهد: $65000 \times e^{0.0015 \times 30} \approx 67{,}975$ دلار — عدد نزدیک به صدک ۵۰٪ شبیهسازی.
---
استخراج معیارهای ریسک: VaR و CVaR
توزیع شبیهسازیشده امکان محاسبه دقیق معیارهای ریسک کمّی را فراهم میکند.
Value at Risk (VaR)
VaR در سطح اطمینان ۹۵٪ برای افق ۳۰ روزه یعنی: «با احتمال ۵٪، زیان از این مقدار بیشتر خواهد بود.»
$$\text{VaR}_{95\%} = S_0 - \text{Percentile}_{5\%}(S_{30})$$
با اعداد بالا:
$$\text{VaR}_{95\%} = 65{,}000 - 47{,}200 = 17{,}800 \text{ دلار} \approx 27.4\%$$
Conditional Value at Risk (CVaR / Expected Shortfall)
VaR یک نقطه از دنباله توزیع را نشان میدهد اما نمیگوید در بدترین ۵٪ حالت، میانگین زیان چقدر است. CVaR این شکاف را پر میکند:
$$\text{CVaR}_{95\%} = S_0 - \mathbb{E}[S_{30} \mid S_{30} < \text{Percentile}_{5\%}(S_{30})]$$
در مثال ما، میانگین قیمت در بدترین ۵٪ حالت حدود ۴۱٬۵۰۰ دلار است، بنابراین:
$$\text{CVaR}_{95\%} \approx 65{,}000 - 41{,}500 = 23{,}500 \text{ دلار} \approx 36.2\%$$
CVaR همیشه از VaR بزرگتر یا مساوی است و به دلیل لحاظ کردن tail risk در مدیریت ریسک حرفهای ترجیح داده میشود.
---
فراتر از GBM: مدلهای پیشرفتهتر برای کریپتو
مدل GBM یک فرض مهم دارد: نوسانپذیری ثابت است. این فرض در بازار کریپتو اغلب نقض میشود. برای مقابله با این محدودیت، رویکردهای زیر استفاده میشوند:
۱. مدل Jump-Diffusion (مرتون)
قیمت کریپتو گاهی جهشهای ناگهانی دارد که GBM نمیتواند مدل کند. مدل مرتون یک جمله پواسون اضافه میکند:
$$dS = \mu S \, dt + \sigma S \, dW_t + S \, dJ_t$$
که $dJ_t$ نشاندهنده جهشهای تصادفی با تعداد متوسط $\lambda$ جهش در سال و اندازه جهش $J \sim \mathcal{N}(\mu_J, \sigma_J^2)$ است.
۲. Bootstrapping تاریخی
به جای فرض نرمال بودن بازده، مستقیماً از بازدههای تاریخی واقعی نمونهبرداری با جایگزینی انجام میدهیم. این روش fat tail و skewness واقعی بازار را حفظ میکند:
برای هر شبیهسازی:
S[0] = S_current
برای هر روز t:
r = انتخاب تصادفی از {r_1, r_2, ..., r_N} (بازدههای تاریخی)
S[t] = S[t-1] × exp(r)
Bootstrapping در بکتست استراتژیهای معاملاتی بسیار ارزشمند است زیرا توزیع واقعی بازده را بدون فرض توزیعی پیشفرض استفاده میکند.
۳. مدل GARCH برای نوسانپذیری تصادفی
اگر نوسانپذیری خودش یک فرآیند تصادفی باشد (که در کریپتو هست)، میتوان ابتدا یک مدل GARCH(1,1) برای $\sigma_t$ برازش داد:
$$\sigma_t^2 = \omega + \alpha \varepsilon_{t-1}^2 + \beta \sigma_{t-1}^2$$
سپس شبیهسازی مونت کارلو را با $\sigma_t$ متغیر اجرا کرد. این ترکیب که Monte Carlo-GARCH نامیده میشود، واقعیترین مدلسازی ریسک را در بازارهای پرنوسان ارائه میدهد.
---
محدودیتها و اشتباهات رایج
۱. وابستگی شدید به پارامترهای ورودی (GIGO)
اگر $\mu$ و $\sigma$ را از یک دوره صعودی غیرعادی برآورد کنید، شبیهسازی تصویر بیش از حد خوشبینانهای خواهد داد. همیشه پارامترها را برای بازههای زمانی مختلف آزمون کنید (sensitivity analysis).
۲. فرض استقلال بازدهها
GBM استاندارد فرض میکند بازدههای روزانه مستقل هستند. در واقعیت، بازارهای کریپتو اتوکورلاسیون و clustering نوسان دارند.
۳. تله صدک بالا
نتایج در صدک ۹۵٪ را هدف سود نگیرید. صدک ۹۵٪ یعنی ۵٪ احتمال رسیدن — نه هدف محتمل.
۴. همبستگی در پرتفوی چندارزی
شبیهسازی هر دارایی به صورت مستقل، همبستگی بین داراییها را نادیده میگیرد. برای پرتفوی، باید از Cholesky decomposition برای شبیهسازی همزمان متغیرهای همبسته استفاده کرد:
$$\mathbf{\varepsilon}_{correlated} = L \cdot \mathbf{z}, \quad \mathbf{z} \sim \mathcal{N}(\mathbf{0}, \mathbf{I}), \quad LL^T = \Sigma$$
---
نتیجهگیری
شبیهسازی مونت کارلو ابزار قدرتمندی است که ذهنیت ما را از «یک پیشبینی» به «توزیعی از نتایج ممکن» تغییر میدهد. این تغییر پارادایم برای مدیریت ریسک حرفهای ضروری است. یک معاملهگر quant به جای پرسیدن «آیا این معامله سودآور خواهد بود؟»، میپرسد: «توزیع نتایج این استراتژی در ۱۰٬۰۰۰ سناریو چیست؟ CVaR آن قابل تحمل است؟»
---
خلاصه نقطهای
- GBM پایهایترین مدل شبیهسازی قیمت است با دو پارامتر $\mu$ و $\sigma$؛ اصلاح Itô ($-\sigma^2/2$) را فراموش نکنید.
- هزاران مسیر شبیهسازی یک توزیع احتمالی از نتایج تولید میکند، نه یک پیشبینی واحد.
- VaR نقطهای از دنباله توزیع است؛ CVaR میانگین زیان در بدترین سناریوها و معیار برتر در ریسک مدیریتی حرفهای است.
- Bootstrapping تاریخی fat tail و skewness واقعی بازار کریپتو را بدون فرض توزیعی حفظ میکند.
- Monte Carlo-GARCH با مدلسازی نوسانپذیری متغیر در طول زمان، واقعیترین تصویر ریسک را ارائه میدهد.
- Cholesky decomposition برای شبیهسازی پرتفوی چندارزی با لحاظ کردن ماتریس همبستگی ضروری است.
- کیفیت شبیهسازی مستقیماً به کیفیت پارامترهای ورودی وابسته است — همیشه sensitivity analysis انجام دهید.