
به صورت کلی میتوان بک تست کردن (بک تستینگ) را تحت عنوان یکی از مراحل مهم در روند بهینهسازی تعامل افراد با بازارهای مالی دانست. این فرایند به شما کمک میکند تا بتوانید از معنادار بودن ایدهها و استراتژیهای تبادل خود و از سودده بودن آنها اطمینان حاصل کنید.
بک تست کردن در حقیقت آزمایشی است که بر روی دادههای پیشین در دسترس ما صورت میگیرد و تلاش میکنیم تا با نتایج حاصل از این آزمایش، به بهترین نحو کلیتی از بازار پیش روی خود را بررسی کنیم.
اما بک تست کردن یک استراتژی ساده سرمایه گذاری به چه صورت است؟ هنگام آزمایش کردن استراتژیهای تریدینگ یا تبادل، باید چه چیزی را بیشتر مد نظر قرار دهیم؟ آیا بک تست کردن شبیه به تبادل کاغذی است؟ هدف ما پاسخ دادن به تمامی این سوالها در این مقاله است.
بک تست کردن چیست؟
بک تست کردن ابزاری است که شما ( به عنوان یک تریدر یا سرمایه گذار) در هنگام کاوش کردن بازارها و استراتژیهای جدید میتوانید از آن استفاده کنید. این شیوه میتواند بازخوردها یا فیدبکهای متفاوتی بر اساس داده داشته باشد و ایده اولیه شما را اعتبارسنجی میکند.
فارق از نوع دارایی که شما ترید میکنید، بک تست کردن شما را ملزم به ریسک کردن در رابطه با منابع مالی که به سختی به دست آوردهاید نمیکند. شما میتوانید با استفاده کردن از نرم افزار بک تستینگ در یک محیط شبیهسازی شده، رویکرد مخصوصی را برای ایجاد و یا بهینهسازی یک بازار، مورد استفاده قرار دهید. بیایید کمی به این مقوله بپردازیم.
در زمینه امور مالی، بک تست کردن با مورد آزمایش قرار دادن نحوه به انجام رسیدن استراتژی تبادل بر اساس پیشینه دادهها، میزان بقای استراتژی ترید مورد نظر را بررسی میکند. به عبارت دیگر، این شیوه از دادههای پیشین استفاده میکند تا بتواند طرز به انجام رسیدن یک استراتژی را ببیند. اگر بک تستینگ نتیجه مطلوبی داشت، تریدرها و سرمایه گذاران میتوانند گام بعدی را برداشته و استراتژی مورد نظر را در یک محیط حقیقی مورد استفاده قرار دهند.
اما در چنین موردی نتایج خوب به چه معنایی هستند؟ به صورت کلی باید گفت که هدف یک ابزار بک تستینگ در حقیقت تحلیل کردن خطرهای احتمالی و پتانسیل سوددهی یک استراتژی خاص است. استراتژی سرمایه گذاری میتواند بر اساس بازخوردهای آماری، رشد و بهینهسازی باشد تا نتایج احتمالی را به حداکثر بازدهی خود برسانیم. یک فرایند بک تستینگ در صورت صحیح اجرا شدن میتواند در حداقلترین حالت خود این اطمینان را به ما بدهد که استراتژی مورد آزمایش ما در صورت ورود به یک محیط تریدینگ حقیقی میتواند قابل اجرا باشد.
به شکل طبیعی، یک پلتفرم و یا ابزار بک تست کردن میتواند علاوه بر تمام مواردی که گفتیم، در راستای نشان دادن خطرناک بودن و یا قابل اجرا نبودن یک استراتژی نیز سودمند باشد. اگر نتایج حاصل شده از بک تست کردن ما حاکی از عملکرد غیربهینه باشند، ایده تبادل مورد نظر یا باید رد شود و یا باید آن را اصلاح کنیم. با این وجود، لازم است تا شایط بازاری که ایده ما در بستر آن مورد آزمایش قرار گرفته است را نیز در نظر داشته باشیم. این بدان معناست که همان روند یکسان بک تست کردن در شرایط متفاوتی از بازار میتواند نتایج متناقضی را نسبت به دفعه قبل نشان دهد.
در سطحی حرفهایتر، بک تست کردن استراتژیهای تبادلات امری بسیار مهم به حساب میآید به ویژه هنگامی که صحبت از استراتژیهای الگوریتمی تبادل ( به عنوان مثال تبادلات اتوماسیون شده) در میان باشد.
فرایند بک تست کردن چگونه عمل میکند؟
پیش فرض اصلی که پشت کل فرایند بک تستینگ قرار دارد به این صورت است که چیزی که در گذشته کار کرده و به نوعی جواب داده ممکن است در آینده نیز عملکرد مناسبی داشته باشد. با این حال، تشخیص این موضوع میتواند به امری دشوار مبدل شود. چیزی که ممکن است در محیط یک بازار خاص، سودده باشد میتواند در شرایط یک بازار دیگر عملکرد کاملا مخربی داشته باشد.
بک تست کردن با استفاده از مجموعه دادههایی که گمراهکننده هستند میتواند به نتایج نامطلوبی منجر شود. این امر دلیل اصلی اهمیت پیدا کردن یک نمونه خوب برای دوره بک تستینگ است که شرایط آن لحظه بازار را به خوبی منعکس کند. تمام موضوعاتی که در این رابطه و شرایط آن بیان کردیم میتوانند به صورت قابل ملاحظهای دشوار باشند زیرا بازار در شرایط دائما در حال تغییری قرار دارد.
پیش از اینکه یک استراتژی را مورد بک تست کردن قرار دهید تعیین کردن این امر که چه نتیجهای را میخواهید از این عمل دریافت کنید، میتواند به شما کمک کند. چه چیزی میتواند این استراتژی را قابل اجرا کند؟ در خلاف این جهت نیز این سوال مطرح است که چه چیزی میتواند فرضیات شما را بر هم بزند؟ اگر شما اطلاعات کافی را در مورد این پیش زمینهها داشته باشید، این امکان که نتایج حاصل شده از بک تستینگ بتوانند بنیان کار شما را تحت تاثیر قرار دهند کاهش مییابد.
فرایند بک تست کردن باید هزینه یا فی تبادلات و برداشتها و هر هزینه دیگری که ممکن است ایده شما به آن منجر شود را نیز شامل شود. این نکته نیز از اهمیت بالایی برخوردار است که نرم افزار بک تست کردن میتواند درست مانند دسترسی داشتن به دادههای با کیفیت بازار تا حدی گران قیمت باشد.
این را به خاطر داشته باشید که بک تست کردن در نهایت تنها یک آزمایش یا تست است. درست شبیه به تحلیل تکنیکال و نموداربندیها، هیچ تضمینی برای درست کار کردن این آزمایش وجود ندارد حتی در شرایطی که بک تست کردن ما نتایجی عالی و حاصل از دادههای پیشین را در اختیار ما قرار بدهد.
نمونههایی از بک تستینگ
بیایید یک استراتژی ساده طولانی مدت بیت کوین را بررسی کنیم.
این سیستم تبادل پیشنهادی ماست:
- ما بیت کوین را در اولین بسته هفتگی به میزان تقریبی بالاتر از حد میانگین ۲۰ هفته خریداری میکنیم.
- سپس بیت کوین را در اولین بسته هفتگی زیر میانگین متحرک ۲۰ هفته میفروشیم.
این استراتژی تنها چند سیگنال سالانه را تولید میکند. بیایید به بازه زمانی که از سال ۲۰۱۹ شروع میشود در رابطه با این مثال نگاه کنیم.
این استراتژی پنج سیگنال را در بازه زمانی اندازهگیری شده تولید میکند:
- خرید در بازه مبلغ تقریبی ۴۰۰۰ دلار
- فروش در بازه مبلغ تقریبی ۸۰۰۰ دلار
- خرید در بازه مبلغ تقریبی ۸۵۰۰ دلار
- فروش در بازه تقریبی مبلغ ۸۰۰۰ دلار
- خرید در بازه تقریبی مبلغ ۹۰۰۰ دلار
بنابراین، بک تست کردن ما این نتیجه را نشان میدهد که این استراتژی میتواند سودده باشد. آیا این بدان معناست که چنین روندی، تضمینی بر کار کردن همیشگی این روش است؟ خیر. این نتایج تنها به این معنا هستند که با توجه به مجموعه دادههای در دسترس ما چنین استراتژی خاصی به سود منجر شده است. در حقیقت شما میتوانید این نتایج را تحت عنوان معیاری مشخص نامگذاری کنید.
این را در گوشه ذهن خود داشته باشید که ما تنها دادههای کمتر از دو سال را مورد بررسی قرار دادیم. اگر بخواهیم این روند را به یک استراتژی عملی تبدیل کنیم، شاید ارزش این را داشته باشد که در زمان به گذشته برگردیم و چنین شیوهای را با قیمتهای بیشری مورد آزمایش قرار دهیم.
با توجه به این ماجرا، این شروعی امیدوارکننده به حساب میآید. به نظر میرسد که ایده اولیه ما درست باشد و اینطور به نظر میرسد که بتوانیم یک استراتژی سرمایه گذاری را با استفاده از آن و با کمی بهینهسازی ایجاد کنیم. حتی شاید بخواهیم معیارها و شاخصهای فنی (اندیکاتورها) بیشتری را نیز به آن بیافزاییم تا سیگنالهای قابل اعتمادتری را فراهم کنیم! همه این مسائل به ایدهها، افق زمانی سرمایه گذاری و آستانه ریسکپذیری ما برمیگردند.
بک تست کردن در تقابل با تبادلات روی کاغذ
حالا ما کلیت پختهتری را از ماهیت بک تستینگ میشناسیم و نگاهی اجمالی به یک استراتژی سرمایه گذاری را نیز پشت سر گذاشتیم. همچنین، این را میدانیم که عملکرد موفق پیشین نشاندهنده نتایج مثبت آینده نیستند.
بنا بر تمام این تفاسیر، چگونه میتوانید یک استراتژی سیستماتیک را برای شرایط فعلی بازار بهینهسازی کنیم؟ میتوانی در این راستا چنین ایدهای را در یک بازار حقیقی اما بدون خطر از دست رفتن منابع مالی مورد آزمایش قرار دهیم. این امر تحت عنوان آزمایش عملکرد آتی یا تبادلات روی کاغذ شناخته میشود.
تبادلات کاغذی در حقیقت شبیهسازی یک استراتژی در محیط زنده و واقعی تبادلات است. این امر به این دلیل تحت عنوان تبادلات کاغذی نامگذاری شده که در هنگام مستندسازی و به ثبت رساندن تریدها هیچ مقداری از منابع مالی مورد استفاده قرار نمیگیرند. این فرایند شما را وارد مرحله جدیدی میکند که در طی آن میتوانید استراتژی خود را توسعه دهید و از کلیت عملکرد آن ایدهای جامع داشته باشید.
این بسیار عالیست اما از کجا باید شروع کرد؟ شبکه آزمایشی فیوچرز بایننس (Binance Futures) بستری بینظیر برای شماست تا بتوانید بدون در معرض خطر قرار دادن منابع مالی خود، استراتژیهای متفاوتی را آزمایش کنید. شما میتوانید در این بستر تنها در مدت زمان چند دقیقه حساب کاربری خود را بسازید و در محیطی شبیه به بازار حال حاضر، استراتژیهای گوناگونی را مورد آزمایش قرار دهید.
چیزی که در این بستر باید نسبت به آن آگاه باشیم تحت عنوان «چیدن گیلاس» نامگذاری میشود. این نام به انتخاب مجموعهای محدود از دادهها برای تایید مغرضانه دیدگاه فردی اشاره دارد. هدف از آزمایش آتی این است تا استراتژی خود را در شرایطی که انگار در بازار حقیقی در حال فعالیت هستیم تست کنیم. اگر سیستم به شما گفت که کار خاصی را انجام دهید حتما آن کار را امتحان کنید. اگر فقط تبادلاتی که بر اساس تعصبهای شخصی شما خوب به نظر میرسند را انتخاب کنید، پس نتیجه آزمایش استراتژی سیستماتیک شما در نهایت معتبر نخواهد بود.
بک تست کردن دستی در تقابل با بک تستینگ اتوماسیون شده
بک تست کردن دستی، تحلیل نمودارها و دادههای پیشین و قرار دهی دستی معاملات مبتنی بر استراتژی ما را شامل میشود. بک تست کردن اتوماسیون شده نیز اساسا همین کار را انجام میدهد اما کل روند مورد بحث ما توسط کدهای کامپیوتری (با استفاده از زبانهای برنامه نویسی مثل پایتون یا نرم افزار مخصوص بک تستینگ) به انجام میرسد.
بسیاری از تریدرها برای ارزیابی عملکرد یک استراتژی از صفحههای گسترده گوگل و یا اکسِل استفاده میکنند. این اسناد همانند گزارشهای آزمایشکنندگان عمل میکنند. ممکن است این اسناد شامل تمام انواع اطلاعات باشند مثل: پلتفرمهای تریدینگ، کلاسهای دارایی، بازه زمانی تبادلات، تعداد تبادلات موفق و شکست خورده، نسبت شارپ، حداکثر برداشت، سود خالص و غیره.
به صورت خلاصه، نرخ شارپ برای ارزیابی کردن ROI یک استراتژی مرتبط با خطرهای احتمالی استفاده میشود. هرچقدر ارزش نرخ شارپ بالاتر باشد، استراتژی سرمایه گذاری یا تبادل نیز جذابتر خواهد بود.
حداکثر نتایج سقوط (Drawdown) نشاندهنده لحظهای است که استراتژی تبادل، بدترین عملکرد را نسبت به نقطه اوج قبلی داشته است (به عنوان مثال بزرگترین افت درصدی که پرتفولیو شما در طول مدت زمان تحلیل داشته است را با این عنوان نامگذاری میکنیم).
جمع بندی
بسیاری از تریدرهای سیستماتیک و سرمایه گذاران، متکی به بک تست کردن برای استراتژیهای خود هستند. این در حقیقت یکی از مهمترین ابزارهای مورد استفاده از بین دسته ابزارآلات هر تریدر الگوریتمی به حساب میآید.
به صورت همزمان، تفسیر نتایج بک تستینگ میتواند دشوار باشد. این امری آسان است که نقطه نظرهای خود را وارد روش بک تست کردن کنید. احتمالا شما نمیتوانید از بک تستینگ به صورت منفرد، استراتژیهای تبادل قابل اجرایی را به دست بیاورید اما به شما کمک میکند تا برخی ایدهها را آزمایش کنید و نبض بازار را در مشت خود داشته باشید.