بک‌تست و دام‌هایش

درس ۳ · بک‌تست و دام‌هایش
بازگشت به خانه

آزمودن روی گذشته

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

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

دام بهینه‌سازی بیش از حد

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

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

این کار را نکن

استراتژی را آن‌قدر دست‌کاری نکن تا گذشته را عالی نشان دهد

اگر عددهای یک روش را بارها عوض کنی تا روی گذشته بهترین نتیجه را بدهد، احتمالاً فقط گذشته را حفظ کرده‌ای. به این «بیش‌برازش» می‌گویند.

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

دو خطای پنهان بک‌تست

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

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

خلاصهٔ درس

بک‌تست یعنی اجرای روزبه‌روز قاعده روی گذشته، با کارمزد و بدون نگاه به داده‌های روزهای بعد.

دستکاری عددها تا گذشته عالی شود، قاعده را به اتفاق‌های گذشته می‌چسباند.

قاعده را روی یک دوره بساز و روی دورهٔ دیگری که ندیده‌ای امتحان کن.

روزهای صف و سهم‌هایی که از بازار حذف شده‌اند را هم در نظر بگیر.

خودت را بسنج

قاعده‌ای که با ۱۲ شرط دقیق روی گذشته ۳۰۰٪ سود داده…

در بک‌تست کدام را نباید فراموش کرد؟

بک‌تستی روی ۳۰ سهم بزرگِ امروز بازار، ۱۰ سال عقب رفته است. کدام خطا ممکن است داشته باشد؟

درس بعد: سنجیدن نتیجهدرس‌های این فصل