ساعت 10:14 به وقت UTC، یک راهبرد ساده شکست پس از آنکه قیمت از سقف 20 دقیقهای عبور کرد، یک قرارداد پرپچوال رمزارزی خرید. بکتست قیمت اجرا را 64,210 دلار نشان داد. این عدد در دادهها وجود داشت، زمان سیگنال درست ثبت شده بود و سفارش شبیهسازیشده در کندل بعدی رسید. نزدیک بود نتیجه را قابلاتکا اعلام کنیم.
بعد شناسههای ابزارها را کنار هم گذاشتیم. سیگنال از قرارداد پرپچوال BTCUSDT آمده بود. اجرای سفارش از قرارداد معکوس BTCUSD. هر دو نزدیک 64,210 دلار معامله میشدند و هر دو بازارهای نقدشوندهای بودند. بااینحال، دفتر سفارشهایشان متفاوت بود و قیمتها، اندازه تیک، عمق و کارمزدهای متفاوتی داشتند. بکتست بازاری را سرهم کرده بود که هیچ معاملهگری به آن دسترسی نداشت.
خود راهبرد چیز خاصی نداشت: با بستهشدن قیمت بالاتر از سقف شناور وارد میشد، با بستهشدن پایینتر از کف شناور خارج میشد و اندازه هر موقعیت را بر اساس ریسک دلاری ثابتی تعیین میکرد. مشکل فقط وقتی آشکار شد که پرسشی دقیقتر از «ارزش BTC چقدر بود؟» مطرح کردیم. پرسیدیم: «این سفارش در آن لحظه، در همین قرارداد مشخص، چه چیزی میتوانست بخرد؟»
پیش از آنکه راهبرد اجرا شود، نمودار ترکیبی بود
فید پژوهشی ما مقایسه صرافیها را آسان کرده بود. نمادها را یکسانسازی میکرد و یک سری قیمت تجمیعی نشان میداد. این برای بررسی بازار مفید بود، اما مرجع خوبی برای اجرا نبود. نمودار ترکیبی میتواند بهترین قیمت را از میان صرافیها نشان دهد، درحالیکه راهبرد فقط میتواند به یک صرافی سفارش بفرستد.
هنگام شکست، سقف کندل تجمیعی 64,205 دلار بود. آخرین معامله خود قرارداد انتخابشده پیشتر به 64,218 دلار رسیده بود. همزمان، یک مظنه ذخیرهشده برای قرارداد معکوس هنوز قیمت فروش 64,210 دلار را نشان میداد. شبیهساز از شکستِ یک سری و قیمت فروش جذابِ سری دیگر استفاده کرد. هر کدام از این مقادیر واقعی بود؛ ترکیبشان خیالی بود.
| ورودی | آنچه بکتست به کار برد | آنچه سفارش نیاز داشت |
|---|---|---|
| سقف شکست | قیمت تجمیعی BTC | تاریخچه قیمت قرارداد انتخابشده |
| مبنای ورود | قیمت فروش ذخیرهشده قرارداد معکوس | قیمت فروش تازه برای ابزار مورد معامله |
| مقدار اجرا | اندازه موقعیت درخواستی | مقدار موجود در هر سطح قیمت |
یک ردیف در جدول دادههای بازار ممکن است کامل به نظر برسد، درحالیکه فیلدهایش بازارهای متفاوتی را توصیف میکنند. یک نام مستعار برای نماد، ثابت نمیکند که دو ابزار دفتر سفارش مشترکی دارند. شناسه قرارداد، صرافی، ارز مظنه و زمانسنج باید در تمام مراحل تولید سیگنال و اجرا همراه هم بمانند.
سفارش را در دفتر سفارش بازپخش کردیم
ورود را دوباره با بهترین قیمت فروش خودِ قرارداد پرپچوال انتخابشده و بهروزرسانیهای دفتر سفارش موجود در زمان تصمیمگیری اجرا کردیم. مظنه تازه بود، اما فقط 0.18 BTC در بالاترین سطح قیمت قرار داشت. سفارش شبیهسازیشده ما 0.50 BTC بود. 0.32 BTC باقیمانده باید به قیمتهای فروش بالاتر میرسید.
ورود تعدیلشده بهازای هر BTC، پیش از کارمزدها، 21 دلار گرانتر از قیمت ثبتشده در بکتست بود. در یک معامله، اختلاف کمی است. اما در کل آزمون، بیشتر سود ناخالص راهبرد از چند شکست سریع به دست آمده بود. بازپخش آن ورودها در دفترهای سفارش درست، نتیجه ناخالص را 31% کاهش داد؛ کارمزدهای taker و اثر قیمتی آن را باز هم کمتر کردند.
همچنین دو مورد پیدا کردیم که مظنه سطح اول دفتر سفارش پس از زمان تصمیمگیری سیگنال رسیده بود. بکتستی که دادهها را با نزدیکترین زمانسنج به هم وصل میکند، ممکن است بیسروصدا بهروزرسانی آینده را انتخاب کند. حالا اتصال را بهصورت معکوس انجام میدهیم: مظنه باید تا زمان ارسال سفارش مشاهده شده باشد و سن آن را ثبت میکنیم. اگر تازهترین مظنه قابلاستفاده بیشازحد کهنه باشد، شبیهساز سفارش را غیرقابلاجرا علامت میزند یا یک قاعده صریح برای داده کهنه اعمال میکند.
قیمت قابلمعامله چه شرایطی دارد
قیمت پایانی یک کندل برای محاسبه سیگنال مفید است. اما ثابت نمیکند که سفارش مشخصی میتوانسته در آن قیمت اجرا شود. برای این کار، قیمت باید متعلق به همان ابزار و صرافی مشخص باشد، هنگام رسیدن سفارش در دسترس باشد و مقدار کافی در سمت مقابل برای اندازه درخواستی وجود داشته باشد. اگر دادهها پاسخ این پرسشها را ندهند، خروجی درست یک بازه یا اجرای ثبتنشده است، نه قیمتی دقیق و ساختگی.
سری تجمیعی را برای شناخت وضعیت کلی بازار نگه داشتیم و آن را از مسیر اجرا بیرون بردیم. سیگنالها حالا به تاریخچه خود قرارداد انتخابشده ارجاع میدهند؛ سفارشها هم در دفتر سفارش همان قرارداد بازپخش میشوند و کارمزدها و اندازه سفارش پس از محاسبه اجرا اعمال میشوند. کمی کار فنی بیشتر، و منحنی سرمایهای که خیلی کمتر چشمنواز است.
آن شکست واقعاً رخ داده بود. بکتست فقط بازاری بهتر از بازاری را در اختیارش گذاشته بود که راهبرد انتخاب کرده بود.
← همهٔ مطالب


