پرش به محتوای اصلی

بک تست گام به گام بهینه سازی سبد | Walk-Forward

بک تست گام به گام (Walk-Forward) بهینه ساز پرتفوی: آموزش روی گذشته، آزمون روی روزهای بعد با کارمزد، در برابر وزن مساوی و برابری ریسک.

نویسنده: آپشن باز، تاریخ انتشار: ، 16 دقیقه مطالعه
اشتراک‌گذاری:

بک‌تست گام‌به‌گام (Walk-Forward) یعنی یک روش سرمایه‌گذاری را فقط با گذشته آموزش بدهید و روی روزهای بعدی، که ندیده، نمره بدهید؛ بعد جلو بروید و همین را تکرار کنید. در پرتفوی آپشن باز این بخش پایین تب بهینه‌سازی است و یک سؤال را جواب می‌دهد: وزن‌هایی که بهینه‌ساز پیشنهاد می‌کند، اگر در گذشته واقعاً به کارشان می‌بستید، جواب می‌داد؟

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

برای دیدن خود ابزار به تب بهینه‌سازی بروید و تا پایین صفحه بیایید. این بخش مثل بقیهٔ پرتفوی با ورود به حساب باز است.

اجرای بک‌تست گام‌به‌گام

در تب بهینه‌سازی، زیر جدول نمادها، بخش بک‌تست گام‌به‌گام است. یک پنجره انتخاب کنید، مثلاً آموزش 120 / آزمون 20 روز، و اجرا کن را بزنید. هر اجرا ده‌ها بار بهینه‌سازی می‌کند؛ برای همین با دکمه اجرا می‌شود، نه با هر تغییری که بالای صفحه می‌دهید.

بک‌تست همان سؤالی را می‌پرسد که بالای صفحه پرسیده‌اید: همان هدف (و اگر هدف عددی می‌خواهد، همان سقف نوسان یا کف بازده)، همان نرخ بدون ریسک، همان «سقف وزن هر نماد»، همان نمادهای نامزد و همان قید گروهی. کف و سقفی که برای تک‌تک ردیف‌ها در جدول نوشته‌اید وارد نمی‌شود؛ فقط سقف سراسری و گروه‌ها.

بک‌تست روی بلندترین بازه‌ای اجرا می‌شود که نمادها تاریخچه دارند، تا حدود سه سال. نمادی که تاریخچه‌اش در این بازه کوتاه است کنار می‌رود و نامش زیر نتیجه، در فهرست «وارد بک‌تست نشد»، می‌آید. اختیارها همیشه در آن فهرست‌اند.

چرا جواب بهینه‌ساز برای سنجیدن خودش کافی نیست

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

بک‌تست گام‌به‌گام همین فاصله را اندازه می‌گیرد. بازدهی که از آن درمی‌آید، بازدهی است که بهینه‌ساز واقعاً می‌توانست به دست بیاورد، اگر کسی هر چند وقت یک بار جوابش را اجرا می‌کرد و کارمزدش را می‌داد.

پنجره‌ها: آموزش و آزمون

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

پنجرهٔ 1 آموزش: 120 روز پنجرهٔ 2 آموزش: 120 روز پنجرهٔ 3 آموزش: 120 روز پنجرهٔ 4 آموزش: 120 روز آزمون: 20 روزِ بعد خط بک‌تست: فقط روزهای آزمون، پشت سر هم زمان
بک‌تست گام‌به‌گام با پنجرهٔ «آموزش 120 / آزمون 20 روز»، به‌صورت طرح‌واره. هر پنجره وزن‌ها را فقط با 120 روز گذشته حل می‌کند و روی 20 روز بعدی نمره می‌گیرد؛ پنجرهٔ بعد 20 روز جلوتر شروع می‌شود. خطی که در نتیجه می‌بینید فقط همین روزهای آزمون است، پشت سر هم، پس هیچ روزی از آن را حلی که وزنش را داده از قبل ندیده است.
پنجرهیعنی چه
آموزش 120 / آزمون 20 روزپیش‌فرض، و همان چیزی که در ادبیات مالی بیشتر به کار می‌رود: شش ماه گذشته، بازتعادل ماهانه.
آموزش 60 / آزمون 20 روزحافظهٔ کوتاه‌تر: زودتر به بازار امروز واکنش نشان می‌دهد، ولی تخمین‌هایش پرنوسان‌تر است.
آموزش 250 / آزمون 20 روزیک سال گذشته: تخمین پایدارتر، با این خطر که رژیمی را در خود داشته باشد که دیگر برنمی‌گردد.
آموزش 120 / آزمون 60 روزبازتعادل هر سه ماه: کارمزد کمتر و جابه‌جایی کمتر.
آموزش 120 / آزمون 120 روزبازتعادل هر شش ماه. پنجره‌ها کمتر می‌شوند و شمارش برد و باخت پنجره‌ها هم به همان نسبت کم‌وزن‌تر است.

شبکهٔ پنجره‌ها از تازه‌ترین روز چیده می‌شود. اگر روزها بر پنجره‌ها بخش‌پذیر نباشند، باقی‌مانده از قدیمی‌ترین سر کنار می‌رود، نه از روزهای اخیر که خواننده بیشتر به آن‌ها اهمیت می‌دهد. بیشتر از 40 پنجره هم ساخته نمی‌شود، باز از سر تازه.

منحنی‌ها: با چه چیزی مقایسه می‌شود

نتیجهٔ بهینه‌ساز فقط وقتی معنی دارد که کنار چیزی گذاشته شود که باید از آن جلو بزند. پس چند منحنی از یک نقطه شروع می‌کنند:

  • وزن بهینه، بازتعادلی: همان راه بالا، با کارمزد هر بازتعادل کم‌شده.
  • وزن فعلی، دست‌نخورده: سبدی که همین حالا دارید، یک بار خریده و رها شده. چون هیچ‌وقت بازتعادل نمی‌شود، کارمزدی هم نمی‌دهد. این همان گزینهٔ «هیچ کاری نکن» است، و بهینه‌سازی‌ای که بعد از کارمزد از آن عقب بماند، خرجش را درنیاورده.
  • وزن مساوی، بازتعادلی: پول به تساوی بین همان نمادها، و در همان تاریخ‌ها به تساوی برمی‌گردد. معیار سرراستی که مدل میانگین-واریانس به‌سختی از آن جلو می‌زند، و جواب این سؤال است: «سود از ماتریس کوواریانس آمد یا فقط از متنوع‌شدن؟»
زمان — هر 20 روز یک بار وزن‌ها دوباره حل می‌شوند رشد سرمایه شروع وزن مساوی سبد دست‌نخورده وزن بهینه بعد از کارمزد هر حل فقط گذشته را دیده و روی روزهای بعدی نمره گرفته
یک اجرای واقعی روی سبدی با 25 نماد: هر 20 روز، وزن‌ها فقط با 120 روز گذشته حل می‌شوند و بعد روی 20 روز بعدی — که مدل ندیده — نمره می‌گیرند. سه منحنی از یک نقطه شروع می‌کنند. آنچه این تصویر می‌گوید و جدولِ بالایش نمی‌گوید این است که منحنی وزن بهینه می‌تواند پایین برود در حالی که هر دو معیار سادهٔ کنارش بالا می‌روند — بخشی‌اش کارمزدِ جابه‌جایی مکرر است و بخشی‌اش اینکه وزنی که روی گذشته بهترین بوده، لزوماً روی آینده بهترین نیست.

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

یک خط نقطه‌چین هم هست که عمداً از جنس بقیه نیست: سبد پیشنهادی امروز (درون‌نمونه). همان وزن‌هایی است که بالای صفحه پیشنهاد شده، از اول دوره نگه داشته و در همان تاریخ‌ها با همان کارمزد بازتعادل شده. این وزن‌ها با دیدن همین روزها ساخته شده‌اند، پس این خط وعدهٔ روی کاغذ است، نه نتیجه‌ای که کسی می‌توانست بگیرد. در جدول کم‌رنگ می‌آید و در هیچ شمارشی حساب نمی‌شود. فاصله‌اش تا منحنی وزن بهینه دقیقاً همان بخشی از وعده است که بهینه‌سازی در عمل نمی‌تواند برساند. در حالت وزن دستی نامش «سبد فرضی امروز (درون‌نمونه)» است. اگر بخشی از آن سبد وارد بک‌تست نشده باشد، مثل اختیار یا نمادی با تاریخچهٔ کوتاه، باقی‌اش به صد درصد مقیاس می‌شود و زیر نمودار نوشته می‌شود چه سهمی از آن آمده.

جمع‌بندی: معیار هر هدف و شمارش پنجره‌ها

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

هدفمعیار جمع‌بندی
بهترین نسبت شارپ، بیشترین سورتینونسبت شارپ
کمترین نوسان، کمترین نوسان با کف بازده، برابری ریسک، کمترین زیان در دُمنوسان سالانه
کمترین افت از سقفبیشترین افت از سقف
بیشترین بازده، بیشترین بازده با سقف نوسانبازده کل دوره

زیر جمع‌بندی، شمارش پنجره‌ها می‌آید، با همان معیار و بعد از کارمزد: در چند پنجره وزن بهینه از وزن مساوی و از سبد دست‌نخورده بازده بیشتری داشت، یا برای هدف‌های آرام، در چند پنجره نوسانش کمتر بود. همین شمارش برای معکوس نوسان و برابری ریسک هم نوشته می‌شود. یک برد کلی که از دو سه پنجرهٔ استثنایی آمده، با بردی که در بیشتر پنجره‌ها تکرار شده فرق دارد.

سه نما و پایداری وزن‌ها

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

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

گزارش کامل این بک‌تست

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

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

پنج قاعده‌ای که این بک‌تست را صادق نگه می‌دارد

  • بازده‌های مورد انتظاری که در جدول نوشته‌اید وارد نمی‌شوند. آن عددها را امروز نوشته‌اید؛ دادنشان به حلی که تاریخش پارسال است، نگاه‌کردن به آینده است با لباس ترجیح. هر حل فقط چیزی را می‌بیند که پنجرهٔ آموزش خودش اندازه گرفته: بازده مورد انتظار هر نماد همان رشد سالانه‌شدهٔ پنجرهٔ آموزش است، با همان سقف نرمی که پیش‌فرض بالای صفحه دارد.
  • کارمزد واقعاً کم می‌شود. از جدول کارمزد همین نمادها، روی هر بازتعادل. بازده هر پنجره هم بعد از کارمزدی حساب می‌شود که شروعش خورده، پس پنجره‌ای که کارمزد سودش را برده «برد» شمرده نمی‌شود. بازتعادل هر 20 روز یعنی سالی دوازده تا سیزده بار پرداخت همین کارمزد.
  • فقط معامله‌ای که بازار واقعاً پر می‌کرد. نمادی که روز بازتعادل معامله نشده، متوقف بوده یا بازار بسته بوده، نه خریده می‌شود نه فروخته، و وزنش همان‌جا که رسیده می‌ماند. روزهایی هم که هیچ‌کدام از نمادهای بک‌تست معامله نشده‌اند از تقویم کنار گذاشته می‌شوند تا نوسان کمتر از واقعیت دیده نشود. بی این قاعده، در تعطیلی اسفند 1404 تا اردیبهشت 1405 بهینه‌ساز صندوقی را «می‌خرید» که هیچ‌کس نمی‌توانست بخرد. تعداد هر دو، روزهای کنارگذاشته و سفارش‌هایی که پر نمی‌شد، زیر نمودار نوشته می‌شود.
  • فقط سهم و صندوق. دادهٔ روزانهٔ اختیار معامله به‌قدر کافی بلند نیست و قراردادی که سررسید می‌شود منحنی پیوسته ندارد. یک بک‌تست 120 روی 20 روی اختیارها دو سه پنجره می‌شود، که اندازه‌گیری نیست. برای سنجیدن قاعده‌های آپشن، بک‌تست استراتژی ساخته شده است.
  • زیر سه پنجره چیزی کشیده نمی‌شود. دو پنجره با خوشحالی گزارش می‌کند «بهینه‌ساز صد درصد مواقع برنده است».

و آنچه این تست نمی‌گوید: نمادها همان‌هایی‌اند که امروز در سبدتان هستند، یعنی خودتان با دانستن امروز انتخابشان کرده‌اید. پس نتیجه می‌گوید «روی همین نمادها، وزن بهینه از وزن مساوی بهتر بود یا نه». نمی‌گوید بهینه‌ساز نماد برنده پیدا می‌کند. این دو جملهٔ خیلی متفاوت‌اند.

بعد از اجرا: نتیجهٔ کهنه، نتیجهٔ ناخوشایند

هر نتیجه مال همان تنظیماتی است که با آن اجرا شده. اگر بعد از اجرا سبد، هدف، نرخ بدون ریسک، سقف وزن، گروه‌ها یا پنجره را عوض کنید، یا جواب بالای صفحه عوض شود، نتیجه کم‌رنگ می‌شود، برچسب می‌خورد و دیگر به برگهٔ چاپ / PDF و فایل خروجی اکسل نمی‌رود تا دوباره اجرایش کنید. نتیجهٔ تازه در هر دو می‌آید، با جدول هر منحنی و بازده هر پنجره.

اگر نتیجه ناخوشایند درآمد، همان نتیجه است: با این نمادها و این بازه، بازتعادل بهینه‌سازی‌شده کارمزدش را درنیاورده. دو واکنش معقول دارد: سقف وزن بگذارید تا جواب‌ها کمتر گوشه‌ای شوند، یا پنجرهٔ آزمون را بلندتر کنید تا کمتر جابه‌جا شود. اگر وزن بهینه از معکوس نوسان یا برابری ریسک هم عقب ماند، بار اصلی را عددهای بازده مورد انتظار می‌کشیدند؛ هدفی را امتحان کنید که به آن‌ها تکیه ندارد، مثل «کمترین نوسان» یا «برابری ریسک».

جمع‌بندی

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

این را روی بازار امتحان کنید

مقالات مرتبط

مرز کارا و بهینه سازی وزن سبد | مدل مارکویتز در عمل

مرز کارا چیست و تب بهینه‌سازی پرتفوی آپشن باز چطور وزن پیشنهادی هر نماد را حساب می‌کند: سه هدف، بازده مورد انتظار، سقف وزن، و آنچه این مدل نمی‌بیند.

بک تست سبد سهام و صندوق | گزارش کامل عملکرد پرتفوی

بک تست سبد در آپشن باز: ترکیبی از سهم، صندوق، شاخص، طلا و درآمد ثابت روی تاریخچه بازار، با بازتعادل و کارمزد؛ و خواندن گزارش کامل عملکرد.

راهنمای پرتفوی آپشن باز | ثبت معامله و سود و زیان واقعی

دفتر معاملات واقعی شما: ساخت سبد، پانزده نوع رویداد، بهای تمام‌شده، چرخهٔ عمر اختیار، منحنی سرمایه، ریسک سبد و ایمپورت اکسل کارگزاری.

راهنمای بک تست استراتژی اختیار معامله

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

شاخص های عملکرد معامله گر | R، انتظار ریاضی و MAE/MFE

نرخ برد، انتظار ریاضی، ضریب سود، R، بیشترین سود ممکن و بیشترین زیان تحمل‌شده، کارایی خروج و بیشترین افت — هرکدام چه می‌گویند، کِی گمراه می‌کنند و با چند معامله می‌شود به آن‌ها اعتماد کرد.

مدیریت سرمایه و اندازهٔ موقعیت در معاملات اختیار | کِلی

هر قاعدهٔ اندازهٔ موقعیت به نرخ برد و نسبت برد به باخت نیاز دارد و برای اختیارِ خریداری‌شده تا سررسید هر دو قابل محاسبه‌اند. سنجش 2,909 قرارداد-روز بازار ایران: 46.1 درصد کاملاً صفر شدند، میانهٔ بازده منفی 75.5 درصد بود و در خیلی خارج از سود 95 درصد قراردادها بی‌ارزش سررسید شدند.

راهنمای ژورنال معاملاتی | مرور معامله و نمره اجرا

راهنمای ژورنال معاملات اختیار معامله (آپشن): مرور هر معامله، تگ و پلی‌بوک، پلن، نشانه‌های رفتاری، گزارش‌ها و تحلیل هوش مصنوعی روی دفتر پرتفوی.

دیدگاه‌ها و پرسش‌ها

اگر سوال یا ابهامی در رابطه با این مطلب دارید، همین‌جا بپرسید؛ کارشناسان ما پاسخ می‌دهند.

با ایمیل یا شماره موبایلی که ثبت می‌کنید، وقتی به کامنتتان پاسخ داده شود خبرتان می‌کنیم.

پرسش‌ها و نظرات کاربران

هنوز پرسشی ثبت نشده — شما اولین نفر باشید!

سوال یا نظرتان را در فرم بالا بنویسید؛ پاسخی که می‌گیرید برای کاربران بعدی هم می‌ماند.