
ماتریس واکفوروارد (Walk-Forward Matrix)
آوریل 6, 2025
بهینهسازی ساده (Simple Optimization)
آوریل 6, 2025مقادیر استاندارد محاسبهشده برای بهینهسازی Walk-Forward
این مقادیر، آمارهای استاندارد هستند مانند سود خالص (Net Profit)، تعداد معاملات، نسبت شارپ (Sharpe Ratio) و غیره، اما از منحنی بازدهی (Equity Curve) مربوط به Walk-Forward Optimization محاسبه شدهاند، نه از بکتست اصلی.
شما میتوانید این مقادیر را زمانی که در حال ویرایش ستونها هستید (با دوبار کلیک بر روی آن)، و با انتخاب “Walk-Forward Matrix” یا “Walk-Forward Optimization” در قسمت From backtest انتخاب کنید.
این بدان معناست که مقدار مربوطه از نتیجه Walk-Forward گرفته خواهد شد.
در مورد Walk-Forward Matrix، چون چندین Walk-Forward Optimization انجام میشود، مقدار از اولین بهینهسازی گرفته میشود.
نتایج Walk-Forward (WF Results)
اینها مقادیر استاندارد هستند – برای مثال سود خالص حاصل از بهینهسازی Walk-Forward.
پایداری Walk-Forward (WF Stability)
مقادیر پایداری عملکرد در بخش “اجرا” (Run) در مقایسه با بخش بهینهسازی (Optimization) را نشان میدهند، و همیشه بهصورت درصدی هستند.
این مقادیر بهسادگی با جمع مقدار مشخصشده در بخش IS (In-Sample = دادههای بهینهسازی) و OOS (Out-Of-Sample = دادههای تست)، نرمالسازی بر اساس تعداد روزها (تا وابسته به طول هر دوره نباشند) و محاسبه درصد OOS نسبت به IS بهدست میآیند.
برای مثال – سود خالص (پایداری Walk-Forward) به ما میگوید که سود خالص در بخش اجرا (OOS) نسبت به بخش بهینهسازی (IS) چقدر است.
مقدار بالای ۱۰۰٪ به این معنی است که استراتژی در بخش اجرا عملکرد بهتری نسبت به بخش بهینهسازی داشته است، و مقدار زیر ۱۰۰٪ یعنی عملکرد استراتژی در بخش OOS بدتر از بخش IS بوده – که معمولاً مورد انتظار است چون در بخش IS پارامترها برای بهترین عملکرد بهینه شدهاند. بنابراین، معمولاً انتظار داریم مقادیر پایداری WF زیر ۱۰۰٪ باشند.
توجه داشته باشید که مقادیر با تقسیم سود خالص به تعداد روزهای IS یا OOS نرمالسازی میشوند، بنابراین مهم نیست طول هر دوره چقدر است.
معمولاً انتظار داریم عملکرد استراتژی در بخش Run بدتر از بخش Optimization باشد، چون بخش بهینهسازی از قبل برای بهترین عملکرد تنظیم شده است.
مثال زیر شرایطی را نشان میدهد که چگونه میتوانیم حدود قابل قبول برای کاهش عملکرد را تنظیم کنیم:
- سود خالص (پایداری Walk-Forward) – عملکرد سود خالص در بخش اجرا در مقایسه با بخش بهینهسازی (بهصورت درصدی).
مقدار بالای ۱۰۰٪ به این معنی است که استراتژی در بخش اجرا عملکرد بهتری از بهینهسازی داشته است.
مثلاً اگر شرط زیر را تعریف کنید: WF Net Profit Stability > 60%
یعنی عملکرد در بخش اجرا باید حداقل ۶۰٪ از عملکرد در بخش بهینهسازی باشد.
بنابراین، اگر استراتژی در بخش بهینهسازی ۱۰۰۰ دلار سود کرده باشد، باید در بخش اجرا حداقل ۶۰۰ دلار سود داشته باشد تا این شرط را پاس کند.
این موضوع مهم است، زیرا ما میخواهیم استراتژی بعد از بهینهسازی نیز عملکرد خوبی داشته باشد و این شرط به ما امکان میدهد تا این مسئله را کنترل کنیم – در این مثال فقط زمانی بهینهسازی را قبول میکنیم که استراتژی حداقل ۶۰٪ از عملکرد بخش بهینهسازی را در بخش اجرا حفظ کند. - افت سرمایه (Drawdown) (پایداری WF) – افت سرمایه در اجرا در مقایسه با بخش بهینهسازی (درصدی).
مقدار بالای ۱۰۰٪ یعنی استراتژی در اجرا افت سرمایه بیشتری نسبت به بهینهسازی داشته است.
فرض کنید شرط زیر را اعمال کنیم: WF Drawdown Stability < 200%
یعنی افت سرمایه در اجرای بعد از بهینهسازی باید کمتر از ۲ برابر افت سرمایه در دوره بهینهسازی باشد.
مثلاً اگر افت سرمایه در دوره بهینهسازی ۴۰۰ دلار بوده، در اجرای بعدی نباید بیشتر از ۸۰۰ دلار باشد تا شرط پاس شود.
این مثال برخلاف سود خالص است – ما میخواهیم افت سرمایه تا حد ممکن کم باشد، ولی میتوانیم کمی افزایش در دوره اجرا را بپذیریم. - بازده به افت سرمایه (Return/DD) (پایداری WF) – نسبت میانگین بازده به افت سرمایه در اجرا در مقایسه با بهینهسازی (درصدی).
مقدار بالای ۱۰۰٪ یعنی استراتژی در اجرا نسبت بازده به افت سرمایه بهتری از بهینهسازی دارد. - نسبت شارپ (Sharpe Ratio) (پایداری WF) – میانگین نسبت شارپ در اجرا نسبت به بهینهسازی (درصدی).
مقدار بالای ۱۰۰٪ یعنی استراتژی در اجرای واقعی نسبت شارپ بهتری داشته است. - ضریب سود (Profit Factor) (پایداری WF) – میانگین ضریب سود در اجرا نسبت به بهینهسازی (درصدی).
- بازده سالانه درصدی (Annual % Return) (پایداری WF) – سود درصدی سالانه در اجرا در مقایسه با بهینهسازی (درصدی).
مقدار بالای ۱۰۰٪ یعنی عملکرد استراتژی در اجرا بهتر از بهینهسازی است.
امتیاز Walk-Forward (WF Score)
WF Score یک فیلد ویژه دیگر است که نتیجه Walk-Forward Optimization را با نتیجه بکتست اصلی مقایسه میکند و مجدداً بهصورت درصدی نشان میدهد که چقدر بهینهسازی باعث بهبود عملکرد نسبت به استراتژی اصلی شده است.
برای مثال، اگر از Net Profit (WF Score) استفاده کنید، سود خالص حاصل از Walk-Forward را با سود خالص بکتست اصلی مقایسه میکند و درصد بهبود را نمایش میدهد.
اگر مقدار برابر ۱۰۰٪ باشد، یعنی سود خالص Walk-Forward با سود خالص استراتژی اصلی برابر است.
مقادیر بالای ۱۰۰٪ یعنی Walk-Forward نتیجه بهتری داشته، که نشانهای است از اینکه استراتژی از بهینهسازیهای دورهای بهره میبرد.
مقادیر ویژه در Walk-Forward
چند مقدار خاص وجود دارد که بهطور ویژه برای نتایج Walk-Forward محاسبه میشوند:
- بیشترین افت سرمایه در یک دوره اجرا (Max Drawdown in one run) – بیشترین مقدار افت سرمایه در بین تمام اجراهای Walk-Forward.
- بیشترین درصد افت سرمایه در یک دوره اجرا (Max % Drawdown in one run) – بیشترین مقدار افت سرمایه بهصورت درصدی در بین تمام اجراهای Walk-Forward.
- بیشترین سود خالص در یک دوره اجرا (Max profit in one run) – بیشترین مقدار سود خالص در بین تمام اجراهای Walk-Forward.
- بیشترین سود خالص در یک دوره اجرا بهعنوان درصدی از کل (Max profit in one run as % of total) – بیشترین سود خالص در بین تمام اجراها بهصورت درصدی از کل سود نهایی.
در حالت ایدهآل، نمیخواهیم که یک اجرای خاص سهم بسیار بزرگی در سود نهایی داشته باشد، زیرا این نشان میدهد که باقی دورههای بهینهسازی تأثیر زیادی نداشتهاند یا عملکردشان ضعیفتر بوده است. - بیشترین رکود (Stagnation) بهصورت درصد (Max Stagnation in %) – بیشترین مدت زمانی (برحسب روز) که استراتژی موفق به ثبت سقف جدید در منحنی اکویتی نشده است.
- کمترین تعداد معاملات در یک دوره اجرا (Min trades in one run) – کمترین تعداد معاملات در بین تمام دورههای اجرای Walk-Forward.
در حالت ایدهآل، میخواهیم هر دوره اجرا تعداد معاملات معقولی داشته باشد تا نتایج آماری قابل اتکا باشند. - درصد دورههای اجرای سودده (Percentage of profitable runs) – تعداد دورههای Walk-Forward که سودده بودهاند، بهصورت درصدی.