
Drawdown چیست و چطور در تست بررسی میشود
مفهوم دراودان (Drawdown) بدون شک یکی از حیاتیترین و در عین حال گمراهکنندهترین معیارها در حوزه ارزیابی عملکرد سیستمهای معاملاتی، اعم از دستی و الگوریتمی، محسوب میشود. در نگاه اول، تعریف آن ساده به نظر میرسد: میزان افت سرمایه از سقف تاریخی آن. اما عمق و پیچیدگی این مفهوم زمانی آشکار میشود که آن را به عنوان لنزی برای بررسی تابآوری استراتژی، سلامت روانی معاملهگر، کیفیت بکتست (Backtest) و در نهایت احتمال بقای حساب در بلندمدت مورد تحلیل قرار دهیم. برای یک برنامهنویس یا توسعهدهنده ربات معاملهگر، درک دقیق دراودان فراتر از محاسبه یک عدد ساده است؛ این مفهوم مستقیماً با منطق مدیریت سرمایه، طراحی سیستمهای تحمل خطا و ارزیابی ریسک واقعی استراتژی گره خورده است. بسیاری از استراتژیهایی که در محیط بکتست با سودهای درخشان ظاهر میشوند، تنها به دلیل عدم توجه کافی به دینامیک و عمق دراودان (Drawdown) در شرایط واقعی بازار، با شکست فاجعهباری مواجه میشوند. این مقاله با رویکردی عمیق و فنی، به تشریح ابعاد مختلف دراودان، روشهای محاسبه و تحلیل آن در فرآیند تستگیری، و همچنین خطاهای رایج در تفسیر این معیار میپردازد، با این هدف که خواننده بتواند نه تنها آن را محاسبه کند، بلکه زبان آن را درک کرده و در طراحی و اجرای سیستمهای معاملاتی مقاوم به کار بندد.
تعریف دقیق Drawdown و انواع آن
دراودان (Drawdown) در بنیادیترین سطح خود، معیاری برای اندازهگیری ریسک نزولی یک سرمایهگذاری یا استراتژی معاملاتی است. این معیار افت از آخرین سقف تاریخی (Peak) ارزش حساب تا پایینترین نقطه (Trough) قبل از تشکیل سقف جدید را نشان میدهد. به بیان ریاضی، اگر ( P ) را ارزش حساب در سقف تاریخی و ( V ) را ارزش فعلی حساب در نظر بگیریم، دراودان (Drawdown) جاری به صورت ( P – V ) تعریف میشود. البته، آنچه بیشتر مورد توجه است، نمایش درصدی این افت است: ( \frac{P – V}{P} \times 100 ). اما این تعریف ساده، خود به چندین زیرمجموعه مهم و حیاتی تقسیم میشود که هر کدام بیانگر جنبهای خاص از ریسک هستند. حداکثر دراودان (Maximum Drawdown یا MDD) به بزرگترین درصد افت ثبتشده از یک سقف تا کف در طول کل دوره معاملاتی اشاره دارد. این عدد، بدترین سناریوی ممکن را به نمایش میگذارد و به نوعی «آزمون استرس» تاریخچه حساب است.
نوع دیگر، دراودان نسبی (Relative Drawdown) است که معمولاً در مقابل دراودان مطلق قرار میگیرد. دراودان مطلق عددی اسمی (مثلاً ۵۰۰۰ دلار) است، در حالی که دراودان نسبی آن را به صورت درصدی از سرمایه بیان میکند. در مدیریت سرمایه مدرن، دراودان نسبی اهمیت بسیار بیشتری دارد، زیرا مستقل از حجم سرمایه اولیه، قابلیت مقایسه و تحلیل را فراهم میآورد. همچنین، مفهوم دراودان میانگین (Average Drawdown) نیز مورد تحلیل قرار میگیرد که میانگین عمق کلیه دراودانهای رخداده در دوره است. این معیار به ما میگوید که استراتژی به طور معمول در چه محدودهای از افت نوسان میکند. در نهایت، تکرارپذیری دراودان (Drawdown Frequency) یا تعداد دفعات وقوع دراودانهای با عمق مشخص در یک بازه زمانی، نشاندهنده «آسیبپذیری» مداوم استراتژی است. یک استراتژی ممکن است حداکثر دراودان (Maximum Drawdown) قابل قبولی داشته باشد، اما به طور مکرر دچار دراودانهای ۵۰٪ از آن حداکثر شود که این خود نشانهای از یک مشکل ساختاری در مدیریت معاملات بازنده است. برای برنامهنویس، تفکیک این انواع و پیادهسازی محاسبه جداگانه برای هر یک در گزارشگیری از ربات، امری ضروری است تا تحلیلگر بتواند تصویر جامعی از پروفایل ریسک استراتژی به دست آورد.
تفاوت Drawdown اسمی، درصدی و زمانی
درک تمایز بین این سه بیان از دراودان (Drawdown) کلید جلوگیری از خطاهای فاحش در ارزیابی ریسک است. دراودان اسمی (Nominal Drawdown) سادهترین شکل است: تفاوت مطلق بین ارزش سقف و ارزش کف، بر حسب واحد پول (دلار، تومان و غیره). مثلاً اگر حساب از ۱۰۰۰۰ دلار به ۷۰۰۰ دلار سقوط کند، دراودان اسمی ۳۰۰۰ دلار است. مشکل اصلی این نمایش، وابستگی کامل آن به مقیاس حساب است. افت ۳۰۰۰ دلاری برای حساب ۱۰۰۰۰ دلاری یک فاجعه است (۳۰٪)، اما برای حساب ۱۰۰۰۰۰ دلاری تنها یک اصلاح کوچک (۳٪) محسوب میشود. بنابراین، دراودان اسمی به تنهایی قابلیت مقایسه بین استراتژیهای مختلف یا حتی اجرای یک استراتژی روی حسابهای با حجم متفاوت را ندارد.
اینجاست که دراودان درصدی (Percentage Drawdown) به عنوان زبان جهانی ریسک مطرح میشود. این معیار، افت را به صورت نسبتی از سقف قبلی بیان میکند: ( \text{DD%} = \frac{\text{Peak} – \text{Trough}}{\text{Peak}} \times 100 ). در مثال قبل، برای حساب ۱۰۰۰۰ دلاری، دراودان درصدی ۳۰٪ است. این عدد مستقل از مقیاس است و به راحتی میتوان حداکثر دراودان (Maximum Drawdown) درصدی یک استراتژی را با دیگر استراتژیها یا با حد تحمل ریسک شخصی معاملهگر مقایسه کرد. تقریباً تمام استانداردهای مدیریت سرمایه و نسبتهای سنجش عملکرد (مانند نسبت شارپ، سورتینو، کالمر) بر مبنای دراودان درصدی (یا واریانس بازدهی که مرتبط است) محاسبه میشوند. برای یک توسعهدهنده، خروجی اصلی گزارشها باید بر مبنای درصد باشد.
اما بعد سومی نیز وجود دارد که اغلب نادیده گرفته میشود: دراودان زمانی (Time Under Water یا Drawdown Duration). این معیار به مدت زمانی اشاره دارد که طول میکشد تا حساب پس از رسیدن به یک کف، مجدداً به سقف تاریخی قبلی خود بازگردد و یک سقف جدید بسازد. این «دوره بهبودی» از اهمیت روانشناختی و عملیاتی فوقالعادهای برخوردار است. یک دراودان ۲۰٪ که در سه ماه بهبود یابد، بسیار متفاوت از دراودان ۲۰٪ است که دو سال طول بکشد تا جبران شود. دراودان طولانی، نه تنها فشار روانی شدیدی بر معاملهگر وارد میکند، بلکه «هزینه فرصت» سنگینی محسوب میشود؛ سرمایه درگیر در این مدت میتوانست در جای دیگری سودآور باشد. همچنین، طولانی شدن دوره دراودان میتواند نشانهای از این باشد که استراتژی در شرایط خاص بازار (مثل روندهای قوی خلاف جهت) بهطور کامل کارایی خود را از دست داده است. در بکتست (Backtest)، محاسبه توزیع طول دورههای دراودان (میانگین، حداکثر) به اندازه خود عمق دراودان اهمیت دارد. یک استراتژی با حداکثر دراودان (Maximum Drawdown) متوسط اما دورههای بهبودی بسیار طولانی، ممکن است در عمل غیرقابل تحمل باشد.
ارتباط Drawdown با Equity و Balance
یکی از ریشهایترین اشتباهات در محاسبه و درک دراودان (Drawdown)، سردرگمی بین مفهوم اکوتی (Equity) و بالانس (Balance) است. این اشتباه میتواند منجر به تخمین کاملاً نادرست از ریسک واقعی و حتی از دست رفتن حساب شود. بالانس (Balance) نشاندهنده مقدار وجه نقد در حساب است. این عدد تنها زمانی تغییر میکند که یک معامله بسته شود. سود یا ضرر یک پوزیشن باز، تأثیری بر بالانس ندارد. در مقابل، اکوتی (Equity) ارزش لحظهای و واقعی حساب را با در نظر گرفتن سود/ضرر شناور (Floating P/L) پوزیشنهای باز نشان میدهد: ( \text{Equity} = \text{Balance} + \text{Floating P/L} ).
حال، دراودان (Drawdown) باید بر مبنای کدام یک محاسبه شود؟ پاسخ استاندارد و صحیح در صنعت، محاسبه دراودان بر مبنای اکوتی (Equity) است. چرا؟ زیرا اکوتی نمایانگر ارزش واقعی و قابل تصفیه حساب در هر لحظه است. اگر بر مبنای بالانس محاسبه شود، تصویر مخدوشی ایجاد میشود. سناریوی خطرناک زیر را در نظر بگیرید: یک ربات معاملهگر بر اساس استراتژی مارتینگل (Martingale) کار میکند. بالانس حساب ۱۰۰۰۰ دلار است. ربات یک پوزیشن باز میکند که ۵۰۰۰ دلار در ضرر شناور میرود. در این لحظه، اکوتی به ۵۰۰۰ دلار سقوط میکند (۱۰۰۰۰ – ۵۰۰۰). اگر دراودان بر مبنای بالانس گزارش شود، عدد آن صفر خواهد بود! زیرا هیچ معاملهای بسته نشده و بالانس تغییری نکرده است. این گزارشِ به شدت گمراهکننده، مدیریت سرمایه را به کاملا غلط هدایت میکند. اما دراودان بر مبنای اکوتی، افت ۵۰٪ را به وضوح نشان میدهد و زنگ خطری است برای مداخله فوری.
بنابراین، منحنی اکوتی (Equity Curve) همان چیزی است که مبنای تحلیل دراودان قرار میگیرد. هر نقطه روی این منحنی برابر با اکوتی در آن زمان است. حداکثر دراودان (Maximum Drawdown) در حقیقت بزرگترین فاصله عمودی بین منحنی اکوتی و یک خط روند سقفی متصل به نقاط اوج آن است. یک منحنی اکوتی صاف و با شیب ملایم صعودی ایدهآل است. نوسانات شدید عمودی (کشیدگی به سمت پایین) نشاندهنده دراودانهای عمیق است. برای برنامهنویس، اطمینان از اینکه سیستم گزارشگیری ربات، دراودان را بر مبنای اکوتی لحظهای و صحیح محاسبه میکند، یک وظیفه حیاتی است. همچنین، در نمایش بصری، رسم منحنی اکوتی و هایلایت کردن دورههای دراودان (Drawdown) بر روی آن، یکی از بهترین ابزارها برای درک شهودی رفتار استراتژی است.
نقش Drawdown در ارزیابی ریسک سیستم معاملاتی
دراودان (Drawdown) تنها یک عدد گزارش شده نیست؛ بلکه هسته مرکزی یک چارچوب جامع ارزیابی ریسک است. در کنار معیارهایی مانند انحراف معیار بازدهی یا ارزش در معرض خطر (VaR)، دراودان زبانی مستقیم و ملموس از «بدترین حالت محتمل» را ارائه میدهد که برای ذهن معاملهگر قابل درکتر است. نقش آن در ارزیابی سیستم معاملاتی چندوجهی است. اولاً، معیاری برای تابآوری (Resilience) است. یک سیستم معاملاتی را مانند یک کشتی در نظر بگیرید. حداکثر دراودان (Maximum Drawdown) نشان میدهد این کشتی در بدترین طوفان ممکن تاریخچه، چقدر میتواند خم شود بدون آن که بشکند (یعنی به حد ضرر قطعی حساب برسد). اگر طراحی کشتی (استراتژی) به گونهای باشد که در طوفانهای متعارف بیش از حد خم شود، حتی اگر در آبهای آرام سریع باشد، برای سفر اقیانوسی مناسب نیست.
ثانیاً، دراودان سنگ محک پایداری (Consistency) بازدهی است. دو استراتژی ممکن است در پایان یک دوره سهساله، سود خالص یکسانی ایجاد کرده باشند. اما استراتژی A با یک دراودان (Drawdown) حداکثر ۱۰٪ و بهبودیهای سریع به این سود رسیده، در حالی که استراتژی B با یک دراودان ۴۰٪ و دو سال دوره بهبودی. بدیهی است که استراتژی A از کیفیت و پایداری بسیار بالاتری برخوردار است. نسبتهای عملکردی مانند نسبت کالمر (Calmar Ratio) و نسبت سورتینو (Sortino Ratio) دقیقاً برای量化 کردن این کیفیت ایجاد شدهاند. نسبت کالمر به طور خاص، تقسیم بازده سالانه بر حداکثر دراودان است. این نسبت بالا نشان میدهد که استراتژی به ازای هر واحد ریسک نزولی که متحمل شده، بازده بالایی کسب کرده است.
ثالثاً، دراودان پایهای برای تنظیم اهرم (Leverage Adjustment) و مدیریت اندازه پوزیشن (Position Sizing) فراهم میآورد. یک قاعده سرانگشتی رایج در مدیریت سرمایه این است که حجم معاملات باید طوری تنظیم شود که حداکثر دراودان (Maximum Drawdown) پیشبینی شده استراتژی، از حد تحمل روانی و مالی معاملهگر فراتر نرود. به عنوان مثال، اگر تستهای تاریخی نشان میدهند استراتژی شما حداکثر دراودان (Maximum Drawdown) ۲۵٪ دارد، اما شما تنها توان تحمل ۱۰٪ افت را دارید، باید حجم معاملات (یا اهرم) را تقریباً به نصف کاهش دهید تا دراودان مورد انتظار به محدوده قابل تحمل شما برسد. بدون محاسبه دقیق دراودان، هر گونه تصمیم در مورد حجم معامله مانند رانندگی با چشمان بسته است.
Drawdown در بکتست (Backtest) چگونه محاسبه میشود
محاسبه دراودان (Drawdown) در محیط بکتست (Backtest) یک فرآیند الگوریتمی است که باید با دقت بالا پیادهسازی شود، چرا که پایه تمام تحلیلهای بعدی قرار میگیرد. این محاسبه بر روی سری زمانی اکوتی (Equity) حاصل از شبیهسازی معاملات انجام میگیرد. فرض کنید آرایه ( E ) را داریم که نشاندهنده مقدار اکوتی در هر گام زمانی (مثلاً پایان هر روز یا پس از هر معامله) است. هدف پیدا کردن حداکثر دراودان (Maximum Drawdown) و احتمالاً لیستی از تمام دراودانها است.
الگوریتم کلاسیک محاسبه به این صورت عمل میکند: دو متغیر نگهدارنده peak و max_drawdown را مقداردهی اولیه میکنیم. peak را با اولین مقدار اکوتی برابر قرار میدهیم و max_drawdown را صفر. سپس در یک حلقه روی تمام مقادیر اکوتی از ابتدا تا انتها حرکت میکنیم. در هر مرحله:
۱. اگر مقدار اکوتی کنونی از peak بیشتر شد، peak را به روز میکنیم. ۲. در غیر این صورت، دراودان (Drawdown) موقت را محاسبه میکنیم: ( \text{drawdown} = \frac{\text{peak} – E[i]}{\text{peak}} ). ۳. اگر این drawdown از max_drawdown بزرگتر بود، max_drawdown را به روز میکنیم.
پس از پایان حلقه، max_drawdown بیانگر حداکثر دراودان (Maximum Drawdown) درصدی در کل دوره است. برای محاسبه دراودان اسمی، کافی است صورت کسر را به تنهایی در نظر بگیریم. پیچیدگیهای عملی در پیادهسازی شامل موارد زیر است: آیا دراودان بر اساس اکوتی ناخالص (قبل از کسر کارمزد) محاسبه میشود یا خالص؟ (پاسخ استاندارد: خالص). آیا دادههای اکوتی در سطح تیکداده است یا در سطح معامله؟ (محاسبه بر اساس هر تغییر در اکوتی دقیقتر است). همچنین، ثبت زمان شروع و پایان هر دوره دراودان برای تحلیل دراودان زمانی (Time Under Water) ضروری است که نیاز به نگهداری peak_index و trough_index در الگوریتم دارد.
نکته بسیار مهم در بکتست، تفاوت بین دراودان (Drawdown) حساب در کل دوره و دراودان (Drawdown) در هر معامله (Trade Drawdown) است. دراودان معامله، حداکثر ضرر شناوری است که یک پوزیشن خاص در طول باز بودنش متحمل شده قبل از اینکه بسته شود (چه با سود یا ضرر). تحلیل توزیع دراودان معاملات میتواند بینش عمیقی دهد: آیا استراتژی اجازه میدهد معاملات به شدت در ضرر بروند و سپس بازگردند (مانند استراتژیهای برگشتی) یا سریعاً معاملات بازنده را میبندد؟ این تحلیل مستقیماً بر روی عمق دراودان کلی حساب تأثیر میگذارد.
تفاوت Drawdown در بکتست و معاملات واقعی
این احتمالاً مهمترین بخش برای هر معاملهگر الگوریتمی است: چرا دراودان (Drawdown) ثبتشده در بکتست (Backtest) تقریباً همیشه خوشبینانهتر (یعنی کمعمقتر) از دراودان واقعی در بازار زنده است؟ درک این شکاف (Gap) برای بقای استراتژی حیاتی است. این تفاوت از چندین منبع ناشی میشود. اولین و بزرگترین عامل، اسلیپیج (Slippage) و کمیسیون (Commission) است. در بکتست ایدهآل، فرض میشود شما میتوانید دقیقاً در قیمت مدنظر وارد شوید و خارج شوید. در واقعیت،尤其在 بازارهای با نوسان بالا یا نقدشوندگی کم، اختلاف بین قیمت درخواستی و قیمت اجرا میتواند قابل توجه باشد. این اسلیپیج هم در نقطه ورود و هم در نقطه خروج، عملکرد معامله را بدتر میکند. وقتی معاملات بیشتری با ضرر بسته میشوند، عمق دراودان (Drawdown) افزایش مییابد. یک بکتست معتبر باید مدل واقعبینانهای از اسلیپیج (مثلاً بر اساس اسپرد تاریخی و اندازه سفارش) داشته باشد.
دومین عامل، تاخیر در اجرا (Execution Latency) است. رباتهای واقعی با تأخیر در دریافت داده، پردازش سیگنال، ارسال سفارش و تأیید آن مواجه هستند. در این فاصله، موقعیتهای سودده ممکن است به موقعیتهای کمسود یا حتی ضررده تبدیل شوند. در یک روند سریع، این تأخیر میتواند فاجعهبار باشد و باعث شود استراتژی در نقاط بدتری وارد یا خارج شود که منجر به افت بیشتر اکوتی میگردد.
سوم، کیفیت داده (Data Quality) است. دادههای تاریخی مورد استفاده در بکتست ممکن است فاقد برخی نویزهای ریز بازار، گپهای قیمتی (به خصوص در ساعات پایانی و آغازین)، یا دادههای غیرعادی باشند. همچنین، دادههای تثبیتشده (Back-Adjusted) برای قراردادهای آتی میتوانند رفتار غیرواقعی در محاسبه اکوتی ایجاد کنند. در بازار واقعی، این نویزها و گپها میتوانند باعث فعال شدن استاپلاسها در سطوح بدتر از حد انتظار یا ایجاد دراودان (Drawdown) های لحظهای شدید شوند.
چهارم، تأثیر روانی و مداخله انسانی است. در بکتست، استراتژی به صورت مکانیکی و بدون ترس یا طمع اجرا میشود. در دنیای واقعی، دیدن یک دراودان (Drawdown) عمیق ممکن است منجر به مداخله معاملهگر (مثلاً خاموش کردن ربات در بدترین زمان) یا تغییر پارامترها در میانه راه شود که میتواند چرخه دراودان را تشدید کند. حتی رباتهای کاملاً خودکار نیز تحت تأثیر قطعی سرور، مشکلات ارتباطی یا محدودیتهای کارگزار قرار میگیرند که میتواند منجر به از دست دادن فرصتهای خروج یا ورود و در نتیجه تشدید ضرر شود.
نتیجه گیری واضح است: یک قانون سرانگشتی محافظهکارانه این است که انتظار داشته باشید حداکثر دراودان (Maximum Drawdown) واقعی حداقل ۱.۵ تا ۲ برابر عدد گزارش شده در بکتست خام (بدون در نظرگیری هزینهها و اسلیپیج واقعی) باشد. اگر در بکتست شما MDD برابر ۱۰٪ است، برای مدیریت سرمایه خود طوری برنامهریزی کنید که بتوانید ۲۰٪ افت را تحمل کنید.
تاثیر کیفیت داده تاریخی بر Drawdown
دادههای تاریخی، سوخت موتور بکتست (Backtest) هستند. کیفیت این سوخت مستقیماً بر روی صحت هر معیار خروجی، به ویژه دراودان (Drawdown)، تأثیر میگذارد. استفاده از دادههای ناقص، نادرست یا نامناسب میتواند تصویری کاملاً غیرواقعی و خطرناک از تابآوری استراتژی ارائه دهد. اولین و متداولترین مشکل، دادههای فاقد اسپرد (Spread-Free) یا اسپرد ثابت است. در واقعیت، اسپرد (اختلاف قیمت خرید و فروش) نوسان میکند و در زمانهای مهم خبری یا نقدشوندگی کم، به شدت افزایش مییابد. یک بکتست که اسپرد را ثابت و حداقلی فرض میکند، هزینه معاملات را دستکم میگیرد. وقتی استراتژی مبتنی بر اسکالپ یا معاملات کوتاهمدت است، این هزینههای اضافی میتوانند سود را کاملاً از بین برده و حتی دراودان (Drawdown) را به شدت افزایش دهند، زیرا معاملاتی که در بکتست سودده بودند، در واقعیت به دلیل اسپرد وسیع، ضررده میشوند.
مشکل دوم، دادههای تثبیتشده (Back-Adjusted) برای قراردادهای آتی است. برای ایجاد یک سری زمانی پیوسته از قراردادهای آتی با تاریخ انقضای مختلف، دادهها با روشهایی مانند back-adjustment تعدیل میشوند. این کار میتواند منجر به ایجاد قیمتهای منفی در گذشته دور شود! اما مهمتر، این تعدیل بر روی محاسبه اکوتی تأثیر میگذارد. به طور خاص، اگر استراتژی شامل نگهداری پوزیشن در زمان rollover (انتقال از یک قرارداد به قرارداد بعدی) باشد، روش تعدیل میتواند سود/ضررهای غیرواقعی ایجاد کند که به نوبه خود دراودان (Drawdown) گزارش شده را مخدوش مینماید. استفاده از دادههای continuous contracts با روشهایی مثل ratio adjustment یا forward adjustment ممکن است نتایج واقعیتری ارائه دهد.
سوم، دادههای survivorship bias است. بسیاری از مجموعهدادههای ارزانقیمت یا قدیمی، تنها شامل سهام یا ارزهایی هستند که امروز وجود دارند و شرکتها یا جفتارزهایی که در گذشته حذف شده یا متوقف شدهاند را شامل نمیشوند. اگر استراتژی شما بر روی یک سبد از سهام تست شود، نبودن سهامهای ورشکسته که افتهای شدید ۱۰۰٪ داشتهاند، باعث میشود تصور کنید استراتژی شما دراودان (Drawdown) کمتری داشته است، در حالی که در واقعیت ممکن بود یکی از آن سهامهای حذفشده را خریده و بخش بزرگی از سرمایه را از دست بدهید.
چهارم، فراوانی داده (Data Frequency) است. آیا دادهها تیکداده هستند، یا ۱ دقیقهای، یا روزانه؟ یک استراتژی که روی دادههای روزانه تست شده، ممکن است در تایمفریم دقیقهای با نوسانات درونروزی شدیدی مواجه شود که باعث فعالشدن استاپلاس یا ایجاد ضررهای شناور بزرگ میشود، پدیدهای که در دادههای روزانه دیده نمیشود. بنابراین، دراودان (Drawdown) در تست با دادههای با فرکانس پایین میتواند به طور خطرناکی دستکم گرفته شود. بهترین практиک این است که بکتست روی دادههایی با فرکانس برابر یا بالاتر از فرکانس معاملات واقعی انجام شود.
Drawdown و Overfitting
اورفیتینگ (Overfitting) یا بیشبرازش، دشمن شماره یک توسعهدهندگان استراتژی معاملاتی است. این پدیده زمانی رخ میدهد که استراتژی بیش از حد به نویزهای خاص در دادههای تاریخی تطبیق داده میشود، به جای اینکه الگوهای عمومی و تکرارپذیر را بیاموزد. نتیجه یک استراتژی است که در بکتست (Backtest) عملکردی درخشان (با سود بالا و دراودان (Drawdown) پایین) نشان میدهد، اما در دادههای خارج از نمونه (Out-of-Sample) یا در معاملات واقعی به شدت عملکردش افت میکند و دراودان (Drawdown) های بزرگ و غیرمنتظرهای ایجاد مینماید.
ارتباط دراودان (Drawdown) با اورفیتینگ بسیار مستقیم و هشداردهنده است. در فرآیند بهینهسازی (Optimization) پارامترها، توسعهدهنده به دنبال ترکیبی از پارامترها میگردد که بهترین نسبت سود به حداکثر دراودان (Maximum Drawdown) را تولید کند. الگوریتمهای بهینهسازی به راحتی میتوانند پارامترهایی را پیدا کنند که به طور تصادفی با چند حرکت خاص بازار در تاریخچه هماهنگ شدهاند و باعث شدهاند استراتژی در آن بازهها ضررهای بزرگی را اجتناب کند. اما این «اجتناب» مبتنی بر منطق بازار نبوده، بلکه یک تصادف آماری است. وقتی شرایط بازار تغییر کند، آن پارامترهای بهینهشده نه تنها آن محافظت جادویی را ارائه نمیدهند، بلکه ممکن است باعث شوند استراتژی در موقعیتهای کاملاً اشتباهی قرار گیرد و دراودان (Drawdown) های جدید و عمیقتری ایجاد کند.
یک نشانه کلیدی اورفیتینگ در نمودار منحنی اکوتی (Equity Curve)، صاف بودن غیرطبیعی و رشد تقریباً خطی آن با دراودان (Drawdown) های بسیار کم و کوتاه است. در دنیای واقعی و پرنویز بازارهای مالی، چنین منحنی ایدهآلی تقریباً غیرممکن است. اگر منحنی اکوتی در بکتست شما شبیه به یک خط راست با شیب مثبت است، به احتمال قوی دچار اورفیتینگ شدهاید. همچنین، اگر با تغییر جزئی در پارامترها (مثلاً تغییر استاپلاس از ۱٪ به ۱.۱٪) عملکرد استراتژی به طور چشمگیری خراب میشود (سود شدیداً افت میکند یا دراودان (Drawdown) به شدت افزایش مییابد)، این بیثباتی نیز نشانه اورفیتینگ است.
برای مبارزه با این پدیده و رسیدن به تخمین واقعبینانهتری از دراودان (Drawdown)، باید از تکنیکهای اعتبارسنجی قوی استفاده کرد: تقسیم داده به بخش آموزش (In-Sample) و آزمایش (Out-of-Sample)، استفاده از اعتبارسنجی متقابل (Cross-Validation) زمانی، و مهمتر از همه، فوروارد تست (Forward Test) یا تست بر روی دادههای کاملاً جدید که در فرآیند توسعه به هیچ وجه استفاده نشدهاند. دراودان (Drawdown) مشاهده شده در فوروارد تست، معیار به مراتب قابل اطمینانتری برای ریسک استراتژی است.
Drawdown در استراتژیهای مارتینگل و گرید
استراتژیهای مارتینگل (Martingale) و گرید (Grid Trading) به طور ذاتی دارای پروفایل دراودان (Drawdown) بسیار خاص و خطرناکی هستند که درک آن برای هر معاملهگر الگوریتمی ضروری است. این استراتژیها بر پایه میانگینگیری هزینه (Averaging Down) در یک روند خلاف جهت بنا شدهاند. در استراتژی گرید، معاملهگر در سطوح از پیش تعیینشده قیمتی (مثلاً هر ۵۰ پیپ) سفارشهای خرید یا فروش قرار میدهد. در مارتینگل کلاسیک، پس از هر معامله ضررده، حجم معامله بعدی دوبرابر میشود تا با اولین سود، کل ضررهای گذشته جبران شود.
نکته حیاتی اینجاست: دراودان (Drawdown) در این استراتژیها به دو شکل ظاهر میشود: دراودان شناور (بر اساس اکوتی) و دراودان بالانس. در مراحل اولیه، هنگامی که قیمت در محدوده گرید نوسان میکند، استراتژی ممکن است سودهای کوچک و متعدد تولید کند و دراودان (Drawdown) های شناور کوچکی را تجربه نماید. این تصویر فریبندهای ایجاد میکند که گویا استراتژی کمریسک و سودده است. اما ریسک واقعی، یک ریسک دنبالهدار (Tail Risk) است: وقوع یک روند قوی و یکطرفه که از تمام سطوح گرید عبور میکند.
در چنین سناریویی، استراتژی به طور متوالی پوزیشنهای جدید در جهت اشتباه باز میکند. دراودان شناور (Floating Drawdown) بر اساس اکوتی به سرعت افزایش مییابد، زیرا مجموع ضررهای شناور تمام پوزیشنهای باز به صورت تصاعدی رشد میکند. در همین حال، بالانس (Balance) ممکن است هنوز تغییری نکرده باشد (اگر هیچ پوزیشنی بسته نشده باشد)، که این یک توهم امنیت کاذب ایجاد میکند. نقطه شکست (Blow-up) زمانی فرا میرسد که یا مارژین مورد نیاز از سطح موجودی حساب فراتر رود (مارژین کال) و کارگزار به طور خودکار پوزیشنها را با ضررهای بزرگ ببندد، یا اینکه معاملهگر از ترس، خودش تمام پوزیشنها را در بدترین نقطه میبندد.
حداکثر دراودان (Maximum Drawdown) در بکتست این استراتژیها اغلب به شدت دستکم گرفته میشود، زیرا:
۱. دادههای تاریخی ممکن است حاوی یک روند قدرتمند و طولانیمدت در جهت خلاف استراتژی نباشند. ۲. در بکتست، معمولاً فرض میشود نقدینگی نامحدود است و میتوان تا بینهایت میانگین گرفت، در حالی که در واقعیت محدودیت سرمایه و قوانین کارگزاری وجود دارد. ۳. اثر روانی تحمل یک دراودان شناور بسیار بزرگ (مثلاً ۶۰-۷۰٪) که هر لحظه در حال بدتر شدن است، در بکتست شبیهسازی نمیشود.
بنابراین، هنگام تحلیل یک استراتژی گرید یا مارتینگل، باید به دنبال حداکثر دراودان شناور (Maximum Floating Drawdown) و نه فقط دراودان ناشی از معاملات بسته شده، بود. همچنین، تست استرس (Stress Test) استراتژی در برابر روندهای قوی تاریخی و شبیهسازی سناریوهای worst-case برای تعیین نقطه شکست آن کاملاً ضروری است. از دید مدیریت سرمایه، این استراتژیها اغلب نیاز به نسبت بالایی از سرمایه غیرفعال (به عنوان وثیقه برای پوزیشنهای باز) دارند و ریسک انحلال حساب در آنها به صورت غیرخطی بالا میرود.
حداکثر Drawdown قابل قبول از دید مدیریت سرمایه
تعیین یک عدد برای حداکثر دراودان قابل قبول (Acceptable Maximum Drawdown) بیشتر یک تصمیم روانشناختی و مالی است تا یک تصمیم آماری محض. این عدد مرزی است که عبور از آن به معنای شکست استراتژی، از دست رفتن اعتماد به نفس، یا در موارد شدید، از بین رفتن حساب معاملاتی است. از دید مدیریت سرمایه (Money Management)، این عدد سنگ بنای محاسبات حجم معامله (Position Sizing) است.
یک رویکرد متداول، قاعده ۲٪ و ۶٪ است: هیچگاه بیش از ۲٪ از کل سرمایه را در یک معامله واحد ریسک نکنید، و هیچگاه اجازه ندهید دراودان (Drawdown) کلی حساب از ۶٪ فراتر رود. وقتی به حد ۶٪ رسیدید، حجم معاملات را تا نصف کاهش دهید تا از افت بیشتر جلوگیری شود. اما این اعداد کلی هستند. عدد واقعی برای هر فرد به عوامل زیر بستگی دارد:
- تحمل ریسک روانی (Psychological Risk Tolerance): برخی معاملهگران با دیدن افت ۱۰٪ دچار استرس شدید میشوند و تصمیمات احساسی میگیرند، در حالی که برخی دیگر میتوانند افت ۳۰٪ را نیز تحمل کنند. باید صادقانه حد تحمل خود را شناسایی کنید.
- نسبت سرمایه معاملاتی به کل دارایی: اگر ۱۰۰٪ سرمایه زندگی شما در حساب معاملاتی است، حد دراودان قابل تحمل باید بسیار محافظهکارانه (شاید ۱۰-۱۵٪) باشد. اما اگر تنها ۱۰٪ از داراییهای شما در این حساب است، ممکن است بتوانید دراودانهای بزرگتر (۲۰-۲۵٪) را بپذیرید.
- بازه زمانی سرمایهگذاری: یک صندوق پوشش ریسک با سرمایهگذاران نهادی که دیدگاه بلندمدت دارند، ممکن است دراودان ۲۰٪ را در یک سال بپذیرد، در حالی که یک معاملهگر روزانه شخصی احتمالاً چنین عددی را فاجعه میداند.
از دید فنی و مرتبط با استراتژی، یک روش محاسبه، استفاده از حداکثر دراودان (Maximum Drawdown) تاریخی به همراه انحراف معیار آن است. به عنوان مثال، اگر در بکتستهای گسترده (شامل دورههای مختلف بازار)، MDD استراتژی شما ۱۲٪ با انحراف معیار ۳٪ بوده است، میتوانید به عنوان حد هشدار از ( ۱۲٪ + (۲ \times ۳٪) = ۱۸٪ ) استفاده کنید. این بدین معنی است که اگر دراودان به ۱۸٪ رسید، احتمالاً چیزی فراتر از نوسان عادی استراتژی در حال رخ دادن است (شاید بازار تغییر کرده یا استراتژی کارایی خود را از دست داده است).
نکته نهایی این است که حداکثر دراودان قابل قبول (Acceptable Maximum Drawdown) باید پایینتر از نقطه انحلال (Blow-up Point) حساب باشد. نقطه انحلال سطحی است که در آن یا کارگزار شما را مارجین کال میکند، یا حجم ضرر به حدی میرسد که ادامه معامله از نظر مالی غیرممکن است. همیشه یک حاشیه امن بزرگ بین این دو نقطه قرار دهید. یک اشتباه رایج، تنظیم حجم معامله بر اساس حداکثر سوددهی است، نه بر اساس حداکثر دراودان. این اشتباه به سرعت حساب را به سمت نقطه انحلال سوق میدهد.
اشتباهات رایج در تحلیل Drawdown
حتی با درک تئوری دراودان (Drawdown)، خطاهای عملی متعددی در تحلیل و تفسیر آن وجود دارد که میتواند منجر به قضاوتهای نادرست و تصمیمات پرریسک شود. اولین و شاید رایجترین اشتباه، تمرکز صرف بر حداکثر دراودان (Maximum Drawdown) و نادیده گرفتن توزیع آن است. تنها نگاه کردن به MDD مانند این است که درباره یک کشور فقط بدانیم بلندترین قله آن کجاست، بدون اطلاع از توپوگرافی عمومی آن. استراتژی A با MDD=20% که تنها یک بار در ۱۰ سال گذشته رخ داده است، بسیار متفاوت از استراتژی B با همان MDD=20% است که ۵ بار در همان دوره تکرار شده است. استراتژی B ریسک بسیار بالاتری دارد زیرا احتمال مواجهه با آن ضرر بزرگ به مراتب بیشتر است. تحلیل فرکانس و عمق دراودانها (توزیع آنها) اطلاعات بسیار غنیتری ارائه میدهد.
اشتباه دوم، عدم تطبیق دراودان با بازدهی است. یک دراودان ۵۰٪ برای یک استراتژی که سالانه ۱۰۰٪ بازدهی دارد ممکن است قابل تحمل باشد (نسبت کالمر = ۲)، اما همان دراودان ۵۰٪ برای استراتژی با بازدهی سالانه ۱۵٪ یک فاجعه است (نسبت کالمر = ۰.۳). دراودان باید همیشه در کنار معیارهای بازدهی و در قالب نسبتهایی مانند کالمر، شارپ یا سورتینو بررسی شود.
سوم، تفسیر نادرست دراودان در طول دورههای توسعه استراتژی است. هنگامی که یک توسعهدهنده در حال بهینهسازی پارامترهاست، ممکن است به طور ناخواسته پارامترهایی را انتخاب کند که حداکثر دراودان (Maximum Drawdown) را در دوره تاریخی به حداقل میرسانند، اما این کار را با کاهش چشمگیر تعداد معاملات یا حذف سیگنالهای پرریسک (و پر سود) انجام میدهد. نتیجه استراتژیای است که در گذشته دراودان کمی داشته، اما در آینده به دلیل فقدان سودآوری کافی، در مواجهه با اولین دراودان واقعی، ممکن است کل سودهای اندک خود را از دست بدهد.
چهارم، غفلت از ماهیت احتمالی دراودان است. این اشتباه که «اگر استراتژی در گذشته حداکثر دراودان ۱۵٪ داشته، پس در آینده هم بیشتر از این نمیشود» یک باور خطرناک است. دراودان یک متغیر تصادفی است و گذشته ضامن آینده نیست. بازار میتواند شرایطی کاملاً بیسابقه ایجاد کند. تحلیل دراودان باید همراه با درک این باشد که این یک تخمین (Estimate) است، نه یک ضمانت (Guarantee). روشهایی مانند شبیهسازی مونتکارلو (Monte Carlo Simulation) که ترتیب معاملات را به صورت تصادفی تغییر میدهند، میتوانند توزیع احتمالی دراودان (Drawdown) های ممکن در آینده را مدل کنند و دید واقعبینانهتری ارائه دهند.
پنجم، عدم توجه به دراودان در حین فوروارد تست (Forward Test) است. برخی معاملهگران پس از بکتست موفق، مستقیماً با حجم کامل معامله میکنند. رویکرد صحیح، اجرای یک دوره فوروارد تست (Forward Test) با حجم کوچک (مثلاً ۱۰٪ حجم نرمال) و زیر نظر گرفتن دقیق دراودان آن است. اگر دراودان مشاهدهشده در این مرحله با پیشبینی بکتست همخوانی دارد، میتوان به تدریج حجم را افزایش داد.
Drawdown بهعنوان معیار بقا (Survivability)
در نهایت، میتوان به دراودان (Drawdown) به عنوان معیار نهایی بقا (Survivability) نگاه کرد. در دنیای معاملهگری، به ویژه معاملهگری الگوریتمی، هدف اولیه شکست دادن بازار در هر روز یا هر هفته نیست؛ هدف اولیه زنده ماندن و اجتناب از اشتباهات کشنده است. یک ضرر بزرگ میتواند بازی را برای همیشه تمام کند، در حالی که از دست دادن یک فرصت سود فقط یک عقبافتادگی موقت ایجاد میکند. دراودان (Drawdown) دقیقاً معیار این «خطر کشنده» است.
از این منظر، مدیریت دراودان به معنای مدیریت احتمال شکست (Probability of Ruin) است. احتمال شکست، احتمال ریاضی این است که حساب معاملاتی به دلیل یک سری از ضررهای متوالی به صفر برسد. این احتمال به دو عامل بستگی دارد: درصد ریسک در هر معامله (که با مدیریت سرمایه کنترل میشود) و نسبت برد به باخت (که با کیفیت استراتژی تعیین میشود). دراودان (Drawdown) بزرگ، اغلب نشاندهنده این است که یا درصد ریسک هر معامله بسیار بالا است، یا استراتژی در یک بازه طولانی دچار یک سری ضررهای متوالی شده است. با محدود کردن عمق دراودان (از طریق کاهش حجم معامله یا داشتن استاپلاسهای سراسری برای کل حساب)، احتمال شکست را به طور چشمگیری کاهش میدهیم.
برای یک صندوق یا کسبوکار معاملهگری، بقا (Survivability) حتی فراتر از بقای مالی است و شامل بقای اعتماد سرمایهگذاران و بقای روحیه تیم توسعه نیز میشود. یک دراودان (Drawdown) شدید و طولانی میتواند منجر به خروج سرمایهگذاران شود، حتی اگر از نظر تئوری حساب در بلندمدت بهبود یابد. این پدیده که به «حداکثر دراودان قابل تحمل سرمایهگذار» معروف است، محدودیتی است که توسعهدهندگان استراتژیهای نهادی باید به طور جدی در نظر بگیرند.
در سطح فردی، تمرکز بر بقا به این معناست که طراحی استراتژی و سیستم مدیریت سرمایه باید حول محور کنترل دراودان (Drawdown) بچرخد. به جای پرسش «این استراتژی چقدر سود میدهد؟»، پرسش اولیه باید این باشد: «بدترین حالت ممکن برای این استراتژی چیست و آیا من میتوانم از آن جان سالم به در ببرم؟». این تفکر مبتنی بر بقا منجر به انتخاب استراتژیهای با پایداری بالا، استفاده محافظهکارانه از اهرم، و طراحی مکانیزمهای قطعکننده اضطراری (Circuit Breakers) میشود که وقتی دراودان از یک آستانه میگذرد، به طور خودکار معاملات را متوقف میکنند تا از ضررهای فاجعهبار جلوگیری شود. در این پارادایم، دراودان (Drawdown) دیگر یک معیار گزارشگیری منفعل نیست، بلکه تبدیل به یک سیگنال کنترلی فعال برای حفظ موجودیت سیستم معاملاتی میگردد.
دیدگاهها (0)