بکتستینگ روش کلی برای ارزیابی عملکرد یک استراتژی یا مدل پس از وقوع است. این روش امکانسنجی یک استراتژی معاملاتی را با بررسی نحوه عملکرد آن با استفاده از دادههای تاریخی ارزیابی میکند. اگر بکتستینگ موفق باشد، معاملهگران و تحلیلگران ممکن است اعتماد لازم برای بهکارگیری آن در آینده را پیدا کنند.
نکات کلیدی
- بکتستینگ امکانسنجی یک استراتژی معاملاتی یا مدل قیمتگذاری را با بررسی نحوه عملکرد آن بهصورت گذشتهنگر با استفاده از دادههای تاریخی ارزیابی میکند.
- نظریه زیربنایی این است که هر استراتژی که در گذشته عملکرد خوبی داشته، به احتمال زیاد در آینده نیز عملکرد خوبی خواهد داشت، و برعکس، هر استراتژی که در گذشته عملکرد ضعیفی داشته، به احتمال زیاد در آینده نیز عملکرد ضعیفی خواهد داشت.
- هنگام آزمایش یک ایده با دادههای تاریخی، مفید است که دورهای از دادههای تاریخی را برای اهداف آزمایشی کنار بگذارید. اگر موفق باشد، آزمایش آن در دورههای زمانی جایگزین یا دادههای خارج از نمونه میتواند به تأیید امکانسنجی بالقوه آن کمک کند.
درک بکتستینگ
بکتستینگ به معاملهگر اجازه میدهد یک استراتژی معاملاتی را با استفاده از دادههای تاریخی شبیهسازی کند تا نتایج را تولید کرده و ریسک و سودآوری را قبل از به خطر انداختن سرمایه واقعی تحلیل کند.
یک بکتستینگ خوب که نتایج مثبتی به همراه دارد، به معاملهگران اطمینان میدهد که استراتژی از نظر بنیادی معتبر است و احتمالاً در صورت اجرا در واقعیت سودآور خواهد بود. در مقابل، یک بکتستینگ خوب که نتایج غیربهینهای تولید میکند، معاملهگران را به تغییر یا رد استراتژی ترغیب میکند.
مهم
استراتژیهای معاملاتی پیچیده، مانند استراتژیهای اجرا شده توسط سیستمهای معاملاتی خودکار، به شدت به بکتستینگ وابسته هستند تا ارزش خود را اثبات کنند، زیرا ارزیابی آنها به روش دیگری بسیار دشوار است.
تا زمانی که یک ایده معاملاتی قابل کمیسازی باشد، میتوان آن را بکتست کرد. برخی از معاملهگران و سرمایهگذاران ممکن است از تخصص یک برنامهنویس حرفهای برای تبدیل ایده به فرمی قابل آزمایش استفاده کنند. معمولاً این شامل برنامهنویسی ایده در زبان اختصاصی پلتفرم معاملاتی است.
برنامهنویس میتواند متغیرهای ورودی تعریفشده توسط کاربر را که به معاملهگر اجازه میدهد سیستم را «تنظیم» کند، در نظر بگیرد. به عنوان مثال، در سیستم تقاطع میانگین متحرک ساده (SMA)، معاملهگر میتواند طول دو میانگین متحرک استفادهشده در سیستم را وارد کرده یا تغییر دهد. سپس معاملهگر میتواند بکتست کند تا مشخص کند کدام طولهای میانگین متحرک بهترین عملکرد را در دادههای تاریخی داشتهاند.
سناریوی ایدهآل بکتستینگ
بکتست ایدهآل دادههای نمونه را از یک دوره زمانی مرتبط با مدت زمانی انتخاب میکند که شرایط مختلف بازار را منعکس میکند. به این ترتیب، میتوان بهتر قضاوت کرد که آیا نتایج بکتست نتیجه یک تصادف هستند یا نشاندهنده یک معامله معتبر.
مجموعه دادههای تاریخی باید شامل نمونهای واقعاً نماینده از سهام باشد، از جمله سهام شرکتهایی که در نهایت ورشکست شده یا فروخته شده یا منحل شدهاند. در غیر این صورت، استفاده تنها از دادههای سهام تاریخی که امروز هنوز وجود دارند، در بکتستینگ بازدههای غیرواقعی بالا تولید خواهد کرد.
بکتست باید تمام هزینههای معاملاتی، هرچند ناچیز، را در نظر بگیرد، زیرا این هزینهها میتوانند در طول دوره بکتستینگ جمع شوند و به طور قابلتوجهی بر ظاهر سودآوری یک استراتژی تأثیر بگذارند. معاملهگران باید اطمینان حاصل کنند که نرمافزار بکتستینگ آنها این هزینهها را در نظر میگیرد.
آزمایش خارج از نمونه و آزمایش عملکرد پیشرو تأیید بیشتری در مورد اثربخشی یک سیستم ارائه میدهند و میتوانند ویژگیهای واقعی یک سیستم را قبل از به خطر افتادن پول واقعی نشان دهند. همبستگی قوی بین نتایج بکتستینگ، آزمایش خارج از نمونه و آزمایش عملکرد پیشرو برای تعیین امکانسنجی یک سیستم معاملاتی حیاتی است.
بکتستینگ در مقابل آزمایش عملکرد پیشرو
آزمایش عملکرد پیشرو، که به عنوان معامله کاغذی نیز شناخته میشود، مجموعه دیگری از دادههای خارج از نمونه را به معاملهگران ارائه میدهد تا یک سیستم را ارزیابی کنند. آزمایش عملکرد پیشرو شبیهسازی معاملات واقعی است و شامل دنبال کردن منطق سیستم در یک بازار زنده است. به آن معامله کاغذی نیز گفته میشود زیرا تمام معاملات فقط روی کاغذ اجرا میشوند؛ یعنی ورودیها و خروجیهای معاملات همراه با هر سود یا زیان برای سیستم مستند میشوند، اما هیچ معامله واقعی اجرا نمیشود.
جنبه مهم آزمایش عملکرد پیشرو این است که باید منطق سیستم را دقیقاً دنبال کرد؛ در غیر این صورت، ارزیابی دقیق این مرحله از فرآیند دشوار، اگر نه غیرممکن، میشود. معاملهگران باید در مورد هر ورودی و خروجی معامله صادق باشند و از رفتارهایی مانند انتخاب گزینشی معاملات یا مستند نکردن یک معامله روی کاغذ با این توجیه که «هرگز آن معامله را انجام نمیدادم» اجتناب کنند. اگر معاملهای بر اساس منطق سیستم رخ داده باشد، باید مستند و ارزیابی شود.
بکتستینگ در مقابل تحلیل سناریو
در حالی که بکتستینگ از دادههای تاریخی واقعی برای آزمایش تناسب یا موفقیت استفاده میکند، تحلیل سناریو از دادههای فرضی استفاده میکند که نتایج احتمالی مختلف را شبیهسازی میکند. به عنوان مثال، تحلیل سناریو تغییرات خاصی در ارزش اوراق بهادار پرتفوی یا عوامل کلیدی مانند تغییر در نرخ بهره را شبیهسازی میکند.
تحلیل سناریو معمولاً برای تخمین تغییرات در ارزش پرتفوی در پاسخ به یک رویداد نامطلوب استفاده میشود و ممکن است برای بررسی یک سناریوی بدترین حالت نظری به کار رود.
برخی از مشکلات بکتستینگ
برای اینکه بکتستینگ نتایج معناداری ارائه دهد، معاملهگران باید استراتژیهای خود را توسعه داده و آنها را با حسن نیت آزمایش کنند، و تا حد امکان از سوگیری اجتناب کنند. این به این معناست که استراتژی باید بدون تکیه بر دادههای استفادهشده در بکتستینگ توسعه یابد.
این کار سختتر از آن چیزی است که به نظر میرسد. معاملهگران معمولاً استراتژیها را بر اساس دادههای تاریخی میسازند. آنها باید در آزمایش با مجموعههای دادهای متفاوت از آنهایی که مدلهایشان را روی آنها آموزش دادهاند، سختگیر باشند. در غیر این صورت، بکتست نتایج درخشانی تولید خواهد کرد که هیچ معنایی ندارند.
به طور مشابه، معاملهگران باید از دادهکاوی اجتناب کنند، که در آن مجموعه وسیعی از استراتژیهای فرضی را در برابر یک مجموعه داده یکسان آزمایش میکنند، که همچنین موفقیتهایی تولید خواهد کرد که در بازارهای واقعی شکست میخورند، زیرا استراتژیهای نامعتبر زیادی وجود دارند که به طور اتفاقی در یک دوره زمانی خاص بازار را شکست میدهند.
یکی از راههای جبران تمایل به دادهکاوی یا انتخاب گزینشی این است که از استراتژیای استفاده کنید که در دوره زمانی مرتبط یا داخل نمونه موفق بوده و آن را با دادههای یک دوره زمانی متفاوت یا خارج از نمونه بکتست کنید. اگر بکتستهای داخل نمونه و خارج از نمونه نتایج مشابهی تولید کنند، احتمال بیشتری وجود دارد که معتبر باشند.















نظرات کاربران