ستون اول سطح صدک را نشان می دهد (مقداری که در زیر درصد مشخصی از مشاهدات آزمون (تحقق) سقوط می کند). بنابراین می گویند صدک 10 به ما می گوید که 10 ٪ از زمان مشاهده شده زمان زیر مقدار نشان داده شده است. به عنوان مثال ، ارزش بازده سالانه در 10 مین Pecentile (در این مور د-0. 41 ٪) به این معنی است که 10 ٪ از آزمون ها (تحقق) سود سالانه کمتر یا مساوی از آنچه نشان داده شده بود (-0. 41 ٪) داشتند. بنابراین می توانیم بگوییم که حدود 10 ٪ این احتمال وجود دارد که سیستم ما هیچ پولی کسب نکند (نمی تواند). حداکثررقم کاهش در صدک 90 (48. 48 ٪) به این معنی است که در 90 ٪ موارد کاهش کمتر از 38. 48 ٪ خواهد بود. بنابراین به عبارت دیگر ، می توان گفت که 10 ٪ احتمال وجود دارد که بالاتر از آن باشد. اگر بیشتر به جدول نگاه کنیم ، می توانیم متوجه شویم که در 99 ٪ موارد کاهش کمتر از 63. 82 ٪ خواهد بود. توجه به این نکته حائز اهمیت است که جدول فوق با خاموش کردن "استفاده از اعداد منفی برای کاهش" ایجاد شده است.
اگر گزینه "استفاده از اعداد منفی را برای Drawdown" روشن کنیم ، تمام اعداد کشش منفی می شوند و ترتیب معکوس می شود و معنی ستون Drawdown نیز مانند جدول زیر معکوس می شود:
صدف
این بار معنای ستون Drawdown معکوس است - به شما می گوید که کاهش یافته ها بدتر (منفی تر) از مقدار مشخص شده ، 99 ٪ درصد درص د-7. 23 ٪ به این معنی است که در 99 ٪ موارد شما شاهد کاهش شدیدتر (منفی تر است.) ا ز-7. 23 ٪. 1 ٪ ارزش صد ک-63. 82 ٪ به شما می گوید که در 1 ٪ از موارد شما می توانید از بین برود برابر یا بدتر (منفی تر) ا ز-63. 82 ٪ تجربه کنید
به این ترتیب می توان جدول را "ردیف ردیف" خواند و بالای جدول (صدک های کوچک) به سناریوهای "بدبینانه" اشاره دارد.
در زیر جدول می توانیم نمودار Min/AVG/Max + Straw Jork از سهام شبیه سازی شده را پیدا کنیم:

توجه داشته باشید که خطوط سبز و قرمز (حداقل/حداکثر سهام) در واقع "بهترین" و "بدترین" سهام نیستند. آنها بالاترین (حداکثر) و کمترین نقاط (حداقل) از کل سهام تولید شده در طول MC هستند. بنابراین آنها در واقع بهترین امتیازات از همه سهام و بدترین امتیاز از همه سهام هستند. و Blue Line (AVG) میانگین از همه خطوط سهام (همه اجرا) است."ابر" خطوط خاکستری نشانگر سهام تست های فردی است - همانطور که می بینیم همان سیستم تجارت ممکن است با تغییر شرایط بازار نتایج مختلفی ایجاد کند و سعی در شبیه سازی MC برای شبیه سازی نتایج مختلف و ارائه اطلاعات آماری در مورد چگونگی بد/خوب بودن آنبشر
بعد از نمودار جارو نی می توانید نمودارهای عملکرد توزیع تجمعی (CDF) از سهام نهایی ، اتومبیل ، ریزش و کمترین حقوق صاحبان سهام را پیدا کنید (خطوط حاشیه نویسی سبز و قرمز دوباره به صورت دستی اضافه شد):

نمودارهای توزیع تجمعی همان اطلاعاتی را که در جدول در بالای صفحه "مونت کارلو" اما به شکل گرافیکی گنجانده شده است ، ارائه می دهد. باز هم ، وقتی نگاهی به نمودار توزیع سالانه سود (CAR) می اندازیم ، می بینیم که در حدود 10 ٪ از موارد سیستم ما حتی شکسته نمی شود (ماشین منفی تولید می کند). همچنین می توانیم ببینیم که در حدود 35 ٪ از موارد ماشین ما زیر 5 ٪ خواهد بود. سود بالاتر از 10 ٪ در سال فقط در 20 ٪ برتر تست ها اتفاق می افتد.
تمام نمودارهای دیگر در صفحه MC یکسان ساخته شده اند و می توانید آنها را با استفاده از همان روش مطالعه کنید.
نمودار سهام نهایی عملکرد توزیع تجمعی ارزش نهایی سهام (در پایان دوره آزمون) را نشان می دهد
نمودار بازده سالانه عملکرد توزیع تجمعی بازده درصد سالانه آزمون را نشان می دهد
حداکثر$ و حداکثر. نمودارهای کاهش یافته ٪ عملکرد توزیع تجمعی از پیش بینی ها (حداکثر اوج به مسافت دلار/درصد ویلی) را که در طول آزمون تجربه شده است نشان می دهد
کمترین نمودار سهام ، عملکرد توزیع تجمعی کمترین حقوق صاحبان سهام را که تاکنون در طول آزمون تجربه کرده است نشان می دهد
چگونه می توان آن را از سطح فرمول کنترل کرد؟
علاوه بر استفاده از گفتگوی تنظیمات ، می توانید با استفاده از عملکرد Setoption () Simulator Monte Carlo را کنترل کنید. همچنین می توانید آن مقادیر را با استفاده از عملکرد GetOption بازیابی کنید.
تنظیمات ("McEnable" ، 0) ؛// مقدار == 0 شبیه سازی MC را غیرفعال می کند
تنظیمات ("McEnable" ، 1) ؛// مقدار == 1 MC را فقط در Backtests Portfolio فعال می کند (پیش فرض)
تنظیمات ("McEnable" ، 2) ؛// مقدار == 2 نیروهای MC را در همه جا فعال کنید (در هر حالت از جمله بهینه سازی - آهسته!)
توجه داشته باشید که فعال کردن MC در بهینه سازی بسیار دلسرد است ، مگر اینکه در واقع از معیارهای MC به عنوان هدف بهینه سازی از طریق پشتی سفارشی استفاده کنید یا در غیر این صورت از توزیع MC در فرآیند بهینه سازی استفاده کنید. فرآیند مونت کارلو از نظر محاسباتی پرهزینه است و در حالی که چند صد میلی ثانیه به یک پشتی اضافه می شود ، اهمیت زیادی ندارد ، در صورت بهینه سازی وقتی که اینها با تعداد مراحل چند برابر می شوند ، می توانید به راحتی زمان بهینه سازی را با سفارشات افزایش دهید. بنابراین ، مگر اینکه واقعاً به توزیع MC به عنوان متریک سفارشی و هدف بهینه سازی نیاز داشته باشید ، MC را در بهینه سازی فعال نکنید.
تنظیمات ("mcruns" ، 1000) ؛// تعریف تعداد شبیه سازی MC (تحقق)
سایر پارامترهای MC که می توانند با استفاده از Setoption تنظیم شوند و با استفاده از GetOption بازسازی شوند:
چگونه می توان متریک سفارشی را بر اساس توزیع (های) تست MC به گزارش Backtest اضافه کرد؟
علاوه بر گزارش داخلی MC ، می توانید معیارهای سفارشی خود را با استفاده از روش GetMontecarlosim () از شیء Backtester و شیء Montecarlosim که این عملکرد باز می گرداند ، به گزارش اضافه کنید. اگر تازه وارد معیارهای سفارشی هستید ، لطفاً ابتدا با "چگونه می توانید معیارهای سفارشی را به گزارش Backtester اضافه کنید" با بخشی از این دفترچه راهنما مشورت کنید.
Object Montecarlosim دارای یک عملکرد GetValue ("فیلد" ، صدک) است که امکان دسترسی به مقادیر CDF را فراهم می کند. مقادیر "فیلد" موجود عبارتند از:
اکنون کد نمونه ای است که نحوه اضافه کردن 30 صدک نهایی و اتومبیل را به گزارش ارائه می دهد:
تنظیمات ("McEnable" ، درست) ؛تنظیمات ("mcruns" ، 1000) ؛setCustOmbackTestProc ("") ؛
if (وضعیت ("عمل") == ActionPortfolio)
bo. backtest () ؛// اجرای روش پیش فرض Backtest // دسترسی به نتایج مونت کارلو // توجه 1: اگر MC فعال نباشد ممکن است تهی باشد // توجه 2: نتایج MC پس از backtest () یا پس از پردازش در دسترس است // به عنوان شبیه سازی MC انجام می شوددر مرحله نهایی پردازش پست MC = Bo. getMontecarlosim () ؛
if (MC)
// you can also combine MC stats with normal stats st = bo.GetPerformanceStats( 0 ); bo.AddCustomMetric( "CAR30/MDD" , mc.GetValue( "CAR" , 30 ) / st.GetValue( "MaxSystemDrawdownPercent" ) );>>
پس از افزودن معیارهای سفارشی ، می توان از آن به عنوان هدف بهینه سازی استفاده کرد (فراموش نکنید که McEnable را به 2 تغییر دهید) و در فرآیند تست پیاده روی به عنوان عملکرد هدف استفاده می شود. برای انتخاب متریک سفارشی به عنوان هدف بهینه سازی ، باید نام آن را دقیقاً همانطور که در تماس AddCustommetric در قسمت "هدف بهینه سازی" در گفتگوی تنظیمات ، صفحه Walk Forward مشاهده کنید ، تایپ کنید. به این ترتیب می توانید تست بهینه سازی / پیاده روی را انجام دهید که توسط مقادیر توزیع شبیه سازی MC هدایت می شود. بنابراین به عنوان مثال به جای استفاده از CAR/MDD می توانید از CAR30/MDD استفاده کنید (30 صد درصد اتومبیل MC تقسیم شده توسط Max. System Diswdown).
در مورد تصادفی مونت کارلو به جای تست بوت استرپ چطور؟
تصادفی بودن مونت کارلو متفاوت از تست بوت استرپ است زیرا از لیست واقعی (تحقق یافته) از پشتی استفاده نمی کند ، اما سعی می کند از "همه بازده های فردی هر زمان که تحقق یابد یا دارای حقوقی باشد" استفاده کند. به عنوان مثال وقتی سیستم تجارت در حال ایجاد سیگنال های بیشتر از آنچه در واقع می توانیم به دلیل قدرت خرید محدود تجارت کنیم ، باید انتخاب کنیم ، پس باید انتخاب کنیم که کدام معاملات را انجام می دهیم و از چه چیزی می خواهیم استفاده کنیم. به طور معمول این انتخاب بخشی از سیستم معاملاتی است و در Amibroker Positionscore متغیر به پشتی می گوید که کدام موقعیت ها ترجیح داده می شوند و باید معامله شوند. در آزمون تصادفی سازی ، به جای استفاده از برخی از موقعیت های تحلیلی/تعیین کننده ، از یک تصادفی استفاده می کنید. اگر سیگنال های بیشتری برای باز کردن موقعیت ها از آنچه که می توانیم انجام دهیم وجود دارد ، این روند منجر به انتخاب تجارت تصادفی می شود. اکنون با استفاده از عملکرد بهینه سازی () و موقعیت تصادفی می توانیم هزاران انتخاب تصادفی را برای تولید آزمون تصادفی سازی مونت کارلو اجرا کنیم:
مرحله = بهینه سازی ("مرحله" ، 1 ، 1 ، 1000 ، 1) ؛// 1000 Backtests // با انتخاب های تجاری تصادفی از دنیای گسترده (حتماً آن را در لیست های بزرگ ساعت اجرا کنید) Positscore = mtrandom () ؛
آزمون تصادفی سازی یک نقطه ضعف بزرگ دارد: در بسیاری از موارد قابل استفاده نیست. هنگامی که سیستم سیگنال های کافی را تولید نمی کند ، در هر نوار ، انتخاب زیادی وجود ندارد (در صورت وجود). همچنین ، مهمتر از همه ، تصادفی سازی MC فرض غلط می کند که تمام "فرصت های معاملاتی" (سیگنال ها) برابر هستند. در بسیاری از موارد آنها نیستند. غالباً سیستم معاملاتی ما دارای روش خاص و قطعی برای انتخاب معاملات از بسیاری از اعتراضات توسط نوعی رتبه بندی/امتیاز دهی است. هنگامی که سیستم از یک امتیاز (رتبه) به عنوان یک مؤلفه اصلی سیستم استفاده می کند (سیستم های چرخشی این کار را انجام می دهند) - اگر نمره تحلیلی را با شماره تصادفی جایگزین کنید ، فقط در حال آزمایش نویز سفید هستید نه سیستم.
پلتفرم های تجاری...
برچسب :
نویسنده : مریم کاویانی
بازدید : <-PostHit->