بهینه‌یابی‌ و بک‌تست ، یک روح در دو بدن

بهینه‌یابی‌ و بک‌تست، یک روح در دو بدن

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

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

00-بهینه‌یابی‌ و بک‌تست ، یک روح در دو بدن
00-بهینه‌یابی‌ و بک‌تست ، یک روح در دو بدن

بنابراین بازه‌ی زمانی ای که تنها یک معامله از استراتژی را شامل شده دارای خطای 100 درصدی ، دو معامله دارای خطای 50 درصدی و همینطور الی آخر خواهد بود. بنابراین برای رسیدن به خطای 5 درصدی به 400 معامله نیاز خواهیم داشت این راهنمای خوبی برای انتخاب بازه‌ی مورد نیاز برای بک‌تست خواهد بود . باید دو نکته را در نظر بگیرید ذات این فرمول یک ذات بدبین است و من فکر می‌کنم این نوع از رفتار برای یک فرمول سنجش خطا رفتار مناسبی است بدین معنا که هرچه تعداد معاملات افزایش یابد توان هر معامله در کاهش خطای نمونه کاهش می‌یابد به بیان دیگر تبدیل خطایی صد درصدی به خطایی پنجاه درصدی بسیار ساده تر از تبدیل خطای پنج درصدی به خطای چهار درصدی خواهد بود، این موضوع کار را برای استراتژی های پیرو روندی سخت و افزایش اعتبار را برای استراتژی های سریع دشوار خواهد کرد.

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

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

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

01-بهینه‌یابی‌ و بک‌تست ، یک روح در دو بدن
01-بهینه‌یابی‌ و بک‌تست ، یک روح در دو بدن
0 0 رای ها
امتیازدهی به مقاله
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
سبد خرید
هیچ محصولی در سبد خرید وجود ندارد!
خرید را ادامه دهید