بکتست و فوروارد تست: چطور استراتژی رو قبل از پول واقعی امتحان کنیم؟
قدم ۴ از ۵ – مسیر آموزش سطح پیشرفته کپیترید | مقالهی قبلی: ساخت یه استراتژی معاملاتی کامل
حالا یه استراتژی کامل و مکتوب داری. ولی از کجا مطمئن بشی که این استراتژی واقعاً کار میکنه، قبل از اینکه پول واقعی روش ریسک کنی؟ جواب این سواله بکتست (Backtesting) و فوروارد تست (Forward Testing)؛ دو مرحلهای که هر معاملهگر حرفهای، قبل از رفتن سراغ حساب واقعی، ازشون رد میشه.
بکتست چیست و چرا حیاتیه؟
بکتست یعنی قوانین استراتژیت رو روی دادههای قیمتی گذشته اجرا کنی تا ببینی اگه توی اون بازهی زمانی معامله میکردی، چه نتیجهای میگرفتی. هدف بکتست این نیست که بگه استراتژیت قطعاً توی آینده هم همون نتیجه رو میده (بازار همیشه تغییر میکنه)، بلکه بهت یه تخمین آماری منطقی از عملکرد احتمالی استراتژیت میده و مهمتر از اون، نقطهضعفهای پنهان قوانینت رو قبل از اینکه پول واقعی از دست بدی، نشونت میده.
بکتست دستی در مقابل بکتست خودکار
دو روش اصلی برای بکتست وجود داره:
- بکتست دستی (Manual): چارت رو کندلبهکندل به جلو میبری (با ابزارهایی مثل حالت Replay توی TradingView) و هر بار که ستاپت شکل میگیره، دستی یادداشت میکنی که چی میشد. کندتره ولی نیازی به دانش برنامهنویسی نداره و برای استراتژیهای مبتنی بر پرایس اکشن که سخت کدنویسی میشن، مناسبتره.
- بکتست خودکار (Automated): قوانین استراتژی بهصورت کد (مثلاً یه Expert Advisor توی MetaTrader) نوشته میشه و نرمافزار خودش هزاران معامله رو روی دادههای تاریخی شبیهسازی میکنه. خیلی سریعتره و نمونهی آماری بزرگتری میده، ولی نیاز به دانش فنی داره و برای استراتژیهای کاملاً قانونمحور بهتر جواب میده.
چند معامله برای یه بکتست معتبر کافیه؟
یکی از رایجترین اشتباهها، نتیجهگیری از ۵ یا ۱۰ معاملهست. از نظر آماری، برای اینکه عملکرد یه استراتژی معنادار باشه، معمولاً به حداقل ۳۰ تا ۵۰ معامله نیاز داری؛ هرچی این عدد بیشتر باشه (۱۰۰ معامله یا بیشتر)، اعتماد آماریت به نتیجه هم بیشتر میشه. با نمونهی کوچیک، ممکنه فقط یه سری شانسی از بردهای پشتسرهم یا باختهای پشتسرهم رو دیده باشی، نه عملکرد واقعی استراتژی.
مفاهیم آماری کلیدی: نرخ برد و امید ریاضی
دو عدد مهم بعد از بکتست باید محاسبه کنی: نرخ برد (Win Rate) یعنی چند درصد از معاملات سودده بودن، و امید ریاضی (Expectancy) یعنی بهطور میانگین، هر معامله چقدر سود یا ضرر انتظار میره داشته باشه. نکتهی مهم اینه که نرخ برد بالا، بهتنهایی معنی سودآوری نداره؛ یه استراتژی با نرخ برد فقط ۴۰٪ ولی نسبت ریسکبهریوارد ۱ به ۳، میتونه خیلی سودآورتر از یه استراتژی با نرخ برد ۷۰٪ ولی ریسکبهریوارد ۱ به ۱ باشه. فرمول سادهی امید ریاضی اینطوریه: (نرخ برد × میانگین سود) منهای (نرخ باخت × میانگین ضرر). اگه این عدد مثبت باشه، استراتژی در بلندمدت انتظار میره سودآور باشه.
خطر اورفیتینگ: وقتی استراتژی فقط برای گذشته خوبه
اورفیتینگ (Overfitting) یا بیشبرازش، وقتی اتفاق میفته که قوانین استراتژی رو اونقدر دقیق و پیچیده تنظیم کنی که دقیقاً روی دادههای تاریخی خاصی که تستش کردی عالی جواب بده، ولی این تنظیمات، خودِ رفتار واقعی بازار رو نمایندگی نمیکنن، فقط نویز اون بازهی خاص زمانی رو یاد گرفتن. علامت هشدار اورفیتینگ اینه که استراتژیت با تغییر کوچیک یه پارامتر (مثلاً از EMA20 به EMA21)، نتیجهش بهشدت عوض میشه؛ یه استراتژی سالم و واقعی معمولاً نسبت به تغییرات کوچیک پارامترها، پایدار میمونه. بهترین راه جلوگیری از اورفیتینگ، ساده نگهداشتن قوانین و تست کردن روی چند بازهی زمانی مختلف (نه فقط یه بازهی خاص) است.
فوروارد تست: قدم آخر قبل از پول واقعی
بکتست روی دادهی گذشته انجام میشه، پس همیشه یه ریسک وجود داره که ناخواسته دانش آینده رو (مثلاً یادت باشه یه خبر بزرگ کجا اتفاق افتاد) توی تحلیلت دخیل کنی. فوروارد تست این مشکل رو حل میکنه: استراتژیت رو روی یه حساب دمو (یا حجم خیلی کوچیک واقعی)، توی زمان واقعی و بدون دونستن آینده، اجرا میکنی. این مرحله معمولاً چند هفته تا چند ماه طول میکشه و نشون میده آیا واقعاً میتونی طبق قوانین مکتوبت، توی شرایط زنده و با فشار روانی واقعی (حتی روی حساب دمو) عمل کنی یا نه؛ چیزی که بکتست بهتنهایی نمیتونه نشون بده.
یه مثال عددی واقعی
فرض کن استراتژی «پولبک روند» رو روی ۶ ماه دادهی تاریخی EUR/USD بکتست کردی و به ۵۰ معامله رسیدی: ۲۸ برد و ۲۲ باخت (نرخ برد ۵۶٪)، میانگین سود هر برد ۲۰۰ دلار و میانگین ضرر هر باخت ۱۰۰ دلار. امید ریاضی میشه: (۰.۵۶ × ۲۰۰) منهای (۰.۴۴ × ۱۰۰) = ۱۱۲ منهای ۴۴ = مثبت ۶۸ دلار بهازای هر معامله. این عدد مثبت نشون میده استراتژی از نظر آماری منطقیه. حالا قبل از رفتن سراغ حساب واقعی، همین استراتژی رو ۲ ماه روی حساب دمو فوروارد تست میکنی؛ اگه نتایج فوروارد تست هم با بکتست همخونی داشت، اعتماد بیشتری برای رفتن سراغ پول واقعی پیدا میکنی.
اشتباهات رایج در بکتست و فوروارد تست
- نمونهی خیلی کوچیک: نتیجهگیری از کمتر از ۳۰ معامله، آماری قابلاعتماد نمیسازه.
- اورفیتینگ: تنظیم بیشازحد دقیق پارامترها برای جواب گرفتن از یه بازهی زمانی خاص.
- رد شدن از فوروارد تست: رفتن مستقیم سراغ حساب واقعی بلافاصله بعد از بکتست، بدون تأیید روی دادهی زنده.
- نادیده گرفتن اسپرد و اسلیپیج در بکتست: محاسبه نکردن هزینههای واقعی معامله (اسپرد، کمیسیون) باعث میشه نتیجهی بکتست خوشبینانهتر از واقعیت بهنظر برسه.
سوالات متداول
بکتست چقدر طول میکشه؟
بستگی به روش و تعداد معاملات موردنیاز داره؛ بکتست دستی میتونه چند روز تا چند هفته طول بکشه، بکتست خودکار معمولاً در عرض چند دقیقه هزاران معامله رو شبیهسازی میکنه.
آیا نتیجهی بکتست تضمین آیندهست؟
نه به هیچ وجه. بکتست فقط یه تخمین آماریه؛ بازار همیشه در حال تغییره و هیچ تضمینی نیست که رفتار گذشته دقیقاً تکرار بشه. با این حال، بکتست خیلی بهتر از حدس زدن یا معامله بدون هیچ دادهایه.
میشه فوروارد تست رو حذف کرد و مستقیم رفت سراغ حساب واقعی؟
توصیه نمیشه. فوروارد تست، هم استراتژی و هم خودِ اجرای تو (انضباط، پایبندی به قوانین) رو زیر شرایط واقعی زمانی میسنجه؛ چیزی که هیچ بکتستی نمیتونه جایگزینش بشه.
جمعبندی
- بکتست یعنی اجرای قوانین استراتژی روی دادهی تاریخی برای تخمین عملکرد احتمالی
- برای نتیجهی آماری معتبر، حداقل ۳۰ تا ۵۰ معامله لازمه
- امید ریاضی (نه فقط نرخ برد) نشون میده استراتژی واقعاً سودآوره یا نه
- اورفیتینگ یعنی تنظیم بیشازحد استراتژی برای گذشته، که عملکرد آینده رو خراب میکنه
- فوروارد تست روی حساب دمو، آخرین مرحلهی تأیید قبل از رفتن سراغ پول واقعیه
حالا که استراتژیت رو بکتست و فوروارد تست کردی، آخرین قطعهی پازل اینه که یاد بگیری چطور عملکردت رو بهصورت مداوم دنبال و بهتر کنی؛ یعنی یه ژورنال معاملاتی بسازی. 👉 مقاله بعدی: ژورنال معاملاتی چیست؟