همین الان استراتژی قرارداد دائمی BTC خود را دوباره بکتست کردهاید و Sharpe خالص یکسوم افت کرده است. سیگنالها هماناند. اجراها هم هماناند. فقط یک چیز را تغییر دادهاید: حالا برنامه کارمزدتان بر اساس حجم 30 روز گذشته حساب محاسبه میشود و حساب در شروع آزمون، پایینتر از سطحی است که در محیط عملیاتی به آن رسیده بودید.
پیش از بازنویسی سیگنال، دو پرسش را از هم جدا کنید: این استراتژی با کارمزد ثابت چقدر میپرداخت، و این حساب در هر مقطع زمانی واقعاً با چه نرخی کارمزد میپرداخت؟ اینها دو آزمایش متفاوتاند. اگر آنها را با هم قاطی کنید، ممکن است استراتژی بهتر از واقعیت به نظر برسد، چون آنقدر معامله میکند که تخفیف بگیرد؛ بعد هم با آن تخفیف طوری برخورد کنید که انگار رایگان بوده است.
از برنامه کارمزد شروع کنید، نه از یک نرخ ثابت
بیشتر صفحههای کارمزد صرافیها جدولی دارند: نرخهای maker و taker برای هر سطح حجمی، و گاهی قوانین جداگانه برای معاملات اسپات و مشتقه. بکتست شما به برنامه کارمزد مؤثر و قاعده تعیین سطح نیاز دارد. حجم در بازه 30 روزه سنجیده میشود؟ ماه تقویمی؟ صرافی حجم اسپات و آتی را با هم حساب میکند؟ تخفیف موجودی توکن با سطح حجمی جمع میشود؟
این قواعد را بهعنوان ورودیهای تاریخدار ثبت کنید. برای نمونهای سادهشده، فرض کنیم یک پلتفرم نرخ روز بعد را بر اساس حجم معاملات آتی اجراشده در 30 روز گذشته تعیین میکند:
| حجم 30 روز گذشته | کارمزد maker | کارمزد taker |
|---|---|---|
| کمتر از $1 million | 0.020% | 0.050% |
| $1 million تا $10 million | 0.016% | 0.040% |
| بیشتر از $10 million | 0.012% | 0.035% |
اعداد صرفاً برای نمونهاند؛ برنامههای کارمزد صرافیها و شرایط احراز صلاحیت تغییر میکنند. نکته مهم زمانبندی است: اجراهای دیروز میتوانند روی کارمزد فردا اثر بگذارند، اما اجراهای امروز نمیتوانند با عطفبهماسبق، تخفیف امروز را به دست بیاورند.
حساب بکتست شما به سابقه حجم نیاز دارد
فرض کنید استراتژی شما روزانه $80,000 گردش دارد و همه سفارشها taker هستند. در سطح آغازین، یک معامله رفتوبرگشت به ارزش $100,000 حدود $50 هزینه دارد: ارزش اسمی $100,000 معاملهشده در ورود و خروج، ضربدر 0.050%. در سطح میانی، هزینه آن $40 است. این اختلاف دهدلاری تا وقتی معامله رفتوبرگشت را 800 بار تکرار کنید ناچیز به نظر میرسد. آنوقت هزینه دوره آزمون به $8,000 میرسد و ممکن است سطح کارمزد بهخاطر همان معاملاتی تغییر کرده باشد که حجم لازم را فراهم کردهاند.
این بازخورد واقعی است، اما دام مدلسازی هم ایجاد میکند. اگر استراتژی را از ابتدا در سطح میانی قرار دهید چون در پایان بکتست به آن سطح رسیده، فعالیت آینده حساب را به گذشته نشت دادهاید. حجم اولیه را مشخص کنید، پس از هر اجرای واجد شرایط پنجره زمانیِ لغزان را بهروزرسانی کنید و هر تغییر سطح را فقط وقتی اعمال کنید که طبق قواعد پلتفرم زمانش رسیده باشد.
این 3 مقدار را جدا نگه دارید: ارزش اسمی معاملات استراتژی، حجم حسابِ واجد شرایط برای محاسبه سطح، و کارمزدی که واقعاً برای هر اجرا دریافت شده است. این مقادیر ممکن است با هم فرق داشته باشند؛ مثلاً وقتی پلتفرم بعضی محصولات را کنار میگذارد، فقط یک سوی بعضی معاملات را میشمارد یا بر اساس موجودیهایی تخفیف میدهد که مدل نکردهاید.
آزمون نرخ ثابت را در کنار آزمون متناسب با حساب اجرا کنید
به 2 نتیجه نیاز دارید. اول، کل استراتژی را با یک نرخ ثابت و محافظهکارانه taker دوباره اجرا کنید. این نشان میدهد ایده چقدر به هزینههای اجرا حساس است، بدون اینکه گردش معاملات خودش معیار را جابهجا کند. دوم، برنامه متناسب با حساب را با موجودی آغازین و سابقه حجم مستند اجرا کنید. این کار مسیر احتمالی همین حساب را بر اساس قواعد اعلامشده برآورد میکند.
بعد، کل کارمزد، گردش معاملات، P&L خالص و افت سرمایه را مقایسه کنید. اگر فقط نتیجه آزمون متناسب با حساب بهتر شد، بررسی کنید چه مقدار از بهبود حاصل یک تغییر سطح محتمل بوده و چه مقدار به سابقه آغازین، حجم میان محصولات یا تخفیفی بستگی دارد که شاید حساب شما واجد شرایط دریافتش نباشد. اگر هر دو آزمون مزیت را از دست بدهند، احتمالاً سطح کارمزد مسئله اصلی نبوده است.
همچنین نگذارید اجراهای maker از بهترین نرخ بهرهمند شوند، درحالیکه مدل اجرای شما بیسروصدا فرض میکند همه سفارشهای غیرفعال پر شدهاند. برنامه کارمزدی شما میتواند دقیق باشد، اما فرضهای اجرا همچنان خیالی بمانند. این دو را جداگانه بررسی کنید.
نتیجه را بازتولیدپذیر کنید
نسخه برنامه کارمزد، بازه محاسبه سطح، زمانبندی بازنشانی، محصولات واجد شرایط و حجم آغازین را همراه بکتست ذخیره کنید. یک دفتر ثبت روزانه مختصر هم داشته باشید: حجم لغزان در ابتدای روز، اجراهای افزودهشده، سطح اعمالشده و کارمزدهای دریافتشده. وقتی نتیجه پس از تغییر نرخها از سوی صرافی عوض شد، میدانید تغییر از استراتژی بوده، مسیر حساب عوض شده یا فرضها تغییر کردهاند.
پاسخ یک پرسش مشخص و کاربردی را میخواهید: با برنامه کارمزد و سابقه حسابی که واقعاً میتوانید شرح دهید، این استراتژی چقدر پرداخت کرده است؟ اگر نتوانید سطح کارمزد را در روز مشخصی بازسازی کنید، هنوز نمیدانید نتیجه خالص بکتستتان چه معنایی دارد.
← همهٔ مطالب


