بکتست چیست و چطور انجام میشود؟
راوی ایندکس · بهروزرسانی
بکتست (Backtest) یعنی اجرای یک استراتژی معاملاتی روی دادههای گذشتهٔ بازار، طوری که انگار در همان روزها واقعاً طبق آن معامله کردهاید. خروجی بکتست فهرستی از معاملات فرضی و آماری از نتیجهٔ آنهاست: چند بار خرید و فروش انجام میشد، چقدر سود یا زیان به دست میآمد و سرمایه در بدترین دوره تا کجا پایین میرفت.
هدف بکتست پیشبینی آینده نیست؛ هدف آن رد کردن ایدههای ضعیف پیش از آن است که با پول واقعی آزموده شوند. استراتژیای که در گذشته هم نتیجهٔ قابلقبولی نداشته، دلیل زیادی برای اعتماد در آینده ندارد.
بکتست دقیقاً چه کاری انجام میدهد؟
نرمافزار بکتست روز به روز در دادههای تاریخی جلو میرود. در هر روز فقط اطلاعاتی را میبیند که تا پایان همان روز در دسترس بوده، شرطهای ورود و خروج استراتژی را بررسی میکند و اگر شرطی برقرار باشد، یک معاملهٔ فرضی ثبت میکند. در پایان، همهٔ این معاملات کنار هم گذاشته میشوند تا منحنی سرمایه و آمار عملکرد ساخته شود.
مراحل انجام یک بکتست
- قواعد را دقیق بنویسید. «وقتی سهم خوب است بخر» قابل آزمون نیست؛ «وقتی قیمت پایانی سه روز پیاپی بالاتر از روز قبل بسته شد بخر» قابل آزمون است. اگر با این مفهوم آشنا نیستید، ابتدا معاملات الگوریتمی چیست؟ را بخوانید.
- نمادهایی که شامل میشوند و بازهٔ زمانی را انتخاب کنید. بازه باید هم دورههای صعودی و هم دورههای نزولی را در بر بگیرد تا نتیجه فقط محصول یک دورهٔ خاص نباشد.
- دادههای درست را به کار ببرید. قیمتها باید برای افزایش سرمایه و تقسیم سود تعدیل شده باشند؛ وگرنه افت مصنوعی قیمت پس از مجمع، سیگنال فروش یا زیان جعلی میسازد.
- هزینهها را وارد کنید. کارمزد خرید و فروش و مالیات فروش در هر معامله از سود کم میشوند و در استراتژیهای پرمعامله تفاوت بزرگی ایجاد میکنند.
- نتیجه را تحلیل کنید و فقط به یک عدد تکیه نکنید؛ معیارهای بخش بعد را کنار هم ببینید.
معیارهای مهم در نتیجهٔ بکتست
- بازده کل: درصد تغییر سرمایه از ابتدا تا انتهای دوره. عدد مهمی است، اما بهتنهایی گمراهکننده است.
- حداکثر افت سرمایه (Max Drawdown): بزرگترین فاصلهٔ سرمایه از بالاترین نقطهٔ قبلی خود. این عدد نشان میدهد در بدترین دوره چقدر باید تحمل میکردید.
- نرخ برد: درصد معاملاتی که با سود بسته شدهاند. نرخ برد پایین لزوماً بد نیست، اگر میانگین سود معاملات برنده از میانگین زیان معاملات بازنده بزرگتر باشد.
- نسبت میانگین سود به میانگین زیان: در کنار نرخ برد، تصویر واقعیتری از کیفیت استراتژی میدهد.
- تعداد معاملات: نتیجهای که فقط بر پایهٔ پنج یا شش معامله باشد، از نظر آماری قابل اتکا نیست.
- بازده تعدیلشده بر اساس ریسک (مثل نسبت شارپ): نشان میدهد بازده به ازای نوسانی که تحمل شده چقدر بوده است.
خطاهای رایج در بکتست
- بیشبرازش: وقتی پارامترها آنقدر دستکاری میشوند تا نتیجهٔ گذشته عالی شود، استراتژی عملاً گذشته را حفظ کرده است. راه مقابله، آزمودن روی بازهای است که در طراحی از آن استفاده نشده (دادههای خارج از نمونه).
- سوگیری نگاه به آینده: استفاده از اطلاعاتی که در لحظهٔ تصمیم هنوز وجود نداشته؛ مثلاً خرید با قیمت پایانی روزی که سیگنالش از همان قیمت پایانی ساخته شده است.
- سوگیری بقا: اگر فقط نمادهایی که امروز در بازار هستند آزموده شوند، شرکتهایی که در این سالها حذف یا متوقف شدهاند نادیده میمانند و نتیجه خوشبینانهتر از واقع میشود.
- نادیده گرفتن هزینهها و لغزش قیمت: در عمل، معامله همیشه با قیمتی که روی نمودار دیدهاید انجام نمیشود.
نکتههای خاص بورس تهران
در بورس تهران قیمتها در دامنهٔ نوسان محدود حرکت میکنند و نمادها گاهی روزها در صف خرید یا فروش میمانند. بکتستی که فرض کند در روز صف خرید میتوان بهراحتی خرید، یا در روز صف فروش میتوان بهراحتی فروخت، نتیجهای غیرواقعی میدهد. برای شناخت این پدیده، مطلب صف خرید و صف فروش در بورس را بخوانید. توقفهای طولانی نماد، گشایش با گپ قیمتی پس از بازگشایی و حجم پایین معاملات در برخی نمادهای کوچک نیز باید در تفسیر نتیجه در نظر گرفته شوند.
بکتست در راوی ایندکس
در راوی ایندکس میتوانید استراتژی خود را تعریف کنید، بازهٔ زمانی و تنظیمات را انتخاب کنید و نتیجهٔ بکتست را همراه با فهرست معاملات و معیارهای عملکرد ببینید. برای پیدا کردن نمادهایی که امروز شرطهای شما را دارند هم میتوانید از فیلتر نمادها کمک بگیرید.
بکتست خوب ابزار تصمیمگیری است، نه وعدهٔ سود. عملکرد گذشته هیچ تضمینی برای نتیجهٔ آینده نیست و بهترین استفاده از آن، کنار گذاشتن ایدههایی است که حتی روی کاغذ هم جواب نمیدهند.
این مطلب صرفاً آموزشی است و توصیه به خرید یا فروش هیچ نمادی نیست.