برای آزمودن اینکه آیا مزیت یک استراتژی در برابر افزایش هزینههای معامله دوام میآورد، بکتست را با طیفی از فرضهای مربوط به کارمزد، فاصله قیمت خرید و فروش، لغزش و اثر بازار دوباره اجرا کنید. سپس سطح هزینهای را پیدا کنید که در آن عملکرد منفی میشود و آن را با شواهد مربوط به محل اجرای معاملات و اندازه سفارش موردنظرتان مقایسه کنید.
یک برآورد واحد از هزینه «واقعبینانه» پرسشی را که باید پاسخ بگیرید پنهان میکند: این برآورد تا چه اندازه میتواند اشتباه باشد تا نتیجه دیگر کار نکند؟ من منحنی هزینه میخواهم، نه یک ضریب کاهشی جادویی.
در بکتست باید کدام هزینهها را افزایش بدهم؟
از هزینههایی شروع کنید که استراتژی واقعاً متحمل میشود. برای سفارش بازار، این هزینهها معمولاً شامل کارمزد taker، فاصله قیمت خرید و فروش، لغزش و هرگونه اثر وابسته به اندازه سفارش است. برای سفارش محدود، سطح کارمزد و احتمال پرشدن سفارش را هم لحاظ کنید؛ تخفیف maker فایدهای ندارد اگر فرض خوشبینانه درباره پرشدن سفارش عامل اصلی نتیجه باشد. قراردادهای آتی دائمی هزینه تأمین مالی دارند و بعضی محصولات نیز هزینه استقراض، اعمال یا تسویه دارند.
ابتدا فرضها را یکییکی تغییر دهید. اگر همزمان کارمزد را بالا ببرید، لغزش را دو برابر کنید و نرخ پرشدن را نصف کنید، نتیجه بدتر چیز زیادی درباره عامل شکست به شما نمیگوید. بعد از آن، تنشهای ترکیبی را اجرا کنید که شرایط نامطلوب اما محتمل را نشان میدهند؛ مثلاً فاصله قیمت خرید و فروش گستردهتر در دورههای پرنوسان.
| فرض | تنش مفید | چه چیزی را میسنجد |
|---|---|---|
| کارمزد معامله | سطح فعلی، سپس سطح بالاتر | جدول کارمزد و وابستگی به سطح حجم معاملات |
| فاصله قیمت خرید و فروش و لغزش | افزایش 25%، 50% و 100% | حساسیت به قیمتهای اجرای نامطلوبتر |
| اثر بازار | متناسب با اندازه سفارش یا نرخ مشارکت افزایش دهید | آیا سرمایه موردآزمون میتواند با قیمت فرضشده معامله کند |
| نرخ پرشدن سفارش محدود | پرشدنهای برآوردشده، از جمله پرشدنهای جزئی، را کاهش دهید | وابستگی به فرضهای صف سفارش و پرشدن |
| تأمین مالی یا استقراض | از دورههای تاریخی نامطلوب یا نرخ بالاتر استفاده کنید | هزینههای نگهداری و میزان وابستگی به تأمین مالی |
اینها نقطه شروعاند، نه سطوح تنش همگانی. جفتارز نقدی پرمعامله و قرارداد آتی دائمی یک آلتکوین کمعمق نباید صرفاً برای مرتب بهنظررسیدن مقایسه، ضریب لغزش یکسانی داشته باشند.
چطور هزینه سربهسر معامله برای یک استراتژی را محاسبه کنم؟
سیگنالها، اندازه موقعیتها و قواعد پرتفوی را ثابت نگه دارید. هزینه متغیر بهازای هر واحد ارزش اسمی معاملهشده را آنقدر افزایش دهید تا عملکرد خالص به صفر برسد. اگر استراتژی 1 میلیون دلار ارزش اسمی معامله میکند و پیش از هزینههای متغیر اجرا 8,000 دلار سود دارد، حداکثر 0.80% از ارزش اسمی را میتواند صرف مجموع این هزینهها کند تا آن سود ناخالص از بین برود.
این محاسبه یک سقف است، نه شاهدی بر اینکه استراتژی میتواند آنقدر ارزان معامله کند. ممکن است 8,000 دلار حاصل سود چند معامله محدود باشد و اثر بازار با افزایش اندازه سفارش بهسرعت بالا برود. نقطه سربهسر را هم برای کل بکتست و هم به تفکیک دوره یا وضعیت بازار محاسبه کنید.
واحدها را یکسان نگه دارید. کارمزدی که برای هر سمت اعلام میشود باید هم برای ورود و هم برای خروج محاسبه شود. نرخ تأمین مالی ممکن است دورهای باشد، در حالی که گردش معاملات اغلب بهصورت سالانه گزارش میشود. پیش از مقایسه، هر هزینه را به بازه زمانی و مبنای ارزش اسمی یکسان تبدیل کنید.
چطور بفهمم استراتژی در برابر هزینهها شکننده است؟
به شکل منحنی هزینه نگاه کنید. افت تدریجی به شما حاشیهای برای خطای برآورد میدهد. سقوط ناگهانی پس از افزایشی کوچک اغلب یعنی مزیت ظاهری در معاملاتی متمرکز شده که سود موردانتظارشان فقط اندکی از هزینهشان بیشتر است.
یک استراتژی کوتاهمدت را با Sharpe خالص پایه 1.2 در نظر بگیرید. اگر افزایش 25% در لغزش آن را به 0.3 برساند و افزایش 50% بازده خالص را منفی کند، نتیجه اصلی بهشدت به کیفیت اجرا وابسته است. این بهتنهایی ثابت نمیکند که استراتژی قابل استفاده نیست؛ یعنی پیش از اعتماد به بکتست، باید محل اجرا، نوع سفارش و اندازه معامله را بررسی کنید.
همچنین توزیع نتایج را بررسی کنید، نه فقط Sharpe را. هزینهها ممکن است بسیاری از بردهای کوچک را از بین ببرند و چند برد بزرگ را باقی بگذارند؛ در این حالت میانگین بازده پذیرفتنی به نظر میرسد، حتی وقتی افت سرمایه و دورههای زیانده بدتر شدهاند.
آیا باید از بدترین فرض هزینهای که میتوانم تصور کنم استفاده کنم؟
نه. یک بدترین حالت دلخواه میتواند همه استراتژیها را نامطلوب جلوه دهد و هیچ حد عملیاتی مفیدی به شما نمیدهد. سناریوها را بر اساس دادههای مشاهدهشده بسازید: جدول کارمزد محل اجرا، فاصله قیمت خرید و فروش در زمان تصمیمگیریتان، پرشدنهای واقعی در معاملات آزمایشی و اثر بازار برای اندازه سفارشهایی که انتظار دارید ثبت کنید.
شرایط معمول را از دورههای تنش جدا کنید. برای مثال، فاصله قیمت خرید و فروش و لغزش را بر اساس دستههای نوسان برآورد کنید و سپس استراتژی را با هزینههای برگرفته از آن دستهها دوباره اجرا کنید. به این ترتیب، رابطه میان شرایط بازار و هزینههای اجرا حفظ میشود. دو برابر کردن یکسان هزینهها ممکن است این واقعیت را نادیده بگیرد که استراتژی دقیقاً زمانی بیشترین معامله را انجام میدهد که نقدشوندگی در بدترین وضعیت است.
در گزارش حساسیت هزینه چه چیزهایی را ثبت کنم؟
فرضها را کنار نتایج ذخیره کنید تا پژوهشگر دیگری بتواند آنها را بازتولید کند. دستکم این موارد را گزارش دهید:
- فرضهای مربوط به کارمزد، فاصله قیمت خرید و فروش، لغزش، اثر بازار، تأمین مالی و استقراض، همراه با واحدها و منابع.
- بازده خالص و معیارهای ریسک در سطح پایه و هر سطح تنش.
- هزینه سربهسر و هزینهای که در آن استراتژی معیارهای پژوهشی شما را برآورده نمیکند.
- نتایج به تفکیک وضعیت بازار، ابزار معاملاتی و اندازه سفارش، هرجا که حجم نمونه اجازه دهد.
- اینکه کدام فرضهای اجرا بر پایه اندازهگیریاند و کدامیک هنوز برآوردی هستند.
سپس استراتژی آزمایشی را با همان دفتر ثبت هزینهها مقایسه کنید. اگر پرشدن سفارشها در معاملات آزمایشی پیوسته بدتر از سناریوی مدلشده است، مدل را بهروزرسانی کنید و پژوهش را دوباره اجرا کنید. هدف پیدا کردن یک عدد هزینه واحد نیست که بکتست را قبول کند. هدف این است که بفهمید استراتژی چه میزان عدمقطعیت در اجرا را تاب میآورد و آیا شواهدتان چنین حاشیهای را پشتیبانی میکند یا نه.
← همهٔ مطالب


