بلاگ

آموزش بک تست استراتژی معاملاتی

بک تست استراتژی معاملاتی یکی از اجزای اصلی توسعه است. backtesting از طریق بازسازی معاملاتی که در گذشته با کمک سیستمی مبتنی بر داده‌های تاریخی روی دادند، انجام می‌شود. نتیجه backtesting باید به شما یک ایده کلی درباره مؤثر بودن یا نبودن یک استراتژی سرمایه‌گذاری

ارائه کند.

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

 

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

آن‌چه قبل از بک تست استراتژی باید انجام داد؟

پیش از صحبت درباره مثال بک تست استراتژی معاملاتی، باید مسئله‌ای را مشخص کنید. باید اول مشخص کنید که چه نوع معامله‌گری هستید. معامله‌گر اختیاری هستید یا سیستماتیک؟

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

البته این به معنای آن نیست که اگر شما یک معامله‌گر اختیاری هستید، نباید بک تست کردن استراتژی معاملاتی انجام دهید یا معامله کاغذی انجام دهید. این به معنای آن است که شاید نتایج زیاد قابل‌اعتماد نباشند.

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

  • وقتی A و B هم‌زمان روی بدهند، وارد معامله شوید.
  • زمانی که پس‌ازآن X روی می‌دهد، از معامله خارج شوید.

برخی از معامله‌گران این رویکرد را ترجیح می‌دهند که تصمیم‌گیری‌های احساسی در مورد معاملات را حذف می‌کند و این تضمین را به وجود می‌آورد که یک سیستم معاملاتی سودآور است. البته هنوز گارانتی‌هایی وجود ندارند.

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

یک نرم‌افزار backtesting وجود دارد که می‌توانید درصورتی‌که تمایل به انجام backtesting اتوماتیک دارید، خریداری کنید. شما می‌توانید داده‌های خود را وارد کنید و نرم‌افزار backtesting را برای شما انجام می‌دهد. بااین‌وجود، در این مثال یک استراتژی backtesting دستی را انتخاب می‌کنیم. این استراتژی به کمی کار نیاز دارد اما کاملاً رایگان است.

 

نحوه بک تست استراتژی

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

 

تصویر

یک استراتژی معاملاتی ساده را بک تست می‌کنیم.

  • ما یک بیت کوین را در اولین بسته شدن روزانه پس از یک تقاطع طلایی خریداری می‌کنیم. زمانی که میانگین متحرک 50 روزه از بالای میانگین متحرک 200 روزه عبور می‌کند، یک تقاطع طلایی را در نظر می‌گیریم.
  • یک بیت کوین را در اولین بسته شدن روزانه پس از یک تقاطع مرگ می‌فروشیم. زمانی که میانگین متحرک 200 روزه از زیر میانگین متحرک 50 روزه عبور می‌کند، یک تقاطع مرگ در نظر می‌گیریم.

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

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

اکنون مشاهده می‌کنیم که این سیستم چه سیگنال‌های معاملاتی برای دوره تولید کرد:

  • خرید @ ~ 5400$
  • فروش @ ~ 9200 $
  • خرید @ ~ 9600 $
  • فروش @ ~ 6700 $
  • خرید @ ~ 9000 $

در ادامه مشاهده می‌کنید که سیگنال‌های ما چگونه در نمودار دیده می‌شوند:

 

تصویر

ارزیابی نتایج بک تست معاملاتی

ازاین‌رو این نتایج نشانگر چه هستند؟ استراتژی ما بازگشت سرمایه منطقی داشته است، اما این چندان برجسته نیست. ما توانستیم معامله آزاد فعلی را شناسایی کنیم تا Pnl تعیین‌شده را افزایش دهیم، اما این کار هدف بک تست کردن استراتژی معاملاتی را تحت تأثیر قرار می‌دهد. اگر برنامه را دنبال نکنیم، نتایج دیگر قابل‌اعتماد نیستند.

حتی درصورتی‌که این یک استراتژی سیستماتیک باشد، باید شرایط را در نظر گرفت. معامله بی‌فایده از 9600 دلار تا 6700 دلار در زمان همه‌گیری کووید در ماه مارس 2020 انجام شد. چنین رویداد black swan می‌تواند تأثیر زیادی در هر سیستم معاملاتی داشته باشد. این دلیل دیگری است که چرا باید بررسی کرد که آیا این ضرر استثنا است یا محصول جانبی استراتژی است.

درهرصورت، یک فرآیند backtesting ساده این‌چنین به نظر می‌رسد. اگر بازگردیم و این استراتژی را با داده‌های بیشتر تست کنیم، بیشتر مؤثر واقع می‌شود یا شامل دیگر اندیکاتورهای تکنیکالی می‌شود که سیگنال‌های تولیدی را قدرتمندتر می‌سازد.

 

نتایج بک تست چه چیزهایی را نشان می‌دهند؟

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

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

بهینه‌سازی مورد آخری است که باید در نظر گرفت. اگر مقاله ما درباره backtesting را مطالعه کرده باشید، از تفاوت میان backtesting و forward testing یا معاملات کاغذی آگاه خواهید بود. تست کردن و بهینه‌سازی ایده‌های شما در محیط معاملات لحظه‌ای همچون Binance Futures testnet می‌تواند مفید باشد.

کلام آخر:

فرآیند اصلی مربوط به انجام دستی backtest استراتژی معاملاتی را بررسی کرده‌ایم. به یاد داشته باشید که عملکرد گذشته تضمینی بر عملکرد آینده نیست.

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

 

مطالب زیر را حتما مطالعه کنید

دیدگاهتان را بنویسید