مونت کارلو

مونت کارلو

مونت کارلو بهترین ابزار برای تست پایداری استراتژی است. هنگامی‌که شما یک استراتژی را ایجاد می‌کنید، آمار بک تست آن را می‌بینید. با این حال، یک مشکل وجود دارد – استراتژی ممکن است بیش از حد بهینه شده (تطبیق منحنی a.k.a) باشد. هدف از ابزار مونت کارلو این است که تأیید کنیم استراتژی بیش بهینه نشده است. این ابزار به شما اجازه می‌دهد تا به صورت تصادفی داده‌های بازار، اجرای استراتژی و پارامترهای عددی اندیکاتورهای استراتژی را تغییر دهید.

اگر تغییرات جزئی در استراتژی و محیط آن ایجاد کنید و استراتژی همچنان سود خوبی داشته باشد، این بدان معنی است که این استراتژی احتمال خوبی برای کسب درآمد در بازار واقعی دارد.

از سوی دیگر – اگر شما برخی تغییرات جزئی ایجاد کنید و سود استراتژی تنزل پیدا کند – به این معنی است که این استراتژی بیش بهینه شده است و بنابراین انتخاب بدی برای معامله کردن است.

هنگامی‌که شما ابزار مونت کارلو را اجرا می کنید، شما واقعاً یک تست انجام نمی دهید، بلکه ۲۰ تست (به طور پیش فرض) انجام می‌دهید. هر تست که تصادفی است می‌تواند از یک یا چند شبیه سازی استفاده کند.

شبیه‌سازی‌ها

در اینجا شما می‌توانید شبیه‌سازی‌هایی را که در تست‌های مونت کارلو استفاده می‌شود را انتخاب کنید. شما پارامترهای اختیاری را برای هر شبیه‌سازی از برگه Options  انتخاب می‌کنید.

تغییرات بازار

  • Randomize history data – این گزینه محدوده بار را با یک تعداد مشخصی از بارها تغییر می‌دهد. این گزینه می‌تواند مقادیر بار را در هر دو جهت بصورت کم و زیاد تغییر دهد. و باعث می‌شود که بارهای بلندتر یا کوتاه‌تری داشته باشیم.
  • Randomize spread – اگر این گزینه فعال باشد، کارگاه اکسپرت می‌تواند کارمزد را به مقدار متفاوتی تنظیم کند. و ممکن است مقداری متفاوت در محدوده مرزهای تنظیم شده در گزینه ها باشد.

Execution problems – مربوط به مشکلاتی هستند که هنگام اجرای سیگنال ارسال شده از اکسپرت به کارگزار رخ می‌دهد.

  • Randomize slippage – لغزش در بازارها، در جایی که قیمت ها سریع تغییر می‌کنند، موجود است. تغییرات قیمت ممکن است توسط یک یا دو تیک اتفاق بیافتد تا زمانی که سفارش به کارگزار برسد و اجرا شود. اگر این گزینه را فعال کنید، مونت کارلو بعضی اوقات یک لغزش را در جهت خلاف سمت موقعیت اضافه می‌کند. در گزینه‌ها شما می‌توانید تعیین کنید که چقدر از لغزش استفاده می‌کنید و چه مقداری را لغزش باید داشته باشد.
  • Randomly skip position entry – از باز کردن بعضی از موقعیت‌ها پرش خواهد کرد. این حالت گاهی در دنیای واقعی اتفاق می‌افتد. و ممکن است به علت مشکلات مربوط به طرف کارگزار، مسائل مربوط به اتصال اینترنت یا کند شدن دستگاه در اجرای اکسپرت باشد.
  • Randomly skip position exit – بعضی اوقات از بستن بعضی از موقعیت‌ها پرش خواهد کرد. این یکی البته می‌تواند برای استراتژی بسیار مخرب باشد. باز نکردن موقعیت خیلی بد نیست چون ما هیچ پولی از دست نخواهیم داد. اما نبستن یک موقعیت ممکن است نتیجه ضرر داشته باشد.
  • Randomly close position – این عمل تنها گاهی اوقات اتفاق می‌افتد. کارگزار شما ممکن است به دلایلی موقعیت شما را ببندد. البته کارگزارانی که در یک زمان مناسب موقعیت شما را می‌بندند، کارگزاری نیستند که شما بتوانید با آنها معامله کنید.

تغییرات استراتژی

  • Randomize indicator parameters – در کارگاه استراتژی این گزینه به طور پیش فرض غیر فعال است. این به آن دلیل است که معمولاً استراتژی ها تغییر نمی‌کنند. اگر کارگاه استراتژی فعال شود برخی از اندیکاتورها در استراتژی را انتخاب خواهد کرد و مقادیر عددی آنها را با درصد معینی (فقط برای تست) تغییر می‌دهد. اگر شما یک استراتژی بیش بهینه شده ای دارید، حتی تغییرات جزئی در پارامترهای آن، سود را به میزان قابل توجهی کاهش می‌دهد و یا حتی استراتژی پول وسرمایه  را از دست خواهد داد.
  • Randomize backtest bar start – بار شروع تست را به صورت تصادفی انتخاب می‌کند. گاهی اوقات شروع در یک نقطه زمانی متفاوت ممکن است حساب شما را در یک دوره بسیار کوتاه به صفر برساند.

نمودار شبیه‌سازی

به طور پیش فرض اجرای ابزار مونت کارلو با ۲۰ تست با داده‌های تصادفی اجرا خواهد شد. تصادفی بودن داده‌ها براساس چک لیست شبیه‌سازی ها و مقادیر برگه گزینه ها انجام می‌شود.

هر یک از تست ها در نمودار شبیه سازی با خط رنگی کشیده خواهد شد. شما می‌توانید ببینید که چگونه خطوط گروه بندی شده هستند و نتیجه نهایی هر یک از بک تست هاچه می‌باشد این ابزار به راحتی می‌تواند نشان دهد که چقدر استراتژی قوی است و چگونه نسبت به محیط و داده ها تصادفی مخرب است.

جدول اطمینان

این جدول آمار متفاوتی از تست را نشان می‌دهد.

ردیف اول استراتژی اولیه را نشان می‌دهد (آن استراتژی که شما ابزار مونت کارلو را روی آن استفاده می‌کنید).

ستون اول نشان دهنده درصد تست هایی است که نتایج را بهتر از ردیف کنونی نشان می‌دهد. ستون اطمینان “Confidence” احتمال سود بالاتر از مقدار  “سرمایه خالص” را نشان می‌دهد.

به عنوان مثال در تصویر بالا می‌بینید که پایین ترین ردیف ۱۰۰٪ اطمینان را نشان می‌دهد. این ما را “مجاب” می‌کند که اگر ما این استراتژی را معامله کنیم، می‌توانیم از آن انتظار داشته باشیم که حداقل مقدار ۳۵۱ واحد سود بیشتر از طول دوره داده شده می‌سازد. این البته اگر براساس ۲۰ تست تصادفی باشد، خطر بزرگ نادرست بودن را دارد و در اسرع وقت ما تست ها را اجرا می‌کنیم یا استراتژی را بر روی یک حساب زنده انجام می‌دهیم.

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

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

گزینه ها

  • Count of tests – انتخاب کنید چه تعداد تست را می‌خواهید اجرا کنید.

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

تغییرات بازار

  • Count of changed bars % – چند درصد از بارها باید تغییر کنند.
  • Data range change ATR % – چه مقدار بارها باید به درصد بر اساس برد واقعی میانگین تغییر کنند.
  • Maximum spread (points)– حداکثر کارمزد در هنگام استفاده از Randomize spread چقدر است

مشکلات اجرایی

  • Maximum slippage (points) – حداکثر لغزش تصادفی چقدر می‌تواند در واحد پوینت باشد
  • Skip entry probability % – برای هر ورود جدید یک احتمال (به طور پیش فرض ۲٪) برای پرش از باز شدن موقعیت وجود خواهد داشت.
  • Skip exit probability % – برای هر خروج یک احتمال (به طور پیش فرض ۲٪) وجود خواهد داشت تا از موقعیت خارج شود.
  • Close position probability % – احتمال بستن موقعیت در هر بار چقدر است.

تغییرات استراتژی

  • Indicator change probability % – احتمال تغییر یک مقدار پارامتر اندیکاتور. به طور پیش فرض تنها ۲۰ درصد پارامترها تغییر می‌کنند و ۸۰ درصد از پارامترها بدون تغییر باقی خواهند ماند.
  • Indicator max change % – نشان می‌دهد چه مقدار تغییرات مقدار پارامتر می‌تواند از مقدار اصلی متفاوت باشد.
  • Minimum deviation range– به طور پیش فرض ۲۰ مرحله. این تنظیم برای اندیکاتورهایی است که دارای پارامترهایی با مقادیر بسیار پایین می‌باشند که در آن تغییرات با مقدار ۲۰ درصد تفاوت زیادی نخواهد داشت. در چنین مواردی، حداقل محدوده انحراف استفاده می‌شود و اندیکاتور با ۲۰ مرحله (به طور پیش فرض) یا هرچیزی تنظیم می‌شود.
  • دکمه Reset – تمامی‌زمینه های موجود در شبیه سازی ها و گزینه ها را به مقادیر پیش فرض آن باز می‌گرداند.

اعتبار سنجی

وقتی که راکتور یا تست اعتبار سنجی مونت کارلو اجرا شود در بخش تست پایداری وجود خواهد داشت.

تنظیمات تست  های اعتبارسنجی از تنظیمات اعتبار سنجی در ابزار مونت کارلو در اینجا استفاده می‌کند.

اینها بسیار شبیه هستند و به همان شیوه معیار پذیرش عمومی‌ برای مجموعه کار می‌کنند.

در مثال بالا یک استراتژی زمانی در نظر گرفته خواهد شد که اعتبار سنجی مونت کارلو  را گذرانده است که فقط اگر از حداقل ۸۰٪ از تست‌ها عبور کند.