بک تست چیست؟ بک تست یا Backtesting فرایندی است که در آن قوانین یک استراتژی معاملاتی روی دادههای تاریخی اجرا میشوند تا ببینیم اگر در گذشته با همان قواعد معامله میکردیم، چه نتایجی به دست میآمد. فرض کنید هر بار پس از شکست یک مقاومت و بازآزمایی موفق وارد خرید میشوید. بهجای انتخاب چند تصویر موفق از نمودار، باید تمام فرصتهایی را که با تعریف شما سازگارند پیدا کنید و ورود، خروج، زیان و هزینه هر معامله را ثبت کنید.
هدف بک تست اثبات سودآوری آینده نیست؛ هدف، شناسایی نقاط قوت و ضعف یک ایده پیش از درگیر کردن سرمایه واقعی است. یک نمودار صعودی میتواند دهها ورود جذاب نشان دهد، اما بسیاری از آنها فقط پس از مشخص شدن نتیجه واضح به نظر میرسند. آزمون منظم کمک میکند قواعد را از حدس و حافظه جدا کنید. برای آنکه نتیجه قابل استفاده باشد، باید شرایطی را که معامله انجام نمیشود نیز دقیق تعریف کنید و هیچ نمونه نامطلوبی را از گزارش کنار نگذارید.
عبارتهایی مانند «وقتی روند خوب بود بخر» یا «وقتی کندل قوی دیدی بفروش» برای بک تست دقیق کافی نیستند. باید روشن کنید روند چگونه تعریف میشود، مقاومت با چه روشی رسم میشود، تأیید شکست چند کندل است و سفارش با چه قیمتی فعال میشود. همچنین نقطه خروج، حد ضرر، حد سود، ساعتهای مجاز معامله و وضعیت بازار در زمان خبر را مشخص کنید. هرچه تعریفها مبهمتر باشند، دو نفر ممکن است روی یک نمودار نتایج کاملاً متفاوتی ثبت کنند.
برای مثال، قانون آزمایشی میتواند چنین باشد: در نمودار چهارساعته فقط وقتی آخرین سقف ساختاری شکسته و یک کندل بالای آن بسته شد، در بازگشت به سطح سفارش خرید قرار گیرد؛ حد ضرر زیر کف بازگشت و خروج در نخستین مقاومت مهم باشد. این فقط یک نمونه آموزشی است و هنوز نیازمند آزمون است. پس از تعریف قانون، نباید آن را وسط بررسی داده تغییر دهید. اگر ایده تازهای پیدا شد، نسخه جدیدی از استراتژی بسازید و آزمون آن را جداگانه انجام دهید.
داده تاریخی باید با بازاری که قصد معامله در آن دارید هماهنگ باشد. قیمت بیتکوین در بازار اسپات با قرارداد دائمی همان دارایی ممکن است تفاوت داشته باشد و کندلهای صرافیهای مختلف نیز همیشه یکسان نیستند. تایمفریم، منطقه زمانی کندلها و تاریخ شروع و پایان آزمون را ثبت کنید. اگر استراتژی شما برای بازارهای پرنوسان طراحی شده، نباید فقط یک دوره صعودی آرام را بررسی کنید. وجود دورههای صعود، نزول و رنج برای قضاوت واقعبینانه ضروری است.
تعداد معاملات نیز اهمیت دارد. ده معامله موفق نمیتواند تصویری قابل اعتماد از رفتار بلندمدت یک سیستم بسازد؛ اما حتی داشتن صد معامله نیز کیفیت داده و استقلال نمونهها را تضمین نمیکند. اگر بیشتر معاملات در چند روز مشابه رخ داده باشند، ممکن است نتیجه به یک رویداد خاص وابسته باشد. نمونهها را بر اساس سال، دارایی و وضعیت بازار تفکیک کنید. برای انتخاب تایمفریم مناسب، راهنمای انتخاب تایمفریم ترید میتواند زمینه بررسی را روشنتر کند.
برای هر موقعیت، تاریخ، نماد، جهت، قیمت ورود فرضی، حد ضرر، هدف، حجم معامله و نتیجه را ثبت کنید. اگر حد ضرر پیش از هدف فعال میشود، نتیجه باید همان زیان باشد؛ نباید بعداً با دیدن حرکت قیمت، خروج را به نقطه بهتری منتقل کنید. همچنین فرصتهایی را که شرایط ورود را نداشتهاند با توضیح کوتاه مشخص کنید تا بعداً معلوم شود آیا معیارهای فیلتر بیش از حد سختگیرانه بودهاند یا نه. ثبت اسکرینشات با زمان مشخص به بازبینی کمک میکند.
از ابتدا واحد سنجش را مشخص کنید. محاسبه نتیجه بر اساس درصد سود بدون توجه به فاصله حد ضرر ممکن است گمراهکننده باشد. واحد R، یعنی نسبت سود یا زیان هر معامله به ریسک اولیه آن، امکان مقایسه معاملات با اندازه متفاوت را فراهم میکند. برای مثال، زیان کامل برابر منفی یک R و سودی دو برابر ریسک اولیه برابر مثبت دو R است. البته این اعداد باید پس از کسر هزینهها محاسبه شوند. مفهوم ریسک به ریوارد را برای درک این مبنا ببینید.
نتیجه بک تستی که ورود و خروج را بدون هزینه فرض میکند، ممکن است از واقعیت بسیار خوشبینانهتر باشد. در معاملات ارز دیجیتال، کارمزد صرافی، تفاوت قیمت خرید و فروش، لغزش هنگام اجرای سفارش و در قراردادهای دائمی هزینه یا درآمد فاندینگ میتوانند بازده را تغییر دهند. این اثر در معاملات کوتاهمدت که سود هدف کوچک است، شدیدتر دیده میشود. باید برای هر معامله مدل هزینه متناسب با نوع سفارش و بازار تعریف شود؛ صرف کم کردن یک عدد ثابت از تمام معاملات همیشه کافی نیست.
اگر استراتژی روی کندلهایی با نوسان سریع اجرا میشود، فرض پر شدن سفارش دقیقاً در بهترین قیمت غالباً غیرواقعی است. بهتر است چند سناریوی هزینه مانند کم، متوسط و بالا بررسی کنید. اگر با افزایش اندک هزینه، تمام مزیت آماری سیستم از بین برود، آن استراتژی نسبت به کیفیت اجرا حساس است. مقاله آموزش اسلیپیج و هزینه اجرای معامله جزئیات این تفاوت را توضیح میدهد. قبل از نتیجهگیری درباره سودآوری، خروجی پس از هزینه را مبنا قرار دهید.
وینریت بهتنهایی معیار کافی نیست. یک استراتژی ممکن است درصد موفقیت بالا داشته باشد ولی زیانهای معدود آن بزرگتر از سودهای مکرر باشند. بنابراین میانگین سود، میانگین زیان، امید ریاضی به ازای هر معامله، Profit Factor، افت سرمایه و تعداد معاملات باید کنار هم بررسی شوند. همچنین طول دورههای زیان متوالی و تفاوت عملکرد در بازارهای صعودی و نزولی برای انتخاب اندازه ریسک مهماند. نتیجه خوب باید هم از نظر بازده و هم از نظر تحملپذیری زیان منطقی باشد.
اگر سرمایه فرضی شما در یک آزمون رشد کرده ولی در میانه مسیر افت بسیار عمیقی داشته، ممکن است در اجرای واقعی توان ادامه آن را نداشته باشید. منحنی سرمایه و تغییرات دورهای آن را بررسی کنید و فقط به سود نهایی نگاه نکنید. آموزش امید ریاضی استراتژی کمک میکند رابطه وینریت و اندازه سود و زیان را بهتر بسنجید. برای تشخیص افتهای شدید نیز مطالعه مفهوم Drawdown و ثبت مدت بازگشت از زیان ضروری است.
اگر تمام پارامترها را روی یک بازه تاریخی تنظیم کنید و همان داده را برای اثبات عملکرد به کار ببرید، نتیجه ممکن است فقط حاصل انطباق با گذشته باشد. بهتر است داده را به دوره ساخت یا آموزش و دوره آزمون خارج از نمونه تقسیم کنید. پارامترها روی بخش نخست انتخاب شوند و سپس بدون تغییر روی بخش دوم آزمایش شوند. اگر نتیجه بخش دوم بهشدت ضعیفتر باشد، ممکن است سیستم بیش از حد به داده قدیمی وابسته شده باشد.
یک قدم پیشرفتهتر، استفاده از چند پنجره زمانی و آزمون Walk-Forward است؛ اما این روش نیز خطا را صفر نمیکند. مهم است بعد از مشاهده عملکرد آزمون، قوانین را دوباره با همان داده تنظیم نکنید و آن را همچنان «آزمون مستقل» بنامید. تعداد دفعات آزمون ایدههای مختلف را ثبت کنید، زیرا انتخاب بهترین نتیجه از میان دهها ترکیب میتواند شانس موفقیت ظاهری را بالا ببرد. بیشبرازش در سیستم معاملاتی این دام را توضیح میدهد.
آیا بک تست سود آینده را تضمین میکند؟ خیر؛ فقط نشان میدهد سیستم با فرضهای مشخص در گذشته چه کرده است. آیا میتوان بدون برنامهنویسی بک تست گرفت؟ بله؛ بازبینی دستی و ثبت ساختاریافته معاملات هم ممکن است، هرچند کندتر و مستعد خطای انسانی است. آیا هر استراتژی با وینریت بالا مناسب است؟ نه؛ اندازه زیانها، هزینهها و افت سرمایه اهمیت دارند. آیا باید بعد از یک بک تست خوب سرمایه واقعی وارد کرد؟ بهتر است ابتدا آزمون فوروارد یا معامله آزمایشی انجام شود.
برای تبدیل آزمون به تصمیم قابل اجرا، خلاصهای از قوانین، تعداد نمونهها، عملکرد پس از هزینه، بدترین دوره زیان و مواردی که سیستم کار نکرده تهیه کنید. سپس با سرمایه شبیهسازیشده و دادههای تازه بررسی کنید آیا امکان اجرای واقعی همان قواعد وجود دارد یا خیر. اگر از ایدههای دیگران برای یافتن فرصت استفاده میکنید، بررسی سیگنالهای ارز دیجیتال با معیار بک تست را نیز با همین استاندارد ارزیابی کنید؛ هر سیگنال باید مستقل از جذابیت ظاهری، حد ابطال و ریسک روشن داشته باشد.