بک تست چیست و چگونه انجام می شود (Backtest)؟

بک تست به معنای آزمایش یک استراتژی معاملاتی یا سرمایه گذاری روی داده های تاریخی است تا عملکرد احتمالی آن پیش از اجرای واقعی سنجیده شود. این فرایند به معامله گر یا تحلیل گر کمک می کند نقاط ضعف و قوت استراتژی را شناسایی کرده، فرضیات را بازبینی و ریسک را مدیریت کند.
مقدمه: نقش بک تست در تصمیم گیری بک تست ابزاری ضروری برای توسعه استراتژی های معاملاتی، مدیریت پورتفوی و تحقیق کمی است. اجرای صحیح بک تست می تواند از زیان های مقابله نشده جلوگیری کرده و اطمینان بیشتری در اجرای زنده ایجاد کند. با این حال، بک تست غلط یا ناقص می تواند منجر به اعتماد بیش از حد به یک استراتژی ناکارآمد شود.
تعریف و اصول پایه ای بک تست
- تعریف: فرایند اعمال قوانین یک استراتژی روی داده های گذشته و ثبت معاملات فرضی و نتایج مالی حاصل.
- هدف: ارزیابی کارایی، پایداری و حساسیت استراتژی به شرایط بازار.
- محدودیت: عملکرد گذشته تضمینی برای آینده نیست؛ بنابراین باید نتایج را با احتیاط تفسیر کرد.
مراحل گام به گام انجام بک تست
- تعریف دقیق قوانین استراتژی مشخص کردن نقاط ورود و خروج، اندازه موقعیت، قوانین مدیریت ریسک و قوانین خروج اضطراری.
- مشخص کردن نقاط ورود و خروج، اندازه موقعیت، قوانین مدیریت ریسک و قوانین خروج اضطراری.
- جمع آوری و آماده سازی داده ها داده های قیمت (OHLC)، حجم، شاخص ها و داده های بنیادی در صورت نیاز. حذف داده های نادرست، پر کردن خلاها و همسان سازی زمان بندی.
- داده های قیمت (OHLC)، حجم، شاخص ها و داده های بنیادی در صورت نیاز.
- حذف داده های نادرست، پر کردن خلاها و همسان سازی زمان بندی.
- تعیین بازه ی زمانی و تقسیم بندی انتخاب بازه تاریخی مناسب و جداسازی داده ها به بخش های درون نمونه (in-sample) و برون نمونه (out-of-sample).
- انتخاب بازه تاریخی مناسب و جداسازی داده ها به بخش های درون نمونه (in-sample) و برون نمونه (out-of-sample).
- اعمال هزینه ها و محدودیت های واقعی افزودن هزینه معاملات، اسپرد، کمیسیون و لغزش (slippage). اعمال محدودیت های نقدینگی و مارجین در صورت لزوم.
- افزودن هزینه معاملات، اسپرد، کمیسیون و لغزش (slippage).
- اعمال محدودیت های نقدینگی و مارجین در صورت لزوم.
- اجرای بک تست شبیه سازی معاملات براساس قوانین و ثبت تمام پارامترها.
- شبیه سازی معاملات براساس قوانین و ثبت تمام پارامترها.
- ارزیابی نتایج محاسبه معیارهای عملکرد و بررسی منحنی سرمایه و رفتار در شرایط نامطلوب.
- محاسبه معیارهای عملکرد و بررسی منحنی سرمایه و رفتار در شرایط نامطلوب.
- اعتبارسنجی و تست استقامتی انجام walk-forward، تست سناریو، تست پارامتریک و استرس تست برای سنجش پایداری.
- انجام walk-forward، تست سناریو، تست پارامتریک و استرس تست برای سنجش پایداری.
معیارهای کلیدی ارزیابی عملکرد
- بازده تلفیقی (CAGR) و بازده کل: سنجش رشد سرمایه در طول دوره.
- نسبت شارپ (Sharpe Ratio): سنجش بازده نسبت به ریسک نوسان.
- ماکسیمم دراو داون (Max Drawdown): بیشترین افت از اوج تا کف و مدت بازگشت.
- نرخ برد (Win Rate) و نسبت برد به باخت: کارایی در معاملات منفرد.
- Expectancy یا نتیجه مورد انتظار: میانگین سود یا ضرر به ازای هر معامله.
- تعداد معاملات: برای بررسی معنا دار بودن آمار (نمونه کم قابل اعتماد است).
خطاها و سوگیری های رایج در بک تست
- overfitting (بیش برازش): تنظیم بیش از حد پارامترها برای داده های گذشته که منجر به عملکرد ضعیف در داده های جدید می شود.
- look-ahead bias: استفاده از اطلاعاتی که در زمان وقوع معامله در دسترس نبوده اند.
- survivorship bias: چشم پوشی از دارایی هایی که حذف شده یا ورشکسته شده اند و فقط شرکت های باقی مانده بررسی می شوند.
- data-snooping: تست مکرر روی همان داده و انتخاب بهترین نتیجه به صورت تصادفی.
- نادیده گرفتن هزینه های واقعی: حذف هزینه های معاملاتی یا فرض اسپرد صفر که نتیجه را مثبت تر نشان می دهد.
تکنیک های بهبود اعتمادپذیری نتایج
- تقسیم داده به in-sample و out-of-sample و اجرای walk-forward optimization.
- استفاده از تست های مونت کارلو برای اعمال تصادفی سازی و سنجش حساسیت.
- بررسی پایداری پارامترها در بازه ها و بازارهای مختلف.
- پیاده سازی شبیه سازی لغزش و محدودیت نقدینگی.
ابزارها و زبان های متداول برای بک تست
- Python: کتابخانه هایی مانند pandas، backtrader، zipline، vectorbt و pyfolio برای تحلیل و بک تست.
- R: بسته هایی مثل quantstrat و blotter.
- پلتفرم های معاملاتی: MetaTrader (Strategy Tester)، TradingView (Pine Script) برای بازارهای CFD/FX.
- Excel: مناسب برای استراتژی های ساده و تحلیل های مقدماتی.
- دیتابیس ها و سرویس های داده: Yahoo Finance، Alpha Vantage، Quandl، و داده های رسمی بورس ها.
مثال عملی خلاصه یک استراتژی ساده: کراس اوور میانگین متحرک
- قوانین: خرید وقتی میانگین متحرک کوتاه مدت (مثلاً 50) از بلندمدت (200) عبور می کند؛ فروش وقتی بالعکس رخ می دهد.
- گام ها: جمع آوری قیمت روزانه، محاسبه میانگین ها، اعمال قوانین، افزودن اسپرد و کمیسیون، ثبت معاملات، محاسبه شاخص ها مانند CAGR و Max Drawdown.
- نکته عملی: قبل از بهینه سازی پارامترها باید توزیع معاملات و حساسیت پارامترها بررسی شود تا از overfitting جلوگیری شود.
نکات پایانی و چک لیست سریع
- مستندسازی کامل فرضیات، پارامترها و داده ها.
- اضافه کردن هزینه ها و سناریوهای بدبینانه.
- استفاده از بخش برون نمونه برای اعتبارسنجی نهایی.
- اجتناب از تنظیم بیش از حد و اعتماد کورکورانه به نتایج تاریخی.
- شروع با نمونه های کوچک و افزایش پیچیدگی به صورت تدریجی.
خلاصه بک تست ابزاری قدرتمند برای ارزیابی استراتژی های معاملاتی است که در صورت رعایت اصول و اجتناب از سوگیری ها، می تواند تصمیم گیری را به شکل محسوسی بهبود دهد. با رعایت نکات فنی، مستندسازی و تست های استقامتی، نتایج قابل اعتمادتر خواهند بود و ریسک ورود به بازار کاهش پیدا می کند. به نظر من، پایبندی به فرآیند و صداقت در شبیه سازی، مهم ترین عامل در گرفتن نتایج مفید از بک تست است.







