پرش به محتوای اصلی

بیش برازش در بک تست | چند بار امتحان کردید؟

هر بار پارامتر را عوض می‌کنید شانس پیدا کردن یک نتیجهٔ عالی تصادفی بالا می‌رود. حساب Bailey و Harvey و Liu و معنایش برای بک‌تست شما.

نویسنده: آپشن باز، تاریخ انتشار: ، 12 دقیقه مطالعه
اشتراک‌گذاری:

یک بک‌تست می‌گوید «اگر این قاعده از چند سال پیش اجرا می‌شد چه می‌شد». ولی پیش از اینکه این نتیجه را ببینید، یک نفر (شما یا کسی که برایتان فروخته) احتمالاً چند قاعده یا چند عدد را امتحان کرده و فقط بهترینش را نشان داده. بیش‌برازش (Overfitting) یعنی قاعده‌ای که برای گذشته تنظیم شده و برای آینده هیچ‌چیز نمی‌داند. هر چه بیشتر امتحان کنید، پیدا کردن چنین قاعده‌ای ساده‌تر است.

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

بیش‌برازش چیست

بک‌تست شبیه‌سازی تاریخی یک قاعدهٔ سرمایه‌گذاری است. بخشی از تاریخ را برای ساختن قاعده به کار می‌برید («درون نمونه»، In-sample) و اگر قاعده را روی بخش دیگری هم بیازمایید که در ساختنش دخالت نداشته («بیرون از نمونه»، Out-of-sample)، می‌بینید راست می‌گفت یا نه. بک‌تست وقتی واقع‌بینانه است که نتیجهٔ درون نمونه با بیرون از نمونه جور باشد.

Bailey و همکارانش بیش‌برازش را این‌طور توضیح می‌دهند: مدلی که به‌جای ساختار کلی، دنبال مشاهده‌های خاص یک نمونه رفته است. مثال خودشان قاعدهٔ «تقاطع دو میانگین متحرک» است: قیمت را با میانگین m روز و میانگین n روز مقایسه می‌کنید. چون جفت (m، n) فقط چند ترکیب دارد، پیدا کردن جفتی که روی تاریخ بیشترین سود را بدهد ساده است. کسی که این کار را بکند و فقط جواب را بنویسد، «پارامتر بهینه» دارد که شاید فقط خاصیت همان نمونه را گرفته باشد.

چند بار امتحان کنیم تا خوش‌شانسی پیدا شود

اگر N قاعدهٔ بی‌ارزش را روی یک سال داده امتحان کنید و بهترینشان را انتخاب کنید، بهترین نسبت شارپ درون نمونه چقدر خواهد بود؟ «بی‌ارزش» یعنی هیچ‌کدام در واقع سودی ندارند و نسبت شارپ انتظاری‌شان صفر است. جواب Bailey و همکارانش: هر چه N بزرگ‌تر، بهترینِ شانسی بزرگ‌تر. با N برابر 10، نسبت شارپ درون نمونهٔ بهترین حدود 1.57 درمی‌آید، با اینکه بیرون از نمونه همهٔ این قاعده‌ها (و «بهترین»شان) صفرند. ما همین را مستقل حساب کردیم (امید ریاضی بیشینهٔ N متغیر نرمال استاندارد):

تعداد قاعده‌های امتحان‌شده (N)بهترین نسبت شارپ سالانه در یک سال داده (انتظار)
20.56
51.16
101.54
201.87
452.21
1002.51

ده امتحان کافی است که یک «نسبت شارپ 1.5» بدون هیچ مهارتی پیدا شود. صد امتحان، 2.5. و چون فقط «بهترین» را نشان می‌دهند، تعداد دفعات امتحان از گزارش بیرون می‌افتد. Bailey و همکارانش نشان می‌دهند همین اتفاق برای آزمون‌های معمول معنی‌داری هم می‌افتد: اگر قاعده‌ای را با آزمونی بسنجید که پنج درصد خطای کاذب دارد، با حدود 20 بار امتحان انتظار دارید یکی از آنها از آزمون بگذرد، حتی اگر بی‌ارزش باشد.

چند سال داده برای چند امتحان

راه جبران، داده بیشتر است: با طولانی‌تر شدن نمونه، شانس هم کوچک‌تر می‌شود. Bailey و همکارانش از همین «حداقل طول بک‌تست» (Minimum Backtest Length) را می‌سازند: برای اینکه بهترین قاعدهٔ شانسی بیش از نسبت شارپ 1 به نظر نرسد، با چند سال داده حداکثر چند قاعدهٔ مستقل را می‌شود امتحان کرد؟ جوابشان: با 2 سال داده 7 قاعده، با 5 سال حدود 45. حساب مستقل ما همین را تأیید می‌کند و جدول را کامل‌تر می‌کند:

سال دادهحداکثر قاعدهٔ مستقل برای اینکه بهترین شانسی از شارپ 1 فراتر نرود
13
27
314
5حدود 45 تا 48

دو احتیاط. «مستقل» یعنی قاعده‌هایی که واقعاً با هم فرق دارند؛ میانگین 50 و 51 روزه تقریباً یک قاعده‌اند و حساب را زیاد خراب نمی‌کنند. و این حساب یک کف است: وقتی تعداد امتحان‌ها را نمی‌دانید (چون فقط نتیجهٔ بهترین را نشانتان داده‌اند)، همین کف هم قابل سنجش نیست. Bailey و همکارانش همین را نتیجه می‌گیرند: بک‌تستی که تعداد امتحان‌هایش را نمی‌گوید، ارزیابی بیش‌برازشش ممکن نیست.

تخفیف شارپ: چرا نصف کردن کافی نیست

قاعدهٔ انگشتی که در صنعت می‌شنوید این است: «نسبت شارپ گزارش‌شده را نصف کن». Campbell Harvey و Yan Liu می‌گویند این قاعده درست نیست. روششان: نسبت شارپ را به آمارهٔ t تبدیل می‌کنید، به‌اندازهٔ تعداد آزمون‌های انجام‌شده تصحیحش می‌کنید (خودشان به کار قبلی‌شان تکیه می‌کنند که دست‌کم 316 «عامل» در ادبیات برای توضیح بازده سهام آزموده شده)، و از آمارهٔ تصحیح‌شده دوباره نسبت شارپ می‌سازید. درصد کاهش، «تخفیف» (Haircut) است. یافتهٔ اصلی‌شان: تخفیف غیرخطی است. نسبت شارپ‌های خیلی بزرگ فقط کمی تخفیف می‌خورند و احتمالاً کشف واقعی‌اند؛ نسبت شارپ‌های «مرزی» تخفیف سنگین می‌خورند و باید دور ریخته شوند. پس نصف کردن برای بزرگ‌ها زیادی سخت‌گیرانه و برای مرزی‌ها زیادی نرم است.

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

بهینه‌ساز هم بیش‌برازش می‌کند

بیش‌برازش فقط مال «قاعده‌ها» نیست. هر مدلی که از داده پارامتر برآورد کند و بعد همان را به کار ببرد، همین خطر را دارد. Victor DeMiguel، Lorenzo Garlappi و Raman Uppal 14 مدل بهینه‌سازی سبد (میانگین-واریانس و راه‌حل‌هایی که برای کم کردن خطای برآورد ساخته شده‌اند) را روی هفت مجموعه داده با سبد ساده‌ای مقایسه کردند که هر دارایی را به یک وزن می‌خرد (قاعدهٔ 1 تقسیم بر N). نتیجه: هیچ‌کدام از آن 14 مدل در نسبت شارپ، «بازده معادل قطعی» یا گردش سبد، پیوسته از قاعدهٔ 1 تقسیم بر N بهتر نبود؛ یعنی سودی که بهینه‌سازی در تئوری می‌دهد، بیرون از نمونه زیر خطای برآورد از بین می‌رود. برای اینکه مدل میانگین-واریانس بیرون از نمونه از 1 تقسیم بر N بهتر شود، با پارامترهای آمریکای آنها حدود 3,000 ماه داده برای سبدی با 25 دارایی لازم می‌شود.

نتیجه برای ابزار بهینه‌سازی: وزن‌های پیشنهادی مرز کارا را «بهترین» نخوانید؛ ببینید روی روزهایی که مدل ندیده هم جواب داده یا نه، و کنار سبد هم‌وزن بسنجیدش. بک‌تست گام‌به‌گام همین کار را می‌کند و سبدهای مقایسه همین سبد ساده را کنارش می‌گذارد. این مقاله مقالهٔ DeMiguel و همکاران را فقط در حد چکیدهٔ منتشرشده آورده؛ متن کاملش در دسترس ما نبود.

چه کار کنیم

این پنج کار، نتیجهٔ مستقیم حساب بالاست:

  1. تعداد امتحان‌ها را بشمارید و با نتیجه بنویسید. هر مقدار پارامتر، هر قاعدهٔ دیگر و هر نمادی که کنار گذاشتید یک امتحان است. بدون این عدد نمی‌شود فهمید نتیجه چقدر بیش‌برازش است.
  2. هر چه بیشتر امتحان کردید، نتیجهٔ بالاتری بخواهید. ده امتحان شارپ 1.5 را «عادی» می‌کند؛ پس با ده امتحان، شارپ 1.5 دلیل نیست.
  3. همسایه‌ها را ببینید. اگر بهترین مقدار 20 روز است و 19 و 21 هم خوب‌اند، قاعده احتمالاً ساختار دارد. اگر 20 قلهٔ تنهاست و همسایه‌هایش بد، شانس است. (Faber همین را برای میانگین متحرک ده‌ماهه نشان داده؛ مقالهٔ میانگین متحرک ده ماهه.)
  4. قاعده‌ای را ترجیح بدهید که دلیل دارد و پارامتر کم. «قیمت بالای میانگین سال گذشته خوب است» دلیل دارد؛ «فقط اسفند و فروردین» دلیلی جز نگاه کردن به تاریخ ندارد. پنج قاعده روی شاخص کل همین را خودش می‌گوید: قاعدهٔ فصلی افت 8 درصد دارد، «ولی دو ماهش را کسی انتخاب کرده که تاریخچه را دیده بود».
  5. بیرون از نمونه را از اول کنار بگذارید و فقط یک بار بازش کنید. البته توجه کنید: Bailey و همکارانش می‌گویند روش «نگه داشتن بخشی از داده» (Hold-out) هم تعداد امتحان‌های قبلی را حساب نمی‌کند، پس اگر آن بخش را بارها برای انتخاب بین قاعده‌ها دیده‌اید، دیگر بیرون از نمونه نیست.

جاروب پارامتر را چطور بخوانیم

در بک‌تست استراتژی اختیار معامله (آپشن)، جعبهٔ «جاروب پارامتر (اختیاری)» یک قاعده را با چند مقدار از یک پارامتر اجرا می‌کند و همه را در یک جدول می‌گذارد (شرح کامل در راهنمای بک‌تست). همین جدول دقیقاً بیش‌برازش‌ساز است اگر آن را «ردیف بهترین را بردار» بخوانید، و دقیقاً ضدش اگر «حساسیت قاعده به این عدد» بخوانید. با «اجرای جاروب»، هر مقدار یک امتحان است و تعدادش بین 2 و 8 است؛ پس خودتان می‌توانید N را بشمارید.

راهنمای بک‌تست یک جاروب واقعی را نشان می‌دهد: چهار مقدار 10، 20، 30 و 45 روز مانده به سررسید، با 7 سررسید اجراشده در هر کدام. پیش‌فرض 30 روز «بدترین ردیف» بود و ردیف 10 روزه بیشترین سود کل را داشت. بر پایهٔ همین مقاله، همان جدول را این‌طور بخوانید: با 7 معامله، فاصلهٔ ردیف اول و دوم می‌تواند فقط یک معاملهٔ خوش‌شانس باشد؛ اولین کاری که باید بکنید دیدن ستون «معامله» است و بعد سؤال «روی 10 و 20 روز چه شد؟» نه «کدام ردیف بالاتر است؟». در بازاری که تاریخچهٔ اختیار معامله‌اش کوتاه است (در جدول بالا، سه سال داده یعنی حداکثر 14 قاعدهٔ مستقل)، تعداد امتحان‌هایی که یک نتیجه را هنوز معنی‌دار نگه می‌دارد کم است. اگر بک‌تستتان در یک بازهٔ تقریباً سه ساله 30 ترکیب را امتحان کرده، نتیجهٔ بهترین را «سرنخ» بخوانید نه «اثبات».

جمع‌بندی

بک‌تست وقتی چیزی می‌گوید که بدانید چند بار امتحان کرده‌اید. ده امتحان، یک نسبت شارپ 1.5 را از هیچ می‌سازد؛ سه سال داده برای بیش از 14 امتحان مستقل کم است؛ و نصف کردن نسبت شارپ حساب درستی برای تخفیف نیست. جاروب و قاعده‌های آپشن‌باز ابزار خوبی برای دیدن حساسیت‌اند، به شرط اینکه بهترین ردیف را مدرک نگیرید.

منبع

David H. Bailey، Jonathan M. Borwein، Marcos López de Prado و Qiji Jim Zhu، «Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance»، Notices of the American Mathematical Society، مه 2014 ( متن نویسندگان ). Campbell R. Harvey و Yan Liu، «Backtesting»، The Journal of Portfolio Management، جلد 41، پاییز 2015 ( متن ). Victor DeMiguel، Lorenzo Garlappi و Raman Uppal، «Optimal Versus Naive Diversification: How Inefficient Is the 1/N Portfolio Strategy?»، The Review of Financial Studies، جلد 22، شماره 5، 2009 ( چکیده ). جدول‌ها حساب مستقل خودمان‌اند و با عدد مقالهٔ اول (7 قاعده در 2 سال، حدود 45 در 5 سال، 1.57 برای 10 امتحان) سازگارند؛ متن مقاله‌ها ترجمه نشده است.

این را روی بازار امتحان کنید

تازه با آپشن‌باز آشنا می‌شوید؟ آپشن‌باز ابزار تحلیل اختیار معامله است، نه کارگزاری. هر ابزار چه کار می‌کند ←

مقالات مرتبط

راهنمای بک تست استراتژی اختیار معامله

بک‌تست استراتژی اختیار معامله روی دادهٔ واقعی بورس ایران: یک قاعده روی همهٔ سررسیدهای گذشته، با قیمت از صف پایان روز، کارمزد و وجه تضمین.

بک تست گام به گام بهینه سازی سبد | Walk-Forward

بک تست گام به گام (Walk-Forward) بهینه ساز پرتفوی: آموزش روی گذشته، آزمون روی روزهای بعد با کارمزد، در برابر وزن مساوی و برابری ریسک.

قاعده تاکتیکی سبد | بک تست میانگین متحرک، مومنتوم و VIX

قاعده تاکتیکی سبد در آپشن باز: بک تست میانگین متحرک، مومنتوم، هدف نوسان، فصلی، VIX و فرمول دلخواه روی بازار ایران، با سیگنال ماهانه و هشدار تلگرام.

مرز کارا و بهینه سازی وزن سبد | مدل مارکویتز در عمل

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

بک تست سبد سهام و صندوق | گزارش کامل عملکرد پرتفوی

بک تست سبد در آپشن باز: ترکیبی از سهم، صندوق، شاخص، طلا و درآمد ثابت روی تاریخچه بازار، با بازتعادل و کارمزد؛ و خواندن گزارش کامل عملکرد.

شاخص های عملکرد معامله گر | R، انتظار ریاضی و MAE/MFE

نرخ برد، انتظار ریاضی، ضریب سود، R، MAE/MFE و بیشترین افت هرکدام چه می‌گویند، کِی گمراه می‌کنند و با چند معامله می‌شود به آن‌ها اعتماد کرد.

معامله زیاد و بازده کمتر | شواهد 66 هزار خانوار

پرمعامله‌ترین خانوارها سالی 11.4 درصد گرفتند و بازار 17.9. پژوهش Barber و Odean، هزینهٔ رفت‌وبرگشت در بازار ما و سقف معامله در ژورنال.

میانگین متحرک ده ماهه | شواهد و حدود قاعدهٔ فابر

قاعدهٔ «بالای میانگین ده‌ماهه بمان، زیرش بیرون بیا» چه شواهدی دارد؟ عددهای Faber از 1901 تا 2012، دلیلش و جاهایی که کم می‌آورد.

مدیریت فعال در برابر شاخصی | حساب ساده شارپ

میانگین پولِ مدیریت‌شدهٔ فعال بعد از هزینه از میانگین پول شاخصی عقب می‌ماند. استدلال ویلیام شارپ، مثال عددی و معنایش برای صندوق‌های ما.

دیدگاه‌ها و پرسش‌ها

اگر سوال یا ابهامی در رابطه با این مطلب دارید، همین‌جا بپرسید؛ کارشناسان ما پاسخ می‌دهند.

با ایمیل یا شماره موبایلی که ثبت می‌کنید، وقتی به کامنتتان پاسخ داده شود خبرتان می‌کنیم.

پرسش‌ها و نظرات کاربران

هنوز پرسشی ثبت نشده — شما اولین نفر باشید!

سوال یا نظرتان را در فرم بالا بنویسید؛ پاسخی که می‌گیرید برای کاربران بعدی هم می‌ماند.