مقاله

بک‌تست استراتژی معاملاتی؛ آزمون خارج از نمونه و دام‌های داده

بک‌تست استراتژی معاملاتی؛ آزمون خارج از نمونه و دام‌های داده

بک‌تست استراتژی معاملاتی آزمایشی درباره گذشته است، نه ماشین پیش‌بینی آینده. پرسش مفید این نیست که «منحنی سود چقدر جذاب است؟»، بلکه باید پرسید آیا معامله‌گر در هر تاریخ فقط اطلاعات همان زمان را در اختیار داشته، آیا سفارش واقعاً قابل اجرا بوده و آیا نتیجه روی داده‌ای دیده‌نشده نیز دوام آورده است. در بازبینی منابع در ۱ اوت ۲۰۲۶، برنامه درسی ۲۰۲۶ مؤسسه CFA نیز هدف بک‌تست را تقریب فرایند واقعی سرمایه‌گذاری و شناخت رابطه ریسک و بازده معرفی می‌کند، نه اثبات سودآوری آینده.

بنابراین «قابل اعتماد» صفتی نسبی است: یک بک‌تست می‌تواند شواهد مفیدی برای ادامه پژوهش فراهم کند، اما عملکرد فرضی گذشته پیش‌بینی یا تضمین بازده آینده نیست. بولتن آموزشی سرمایه‌گذاران SEC در ۱۵ سپتامبر ۲۰۲۲ نیز تصریح می‌کند که نتیجه بک‌تست فرضی است، عملکرد واقعی محسوب نمی‌شود و عملکرد گذشته آینده را پیش‌بینی نمی‌کند.

بک‌تست استراتژی معاملاتی دقیقاً چه چیزی را می‌سنجد؟

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

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

داده آموزش، اعتبارسنجی و آزمون نهایی را جدا کنید

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

آزمون نهایی را فقط یک‌بار اجرا کنید. اگر پس از مشاهده نتیجه آن، میانگین متحرک، حد زیان یا فیلتر حجم را تغییر دهید، آن دوره دیگر خارج از نمونه نیست. همه نسخه‌ها و نتایج ناموفق را در دفتر ثبت آزمایش‌ها نگه دارید. مقاله تخصصی Bailey و López de Prado در Significance بیش‌برازش بک‌تست را نوعی سوگیری انتخاب در آزمون‌های متعدد می‌داند: هرچه ترکیب‌های بیشتری امتحان شوند، احتمال یافتن یک برنده تصادفی بیشتر می‌شود.

اگر قاعده قرار است مرتباً بازتنظیم شود، از آزمون پنجره غلتان یا واک‌فوروارد استفاده کنید: در هر گام، مدل فقط با پنجره گذشته تنظیم و روی بازه بعدی سنجیده می‌شود. برای سیگنال‌هایی با افق‌های هم‌پوشان، فاصله‌ای میان آموزش و آزمون می‌تواند نشت اطلاعات را کاهش دهد. راهنمای اعتبارسنجی مدل سرمایه‌گذاری CFA در ۲۷ ژوئن ۲۰۲۴ بر تقدم زمانی داده آموزش و استفاده از بلوک یا فاصله میان بخش‌ها در داده‌های وابسته تأکید دارد. نسبت ثابتی مانند ۷۰ به ۳۰ برای همه بازارها مناسب نیست؛ هر بخش باید تعداد کافی معامله و شرایط متفاوت بازار را پوشش دهد.

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

۱. سوگیری نگاه به آینده

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

۲. سوگیری بقا

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

۳. خطای قیمت و رویداد شرکتی

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

۴. انتخاب دوره و پارامتر برنده

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

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

بازده خالص را پس از کارمزد، مالیات و عوارض مرتبط با ابزار، فاصله خرید و فروش، لغزش قیمت، تأخیر اجرا و هزینه تأمین مالی محاسبه کنید. نرخ‌های بازار و مقررات ممکن است تغییر کنند؛ بنابراین ورودی هزینه باید همراه تاریخ و منبع تعرفه ذخیره شود. برای سفارش‌های بزرگ، اندازه معامله را با حجم قابل معامله بسنجید و پرشدن جزئی یا عدم اجرا را ممکن بدانید. اگر بازار هدف صف سفارش یا محدودیت قیمتی دارد، فرض اجرای کامل در قیمت دلخواه می‌تواند غیرواقعی باشد.

سه سناریوی هزینه پایه، سخت‌گیرانه و تنش‌زا بسازید و نقطه‌ای را بیابید که مزیت راهبرد از بین می‌رود. نتیجه ناخالص را می‌توان برای تشخیص منبع سیگنال نگه داشت، اما تصمیم‌گیری باید بر نتیجه خالص تکیه کند. پرسش‌های متداول SEC که ۱۵ ژانویه ۲۰۲۶ به‌روزرسانی شده‌اند نیز در زمینه ارائه عملکرد، بر مقایسه منصفانه نتیجه ناخالص و خالص و اثر هزینه مورد انتظار تأکید می‌کنند. این مقررات آمریکایی الزام حقوقی بازار ایران نیستند، اما معیار مفیدی برای شفافیت روش‌شناختی‌اند.

اطلاعیه تفسیری NFA، بازنگری‌شده در ۲۰ مارس ۲۰۲۰ هشدار می‌دهد که عملکرد فرضی ممکن است اثر نقدشوندگی و لغزش را کمتر یا بیشتر از واقع برآورد کند و فشار مالی معاملات واقعی را بازنمایی نمی‌کند. به همین دلیل حتی شبیه‌سازی دقیق اجرا نیز جای تجربه واقعی را نمی‌گیرد.

به‌جای یک عدد، مجموعه‌ای از معیارها را بخوانید

  • بازده خالص و معیار مقایسه: بازده کل و سالانه‌شده را پس از هزینه، در کنار یک معیار متناسب با بازار و ریسک راهبرد بسنجید.
  • افت سرمایه: بیشترین افت از اوج، مدت ماندن زیر اوج قبلی و زمان بازیابی را گزارش کنید.
  • ریسک تعدیل‌شده: نسبت‌های شارپ یا سورتینو مفیدند، اما به‌تنهایی کافی نیستند. برنامه درسی ۲۰۲۶ CFA به چولگی، دنباله‌های ضخیم و شکست‌های ساختاری بازده‌ها اشاره می‌کند.
  • ساختار معاملات: تعداد معاملات، نرخ برد، متوسط سود و زیان، گردش پرتفوی و طول دوره نگهداری را کنار هم ببینید.
  • تمرکز سود: مشخص کنید چه سهمی از سود از چند معامله، نماد یا ماه خاص آمده است. حذف چند معامله بزرگ نباید کل نتیجه را وارونه کند.
  • ثبات: عملکرد غلتان، دوره‌های مختلف بازار و حساسیت به پارامتر، لغزش و یک جلسه تأخیر در اجرا را بررسی کنید.

سناریوی عملی: از ایده تکنیکال تا آزمون نهایی

فرض کنید تحلیلگری در ۱ اوت ۲۰۲۶ می‌خواهد یک قاعده روندی را ارزیابی کند: پس از شکست سقف ۵۰ جلسه گذشته سیگنال خرید تشکیل شود و خروج با شکست کف کوتاه‌مدت انجام گیرد. این فقط مثال آموزشی است، نه پیشنهاد معامله. چون سقف و قیمت پایانی جلسه جاری پس از بسته‌شدن بازار معلوم می‌شوند، ورود در نخستین قیمت قابل اجرای جلسه بعد شبیه‌سازی می‌شود.

او داده ژانویه ۲۰۱۴ تا دسامبر ۲۰۲۰ را برای طراحی، سال‌های ۲۰۲۱ تا ۲۰۲۳ را برای اعتبارسنجی و فاصله ژانویه ۲۰۲۴ تا ۳۱ ژوئیه ۲۰۲۶ را برای آزمون نهایی کنار می‌گذارد. فهرست تاریخی نمادها، توقف‌ها و رویدادهای شرکتی در هر دوره حفظ می‌شود. به‌جای جست‌وجوی صدها ترکیب، چند طول پنجره با منطق روشن امتحان و تعداد آزمون‌ها ثبت می‌شود.

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

فوروارد تست چه چیزی اضافه می‌کند؟

در فوروارد تست، کد و پارامترها منجمد می‌شوند و سیگنال‌های آینده با زمان ثبت، سفارش فرضی، قیمت قابل اجرا، لغزش و دلایل عدم معامله نگهداری می‌شوند. مدت آزمون را با تعداد سیگنال و تنوع شرایط بازار تعیین کنید، نه صرفاً چند هفته تقویمی. اختلاف میان پرشدن فرضی و قابل مشاهده، خطای داده و رفتار راهبرد در روزهای پرتنش آشکار می‌شود.

معامله کاغذی همچنان سرمایه واقعی، اثر بازار و فشار روانی زیان را کامل بازسازی نمی‌کند. حرکت به اجرای واقعی، حتی با اندازه محدود، تصمیمی مالی و شخصی است و باید با محدودیت زیان، ظرفیت نقدشوندگی و شرایط فردی سنجیده شود؛ نتیجه این مقاله توصیه سرمایه‌گذاری نیست.

چک‌لیست اعتبارسنجی پیش از تصمیم

  1. فرضیه، قواعد ورود و خروج، اندازه موقعیت و معیار مقایسه را پیش از دیدن نتیجه ثبت کنید.
  2. برای هر متغیر مشخص کنید در چه زمان واقعی در دسترس معامله‌گر بوده است.
  3. جامعه تاریخی نمادها را با اعضای حذف‌شده، توقف‌ها و رویدادهای شرکتی بازسازی کنید.
  4. آموزش، اعتبارسنجی و آزمون نهایی را به ترتیب زمانی و بدون دست‌کاری آینده جدا کنید.
  5. همه پارامترها و نسخه‌های امتحان‌شده، از جمله نتایج ناموفق، را ثبت کنید.
  6. ورود را با قیمت قابل اجرا و هزینه‌های تاریخ‌دار، لغزش، تأخیر و پرشدن جزئی مدل کنید.
  7. بازده خالص، افت سرمایه، زمان بازیابی، تمرکز سود، گردش و تعداد معاملات را گزارش دهید.
  8. شروع‌های مختلف، دوره‌های بازار، پارامترهای مجاور و سناریوهای پرهزینه‌تر را آزمایش کنید.
  9. آزمون نهایی را یک‌بار اجرا کنید؛ هر تغییر بعدی مستلزم یک دوره دیده‌نشده تازه است.
  10. پیش از اجرا، فوروارد تست زمان‌دار و معیارهای توقف مانند افزایش لغزش یا عبور افت از حد پژوهشی را تعریف کنید.

نتیجه: بک‌تست معتبر باید عمداً سخت‌گیرانه باشد

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

منابع و مطالعه بیشتر