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

نمودار شماتیک که زیرساخت های یک استراتژی معاملاتی را نشان می دهد
ورودی و پشتی
گردش کار این استراتژی تجاری Backtester در طرحواره فوق نشان داده شده است. پارامترهای ورودی برای هر ابزار در پرتفوی ها ذخیره می شوند که سپس در برابر استراتژی های تعریف شده توسط کاربر برای محاسبه قیمت تجاری اجرا می شوند. اینگونه است که یک ساز خریداری می شود. به عنوان مثال ، ما می توانستیم با استفاده از یک الگوریتم مبتنی بر VWAP (قیمت متوسط وزن) در یک دوره زمانی خاص ، به یک موقعیت تجارت کنیم. این شامل بررسی فعالیت بازار تجارت در یک بازه زمانی خاص برای تعیین اینکه کدام معاملات خریداری می شود و با تطبیق نقل قول های مرتبط با آنها به فروش می رسد.
در حالی که ابزارهای یک نمونه کارها نگهداری می شوند ، هرگونه شرایط نگهدارنده موقعیت را بر اساس وقایع یا فعالیت بازار تغییر می دهد. به عنوان مثال ، قیمت یک ابزار ممکن است در بالاتر یا پایین تر از مرزهای مشخص شده توسط کاربر در نوسان باشد ، به گونه ای که فروش رخ دهد ، و هرگونه سود یا زیان ناشی از این امر را تحقق بخشد.
سرانجام ، در مرحله تجارت ، ابزارهای نمونه کارها با استفاده از همان رویه محاسبه تجارت فروخته می شوند. این کار کاربران را قادر می سازد تا استراتژی ها را در سراسر پنجره های تجاری و تجارت گسترش دهند.
نتایج و تجزیه و تحلیل
این اوراق بهادار که موفق هستند می توانند جزئیات بیشتری را در مورد سود یا ضرر خود تضمین کنند. از نتایج و تجزیه و تحلیل قسمت پشتی می توان برای گسترش سود و ضرر (PNL) از پشتی در طول دوره زمانی مورد نیاز استفاده کرد. این می تواند بیشتر برای ارزیابی چگونگی عملکرد هر ساز در رابطه با سود بالقوه موجود در بازار (PNL غیر واقعی) و سود که قبلاً به دست آمده است (PNL تحقق یافته) استفاده می کند.
مکانیسم این گسترش ، قیمت تجاری موجود را برای هر ساز از یک سبد نتیجه Backtest به دست می آورد و با قیمت تجاری بر اساس پیشنهاد یا قیمت های مربوط به قیمت ها از قیمت های داده بازار مطابقت می دهد. برای ایجاد تجسم Timeseries ، ما این کار را برای هر بار سطل در کل پنجره پشتی انجام می دهیم.

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

نمودار شماتیک که زیرساخت های یک استراتژی معاملاتی را نشان می دهد
استفاده از این نوع زیرساخت ها امکان پشت سر هم جامع تر و همچنین راهی برای تأیید صحت ، عملکرد و ظرفیت موارد استفاده از استراتژی تجارت را فراهم می کند.
این امکان پخش داده ها در زمان واقعی یا با سرعت شتاب را فراهم می کند. این بسیار مهم است که بتوانیم زمان شبیه سازی شده را نیز ارائه دهیم. به عنوان مثال ، اگر فرآیند اجرای استراتژی دارای تایمر باشد که هر پنج دقیقه از آن شلیک می کند ، باید هر پنج دقیقه از زمان شبیه سازی شده را به جای زمان واقعی ساعت شلیک کند (گویی ما سریعتر از زمان واقعی کار می کنیم ، که معمولاً میل است ، پس از آنبه اندازه کافی شلیک نمی شود). این می تواند در سیستم های ضبط داده مانند چنین TORQ اجرا شود ، جایی که فرآیندها از . proc. cp [] که به طور پیش فرض روی زمان سیستم تنظیم شده است ، استفاده می کنند اما می توانند برای مقابله با زمان شبیه سازی شده راحت تر تغییر کنند.
اطلاعات در پایین شماتیک مهم است زیرا نشان می دهد که چگونه سفارشات و سیگنال های بازار به یک بانک اطلاعاتی منتقل می شوند تا کاربران نهایی بتوانند صحت آنها را تجزیه و تحلیل کنند. سفارشات بازار در زمان واقعی مورد تجزیه و تحلیل قرار می گیرد و ممکن است سیگنال تجاری را برای خرید یا فروش دارایی ساز ایجاد کند. این گردش کار به سفارشات بازار اجازه می دهد تا در حجم موجود ابزاری که ممکن است قبل از ارسال به بازار شبیه سازی شده خریداری یا فروخته شود ، نگه دارند. این مکانیزمی است که برای ارسال سفارشات بازار به موتور استراتژی به منظور انجام هرگونه تنظیم ، مانند تغییر موقعیت ، که ممکن است رفتار استراتژی را تغییر دهد ، استفاده می شود. با استفاده از این نوع زیرساخت های پخش مجدد ، ما این فرض را مطرح می کنیم که اجرای معاملات ما در خود بازار تأثیر نمی گذارد و بنابراین بر قیمت معاملات بعدی تأثیر نمی گذارد.
این نوع پشتی را می توان با استفاده از TORQ انجام داد ، به موجب آن ابزار datareplay. q عملکردی را برای تولید تماس های عملکردی از داده های تاریخی فراهم می کند. ما قبلاً یک وبلاگ منتشر کرده بودیم که نمونه ای از این موارد را شامل می شد ، که در آن ما با بازیابی داده های جدول تجارت تاریخی در طی یک دوره زمانی ، یک محاسبات VWAP (قیمت متوسط وزن) را پشت سر می گذاشتیم.
نتیجه
یک استراتژی تجاری یک برنامه کاملاً تعریف شده است که شیوه خرید یا فروش ابزارهای مالی را به عنوان نوسان شرایط بازار بیان می کند. Backtesting روشی است که برای ارزیابی عملکرد نظری یک استراتژی تجارت با استفاده از داده های بازار تاریخی استفاده می شود.
پشتی یک استراتژی ممکن است شامل تعدادی از مراحل مرتبط باشد. معمولاً ایده خوبی است که در ابتدا از یک رویکرد سطح بالا استفاده کنید ، نظریه را در سطح کلان آزمایش کنید و به شما امکان دهید رویکردهای مختلفی را ادامه دهید یا تخفیف دهید. برای رویکردهای موفق در ابتدا ، یک رویکرد گران قیمت تر مورد نیاز است ، به طور بالقوه تمام راه را به سمت یک پشتی فنی برای تأیید اعتبار اجرای صحیح Stratgey می کند.
اگر این مقاله را مفید و آموزنده یافتید ، یا علاوه بر این اگر سؤالات دیگری دارید ، می توانید به تیم Aquaq در: info@aquaq. co. uk دسترسی پیدا کنید
استراتژی های مؤثر فارکس...
ما را در سایت استراتژی های مؤثر فارکس دنبال می کنید
برچسب :
نویسنده : توران میرهادی
بازدید : <-PostHit->
تاريخ : پنجشنبه
9 شهريور
1402 ساعت: 19:48