
نحوه انتخاب بازه زمانی مناسب برای بکتست
بکتست (Backtesting) یکی از ستونهای اصلی در توسعه و اعتبارسنجی هر استراتژی معاملاتی (Trading Strategy) یا ربات معاملاتی (Trading Bot) محسوب میشود. این فرآیند شامل شبیهسازی اجرای یک استراتژی بر روی دادههای تاریخی (Historical Data) بازار است تا عملکرد آن در گذشته ارزیابی شود. هدف اصلی بکتست این است که معاملهگر یا توسعهدهنده بتواند با اطمینان بیشتری پیشبینی کند که استراتژی مورد نظر در آینده چگونه عمل خواهد کرد. با این حال، موفقیت این ارزیابی به شدت وابسته به پارامترهای ورودی، بهویژه بازه زمانی بکتست (Backtest Time Range) است. انتخاب نادرست این بازه میتواند منجر به نتایج گمراهکننده، بیشبرازش (Overfitting) و در نهایت ضررهای مالی در معاملات واقعی شود. این مقاله به بررسی عمیق و جامع جنبههای مختلف انتخاب دوره تاریخی دادهها برای اطمینان از صحت و اعتبار نتایج بکتست میپردازد.
مفهوم بازه زمانی بکتست و تفاوت آن با تایمفریم
بسیاری از افراد مبتدی، بازه زمانی بکتست را با تایمفریم (Timeframe) اشتباه میگیرند؛ این دو مفهوم اگرچه مرتبط هستند، اما دو مقوله کاملاً متفاوت را نشان میدهند. تایمفریم به مدت زمانی اطلاق میشود که هر کندل یا میله در نمودار نشاندهنده آن است (مثلاً یک کندل ۵ دقیقهای، یک ساعته یا روزانه). این پارامتر مشخص میکند که استراتژی بر اساس چه بازههای زمانی کوتاهمدت تصمیمگیری میکند. در مقابل، بازه زمانی بکتست به کل دورهای از تاریخ اشاره دارد که دادههای آن برای اجرای شبیهسازی استفاده میشود؛ مثلاً اجرای استراتژی از ابتدای سال ۲۰۱۵ تا پایان سال ۲۰۲۳. این بازه کل دامنه زمانی مورد بررسی را پوشش میدهد و شامل هزاران یا میلیونها تایمفریم مختلف است که استراتژی بر روی آنها آزموده میشود. اهمیت بازه زمانی بکتست در این است که عملکرد استراتژی را در طیف وسیعی از شرایط بازار (Market Conditions) مورد سنجش قرار میدهد، در حالی که تایمفریم صرفاً مقیاس اجرای سیگنالها را تعیین میکند. اگر یک استراتژی تنها بر روی دادههای یک سال اخیر که بازار در آن حالت خاصی داشته، تست شود، هرچند با تایمفریم دقیق، اما بازه زمانی بکتست محدودی دارد و ممکن است در چرخههای اقتصادی متفاوت شکست بخورد.
اهمیت انتخاب صحیح دوره تاریخی دادهها
انتخاب دوره تاریخی دادهها برای بکتست سنگ بنای اعتبارسنجی است. بازارها ماهیتی چرخهای دارند و هر دوره تاریخی، ویژگیهای خاص خود را به همراه دارد. یک استراتژی ممکن است در یک بازار روندی (Trending Market) صعودی عملکرد فوقالعادهای داشته باشد، اما در یک بازار رنج (Sideways/Range-bound Market) یا نوسانی، به سرعت اعتبار خود را از دست بدهد. اگر بازه زمانی بکتست صرفاً شامل دورهای باشد که بازار به طور مداوم در یک جهت حرکت کرده است، نتایج بکتست به شدت خوشبینانه و غیرواقعی خواهد بود. این اشتباه منجر به این میشود که معاملهگر فکر کند استراتژی مقاوم است، در حالی که در واقعیت، صرفاً برای یک شرایط بازار خاص بهینه شده است. دادههای تاریخی باید به اندازهای طولانی باشند که نماینده کافی از چرخههای مختلف بازار، از جمله دورههای صعودی، نزولی، نوسانی (Volatile) و کمنوسان باشند. نادیده گرفتن این تنوع، بزرگترین عامل شکست رباتهای معاملاتی پس از انتقال به معاملات واقعی است، زیرا بازارها هرگز به صورت خطی حرکت نمیکنند و همیشه تغییر فاز میدهند.
تفاوت انتخاب بازه زمانی برای استراتژیهای کوتاهمدت، میانمدت و بلندمدت
نحوه انتخاب بازه زمانی بکتست باید مستقیماً با افق زمانی استراتژی مورد نظر همخوانی داشته باشد. این اصل یکی از مهمترین نکات در اعتباربخشی استراتژی است.
برای استراتژیهای کوتاهمدت (Short-Term Strategies)، مانند معاملات اسکالپینگ (Scalping) یا معاملات روزانه (Day Trading) که بر اساس تایمفریمهای پایین (مانند ۱ دقیقه یا ۵ دقیقه) عمل میکنند، نیاز به دادههای تاریخی با دقت بالا و جزئیات زیاد است. این استراتژیها به تغییرات سریع بازار بسیار حساس هستند و ممکن است در دورههایی که نقدینگی کم است یا اسپردها (Spreads) افزایش مییابد، دچار مشکل شوند. بنابراین، بازه زمانی بکتست باید شامل دورههای کافی از ساعات اوج و کف معاملات (مثلاً ساعات نوسان بالا یا ساعات کمحجم) باشد. اگرچه ممکن است نیاز نباشد کل ۲۰ سال گذشته تست شود، اما حداقل باید شامل چندین چرخه ماهانه و فصلی کامل باشد تا تأثیر نوسانات روزانه و تغییرات اسپرد در ساعات مختلف به درستی مدلسازی شود. معمولاً برای این استراتژیها، چند سال دادههای با فرکانس بالا (High Frequency) کافی است، به شرطی که تمام الگوهای نوسان در آنها پوشش داده شده باشد.
در مقابل، استراتژیهای میانمدت (Medium-Term Strategies) که معمولاً بر اساس تایمفریمهای ساعتی یا روزانه کار میکنند، نیاز به پوشش دادن دورههای طولانیتری دارند تا بتوانند الگوهای بزرگتر بازار را شکار کنند. این استراتژیها باید در برابر تغییرات مهم روند (Trend) مقاومت نشان دهند. انتخاب یک بازه زمانی که شامل حداقل یک چرخه کامل اقتصادی (معمولاً ۵ تا ۱۰ سال) باشد، الزامی است. این امر اطمینان میدهد که استراتژی در دورههای رشد قوی، رکود (Recession) و بازگشت بازار (Recovery) عملکرد معقولی داشته است.
استراتژیهای بلندمدت (Long-Term Strategies) مانند سرمایهگذاری بر اساس تحلیل فاندامنتال یا استراتژیهای موقعیتیابی (Position Trading) که بر اساس تایمفریمهای هفتگی یا ماهانه تصمیم میگیرند، به دادههای تاریخی بسیار گستردهای نیاز دارند. برای این دسته، بهترین رویکرد این است که کل تاریخچه دادههای قابل دسترس (حداقل ۲۰ تا ۳۰ سال، در صورت امکان) را مورد بررسی قرار دهند. دلیل این امر آن است که چرخههای اقتصادی بزرگ و اثرات بحرانهای دههای (مانند بحران مالی ۲۰۰۸) تأثیر عمیقی بر این استراتژیها دارند. عدم بررسی این بحرانهای بزرگ، منجر به اعتماد کاذب به استراتژیهای بلندمدت میشود که در واقع تنها برای دوران رشد اقتصادی بهینه شدهاند.
تاثیر شرایط مختلف بازار بر بازه زمانی بکتست
بازار مالی به طور مداوم در حال تغییر فاز است. درک این فازها و اطمینان از اینکه بازه زمانی بکتست تمام آنها را در بر میگیرد، حیاتی است.
۱. بازار روندی (رشد یا نزول): زمانی که بازار در یک جهت قوی حرکت میکند، استراتژیهای دنبالکننده روند (Trend-following) بهترین عملکرد را دارند. بازه زمانی بکتست باید شامل دورههایی باشد که روند قوی صعودی و قوی نزولی رخ داده است. اگر بازه زمانی بکتست صرفاً شامل یک روند صعودی باشد، عملکرد استراتژی در یک بازار نزولی پوشش داده نخواهد شد.
۲. بازار رنج یا خنثی: این بازارها مشخصه دورههای تثبیت یا حرکت جانبی هستند. استراتژیهای نوسانگیری (Mean Reversion) در این شرایط شکوفا میشوند. اگر بازه زمانی بکتست بسیار کوتاه باشد و فقط شامل یک دوره روندی باشد، این استراتژیها در بکتست شکستخورده به نظر میرسند، در حالی که ممکن است در واقعیت سودآور باشند.
۳. بازارهای پرنوسان (High Volatility): نوسانات بالا، چه در بازارهای گاوی (Bullish) و چه خرسی (Bearish)، به دلیل افزایش سریع دامنه حرکت قیمت (Price Action Range)، برای استراتژیهایی که بر اساس اندازه حد ضرر (Stop Loss) یا حد سود (Take Profit) پویا عمل میکنند، چالشبرانگیز است. بازه زمانی بکتست باید شامل دورههایی مانند شوکهای ناگهانی قیمت یا انتشار اخبار مهم باشد تا تأثیر نوسان بر اجرای استراتژی ارزیابی شود.
۴. بازارهای کمنوسان (Low Volatility): در این دورهها، استراتژیهایی که به حرکات کوچک قیمت وابسته هستند (مانند برخی استراتژیهای آربیتراژ یا معاملات با حد سود کوچک)، ممکن است به دلیل افزایش اسلیپیج (Slippage) یا هزینههای معاملاتی (Transaction Costs) دچار مشکل شوند. یک بازه زمانی طولانی باید تضمین کند که حداقل یک دوره کمنوسان در آن وجود داشته باشد.
ریسکانتخاب بازه زمانی کوتاه یا بیشازحد بلند
انتخاب بازه زمانی مناسب یک موازنه دقیق بین پوشش دادن تمام شرایط بازار و جلوگیری از بیشبرازش است.
ریسک انتخاب بازه زمانی کوتاه: کوتاهبودن بازه زمانی بکتست خطرناکترین عامل در ارزیابی استراتژی است. اگر شما تنها یک سال داده را بررسی کنید، ممکن است استراتژی شما در این دوره به طور اتفاقی کار کرده باشد. این دوره ممکن است شامل یک روند بسیار قوی بوده باشد که استراتژی شما به طور تصادفی با آن همسو شده است. در نتیجه، معیار نسبت شارپ (Sharpe Ratio) یا حداکثر افت سرمایه (Maximum Drawdown) که بر اساس این دادهها محاسبه میشود، اعتبار واقعی ندارد. شما در معرض ریسک عظیمی قرار میگیرید که استراتژیتان فقط برای شرایط خاص آن یک سال بهینه شده باشد.
ریسک انتخاب بازه زمانی بیشازحد بلند: اگرچه اغلب توصیه میشود که دادههای بیشتری استفاده شود، اما استفاده از دادههای بسیار قدیمی نیز میتواند چالشهایی ایجاد کند، به ویژه در بازارهای جدید مانند کریپتوکارنسی (Cryptocurrency) یا حتی در بازارهای سهام پس از تغییرات ساختاری بزرگ. بازارهای مالی امروزی به دلیل ظهور تریدینگ الگوریتمی (Algorithmic Trading)، نقدینگی بیشتر، و تغییر در ساختار کارمزدها، بسیار متفاوت از ۲۰ سال پیش عمل میکنند. اگر بازه زمانی شما شامل دورهای باشد که از نظر تکنولوژیکی و ساختاری کاملاً متفاوت است، پارامترهای استراتژی شما ممکن است با شرایط فعلی همخوانی نداشته باشند (مثلاً قیمتها در گذشته بسیار آهستهتر حرکت میکردند). همچنین، دادههای بسیار قدیمی ممکن است از نظر کیفیت پایینتر باشند یا شامل نقاط دادهای که برای مدلسازیهای مدرن نیاز است (مانند دادههای تیک توسط تیک برای فارکس)، نباشند.
مفهوم بیشبرازش (Overfitting) و ارتباط آن با بازه زمانی بکتست
بیشبرازش زمانی رخ میدهد که پارامترهای یک استراتژی به گونهای تنظیم شوند که نه تنها الگوهای واقعی بازار را درک کنند، بلکه نویزهای تصادفی موجود در دادههای تاریخی مورد استفاده برای بکتست را نیز یاد بگیرند. این حالت منجر به نتایجی میشود که در گذشته بینقص به نظر میرسند اما در آینده شکست میخورند.
ارتباط بیشبرازش با بازه زمانی بکتست بسیار مستقیم است. اگر بازه زمانی بکتست بسیار کوتاه باشد، توسعهدهنده مجبور است پارامترها را به شدت با آن دوره کوتاه سازگار کند تا نتایج خوبی بگیرد. برای مثال، اگر تنها دادههای سه سال اخیر (که بازار در آن بسیار خشن بوده) را بررسی کنید، ممکن است حد سود و ضرر را بسیار نزدیک به هم تنظیم کنید تا سودهای کوچک و سریع بگیرید. این تنظیمات دقیق، که برای “فیت” کردن استراتژی به آن نوسانات خاص است، به معنای بیشبرازش است. به محض ورود به یک دوره بازار آرامتر، این تنظیمات دقیق دیگر کارآمد نخواهند بود.
یک بازه زمانی بکتست طولانی و متنوع، به عنوان یک عامل تعدیلکننده در برابر بیشبرازش عمل میکند. وقتی استراتژی باید در چندین بازار روندی، چندین بازار رنج، دورههای نوسان بالا و نوسان پایین (که هر کدام قوانین متفاوتی دارند) به طور همزمان عملکرد قابل قبولی از خود نشان دهد، مجبور است پارامترهایی را انتخاب کند که قویتر و کلیتر هستند و کمتر تحت تأثیر نویزهای لحظهای قرار میگیرند.
نقش دادههای خارج از نمونه (Out-of-Sample Data)
برای مقابله قطعی با بیشبرازش، تقسیم دوره تاریخی دادهها به دو بخش ضروری است: دادههای درون نمونه (In-Sample Data) و دادههای خارج از نمونه (Out-of-Sample Data).
دادههای درون نمونه قسمتی از تاریخچه است که برای توسعه، بهینهسازی پارامترها و اجرای اولیه بکتست استفاده میشود. در این فاز، ما پارامترها را تنظیم میکنیم تا بهترین عملکرد را در این بازه به دست آوریم.
اما معیار واقعی اعتبار یک استراتژی، عملکرد آن بر روی دادههای خارج از نمونه است. این دادهها قسمتی از تاریخ هستند که استراتژی در طول بهینهسازی (Optimization) هرگز “آنها را ندیده است”. اگر استراتژیای که بر روی دادههای ۲۰۰۵ تا ۲۰۱۵ بهینه شده است، بر روی دادههای ۲۰۱۶ تا ۲۰۲۰ (که خارج از نمونه فرض میشوند) نیز عملکردی مشابه یا قابل قبول داشته باشد، میتوان نتیجه گرفت که پارامترها کلیت بازار را درک کردهاند و دچار بیشبرازش نشدهاند.
انتخاب بازه زمانی بکتست باید به گونهای باشد که حداقل ۲۰ تا ۳۰ درصد از کل دادههای در دسترس به عنوان دادههای خارج از نمونه باقی بماند. به عنوان مثال، اگر ۳۰ سال داده دارید، میتوانید ۲۰ سال اول را برای توسعه و ۱۰ سال آخر را برای تأیید نهایی نگه دارید. این رویکرد تضمین میکند که اعتبار بکتست فراتر از صرفاً تاریخچهای است که برای ساخت آن استفاده شده است.
تاثیر اخبار، بحرانها و رویدادهای خاص بازار بر انتخاب بازه زمانی
بازارها توسط رویدادهای مهم ژئوپلیتیکی، اقتصادی و بحرانهای مالی شکل میگیرند. این رویدادها اغلب منجر به تغییرات ساختاری یا شوکهای قیمتی میشوند که ممکن است یک استراتژی را کاملاً از کار بیندازند.
مثالهای کلیدی عبارتند از: بحران مالی ۲۰۰۸، شیوع بیماری کرونا در سال ۲۰۲۰، جنگها، یا تغییرات ناگهانی سیاستهای پولی توسط بانکهای مرکزی.
بازه زمانی بکتست باید شامل حداقل یک رویداد بزرگ و یک دوره پس از آن باشد. برای مثال، اگر یک استراتژی را برای بورس توسعه میدهید، باید اطمینان حاصل کنید که دورهای از رکود شدید (مانند ۲۰۰۸ یا بخشهایی از ۲۰۲۰) در دادههای شما وجود دارد. استراتژیای که تنها در بازارهای پررونق پس از بحران رشد کرده، احتمالاً در بحران واقعی از بین خواهد رفت.
اگر استراتژی شما برای داراییهای خاصی مانند کریپتوکارنسی طراحی شده است، بازه زمانی بکتست باید شامل دورههای سقوط شدید و حبابهای بزرگ (مانند سقوط لیمان برادرز در کریپتو یا حباب دات کام) باشد. عدم پوشش دادن این شوکها باعث میشود که حداکثر افت سرمایه واقعی محاسبه نشود و ریسک غیرقابل تصوری را برای معاملات زنده متحمل شوید. انتخاب بازه زمانی مناسب به معنای انتخاب یک بازه زمانی “طبیعی” بازار نیست، بلکه به معنای انتخاب یک بازه زمانی “چالشبرانگیز” است.
تفاوت بکتست در بازارهای مختلف
ماهیت بازارهای مالی بر نحوه انتخاب بازه زمانی بکتست تأثیر میگذارد:
۱. بازار فارکس (Forex): بازار فارکس به دلیل ماهیت ۲۴ ساعته بودن و نقدینگی بالا، دارای الگوهای نوسان روزانه بسیار قوی است. برای استراتژیهای فارکس کوتاهمدت، دسترسی به دادههای تیکبایتیک (Tick-by-Tick Data) برای چندین سال ضروری است. همچنین، به دلیل تأثیر مداوم نرخ بهره و اخبار اقتصادی جهانی، بازه زمانی بکتست باید شامل چندین چرخه اعلام نرخ بهره توسط فدرال رزرو، بانک مرکزی اروپا و سایر نهادهای مهم باشد.
۲. بازار کریپتوکارنسی (Cryptocurrency): بازار کریپتو بسیار جوانتر است و دادههای تاریخی بلندمدت آن محدودتر است. در عین حال، نوسانات این بازار به مراتب شدیدتر است. انتخاب بازه زمانی بکتست باید با دقت بسیار بالایی صورت گیرد؛ بهتر است کل تاریخچه وجودی یک ارز (مثلاً بیتکوین) در نظر گرفته شود، اما با تمرکز بر این نکته که استراتژی باید بتواند شوکهای قیمتی عظیم (مانند ۵۰ تا ۸۰ درصد سقوط در چند روز) را تحمل کند. استفاده از دادههای بسیار قدیمی که پیش از ظهور نهادهای نظارتی یا حجم معاملات فعلی بازار بودهاند، ممکن است نتایج غیرقابل تعمیم ایجاد کند.
۳. بازار بورس و سهام (Stock Market): این بازارها دارای ساختار زمانی مشخص (ساعات کاری محدود) و وقفه در معاملات هستند. برای استراتژیهای مرتبط با سهام، باید اطمینان حاصل شود که بازه زمانی بکتست شامل دورههای بسته شدن بازار (مانند تعطیلات یا شبها) باشد تا تأثیر شکاف قیمتی (Gaps) در بازگشاییها نیز ارزیابی شود. همچنین، با توجه به تعدیلات شرکتها (مانند تقسیم سود و اسپلیت سهام)، نیاز به دادههای تعدیل شده (Adjusted Data) تاریخی وجود دارد که اطمینان دهد بکتست تحت تأثیر این تغییرات ساختاری قرار نگیرد.
اشتباهات رایج معاملهگران و برنامهنویسان در انتخاب بازه زمانی بکتست
خطاهای رایجی وجود دارند که میتوانند اعتبار هر بکتست را از بین ببرند:
الف) استفاده از دادههای “تمیز شده”: برخی پلتفرمها دادههای خام را برای سهولت کار بکتست تمیز میکنند و نویزها و اسپایکهای غیرمعمول را حذف میکنند. این کار بیشبرازش را تقویت میکند زیرا استراتژی هرگز در معرض نویز واقعی بازار قرار نگرفته است. باید از دادههایی استفاده شود که تا حد امکان به دادههای واقعی نزدیک باشند، حتی اگر شامل اسپایکهای لحظهای باشند.
ب) نادیده گرفتن هزینههای معاملاتی در بازههای زمانی طولانی: در بکتستهای بلندمدت، هزینههای کمیسیون (Commission) و اسپرد اگر در محاسبات لحاظ نشوند، نتایج را به شدت متورم میکنند. در یک بازه زمانی طولانی، این هزینهها تأثیر تجمعی بزرگی دارند که باید در انتخاب کل بازه زمانی مد نظر قرار گیرند (زیرا استراتژیهای با نرخ گردش بالا در بازههای طولانیتر هزینه بیشتری خواهند داشت).
ج) انتخاب بازه زمانی بر اساس موفقیت: این اشتباه زمانی رخ میدهد که یک معاملهگر به طور شهودی بازهای از تاریخ را انتخاب میکند که استراتژی در آن سودآور بوده است. این یک رویکرد کاملاً معیوب است و مستقیماً منجر به بیشبرازش میشود. انتخاب باید مبتنی بر پوشش شرایط بازار باشد، نه لزوماً بر اساس سوددهی گذشته در یک دوره خاص.
د) استفاده نکردن از دادههای بحرانی: اگر در یک بازه ۱۰ ساله، یک سال رکود شدید وجود داشته باشد، و شما آن یک سال را به دلیل “نویز” حذف کنید، در واقع مهمترین بخش آموزش استراتژی را از دست دادهاید.
معیارهای حرفهای برای تعیین حداقل و حداکثر بازه زمانی مناسب
برای دستیابی به یک بکتست قوی، باید یک چارچوب عملی برای تعیین حداقل و حداکثر بازه زمانی بکتست تعریف شود:
حداقل بازه زمانی: حداقل طول بازه زمانی بکتست باید به اندازهای باشد که حداقل ۳ تا ۵ چرخه کامل معاملاتی بازار (شامل یک دوره صعودی، یک دوره نزولی، و حداقل یک دوره تثبیت) را پوشش دهد. در بازارهای نوسانی مانند کریپتو، این میتواند به معنای حداقل ۳ سال باشد. برای بازارهای با ثباتتر مانند فارکس یا سهام، ۵ تا ۷ سال معمولتر است.
حداکثر بازه زمانی: حداکثر بازه زمانی باید به اندازهای طولانی باشد که دادههای مربوط به بحرانهای ساختاری بزرگ را شامل شود، اما نباید آنقدر طولانی باشد که شامل دورههایی شود که مدلهای بازار (مانند ساختار کارمزد، فناوری معاملاتی یا ماهیت دارایی) کاملاً تغییر کرده باشند. به طور کلی، برای بازارهای مالی مدرن، دادههایی که بیش از ۲۰ تا ۲۵ سال قدمت دارند، نیاز به بازبینی دقیق و تعدیل سنگین برای شرایط فعلی دارند.
تعداد سیگنالهای معاملاتی: یک معیار مهم دیگر، تعداد سیگنالهای معاملاتی (Trading Signals) تولید شده است. یک استراتژی نباید بر اساس تنها چند صد معامله در بکتست مورد قضاوت قرار گیرد. معاملهگران حرفهای معمولاً حداقل به چند هزار معامله (بسته به نرخ گردش استراتژی) نیاز دارند تا از نظر آماری نتایج معناداری به دست آورند. یک بازه زمانی بکتست طولانیتر این تعداد سیگنال را فراهم میکند.
بررسی مثالهای کاربردی و سناریوهای واقعی
سناریو ۱: استراتژی کوتاهمدت در فارکس
یک معاملهگر یک استراتژی اسکالپینگ (تایمفریم ۱ دقیقه) برای EUR/USD توسعه میدهد. او دادههای بکتست را تنها برای سال ۲۰۲۱ (که یک سال نسبتاً با نوسان متعادل بود) اجرا میکند و سود قابل توجهی کسب میکند. اشکال: او دوره ۲۰۱۸ (کمنوسان) و ۲۰۲۰ (بحران کووید با اسپایکهای عظیم) را نادیده گرفته است. در سال ۲۰۲۰، نوسان بسیار بالا باعث شده که حد ضررهای استراتژی او با سرعت زیادی فعال شود و کل سود سال قبل را از بین ببرد. راه حل: بازه زمانی بکتست باید حداقل شامل دورههای نوسان بسیار بالا و بسیار پایین باشد، حتی اگر این بدان معنا باشد که استراتژی در آن دورهها ضرر کند؛ زیرا شناسایی ضرر در آن شرایط، از وقوع ضرر در معاملات زنده جلوگیری میکند.
سناریو ۲: استراتژی دنبالکننده روند در بورس
توسعهدهنده یک ربات برای بازار سهام طراحی میکند که بر اساس شکست سطوح مقاومت تاریخی عمل میکند. او از دادههای ۲۰۰۹ تا ۲۰۱۹ استفاده میکند که شامل یک روند صعودی طولانی است. اشکال: استراتژی در این دوره عالی عمل کرده، اما شامل رکود ۲۰۰۸ (به دلیل شروع از ۲۰۰۹) و همچنین دوران اولیه بازیابی نیست. در دوره صعودی، استراتژی به طور کامل بهینه شده است (بیشبرازش). زمانی که بازار وارد یک فاز نزولی جدید میشود، استراتژی به دلیل تنظیمات بیشبرازش شده برای روند صعودی، دچار افت سرمایه شدید میشود. راه حل: بازه زمانی بکتست باید از قبل از ۲۰۰۸ شروع میشد تا تأثیر رکود اولیه و بازگشت پس از آن ارزیابی شود. همچنین، پس از بهینهسازی بر روی دادههای ۲۰۰۹-۲۰۱۹ (درون نمونه)، باید عملکرد آن بر روی دادههای ۲۰۲۰-۲۰۲۴ (خارج از نمونه) تست میشد.
سناریو ۳: استراتژی نوسانگیری در کریپتو
یک توسعهدهنده یک استراتژی بر پایه بازگشت به میانگین برای بیتکوین طراحی میکند. دادههای موجود از سال ۲۰۱۴ موجود است. او تصمیم میگیرد از سال ۲۰۱۷ استفاده کند زیرا معتقد است بازار پس از آن “بالغتر” شده است. اشکال: با محدود کردن بازه به ۲۰۱۷، او دورههای نوسان شدید سال ۲۰۱۷-۲۰۱۸ (حباب و سقوط بزرگ) و همچنین دوره رشد انفجاری ۲۰۲۰-۲۰۲۱ را به درستی پوشش نمیدهد. استراتژی نوسانگیری در بازارهای بسیار روندی مانند کریپتو در دورههای رشد، عملکرد ضعیفی خواهد داشت. راه حل: برای داراییهای با سابقه کوتاه اما نوسانات بالا، باید از کل تاریخچه دادههای معتبر استفاده شود و به جای حذف دورههای مشکلساز، استراتژی باید برای مدیریت ضرر در آن دورهها (از طریق حد ضرر مناسب) تنظیم شود. بازه زمانی بکتست باید کل تاریخچه وجودی دارایی را شامل شود تا تمام چرخههای حباب و فروپاشی پوشش داده شوند.
جمعبندی نهایی در انتخاب دوره تاریخی
انتخاب بازه زمانی بکتست یک فرآیند تصمیمگیری پیچیده است که مستلزم توازن بین عمق تاریخی و مرتبط بودن دادهها با ساختار بازار فعلی است. هیچ عدد جادویی واحدی برای همه استراتژیها وجود ندارد. اما با پیروی از اصول زیر میتوان به یک بازه زمانی معتبر دست یافت:
۱. تطابق با افق معاملاتی: بازه زمانی بکتست باید همواره حداقل چندین برابر طولانیتر از افق معاملاتی استراتژی مورد نظر باشد تا چرخههای بازار پوشش داده شوند.
۲. پوشش شرایط حدی: اطمینان حاصل کنید که دادههای شما شامل حداقل یک دوره نوسان بسیار بالا، یک دوره رنج طولانی، و یک بحران اقتصادی بزرگ باشد. ۳. استفاده از دادههای خارج از نمونه: همواره بخشی از دادهها را برای اعتبارسنجی نهایی نگه دارید و هرگز اجازه ندهید پارامترها بر اساس کل بازه بکتست بهینه شوند. ۴. توجه به ماهیت بازار: بکتست در کریپتو نیاز به پوشش دورههای نوسان شدید دارد، در حالی که فارکس نیازمند پوشش چرخههای اخبار اقتصادی است. ۵. حداقلسازی بیشبرازش: اگر در یک بازه کوتاه عملکرد فوقالعادهای به دست آوردید، آن را به عنوان یک زنگ خطر در نظر بگیرید و بازه زمانی بکتست را افزایش دهید تا اعتبار آن به چالش کشیده شود.
انتخاب صحیح بازه زمانی بکتست نه تنها به کاهش ریسک در معاملات واقعی کمک میکند، بلکه به معاملهگر دیدگاهی واقعبینانه نسبت به محدودیتها و نقاط قوت استراتژی خود میدهد، امری که سنگ بنای موفقیت پایدار در بازارهای مالی است.
دیدگاهها (0)