یاد بگیر›اختیار معامله›مقالهٔ ۱۳ از ۱۵

بک‌تست و اعتبارسنجی مدل: به نتیجهٔ گذشته چقدر اعتماد کنیم

پیشرفته حدود ۷ دقیقه ·به‌روزرسانی ·انتشار
نکتهٔ کلیدی این مقاله
نتیجهٔ گذشته فقط کنار مبنای ساده، تعداد نمونه و بدترین دوره معنا دارد. مدلی که از «همیشه صعود بگو» جلو نزند، پیش‌بینی قابل انتشاری ندارد.

بک‌تست نشان می‌دهد یک استراتژی روی تاریخچهٔ واقعی چه می‌کرد؛ اعتبارسنجی مدل نشان می‌دهد یک مدل یادگیری ماشین واقعاً چیزی از داده یاد گرفته یا فقط گذشته را حفظ کرده. این دو تب کنار هم‌اند ولی سؤال متفاوتی جواب می‌دهند و هیچ‌کدام تضمین آینده نیست.

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

در تب «بک‌تست» یک استراتژی درآمدی روی تاریخچهٔ واقعی تابلو اجرا می‌شود: چرخه‌به‌چرخه اختیاری حدود ۵٪ خارج از پول با ۲۰ تا ۴۵ روز تا سررسید فروخته و در سررسید تسویه می‌شود؛ دقیقاً همان الگوی کاوردکال یا پوت نقد-تضمین. هر بار که یک چرخه تمام می‌شود، سرمایه بر اساس نتیجهٔ آن چرخه به‌روز می‌شود و منحنی سرمایه رسم می‌شود.

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

نرخ برد و بیشینهٔ افت سرمایه را چطور کنار هم بخوانم؟

نرخ برد بالا در فروش اختیار عادی است و به‌تنهایی چیزی نمی‌گوید؛ این استراتژی‌ها بیشتر ماه‌ها کمی می‌برند و گاهی یک‌جا زیاد می‌بازند، دقیقاً همان الگویی که در بازده سالانه و احتمال‌ها دربارهٔ احتمال سود توضیح داده‌ایم. برای همین بیشینهٔ افت سرمایه و تعداد چرخه را همیشه کنار نرخ برد بخوان؛ با کمتر از ۱۰ چرخه، نتیجه بیشتر شانس است تا شاهد آماری.

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

چرا کارمزد و لغزش نتیجه را بهتر از واقعیت نشان می‌دهد؟

چون بک‌تست کارمزد معامله، کارمزد اعمال و لغزش قیمت (فاصلهٔ بین قیمتی که مدل فرض کرده و قیمتی که واقعاً می‌گرفتی) را لحاظ نمی‌کند؛ در بازده سالانه و احتمال‌ها توضیح داده‌ایم چرا غربال‌های زنده این هزینه را محافظه‌کارانه با مظنهٔ خرید و فروش می‌گیرند، ولی بک‌تست تاریخی چنین محافظه‌کاری‌ای ندارد. نتیجهٔ واقعی همیشه از عدد بک‌تست ضعیف‌تر است؛ هرچه قرارداد کم‌معامله‌تر بوده، فاصله بیشتر است.

اعتبارسنجی گام‌به‌گام زمانی چیست؟

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

چه زمانی یک مدل واقعاً «چیزی یاد گرفته»؟

دقت به‌تنهایی کافی نیست: اگر ۶۰٪ روزها صعودی باشند، کسی که همیشه «صعود» بگوید هم ۶۰٪ درست است. برای همین دقت مدل با این مبنای ساده مقایسه می‌شود و AUC هم کنارش می‌آید — توان مدل در جدا کردن روزهای صعودی از نزولی، جایی که ۰٫۵ یعنی شیر یا خط و ۱ یعنی بی‌خطا.

مثالدر یک بازهٔ آزمون، ۶۲٪ نمونه‌ها صعودی بوده‌اند (سهم صعودی ۶۲٪)، دقت مدل ۶۵٪ و AUC آن ۰٫۵۷ است. برتری دقت مدل نسبت به مبنای ساده ۳ واحد است (۶۵ منهای ۶۲) و AUC از آستانهٔ ۰٫۵۵ بالاتر است؛ این بازه قبول می‌شود. اگر همان مدل در بازهٔ بعدی، با همان سهم صعودی ۶۲٪، دقت ۶۰٪ و AUC ۰٫۵۲ داشته باشد، آن بازه رد می‌شود، چون از مبنای ساده جلو نزده.

مدل فقط وقتی به‌طور کلی پذیرفته می‌شود که میانهٔ AUC روی همهٔ بازه‌ها دست‌کم ۰٫۵۵ باشد، میانهٔ برتری دقتش دست‌کم ۲ واحد باشد، و دست‌کم ۶۰٪ بازه‌ها هم جداجدا از همین آستانه‌ها بگذرند. تا آن روز هیچ پیش‌بینی‌ای منتشر نمی‌شود و فقط همین گزارش اعتبارسنجی نمایش داده می‌شود؛ یک بازهٔ خوب به‌تنهایی کافی نیست.

بک‌تست و اعتبارسنجی ML را کی کنار هم بخوانم؟

این دو تب دو سؤال متفاوت جواب می‌دهند و جایگزین هم نیستند. بک‌تست یک قاعدهٔ ثابت (مثلاً «هر چرخه ۵٪ خارج از پول بفروش») را روی گذشته اجرا می‌کند و می‌گوید همین قاعده چقدر می‌گرفت. اعتبارسنجی ML می‌پرسد آیا اصلاً می‌شود جهت فردا را از الگوهای داده پیش‌بینی کرد. یک استراتژی می‌تواند در بک‌تست نتیجهٔ خوبی بدهد بدون اینکه هیچ مدل پیش‌بینی جهتی پشتش باشد؛ چون سود فروش اختیار بیشتر از فرسایش زمانی می‌آید، نه از حدس درست جهت.

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

چرا AUC مهم‌تر از دقت خام است؟

چون دقت با نسبت روزهای صعودی به نزولی جابه‌جا می‌شود، ولی AUC این عدم‌توازن را کنار می‌زند و می‌گوید مدل واقعاً چقدر روزهای صعودی و نزولی را از هم تشخیص می‌دهد.

بک‌تست خوب یعنی استراتژی در آینده هم همین‌طور کار می‌کند؟

نه. بک‌تست فقط می‌گوید این استراتژی در همان بازهٔ گذشته چه کرده؛ شرایط بازار، نقدشوندگی و نوسان می‌توانند عوض شوند.

چرا با کمتر از ۱۰ چرخه نباید به بک‌تست اعتماد کرد؟

چون با نمونهٔ کوچک، چند چرخهٔ شانسی می‌توانند کل نتیجه را جابه‌جا کنند؛ عدد آماری معتبر به تعداد نمونهٔ کافی نیاز دارد.

تقسیم تصادفی داده چه مشکلی دارد که گام‌به‌گام زمانی ندارد؟

تقسیم تصادفی می‌گذارد مدل از روزهای آینده در دادهٔ آموزش استفاده کند، که در دنیای واقعی هرگز در دسترس نیست؛ دقتی که این‌طور به دست می‌آید ساختگی است.

خلاصه

  • بک‌تست شبیه‌سازی یک استراتژی درآمدی روی تاریخچهٔ واقعی تابلوست، بدون کارمزد و لغزش.
  • نرخ برد بالا به‌تنهایی معنا ندارد؛ همیشه کنار بیشینهٔ افت سرمایه و تعداد چرخه بخوانش.
  • اعتبارسنجی گام‌به‌گام زمانی مدل را فقط با دادهٔ گذشته آموزش می‌دهد و روی آینده امتحان می‌کند.
  • دقت مدل باید از «مبنای ساده» (پرتکرارترین جواب) جلو بزند، نه فقط بالای ۵۰٪ باشد.
  • مدل فقط با میانهٔ AUC دست‌کم ۰٫۵۵، برتری دقت دست‌کم ۲ واحد و پذیرش دست‌کم ۶۰٪ بازه‌ها منتشر می‌شود.
امروز در سایت: کارنامهٔ مدل ML اختیار
وضعیتپذیرفته شد
میانهٔ AUC (آستانه ۰٫۵۵)۰٫۶۶۵
میانهٔ برتری دقت (آستانه ۲ واحد)۴٫۳۹
بازه‌های قبول‌شده۳ از ۴
مدل در اکثر بازه‌های زمانی از مبنای ساده جلو زد؛ خروجی با همین عددها منتشر می‌شود.
از تابلوی آپشن · به‌روزرسانی ۱۴۰۵/۰۷/۰۲ · سرنخ تحلیلی برای فهم مقاله، نه توصیهٔ معامله
قدم عملی: بک‌تست یک استراتژی درآمدی را اجرا کن
در نمای حرفه‌ای صفحهٔ آپشن، تب «بک‌تست» را باز کن، استراتژی و نماد پایه را انتخاب کن و منحنی سرمایه را ببین.
برو ←
این خروجی مدل آماری است، نه توصیهٔ سرمایه‌گذاری. بازده گذشته تضمین آینده نیست و تصمیم و مسئولیت نهایی با خود شماست. پیش از هر خرید، شرایط خودتان را بسنجید.