
سبک استراتژی (Strategy style)
آوریل 3, 2025
انواع تستهای استحکام در SQX (Types of robustness tests in SQX)
آوریل 3, 2025استحکام (Robustness) چیست؟
بزرگترین خطر در استراتژیهایی که با استفاده از یادگیری ماشینی تولید میشوند، **بیشبرازش (Overfitting)** به دادههای تاریخی است.
در طول یا پس از طراحی استراتژی، باید مطمئن شوید که استراتژی شما استحکام کافی دارد — این موضوع احتمال موفقیت آن در آینده را افزایش میدهد.
استحکام به معنی توانایی استراتژی برای سازگاری با شرایط متغیر بازار است:
- استراتژی باید روی دادههای ناشناخته نیز عملکرد مناسبی داشته باشد (در صورت عدم تغییر ویژگیهای بازار)، با یا بدون بهینهسازی دورهای پارامترها
- نباید با از دست رفتن چند معامله دچار اختلال شود
- نباید نسبت به ورودیها بیش از حد حساس باشد – برای مثال اگر دورهی اندیکاتورها یا دادهها کمی تغییر کنند (مثل اسپرد یا اسلیپیج)، همچنان باید عملکرد قابل قبولی داشته باشد
اولین و سادهترین تست برای بررسی استحکام، **تست روی دادههای خارج از نمونه (Out of Sample)** است.
در حالت تکامل ژنتیکی، استراتژی تنها روی بخش In Sample دادهها بهینه میشود. بنابراین بخش Out of Sample برای تست واقعی آن استفاده میشود.
بررسیهای متقاطع خودکار در SQ X
Cross Checkها روشهای تکمیلی هستند که پس از عبور استراتژی از فیلترهای اولیه، روی آن اجرا میشوند.
برای آموزش بیشتر به مقاله استفاده از Cross Check در Builder و Retester مراجعه کنید.
بررسیهای متقاطع میتوانند استحکام استراتژی را از جنبههای مختلف ارزیابی کنند:
– اجرای استراتژی در بازارهای دیگر
– استفاده از شبیهسازیهای مونتکارلو
– تستهای Walk-Forward یا ماتریسی
میتوانید از **فیلترهای Cross Check** استفاده کنید تا اگر استراتژی در آن مرحله قبول نشد، حذف شود. این امکان به شما اجازه میدهد تا یک **قیف فیلترگذاری مرحلهبهمرحله** بسازید.
– **پایهای (Basic)**
– **استاندارد (Standard)**
– **پیشرفته (Extensive)**
که به ترتیب از ساده به پیچیده و زمانبر هستند.> ⚠️ توجه: اجرای Cross Check میتواند بسیار زمانبر باشد!
> برخی از آنها هزاران تست روی استراتژی انجام میدهند. مثلاً استراتژیای که در ۰.۲ ثانیه ساخته میشود، ممکن است در Cross Check بیش از ۲۰ تا ۲۰۰ ثانیه زمان ببرد.
—
موارد کاربرد بررسیهای متقاطع
نمونهای از کاربرد Cross Checkها به این صورت میتواند باشد:
- Cross check با **دقت بالاتر (Retest with higher precision)**
- Cross check با **شبیهسازی معاملات (Monte Carlo trades manipulation)**
- Cross check با **تست روی بازارهای دیگر (Retest on additional markets)**
- Cross check اختیاری با **روشهای مختلف مونتکارلو (Monte Carlo retest methods)**
فرآیند به شکل زیر خواهد بود:
- استراتژی بهصورت تصادفی تولید شده و با دقت سریع اولیه (مانند Selected timeframe) تست میشود
- اگر از فیلترهای اولیه عبور نکند (مثلاً تعداد معاملات کم یا سود خالص < 1000 دلار)، حذف میشود
- در Cross Check اول، استراتژی با دقت بالاتر مانند تایم دقیقهای یا تیک واقعی دوباره تست میشود
- در Cross Check دوم، با استفاده از شبیهسازی مونتکارلو، سناریوهای مختلفی از معاملات انجام میشود
- در Cross Check سوم، استراتژی روی بازارها یا تایمفریمهای دیگر تست میشود
- در Cross Check چهارم (اختیاری)، دهها یا صدها بکتست جدید با تغییرات کوچک در پارامترها، اسپرد، دادههای تاریخی و غیره انجام میشود
اگر استراتژی همه این مراحل را با موفقیت پشت سر بگذارد، وارد دیتابیس میشود و میتوان با اطمینان نسبی از استحکام آن صحبت کرد
برای اطلاعات بیشتر، بخش تستهای استحکام – Cross Checks را ببینید.