یاد بگیر›سبد و مدیریت ریسک›مقالهٔ ۶ از ۹

بهینه‌سازی سبد به زبان ساده: از مارکوویتز تا مونت‌کارلو

متوسط حدود ۱۱ دقیقه ·به‌روزرسانی
نکتهٔ کلیدی این مقاله
هدف بهینه‌سازی، بهترین سبد ممکن نیست؛ سبدی است که در بیشترین تعداد بازهٔ زمانی، رتبهٔ بدی نگیرد. روشی که روی کل تاریخچه بهترین شارپ را می‌سازد، اغلب دقیقاً همان روشی است که فردا شکست می‌خورد.

بهینه‌سازی سبد یعنی به‌جای حدس‌زدن وزن هر دارایی، آن را از بازده و هم‌بستگی تاریخی حساب کنی. سبدچین هوشمند «بازار باشه» هشت روش دارد؛ مهم‌ترین‌هایشان برابری ریسک سلسله‌مراتبی (HRP)، برابری ریسک، وزن وارون نوسان، میانگین-واریانس (مارکوویتز) و بلک-لیترمن‌اند و برای هر پروفایل ریسک یکی به‌طور پیش‌فرض به‌کار می‌رود. مهم‌ترین درسی که از کالیبره‌کردن این موتور گرفته‌ایم این است: روشی که روی کل تاریخچه بهترین شارپ را می‌سازد، در زیربازه‌های جداگانه اغلب رتبهٔ متوسط یا ضعیف می‌گیرد.

بهینه‌سازی سبد دقیقاً چه کاری می‌کند؟

مسیرش را در تخصیص دارایی خلاصه دیدیم: بازده هفتگی حدود چهار سال گذشتهٔ همهٔ قلم‌های یونیورس هم‌تراز می‌شود، یک ماتریس کوواریانس پایدار ساخته می‌شود، روش بهینه‌سازی مخصوص همان پروفایل روی آن اجرا می‌شود، سقف وزن هر قلم اعمال می‌شود و وزن‌های ناچیز صفر می‌شوند. خروجی یک سبد فقط-خرید است که جمع وزن‌هایش دقیقاً ۱۰۰٪ می‌شود.

نکتهٔ اول قبل از هر روش: کوواریانس خام روی داده کم و نویزی، بی‌ثبات است. سبدچین از انقباض Ledoit-Wolf استفاده می‌کند؛ ماتریس خام را کمی به‌سمت یک حالت ساده‌تر می‌کشد تا وزن‌های عجیب و افراطی نسازد. همین انقباض در هم‌بستگی دارایی‌ها در بازار ایران هم توضیح داده شده.

روش‌های اصلی بهینه‌سازی چه فرقی دارند؟

روش ایدهٔ اصلی نقطهٔ قوت نقطهٔ ضعف
برابری ریسک سلسله‌مراتبی (HRP) دارایی‌ها را بر اساس شباهت خوشه‌بندی می‌کند، بعد ریسک را داخل و بین خوشه‌ها برابر تقسیم می‌کند بدون وارون‌سازی ماتریس؛ با کوواریانس بدوضع و داده کم هم پایدار می‌ماند همیشه بهترین بازده موردانتظار را نمی‌سازد
برابری ریسک (Risk Parity) سهم هر دارایی از ریسک کل سبد را برابر می‌کند فهم آن ساده و رفتارش با تغییر بازار قابل‌پیش‌بینی است به تخمین نوسان هر دارایی حساس است
میانگین-واریانس (مارکوویتز) بازده موردانتظار منهای جریمهٔ ریسک را بیشینه می‌کند از نظر ریاضی «بهینه» است، اگر ورودی‌ها درست باشند به کوچک‌ترین خطای تخمین بازده موردانتظار به‌شدت حساس است و اغلب وزن‌های افراطی می‌سازد
وزن وارون نوسان به هر دارایی به نسبت عکس نوسانش وزن می‌دهد؛ کم‌نوسان‌تر، وزن بیشتر ساده‌ترین و کم‌خطاترین روش؛ به بازده موردانتظار نیازی ندارد هم‌بستگی دارایی‌ها را نادیده می‌گیرد
بلک-لیترمن بازده تعادلی بازار را با دیدگاه مدل ترکیب می‌کند (رویکرد بیزی) نسبت به میانگین-واریانس خام، تمرکز کمتری می‌سازد باز هم به کیفیت دیدگاه ورودی وابسته است

سه روش دیگر هم در نسخهٔ پیشرفته هست: کمینه‌واریانس، کمینهٔ ارزش در معرض ریسک شرطی (CVaR) که زیان‌های دم توزیع را کوچک می‌کند، و نسخهٔ آزمایشی بلک-لیترمن با دیدگاه یادگیری ماشین.

میانگین-واریانس آن‌قدر مستعد تمرکز روی چند دارایی است که سبدچین در روش بلک-لیترمن (پیش‌فرض پروفایل تهاجمی) هم خروجی آن را خام استفاده نمی‌کند؛ نصف وزن را از میانگین-واریانس و نصف دیگر را از HRP می‌گیرد تا سبد روی چند قلم متمرکز نشود.

رتبهٔ میانگین-واریانس خام (از بین ۸ روش) در چهار زیربازهٔ مستقل؛ میلهٔ کوتاه‌تر یعنی رتبهٔ بهتر. همان روشی که روی کل دوره بهترین شارپ را داشت، فقط یک‌بار اول شد.

چرا «بهترین شارپ کل دوره» معیار غلطی است؟

چون بیش‌برازش می‌سازد. وقتی روش‌ها را روی ۱۶۱ هفتهٔ خارج از نمونه، با ۴۰ بار بازچینش، آزمایش کردیم، میانگین-واریانس خام در پروفایل‌های متعادل و تهاجمی بهترین شارپ کل دوره را داشت. اما وقتی همان دوره را به چهار زیربازهٔ مستقل (هر کدام حدود ۴۰ هفته) تقسیم کردیم، رتبهٔ آن در این چهار زیربازه ۵، ۱، ۶ و ۵ (از بین ۸ روش) بود؛ یعنی یک بار عالی، بقیه اوقات میانی یا ضعیف.

معیار درست‌تر «بدترین رتبه در زیربازه‌ها» بود، نه میانگین یا بهترین حالت. با این معیار، برای هر پروفایل روش دیگری برنده شد:

  • محافظه‌کار: وزن وارون نوسان (Inverse-Volatility) با بدترین‌رتبهٔ ۳، در برابر کمینه‌واریانس با بدترین‌رتبهٔ ۴.
  • متعادل: برابری ریسک با بدترین‌رتبهٔ ۳، در برابر HRP با بدترین‌رتبهٔ ۶.
  • تهاجمی: اینجا استثنا رخ داد. بلک-لیترمن با بدترین‌رتبهٔ ۶ باقی ماند، چون رتبه‌بندی با شارپ خام (بدون کسر نرخ بدون ریسک) ذاتاً کم‌نوسانی را جایزه می‌دهد؛ برای پروفایلی که آگاهانه ریسک بیشتر پذیرفته، این معیار درستی نیست. بلک-لیترمن تنها روشی بود که به هدف نوسان ۲۵٪ می‌رسید (۲۳٫۴٪ واقعی)؛ بقیهٔ روش‌ها سبد را به نوسان حدود ۱۷٪ می‌بردند، یعنی محصولی که کاربر تهاجمی نخواسته بود.

نکتهنتیجهٔ این آزمایش مستقیماً در کد سبدچین نشسته: محافظه‌کار از وزن وارون نوسان استفاده می‌کند، متعادل از برابری ریسک، و تهاجمی از بلک-لیترمن. این انتخاب‌ها بر پایهٔ بک‌تست هستند، نه سلیقه.

شبیه‌سازی مونت‌کارلو چه چیزی نشان می‌دهد؟

بک‌تست ساده فقط یک مسیر تاریخی را نشان می‌دهد: «اگر همین سال‌ها تکرار شوند، سبد چه می‌کرد.» مونت‌کارلو به‌جای یک مسیر، هزار مسیر ممکن می‌سازد: از بازده‌های هفتگی واقعی همان سبد، با جایگذاری نمونه برمی‌دارد و آنها را به ترتیب تصادفی کنار هم می‌چیند تا یک سال (۵۲ هفته) بسازد. این کار برای هر مسیر جداگانه تکرار می‌شود.

خروجی یک توزیع است، نه یک عدد: صدک ۵ (بدبینانه)، ۲۵، ۵۰ (میانه)، ۷۵ و ۹۵ (سقف احتمالی) بازده یک‌ساله، به‌علاوهٔ احتمال زیان. کنارش «بدترین ماه» و «بدترین فصل» تاریخی همان سبد هم نمایش داده می‌شود. برخلاف سناریوهای دستی، این روش فرض نمی‌کند آینده شبیه یک بحران خاص گذشته خواهد بود؛ فقط از الگوی نوسان و هم‌حرکتی واقعی سبد استفاده می‌کند.

مثالفرض کن مونت‌کارلو برای سبد متعادل ۱۰۰ میلیون تومانی تخصیص دارایی روی افق یک‌ساله این توزیع را می‌دهد: صدک ۵ برابر منفی ۸٪، میانه برابر ۱۸٪ و صدک ۹۵ برابر ۴۵٪، با احتمال زیان ۱۵٪. این یعنی در بدترین ۵٪ از مسیرهای ممکن (نه لزوماً بدترین سناریوی تاریخی)، سبد با ۸٪ زیان یا بیشتر تمام می‌شود؛ عددی که فقط با نگاه به میانگین بازده هرگز نمی‌دیدی.

بهینه‌سازی سبد چه چیزی را حل نمی‌کند؟

سه محدودیت را صریح بدان، چون هیچ روشی این‌ها را دور نمی‌زند:

  1. وزن‌ها از گذشته می‌آیند. نوسان و هم‌بستگی هر دو با زمان عوض می‌شوند؛ مدل فقط بهترین برآورد از چهار سال گذشته را می‌دهد، نه پیش‌بینی آینده.
  2. بهینه‌سازی روی نویز آسیب‌پذیر است. هرچه ورودی (بازده موردانتظار) دقیق‌تر به نظر برسد، معمولاً بیشتر روی نویز تاریخی سوار شده؛ برای همین HRP که کمتر به بازده موردانتظار وابسته است، در عمل پایدارتر از مارکوویتز خام است.
  3. بهینه‌سازی جای انتخاب دارایی را نمی‌گیرد. اگر یونیورس ورودی بد باشد (نمادهای کم‌کیفیت یا کم‌معامله)، هیچ روشی از آن سبد خوب نمی‌سازد؛ فقط بهترین ترکیب همان ورودی‌های بد را پیدا می‌کند.

هشدارعدد شارپ یا بازده مونت‌کارلو را به چشم پیش‌بینی قطعی نبین. این خروجی‌ها بر پایهٔ رفتار تاریخی سبد ساخته شده‌اند و رژیم بازار می‌تواند عوض شود؛ منطق رژیم بازار را در رژیم‌های بازار بخوان.

پرسش‌های پرتکرار

چرا سبدچین به‌جای یک روش ثابت، برای هر پروفایل روش متفاوتی دارد؟

چون بک‌تست روی زیربازه‌های مستقل نشان داد بهترین روش به هدف ریسک هر پروفایل بستگی دارد، نه یک انتخاب همگانی. محافظه‌کار به پایداری نیاز دارد، تهاجمی به رسیدن به هدف نوسان.

مرز کارا (Efficient Frontier) چیست؟

منحنی‌ای که برای هر سطح ریسک، بیشینهٔ بازده ممکن با همان دارایی‌ها را نشان می‌دهد. نسخهٔ پیشرفتهٔ سبدچین این منحنی را با تغییر ضریب ریسک‌گریزی در روش میانگین-واریانس ترسیم می‌کند.

آیا می‌توانم روش بهینه‌سازی را خودم انتخاب کنم؟

در نسخهٔ پیشرفتهٔ سبدچین بله؛ می‌توانی هر یک از هشت روش را دستی انتخاب کنی و با «بک‌تست تطبیقی روش‌ها» عملکرد آنها را روی همان یونیورس کنار هم ببینی.

مونت‌کارلو جای بک‌تست را می‌گیرد؟

نه، مکملش است. بک‌تست می‌گوید «در گذشتهٔ واقعی چه شد»، مونت‌کارلو می‌گوید «با همین رفتار آماری، چه بازهٔ نتایجی ممکن بود.» هر دو را کنار هم ببین، نه یکی به‌جای دیگری.

خلاصه

  • سبدچین وزن‌ها را از بازده هفتگی چهار سال گذشته و یک کوواریانس منقبض‌شده می‌سازد، نه از حدس.
  • روش‌های اصلی HRP، برابری ریسک، وزن وارون نوسان، میانگین-واریانس (مارکوویتز) و بلک-لیترمن‌اند؛ هرکدام نقطهٔ قوت و ضعف خودش را دارد.
  • بهترین شارپ روی کل تاریخچه دام بیش‌برازش است؛ معیار درست، بدترین رتبه در زیربازه‌هاست.
  • با این معیار: محافظه‌کار وزن وارون نوسان، متعادل برابری ریسک، و تهاجمی بلک-لیترمن انتخاب شده‌اند.
  • مونت‌کارلو توزیع بازده آینده را از رفتار آماری تاریخی سبد می‌سازد؛ جای پیش‌بینی قطعی یا بک‌تست را نمی‌گیرد.
قدم عملی: نسخهٔ پیشرفتهٔ سبدچین را باز کن
روش بهینه‌سازی را دستی انتخاب کن، مرز کارا را ببین و توزیع بازدهٔ یک‌سالهٔ سبدت را با شبیه‌سازی مونت‌کارلو بسنج.
برو ←
این خروجی مدل آماری است، نه توصیهٔ سرمایه‌گذاری. بازده گذشته تضمین آینده نیست و تصمیم و مسئولیت نهایی با خود شماست. پیش از هر خرید، شرایط خودتان را بسنجید.