ممکن است بکتست سفارش محدود شما را پرشده حساب کند، حتی وقتی هیچ فرصت معاملاتی وجود نداشته است. اگر کف کندل از قیمت خرید محدود شما پایینتر برود، بسیاری از موتورهای بکتست پرشدن سفارش را ثبت میکنند. اما کف فقط میگوید دستکم یک معامله با آن قیمت یا پایینتر گزارش شده است. این عدد چیزی دربارهٔ حجم معاملهشده، سفارشهای جلوتر از شما در صف یا بهموقع فعال بودن سفارشتان نمیگوید.
این تفاوت زمانی اهمیت بیشتری پیدا میکند که مزیت استراتژی به پرشدن مکرر سفارشهای غیرفعال وابسته باشد. مدلی که هر تماس با قیمت را پرشدن کامل سفارش بداند، میتواند ورود صبورانه را به منبعی خیالی از آلفا تبدیل کند.
آیا تماس کندل با قیمت محدود من یعنی سفارشم پر شده است؟
خیر. یعنی بازهٔ قیمتی ثبتشدهٔ کندل شامل قیمت محدود شما بوده است. امکان پرشدن سفارش به دفتر سفارشهای بازار، جریان معاملات، جایگاه شما در صف و زمان رسیدن سفارش بستگی دارد.
فرض کنید سفارش خرید محدودی روی $100.00 گذاشتهاید. کندل در $100.20 باز میشود، تا کف $99.98 پایین میآید و در $100.10 بسته میشود. ممکن است معاملهای دو سنت پایینتر از قیمت شما ثبت شده باشد، اما اگر صف بزرگی در $100.00 جلوتر از شما بوده و حجم کمی در آن قیمت معامله شده باشد، شاید سفارش شما اصلاً نوبتش نرسیده باشد. فقط با OHLCV نمیتوانید آن صف را ببینید.
یک نکتهٔ دیگر هم هست: کندل رویدادهای یک بازهٔ زمانی را در خود جمع میکند. اگر سیگنالتان بر اساس قیمت پایانی کندل محاسبه میشود، نمیتوانید فرض کنید سفارشتان از ابتدای کندل در صف بوده و هنگام ثبت کف آمادهٔ اجرا بوده است. کندل توالی رویدادهایی را فشرده میکند که پاسخ این پرسش را مشخص میکنند.
دادههای OHLCV واقعاً دربارهٔ پرشدن سفارش محدود چه چیزی به من میگویند؟
OHLCV میتواند بعضی حالتهای پرشدن سفارش را رد کند و برخی دیگر را محتمل سازد. اما جایگاه در صف را مشخص نمیکند و مقدار موجود برای سفارش شما را تضمین نمیکند.
| مشاهده | چه چیزی را تأیید میکند | چه چیزی را ثابت نمیکند |
|---|---|---|
| کف کندل بالاتر از قیمت محدود خرید باقی مانده است | در آن کندل هیچ معاملهٔ گزارششدهای به آن قیمت نرسیده است | اینکه سفارش پر میشد |
| کف کندل به قیمت محدود خرید رسیده است | قیمت در سطح قیمت محدود گزارش شده است | اینکه پس از رسیدن سفارش شما حجمی معامله شده است |
| کف کندل از قیمت محدود خرید پایینتر رفته است | معاملاتی در قیمت برابر یا پایینتر انجام شدهاند | اینکه حجم کافی به جایگاه شما در صف رسیده است |
| حجم کل کندل از اندازهٔ سفارش شما بیشتر بوده است | در جایی از کندل دستکم همین مقدار در بازار معامله شده است | اینکه پس از رسیدن سفارش، این حجم در قیمت شما معامله شده است |
پس موتور مبتنی بر کندل به یک فرض برای پرشدن سفارش نیاز دارد. این فرض را مدلی با نقطهضعفی شناختهشده در نظر بگیرید، نه واقعیتی که از کندل به دست آمده باشد.
چطور باید پرشدن سفارشهای محدود را در بکتست مدل کنم؟
از زمانبندی سفارش شروع کنید. مشخص کنید سیگنال چه زمانی در دسترس قرار میگیرد، سفارش چه زمانی به صرافی میرسد و کدام رویدادهای بعدی بازار میتوانند با آن تعامل داشته باشند. برای سیگنالی که در قیمت پایانی کندل مشخص میشود، یک قاعدهٔ محافظهکارانهٔ مبتنی بر کندل این است که سفارش را از کندل بعدی به بعد قابل اجرا بدانید.
سپس امکان معامله در قیمت را از مقدار پرشده جدا کنید. قابل اجرا شدن سفارش محدود به این معنا نیست که کل سفارش پر میشود. اگر دادهٔ معاملات را دارید اما سابقهٔ دفتر سفارشها را ندارید، میتوانید شرط بگذارید که حجم معاملهشده در قیمت محدود یا بهتر از مضربی از اندازهٔ سفارشتان بیشتر باشد. این ضریب یک حاشیهٔ تقریبی برای صف است، نه عددی جهانشمول. چند مقدار را آزمایش کنید و تغییر نتیجه را گزارش دهید.
برای نمونه، فرض کنید استراتژی سفارش خرید محدود 2 BTC میگذارد و پس از قابل اجرا شدن سفارش، 3 BTC در قیمت انتخابشده معامله میشود. مدلی که به 5 BTC حجم واجدشرایط نیاز دارد، سفارش را پرنشده میگذارد؛ مدلی که از ضریب حجم 1.0 استفاده میکند، آن را پرشده حساب میکند. هیچکدام صف را بازسازی نمیکنند. مقایسه نشان میدهد استراتژی تا چه اندازه به فرضی وابسته است که نمیتوانید مشاهدهاش کنید.
سفارشهای پرنشده را در شبیهسازی نگه دارید. آنها را زمانی لغو کنید که استراتژی هم لغوشان میکند و بگذارید فرصت ازدسترفته همانطور ازدسترفته بماند. اگر با هر تماس قیمت محدود سفارشی را پرشده بدانید و در عین حال سفارشهایی را که بدون پرشدن منقضی میشوند نادیده بگیرید، هم اجرا و هم تعداد فرصتها سوگیری پیدا میکنند.
چه زمانی به دادههای دفتر سفارش نیاز دارم؟
وقتی جایگاه در صف یا پرشدن جزئی برای استراتژی محوری است، از بهروزرسانیهای دفتر سفارش و معاملات استفاده کنید: بازارسازی، مظنههای غیرفعال کوتاهمدت یا ورودهایی که به قرار گرفتن نزدیک ابتدای سطح قیمتی شلوغ وابستهاند. با این حال، حتی دادههای تاریخی عمومی هم ممکن است جایگاه دقیق شما در صف را نشان ندهند. باید زمان رسیدن سفارش، لغو سفارشهای جلوتر، قواعد تطبیق و اثر بازار خودتان را مدل کنید.
برای استراتژیهای کندتر، دفتر سفارش با جزئیات بیشتر ممکن است پیچیدگی اضافه کند، بیآنکه عدمقطعیت اصلی را برطرف کند. یک بررسی مبتنی بر کندل همچنان میتواند سقف بالای پرشدن با تماس قیمت را با سناریوهای سختگیرانهتری که به حجم معاملهشده مشروطاند مقایسه کند. اگر مزیت ظاهری بهمحض مطالبهٔ پرشدنهای محتمل از بین برود، این خود اطلاعات پژوهشی ارزشمندی است.
چطور بفهمم نتیجهام به پرشدنهای خوشبینانه وابسته است؟
همان استراتژی را با چند قاعدهٔ مشخص برای پرشدن سفارش اجرا کنید و فقط بازده نهایی را مقایسه نکنید. تعداد سفارشهای پرشده، نرخ پرشدن جزئی، مدت ماندن سفارش در صف، مقدار لغوشده، حرکتهای ازدسترفته پس از پرنشدن و گردش معاملات را پیگیری کنید. ممکن است استراتژی بازده اصلی خود را حفظ کند، اما به معاملات بسیار کمتر و مناسبتری متکی باشد.
معاملهٔ آزمایشی بررسی مفید بعدی است: منطق واقعی سفارش را ارسال کنید و تأییدیهها، پرشدنها و لغوها را ثبت کنید. پرشدن سفارش آزمایشی هم به قواعد خود صرافی یا شبیهساز وابسته است، اما زمانبندی و مدیریت سفارش را میآزماید؛ چیزهایی که از روی کندل دیده نمیشوند.
رسیدن قیمت به سفارش محدود دربارهٔ قیمت مدرک میدهد. پرشدن سفارش ادعایی دربارهٔ اجراست. بکتست شما باید فاصلهٔ میان این دو ادعا را آشکار کند.
← همهٔ مطالب


