بک تست (Backtest) یا پیش آزمون چیست؟

بک تست چیست؟
بک تست چیست؟
بک تستینگ یک روش کلی برای این است که ببینیم در زمان پس از رویداد، یک استراتژی یا مدل چقدر خوب میتوانست عمل کند. این روش با استفاده از دادههای تاریخی [1] قابلیت اجرایی شدن یک استراتژی معاملاتی را از طریق کشف نحوه انجام آن ارزیابی میکند. در صورتی که پیشآزمون جواب بدهد، معاملهگران و تحلیلگران ممکن است از بهکارگیری آن در آینده اطمینان حاصل کنند.
نکات کلیدی
1- بک تست کردن قابلیت اجرایی شدن یک استراتژی معاملاتی [2] یا مدل قیمتگذاری را با کشف چگونگی انجام آن به صورت گذشتهنگر با استفاده از دادههای تاریخی ارزیابی میکند.
2- نظریهی بنیادی این است که هر استراتژی که در گذشته خوب عمل کرده است، احتمالاً در آینده نیز خوب عمل خواهد کرد و بر عکس هر استراتژی که در گذشته ضعیف عمل کرده است، احتمالاً در آینده نیز ضعیف عمل خواهد کرد.
3- هنگام آزمایش یک ایده با دادههای تاریخی، ذخیره یک دوره زمانی از دادههای تاریخی برای اهداف آزمایشی سودمند است. اگر آزمون موفقیتآمیز باشد، آزمایش آن بر روی دورههای زمانی دیگر یا دادههای خارج از نمونه به تأیید قابلیت اجرایی شدن بالقوهی آن کمک میکند.
دوره جامع آموزش معاملات الگوریتمی
برای سودسازی در بازارها با فناوریهای نوین در خودکارسازی معاملات و یادگیری معاملات الگوریتمی – Algorithmic Trading با زبان برنامهنویسی پایتون – Python همین الان کلیک کنید.
بیشتر بخوانید: معاملات فرکانس بالا چیست؟

مفهوم Backtest
این روش به معاملهگر اجازه میدهد تا با استفاده از دادههای تاریخی و قبل از ریسک کردن روی سرمایهی واقعی، یک استراتژی معاملاتی را برای ایجاد نتایج و تحلیل ریسک و سودآوری شبیهسازی کند.
بک تستی که به خوبی اجرا شده و نتایج مثبت به همراه داشته، به معاملهگران این اطمینان را میدهد که استراتژی مورد نظر از نظر بنیادی درست بوده و در صورت اجرا در واقعیت، احتمالاً منجر به سود خواهد شد.
در مقابل، بک تستی که به خوبی اجرا شده و نتایجی غیربهینه به همراه داشته، معاملهگران را به تغییر یا رد کردن استراتژی ترغیب میکند.
استراتژیهایی نظیر استراتژیهای بهکارگرفته شده توسط سیستمهای معاملاتی خودکار که به طور ویژهای پیچیده هستند، برای اثبات ارزش خود به شدت به بک تستینگ تکیه دارند، چرا که این استراتژیها برای ارزیابی به روشی دیگر بسیار محرمانه میباشند.
تا زمانی که امکان کمیسازی یک ایدهی معاملاتی وجود دارد، میتواند بک تست شود. برخی از معاملهگران و سرمایهگذاران ممکن است به دنبال بهکارگرفتن یک برنامهنویس شایسته برای توسعه ایده به شکلی آزمونپذیر باشند. به طور معمول، این امر شامل برنامهنویسی است که ایده را در قالب زبان اختصاصی میزبانی شده توسط پلتفرم معاملاتی [3]، کدنویسی میکند.
برنامهنویس میتواند متغیرهای قابل تعریف توسط کاربر را ترکیب کند تا به معاملهگر اجازهی بهینهسازی سیستم را بدهد. یک نمونه از این، سیستم متقاطع میانگین متحرک ساده (SMA) [4] است. معاملهگر قادر است طول دورهی دو میانگین متحرک مورد استفاده در سیستم را وارد کند (یا تغییر دهد). سپس معاملهگر قادر خواهد بود تا با انجام بک تست تعیین کند که کدام دوره از میانگینهای متحرک بهترین عملکرد را بر روی دادههای تاریخی دارند.
بیشتر بخوانید: ساختار سرمایه چیست؟
سناریوی ایده آل برای بک تست
بک تست ایدهآل دادههای نمونه را از یک دورهی زمانی مرتبط که گسترهای از شرایط بازار را منعکس میکند، انتخاب مینماید. به این ترتیب، میتوان از اینکه نتایج بک تست نشاندهندهی یک موفقیت تصادفی است یا یک معاملهی منطقی و درست قضاوت بهتری داشت.
مجموعه دادههای تاریخی میبایست شامل نمونهای از سهام که نماینده صحیحی است باشد، از جمله سهام شرکتهایی که در نهایت ورشکسته شدهاند یا به فروش رفتهاند و یا منحل شدهاند. گزینهی دیگر که تنها شامل دادههایی از سهام تاریخی است که امروزه همچنان فعال هستند، بازدههای مصنوعی بالا در Backtesting ایجاد خواهد کرد.
یک بک تست باید تمامی هزینههای معاملاتی [5] را، هرچند ناچیز، در نظر بگیرد، چرا که این هزینهها میتوانند در طول دورهی گرفتن پیشآزمون روی هم جمع شده و ظاهر سودآوری یک استراتژی را به شدت تحت تأثیر قرار دهند. معاملهگران باید از این امر اطمینان حاصل کنند که نرمافزار بک تستینگ آنها این هزینهها را محاسبه میکند.
آزمون خارج از نمونه (Out-of-Sample Testing) و آزمون عملکرد رو به جلو (Forward Performance Testing) تاییدی مضاعف در خصوص اثربخشی یک سیستم ارائه میکند و میتواند نشاند دهندهی ماهیت واقعی یک سیستم، پیش از وجود پول واقعی در معرض ریسک باشد.
یک همبستگی [6] قوی بین نتایج بک تستینگ، آزمون خارج از نمونه و آزمون عملکرد رو به جلو برای تعیین قابلیت اجرا و ماندگاری یک سیستم معاملاتی حیاتی است.
بیشتر بخوانید: آموزش بورس
برای آشنایی با مفاهیمی مانند تورم، تولید ناخالص داخلی (GDP)، اشتغال و نرخ بیکاری، منحنی فیلیپس، مدل ماندل-فلیمینگ، رژیمهای نرخ بهره، بدهی دولت و کسری بودجه با کلیک روی دکمه زیر از ۱۰% تخفیف بیشتر برای ثبتنام استفاده کنید.
بیشتر بخوانید: الگوریتم چیست؟

بک تست کردن در مقابل آزمون عملکرد رو به جلو
آزمون عملکرد رو به جلو که تحت عنوان معاملات کاغذی [7]نیز شناخته میشود، مجموعهای دیگر از دادههای خارج از نمونه را برای معاملهگران فراهم میکند تا بتوانند به ارزیابی یک سیستم بر اساس آن ها بپردازند.
آزمون عملکرد رو به جلو یک شبیهسازی از معاملات واقعی است و در برگیرندهی پیروی از منطق یک سیستم در بازار واقعی (زنده) است. به این آزمون معاملات کاغذی نیز میگویند چرا که تمامی معاملات تنها روی کاغذ رخ میدهند. یعنی ورود به معاملات و خروج از آنها به همراه هرگونه سود و زیان سیستم ثبت میشود ولی هیچگونه معاملهای در واقعیت اجرا نمیشود.
یکی از جنبههای مهم آزمون عملکرد رو به جلو پیروی دقیق از منطق سیستم است. در غیر اینصورت، ارزیابی دقیق این مرحله از فرآیند اگر نگوییم غیرممکن، دشوار خواهد شد.
معاملهگران میبایست در خصوص هرگونه ورود و خروج معاملاتی صادق بوده و از رفتارهایی نظیر معاملات گزینشی و گلچین شده و یا عدم درج یک معامله روی کاغذ با این توجیه که “من هرگز چنین معامله ای را انجام نمی دادم.” خودداری کنند. اگر یک معامله مطابق منطق سیستم رخ میداد، باید ثبت و ارزیابی شود.
بیشتر بخوانید: وارن بافت

پیشآزمون در مقابل تحلیل سناریو
در حالی که در بک تست از دادههای واقعی تاریخی برای تست تناسب یا موفقیت استفاده میشود، تحلیل سناریو [8] با استفاده از دادههای فرضی نتایج احتمالی مختلف را شبیهسازی میکند. بهعنوان نمونه، تحلیل سناریو تغییرات خاص در ارزش اوراق بهادار [9] پورتفوی یا عوامل کلیدی مانند تغییر در نرخ بهره که رخ میدهند را شبیهسازی میکند.
تحلیل سناریو معمولاً برای برآورد تغییرات در ارزش پورتفوی در پاسخ به یک رویداد نامطلوب استفاده میشود و ممکن است برای بررسی بدترین سناریوی (Worst-Case Scenario) نظری مورد استفاده قرار گیرد.
بیشتر بخوانید: مدیریت ریسک
شماری از تلههای بک تست
برای اینکه بک تست نتایجی معنیدار فراهم کند، معاملهگران میبایست استراتژیهای خود را با حسن نیت توسعه داده و تست کنند. این امر به این معنی است که استراتژی باید بدون تکیه بر دادههای مورد استفاده در این روش توسعه داده شود.
این کار سختتر از چیزی است که به نظر میرسد. معاملهگران معمولاً استراتژیها را بر اساس دادههای تاریخی میسازند. آنها باید در خصوص آزمون مجموعهای از دادههای متفاوت از دادههایی که مدل بر اساس آنها توسعه داده شده است، سختگیر باشند. در غیر اینصورت، بک تست نتایج درخشانی ایجاد میکند که هیچ معنایی ندارد.
به طور مشابه، معامله گران باید از لایروبی داده (Data Dredging) [10] اجتناب کنند که طی آن گسترهی وسیعی از استراتژیهای فرضی بر روی مجموعهای از دادههای یکسان تست شده و موفقیتهایی نیز بدست میآوردند که در بازارهای واقعی (زنده) شکست خواهند خورد؛ چرا که استراتژیهای نامعتبر زیادی وجود دارند که میتوانند به طور تصادفی در یک دورهی زمانی مشخص، بازدهی بالاتر از بازده متعارف بازار کسب کنند (Beating The Market).
یکی از راههای جبران میل به لایروبی داده (Data Dredge) یا گلچین کردن (Cherry-Picking) استفاده از استراتژی موفق در دادههای دورهی زمانی مربوطه یا داخل نمونه و بک تست آن با دادههایی از یک دورهی زمانی متفاوت یا خارج از نمونه است. چنانچه بک تستهای سبدهای داخل نمونه و خارج از نمونه نتایجی مشابه داشت، احتمال اثبات اعتبار آنها بیشتر است.
منبع: Investopedia
بیشتر بخوانید: معاملات الگوریتمی
برای تحلیل بنیادی فارکس – Forex Fundamental Analysis نیازمند توانایی تحلیل شاخصهای اقتصادی و درک سیاستگذاری پولی هستید، با کلیک روی دکمه زیر از 10% تخفیف بیشتر برای ثبت نام استفاده کنید.
دیدگاهتان را بنویسید