ہمارے بیک ٹیسٹ نے بھیجے گئے 100 آرڈرز میں سے 91 کو پورا شمار کیا۔ پیپر ٹریڈنگ میں اسی اسٹریٹجی کے 63 آرڈرز پورے ہوئے۔ سگنل سے آرڈر کی منظوری تک کا درمیانی وقت 84 ملی سیکنڈ تھا، اور پیپر میں پورے نہ ہونے والے 12 آرڈرز ایسے لِمٹ آرڈرز تھے جنہیں بیک ٹیسٹ نے قیمت چھوتے ہی پورا فرض کر لیا تھا۔
یہ 28 پوائنٹس کا فرق پہلے اسٹریٹجی کا مسئلہ لگا، یہاں تک کہ ہم نے آرڈر کے فیصلوں کو فل کے فیصلوں سے الگ کیا۔ دونوں رنز میں اسٹریٹجی نے تقریباً ایک ہی سمت، سائز اور قیمت منتخب کی۔ فرق ایگزیکیوشن کے طریقے میں تھا: کچھ آرڈرز تاخیر سے پہنچے، کچھ کھلے رہے، اور کچھ ایسے وقت مارکیٹ میں داخل ہوئے جب قیمت پہلے ہی آگے بڑھ چکی تھی۔
بیک ٹیسٹ اور پیپر ٹریڈنگ کے آرڈرز میں مطابقت سے کیا مراد ہے؟
مطابقت کا مطلب ہے کہ بیک ٹیسٹ اور پیپر سسٹم دستیاب ایک جیسی معلومات سے ملتے جلتے فیصلے کریں، اور پھر اپنے مختلف ایگزیکیوشن ماڈلز کا فرق واضح طور پر حساب میں لیں۔ اس کا مطلب یہ نہیں کہ ہر فرضی فل پیپر ٹریڈنگ کے فل سے بھی ملنا چاہیے۔ تاریخی بارز سے قطار میں آرڈر کی جگہ دوبارہ معلوم نہیں کی جا سکتی، اور پیپر وینیو کا میچنگ ماڈل لائیو ایکسچینج سے مختلف ہو سکتا ہے۔
اصل سوال زیادہ محدود ہے: ہر اس آرڈر کے لیے جو اسٹریٹجی لگانا چاہتی تھی، کیا آپ بتا سکتے ہیں کہ اس کے بعد کیا ہوا؟ ٹریڈز کی تعداد اور آخری منافع یا نقصان بہت سی تفصیلات چھپا دیتے ہیں۔ ہر فیصلے کا ایک مربوط ریکارڈ رکھیں، جس میں ایک مستقل اسٹریٹجی فیصلہ ID سگنل، آرڈر، منظوری، منسوخی اور فل کے واقعات تک ساتھ رہے۔
| موازنہ | یہ کیا سامنے لاتا ہے | مثال |
|---|---|---|
| فیصلے کا وقت اور سمت | مختلف ان پٹ یا شیڈولنگ | پیپر سگنل ایک بار دیر سے آتا ہے |
| درخواست کردہ سائز اور قیمت | راؤنڈنگ، رسک یا وینیو کے قواعد | بیک ٹیسٹ 0.013 BTC کا آرڈر بھیجتا ہے؛ پیپر اسے 0.01 تک راؤنڈ کرتا ہے |
| آرڈر کی حالت میں تبدیلیاں | بھیجنے، مسترد ہونے اور منسوخی کے فرق | بیک ٹیسٹ منسوخی کی درخواست کو مکمل شدہ سمجھتا ہے |
| فل کی مقدار اور قیمت | فل ماڈل میں حد سے زیادہ امید پسندی یا مارکیٹ کی حرکت | قیمت چھونے والا لِمٹ آرڈر بیک ٹیسٹ میں مکمل فل ہو جاتا ہے، مگر پیپر میں نہیں |
قیمت چھونے والے لِمٹ آرڈرز اتنے زیادہ آرڈرز کے پورے نہ ہونے کا سبب کیوں بنے؟
ہمارے بیک ٹیسٹ میں 1-minute بارز استعمال ہوئے۔ اگر لِمٹ قیمت کسی بار کی بلند ترین اور کم ترین قیمت کے درمیان آتی، تو آرڈر کو پورا نشان زد کر دیا جاتا۔ یہ قاعدہ بتاتا ہے کہ آیا اس منٹ کے دوران مارکیٹ میں اس قیمت پر ٹریڈ ہوئی یا نہیں۔ یہ نہیں بتاتا کہ اس وقت ہمارا آرڈر فعال تھا یا نہیں، قطار میں سب سے آگے تھا یا نہیں، یا آرڈر پہنچنے کے بعد کافی مقدار میں ٹریڈ ہوئی یا نہیں۔
پیپر لاگز سے وقت کا مسئلہ سامنے آیا۔ اسٹریٹجی نے 12:03:00.000 پر سگنل کا حساب لگایا، مگر مارکیٹ ڈیٹا کا ایونٹ 31 ملی سیکنڈ بعد آرڈر پراسیس تک پہنچا۔ رسک چیکس میں مزید 22 ملی سیکنڈ لگے، اور وینیو سمیولیٹر نے اس کے 31 ملی سیکنڈ بعد آرڈر کی منظوری دی۔ تیز حرکت کے دوران تاریخی بار سے قیمت قابل حصول دکھائی دے سکتی ہے، حالانکہ لِمٹ آرڈر مارکیٹ کے وہاں سے گزر جانے کے بعد پہنچا ہو۔
ایک اور پیچیدگی بھی تھی: بیک ٹیسٹ کے آگے بڑھ جانے کے باوجود پیپر کے 12 آرڈر کھلے تھے۔ سمیولیٹر نے منسوخی کی درخواست کو یوں قبول کیا جیسے آرڈر فوراً ختم ہو گیا ہو۔ پیپر سسٹم میں منسوخی کی منظوری بعد میں آئی؛ اس وقفے میں 3 آرڈر پورے ہو گئے۔ اس سے اگلے سگنل کو نظر آنے والی پوزیشن بدل گئی۔
اپنے آپ کو دھوکا دیے بغیر اس فرق کو کیسے ناپوں؟
آرڈر کی نیت کے مطابق گروپ کی گئی ایک مختصر مصالحتی رپورٹ سے آغاز کریں۔ کل تعداد واضح رکھیں۔ “فل ریٹ” سے مراد بھیجے گئے ہر آرڈر کے مقابلے میں پورے ہونے والے آرڈرز، درخواست کردہ مقدار میں سے پوری ہونے والی مقدار، یا وینیو تک پہنچنے والے آرڈرز میں سے پورے ہونے والے آرڈرز ہو سکتے ہیں۔ ہر پیمانہ مختلف سوال کا جواب دیتا ہے۔
- واقعات کو فیصلے کی ID یا کلائنٹ آرڈر ID سے جوڑیں، بعد میں اندازے سے منتخب کیے گئے ٹائم اسٹیمپ سے نہیں۔
- پہلے فیصلوں کا موازنہ کریں: سگنل کا وقت، سمت، درخواست کردہ مقدار، آرڈر کی قسم اور لِمٹ قیمت۔
- ملتے جلتے فیصلوں کے لیے منظوری میں تاخیر، مستردیاں، کھلے رہنے کا وقت، منسوخی کا وقت، پوری ہونے والی مقدار اور حجم کے لحاظ سے اوسط فل قیمت کا موازنہ کریں۔
- آرڈر کی قسم اور مارکیٹ کی حالت کے لحاظ سے شرحیں رپورٹ کریں۔ مجموعی طور پر 63% فل ریٹ میں مارکیٹ آرڈرز کے لیے 90% اور پیسیو لِمٹ آرڈرز کے لیے 35% چھپ سکتا ہے۔
زمرے واضح اور ایک دوسرے سے الگ رکھیں۔ مسترد شدہ آرڈر، ایسا آرڈر نہیں جو پورا نہ ہوا ہو؛ جزوی طور پر پورا آرڈر مکمل فل نہیں؛ اور جزوی فل کے بعد منسوخ ہونے والا آرڈر بھی پوزیشن بدل چکا ہوتا ہے۔ آرڈرز کی تعداد اور درخواست کردہ مقدار، دونوں گنیں تاکہ بہت سے چھوٹے آرڈرز نتیجے کو حقیقت سے بہتر نہ دکھائیں۔
بیک ٹیسٹ میں کیا تبدیلی کرنی چاہیے؟
ایسا فل قاعدہ اپنائیں جو ڈیٹا کی ریزولوشن اور آرڈر کے مطلوبہ رویے سے مطابقت رکھتا ہو۔ بارز کی صورت میں قیمت کا لِمٹ کو چھونا ممکنہ فل کا اشارہ ہے، اس کا ثبوت نہیں۔ آپ محتاط انداز میں جزوی فل ماڈل کر سکتے ہیں، آرڈر پورا ماننے کے لیے قیمت کو لِمٹ سے آگے جانے کی شرط رکھ سکتے ہیں، یا ایسے پیسیو آرڈرز کو خارج کر سکتے ہیں جن کی قطار کا اندازہ ممکن نہ ہو۔ ہر انتخاب ایک مختلف سوال کا جواب دیتا ہے؛ اسے درج کریں اور ایک سے زیادہ معقول قواعد کے تحت نتیجے کا موازنہ کریں۔
آرڈر کی حالت بھی ماڈل کریں۔ آرڈر اس وقت تک فعال رہتا ہے جب تک سسٹم کو کوئی حتمی ایونٹ نہ مل جائے، اور منسوخی کی درخواست سے ایکسپوژر ختم نہیں ہوتا۔ اگر پہلا آرڈر زیرِ التوا ہوتے ہوئے اسٹریٹجی دوسرا آرڈر بھیج سکتی ہے، تو بیک ٹیسٹ کو اس ممکنہ مقابلے کی نمائندگی کرنی چاہیے یا ڈیزائن ہی میں اسے روکنا چاہیے۔
فل ماڈل اس بارے میں ایک دعویٰ ہے کہ آپ کا آرڈر کیا کر سکتا تھا۔ اسے ایسا قاعدہ دیں جس کی وضاحت آپ کر سکیں، پھر پیپر لاگز سے اس قاعدے کی جانچ کریں۔
ہمارے 28 پوائنٹس کے فرق میں حیران کن بات یہ نہیں تھی کہ منٹ بارز پر مبنی بیک ٹیسٹ نے پیسیو فلز کو بڑھا چڑھا کر دکھایا۔ حیرانی یہ تھی کہ منسوخی کے وقت کو شامل نہ کرنے کے باعث اگلے فیصلے سے پہلے ہی اسٹریٹجی کی پوزیشن مختلف ہو گئی۔ جب ہم نے آرڈر کی حالت کا ماڈل درست کیا اور ہر چھوئے گئے لِمٹ کو فل شمار کرنا بند کیا، تو پیپر سے موازنہ کم خوش کن مگر زیادہ مفید ہو گیا۔
مطابقت کا عملی معیار یہی ہے: سمیولیٹڈ اور پیپر رویے کے ہر اہم فرق کی وجہ درج ہو، اور بیک ٹیسٹ وہاں یقین کا دعویٰ نہ کرے جہاں اس کا ڈیٹا یقین فراہم نہیں کر سکتا۔
← تمام پوسٹس


