چگونه برازش ناخواسته یا اصطلاحا overfitting را در بک‌تست یک استراتژی معاملاتی تشخیص دهیم؟

همانطور که در مقاله‌ی قبلی بیان کردیم برازش ناخواسته در طی چرخه‌ی طراحی و توسعه‌ی یک استراتژی برای معاملات الگوریتمی یکی از بزرگترین مخاطراتی است که با آن مواجه هستیم چرا که ممکن است این پدیده موجب ضرر های قابل توجهی در معاملات واقعی شود. در این مقاله سعی بر آن بوده تا شما را با برخی روش های تشخیص برازش در عملکرد استراتژی آشنا سازیم. در کنار قوانین اصلی هر استراتژی پارامتر هایی وجود دارند از جمله بازه ی محاسباتی اندیکاتور ها، حد ضرر و یا حد سود و پارامتر های دیگر که باید در مورد آن ها تصمیم بگیرید. به طور معمول پارامتر های منتخب تاثیر قابل ملاحظه ای بر روی نتایج بک تست شما خواهند داشت و با اضافه کردن هر پارامتر جدید خطر برازش به طرز قابل توجهی افزایش پیدا خواهد کرد.

00-چگونه برازش ناخواسته یا اصطلاحا overfitting را در بک‌تست یک استراتژی معاملاتی تشخیص دهیم؟
00-چگونه برازش ناخواسته یا اصطلاحا overfitting را در بک‌تست یک استراتژی معاملاتی تشخیص دهیم؟

از اتکای بیش از حد برروی پارامتر های بپرهیزید

برای پرهیز از گرفتار شدن در دام برازش یکی از اولین موضوعاتی که باید بررسی کنید کیفیت پارامتر های مورد استفاده می‌باشد. به این منظور  با تغییر پارامتر های استراتژی خود تاثیر آن را بر روی معیار مطلوبیت در طی دوره بک تست بسنجید.

برای مثال در صورتی که استراتژی شما عملکرد خوبی با استفاده از پریود 14 برای اندیکاتور RSI از خود نشان داده باید نتایجی نسبتا مشابه را با دوره ی محاسباتی 21 و 7 نیز داشته باشد. در غیر این صورت عملکرد استراتژی شما با احتمال بالایی دچار overfitting یا برازش است. به نمودار زیر رابطه ی میان تغییر یکی از پارامتر ها و سود کل را آشکار می‌ کند توجه کنید. هرچند سود کل معیار مورد اعتمادی برای پیدا کردن پارامتر های منتخب نیست اما این مثال به درک شما از این روش تشخیص برازش عملکرد کمک خواهد کرد.

01-چگونه برازش ناخواسته یا اصطلاحا overfitting را در بک‌تست یک استراتژی معاملاتی تشخیص دهیم؟
01-چگونه برازش ناخواسته یا اصطلاحا overfitting را در بک‌تست یک استراتژی معاملاتی تشخیص دهیم؟

همانطور که مشاهده می‌کنید در نمودار سمت چپ سود استراتژی (محور عمودی) دارای وابستگی زیادی به مقدار پارامتر انتخاب شده(محور افقی) می‌باشد این وابستگی اعتبار عملکرد را کاهش می‌دهد بهتر آن است که تا پیدا کردن نموداری مانند نمودار سمت راست برروی قوانین اصلی استراتژی خود کار کرده و کیفیت آن هارا افزایش دهید. بی شک برای این روش تنها واژه ی وابستگی کافی نیست بلکه باید محاسباتی کمی برای درک چگونگی تاثیر پارامتر بر معیار مطلوب صورت پذیرد که این موضوع در حیطه ی مهارت های کارشناس بهینه‌یابی خواهد بود. در صورتی که استراتژی شما دارای بیش از یک پارامتر است تست را بر روی پارامتر ها انجام داده و محدوده‌ی پایدار پیدا کنید.

02-چگونه برازش ناخواسته یا اصطلاحا overfitting را در بک‌تست یک استراتژی معاملاتی تشخیص دهیم؟
02-چگونه برازش ناخواسته یا اصطلاحا overfitting را در بک‌تست یک استراتژی معاملاتی تشخیص دهیم؟

در نمودار بالا من تستی برای تشخیص وابستگی سود کل با دو پارامتر استراتژی انجام داده ام. سود ها به شکل رنگ کد شده اند، در طیف رنگ های نمودار رنگ سبز نشان دهنده ی سود و رنگ قرمز نشان دهنده ی ضرر است.

توصیه‌ی من به شما این است که اگر سودکل را به عنوان معیار مطلوبیت خود برگزیده اید جفت پارامتری که موجب بالا ترین سوده شده را به عنوان نتیجه‌ی نهایی انتخاب نکنید(چنین انتخابی را با رنگ سبز پررنگ در نمودار بالا مشاهده می‌کنید.) چرا که ممکن است چنین نتیجه ای تنها مبتنی بر شانس باشد و با احتمال قابل توجهی استراتژی در معاملات واقعی عملکرد مشابه نخواهد داشت. راه حل بهتر آن است که جفت پارامتری را انتخاب کنید که در میانه ی منطقه ای سبز رنگ قرار دارد. ممکن است که این بهترین راه حل نباشد اما شانس عملکرد مشابه در معاملات واقعی بسیار بالا تر از شیوه ی اشتباهی است که بیان کردیم.

 

بهینه‌یابی یپشروی پارامتر ها

شما می‌توانید تست پایداری که بدان پرداختیم را بر روی قسمت های مختلفی از داده های گذشته‌ی خود اجرا کنید. برای این موضوع مانند گذشته سعی در پیدا کردن مناطق پایدار در نتایج داشته باشید

برای مثال هر یک سال در داده های گذشته را تست کنید در صورتی که این مناطق پایدار از سالی به سال دیگر دچار تفاوت های چشم‌گیری هستند به احتمال زیاد عملکرد استراتژی شما دچار برازش است. اما در صورتی که منطقه ی نسبتا مشابه یا به عبارت دیگر محدوده ی مشخصی از پارامتر ها که دارای ویژگی پایداری در هر یک سال نیز هست در تمام سال ها تکرار می‌شود می‌توان نتایج مشابهی را در معاملات واقعی نیز انتظار داشت.

 

اضافه کردن نویز به داده

تست پایداری یکی از راه های تشخیص برازش در عملکرد استراتژی بود راه دیگری که برای تشخیص این موضوع مورد استفاده قرار می‌گیرد اضافه کردن نویز به داده های قیمتی است. با تغییر و دست بردن جزئی در داده های اصلی بازار مطمئننا خیلی سریع به نقاط ضعف استراتژی خود پی خواهید برد شیوه ی انجام این کار را در مقالات بعدی بررسی خواهیم کرد. همچنین در کنار اضافه کردن نویز به داده های بازار می‌توانید پروسه ی روند زدایی را بر روی آن انجام داده یا مقداری نوسان به داده های بازار اضافه کنید. در صورتی که استراتژی تنها بر روی داده های قیمتی خام عملکرد خوبی از خود نشان می‌دهد به قطع می‌توان گفت عملکرد استراتژی شما دچار برازش و نقص هایی است.

03-چگونه برازش ناخواسته یا اصطلاحا overfitting را در بک‌تست یک استراتژی معاملاتی تشخیص دهیم؟
03-چگونه برازش ناخواسته یا اصطلاحا overfitting را در بک‌تست یک استراتژی معاملاتی تشخیص دهیم؟

آیا در تصویر بالا تفاوت میان داده های قیمتی خام و داده های دارای نویز را متوجه شدید؟ به شخصه می‌توانم بگویم تشخیص تفاوت این دو کار دشواری است بنابراین استراتژی باید عملکردی نسبتا مشابه بر روی هر دو داده داشته باشد اما به نمودار زیر توجه کنید.

04-چگونه برازش ناخواسته یا اصطلاحا overfitting را در بک‌تست یک استراتژی معاملاتی تشخیص دهیم؟
04-چگونه برازش ناخواسته یا اصطلاحا overfitting را در بک‌تست یک استراتژی معاملاتی تشخیص دهیم؟

به نظر می‌رسد عملکرد استراتژی بر روی داده های دارای نویز افت قابل توجهی داشته است این یکی دیگر از نشانه های است که به ما در مورد وجود برازش هشدار می‌دهد و این استراتژی با احتمال زیاد در معاملات واقعی عملکردی مشابه نخواهد داشت.توصیه می‌کنم در صورت شکست در هر یک از این تست ها به بوم طراحی بازگشته و تلاش خود را برروی بهبود منطق استراتژی خود متمرکز سازید.

 

تست پایداری بر روی بازار های مشابه

اگر به این مرحله رسیده اید شما در گذراندن تست های پایداری و نویز موفق بوده اید اما متاسفانه حتی در این مرحله اطمینان کاملی از عملکرد مشابه استراتژی در آینده و بر روی داده های خارج از نمونه وجود ندارد. برای اطمینان از کارکرد درست استراتژی آن را بر روی سهام متفاوت و یا دارایی های قابل معامله ‌ی دیگر بسنجید یک استراتژی مطلوب در 70 تا 80 درصد تست ها سود ده خواهد بود. انتظار یک منحنی بی نقص سود در هر یک از این سهام یا دارایی ها را نداشته باشید اما حداقل سود کم و یا سربه سر برای بیشتر آن ها مورد انتظار است. یک استراتژی با کیفیت پیوسته بدون نیاز به تنظیم پارامتر ها نتایجی پایدار در بازار ها و سهام مختلف خواهد داشت. مگر آنکه با یک استراتژی گوشه مواجه باشیم که در مقالات قبل به آن اشاره کردیم.

 

ایجاد تاخیر در سفارش های ورود و خروج

یکی دیگر از راه های تشخیص برازش ایجاد تاخیر در سفارش های ورود و خروج به میزان یک یا دو کندل است در صورتی که این کار نتایح مطلوب استراتژی را از بین ببرد شما نشانه ای محکم مبنی بر وجود برازش خواهید داشت. رد شدن استراتژی در چنین تستی حاکی از آن است که وابستگی شما به زمانبندی دقیق بیش از اندازه است. یک سیگنال ورود با کیفیت باید در مقابل زمان تا اندازه ی مشخصی حاشیه و انعطاف از خود نشان دهد. بنابراین زمانی بندی دقیق نباید نتایج عملکرد استراتژی تحت تاثیر قرار دهد.

 

جابجایی سفارش های شرطی

در صورتی که استراتژی شما از سفارش های شرطی استفاده می‌کند می‌توانید مقداری نویز به سطوح مورد استفاده برای سفارش ها اضافه کنید. پس به جای شروطی مانند ” خرید برروی بالاترین قیمت کندل بعدی” می‌توانید درصد کمی از نویز بر مبنای نوسان را به این سفارش ها تزریق کنید. برای مثال نتایج یک استراتژی خرید یا فروش بر روی بالاترین قیمت نوسان قبل باید نتایجی مشابه یا نزدیک با حالتی داشته باشد که به این سطوح کمی نویز اضافه شده. این تست از اعتبار بسیار بالایی برای استراتژی های تشخیص الگو برخوردار است.

 

درجه ی اوج نمودار بازده ها

به طور معمول برای ارائه‌ی برجستگی، از درجه اوج مضاعف استفاده می‌شود که مشاهده‌ی یک توزیع غیر نرمال را آسان تر می‌کند KE = K –3 به طوری که K معادل درجه اوج معمول و KE معادل درجه اوج مضاعف می‌باشد.

درصورتی که درجه اوجی با مقدار بالاتر از 7 یا 8 برای نمودار توزیع بازده استراتژی مشاهده کردید باید بلافاصله به برازش عملکرد استراتژِی خود مشکوک شوید. چرا که به زبان ساده این موضوع نشان دهنده ی وجود تعداد زیادی معامله با سود پایانی یکسان است که چنین اتفاقی به طور  معمول در معاملات واقعی نادر است.

5 1 رای
امتیازدهی به مقاله
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
سبد خرید
هیچ محصولی در سبد خرید وجود ندارد!
خرید را ادامه دهید