اگر بکتست با بازمتعادلسازیِ پرتکرارتر بهتر میشود، پرسش اول این نیست که آیا سیگنال هوشمندتر شده است. پرسش این است که آیا هزینه معاملات اضافی را به اندازه هزینه واقعی اجرای آنها حساب کردهایم.
تواتر بازمتعادلسازی همزمان دو چیز را تغییر میدهد: سرعت دنبالکردن هدف سبد و میزان معاملاتی که برای رسیدن به آن لازم است. مقایسه مفید، سیگنال و قاعده اندازهگذاری را ثابت نگه میدارد و بعد بازده حاصل از تعدیل سریعتر را در برابر هزینه کامل گردش معاملات اضافی میسنجد.
چرا بازمتعادلسازی روزانه در بکتست من از هفتگی بهتر است؟
گاهی واقعاً باید بهتر باشد. اگر سیگنال سریع تغییر کند، صبرکردن به مدت یک هفته ممکن است باعث شود سبد با وزنهای قدیمی بماند. برنامه روزانه میتواند این تأخیر را کم کند. اما ممکن است در واکنش به تغییرهای کوچک هدف هم معامله کند؛ درست همان تغییرهایی که هزینههایشان میتواند مزیت اندک را از بین ببرد.
سبدی به ارزش $100,000 را در نظر بگیرید که وزنهای هدفش هر روز 1% تغییر میکنند. یعنی پیش از محاسبه خریدوفروشهای جبرانی، روزانه حدود $1,000 سفارش داریم. با هزینه یکطرفه 10 واحد پایه، معامله $1,000 تقریباً $1 هزینه دارد. اگر سیگنال واقعاً از هر تعدیل سود ببرد، این هزینه ممکن است ناچیز باشد. اما اگر هدف حول سطحی باثبات نوسان کند و سود حاصل فقط چند سنت باشد، برنامه روزانه دارد برای دنبالکردن نویز هزینه میدهد.
در بکتست، سبد هفتگی ممکن است بدتر به نظر برسد چون دیر واکنش نشان میدهد. سبد روزانه شاید بهتر به نظر برسد چون از هدف بهروزتری استفاده میکند. تا وقتی هر دو شامل قیمتهای اجرای قابلمقایسه، کارمزدها، اسپرد و اثر بازار نباشند، هیچکدام از این نتایج قانعکننده نیست.
چطور بازمتعادلسازی روزانه و هفتگی را منصفانه مقایسه کنم؟
سیگنال پایه، مجموعه داراییها، اندازهگذاری و دوره آزمون را ثابت نگه دارید. فقط برنامه زمانی را تغییر دهید. برای هر دو از فرضهای اجرای یکسان استفاده کنید و گردش معاملات را بر اساس سفارشهایی محاسبه کنید که هر برنامه واقعاً ایجاد میکند؛ پس از خالصسازی تغییرات در کل سبد.
| معیار | چه چیزی را نشان میدهد | اشتباه رایج |
|---|---|---|
| بازده ناخالص | عملکرد سبد هدف پیش از هزینههای معامله | قلمدادکردن آن بهعنوان نتیجه استراتژی |
| گردش معاملات | چه مقدار از ارزش سبد دستبهدست شده است | شمردن خریدها و فراموشکردن فروشهای متناظر |
| بازده خالص | آنچه پس از کارمزد، اسپرد و اثر برآوردشده باقی میماند | اعمال یک نرخ کارمزد ثابت و نادیدهگرفتن اندازه سفارش |
| خطای پیگیری نسبت به هدف | میزان فاصله وزنهای سبد نگهداریشده از وزنهای مطلوب | فرضکردن اینکه تطبیق کامل با هدف رایگان است |
یک روش عملی این است که گردش یکطرفه را بهصورت کمینه مجموع خریدها یا مجموع فروشها، تقسیم بر ارزش سبد، تعریف کنید. این روش را در گزارش ذکر کنید. بعضی سیستمها بهجای آن کل ارزش اسمی معاملات را به کار میبرند که برای جابهجایی کامل سبد با تأمین مالی کامل میتواند حدود دو برابر باشد. هر دو روش قابلاستفادهاند؛ اما اگر بیسروصدا بین آنها جابهجا شوید، مقایسه بیفایده میشود.
سپس نتیجه افزایشی را گزارش کنید: برنامه سریعتر چقدر به بازده خالص اضافه کرده و چه مقدار هزینه اضافی داشته است. برنامه روزانهای که 0.4 واحد درصد به بازده ناخالص اضافه کند، 0.7 واحد درصد هزینه بیشتری داشته باشد و در نهایت 0.3 واحد درصد از نسخه هفتگی عقب بماند، پاسخ پرسش را روشن کرده است.
هزینه بازمتعادلسازی را چطور مدل کنم؟
با محل معامله و ابزار شروع کنید. ساختار کارمزد معاملات نقدی با قراردادهای آتی فرق دارد؛ نرخ maker با taker متفاوت است؛ و ممکن است برای موقعیتهایی که در زمان پرداخت باز هستند، هزینه تأمین مالی اعمال شود. برای یک برآورد اولیه ساده، رده کارمزد واقعی و هزینه اسپرد را به هر سفارش اعمال کنید. برای سفارشهای بزرگتر، اثر بازار را هم بر اساس اندازه سفارش و نقدشوندگی اضافه کنید.
فرض کنید استراتژی برای خرید، اسپرد را میپردازد و بعدتر برای فروش دوباره آن را میپردازد. اگر اسپرد 4 واحد پایه باشد، هزینه اسپرد رفتوبرگشت حدود 4 واحد پایه است، نه 2؛ هر بار عبور تقریباً نصف اسپرد هزینه دارد. کارمزد taker را هم برای هر دو سمت اضافه کنید. فرض «10 bp بهازای هر معامله» بیمعناست، مگر اینکه «معامله» و اجزای هزینه تعریف شده باشند.
اثر بازار باید با افزایش اندازه سفارش نسبت به نقدشوندگی موجود بیشتر شود. اگر برای سفارش $500 و سفارش $500,000 نرخ ثابت یکسانی بگیرید، بازمتعادلسازی پُرتواتر بهطور مصنوعی مقیاسپذیر به نظر میرسد. وقتی دادهها پشتوانه برآورد معتبری از اثر بازار را فراهم نمیکنند، بازهای از نتایج حساسیت را نشان دهید و روشن کنید که برنامه از چه نقطهای دیگر جواب نمیدهد.
بهجای برنامه زمانی ثابت، از یک باند بازمتعادلسازی استفاده کنم؟
باند میتواند مانع تبدیل تغییرهای کوچک هدف به سفارش شود. برای مثال، فقط وقتی بازمتعادلسازی کنید که وزن یک دارایی بیش از 2 واحد درصد از هدفش فاصله بگیرد. این روش در برابر کاهش تعداد سفارشها، بخشی از دقت پیگیری را قربانی میکند.
اما باند هم یک پارامتر دیگر است. اگر باندهای 0.5%، 1%، 2% و 5% را برای داراییهای زیادی امتحان کنید و بهترین نتیجه را نگه دارید، یک بُعد دیگر به جستوجو افزودهاید. مجموعه کوچکی از باندهای مبتنی بر منطق اقتصادی انتخاب کنید، همه آزمونها را ثبت کنید و قاعده منتخب را در دورههایی ارزیابی کنید که برای انتخاب آن استفاده نشدهاند.
یک گزارش مفید، برنامه زمانی، باند، روش محاسبه گردش معاملات، مدل هزینه و نتایج پیش و پس از هزینهها را نشان میدهد. اگر نتوانید بازسازی کنید که چرا سفارشی ثبت شده، نمیتوانید بفهمید برنامه بهتر استراتژی را بهتر کرده یا فقط آن را پرمعاملهتر کرده است.
بازمتعادلسازی پرتواتر چه زمانی میارزد؟
وقتی ارزش تعدیل سریعتر، پس از محاسبه هزینههای واقعبینانه و تغییرهای معقول در فرضها، همچنان باقی بماند. نتایج خالص برنامههای مختلف را مقایسه کنید، گردش معاملات را به تفکیک دارایی و وضعیت بازار بررسی کنید و ببینید آیا مزیت به یک دوره با نقدشوندگی غیرمعمولاً بالا وابسته است یا نه.
همچنین استراتژی کاغذی را با همان برنامه زمانی اجرا کنید. بکتستی که هدفها را در پایان هر بازه تازه میکند، در حالی که سیستم کاغذی سفارشها را ساعتی دستهبندی میکند، در واقع دو سیاست اجرای متفاوت را میآزماید. هدف از این مقایسه این است که بفهمیم استراتژی از حساب چه میخواهد و هزینه آن فعالیت چقدر است.
← همهٔ مطالب


