بیک ٹیسٹ ایسی قیمت پر فل دکھا سکتا ہے جو مارکیٹ نے کبھی دکھائی ہی نہ ہو۔ عموماً سمیولیٹر نامکمل ڈیٹا سے بظاہر معقول اجرا اخذ کرتا ہے: بار کی بلند اور کم ترین قیمت، درمیانی قیمت، یا وہ حدی قیمت جسے کسی ایک ٹریڈ نے چھوا ہو۔ اس سے ٹریڈ لاگ بظاہر درست دکھائی دے سکتا ہے، جبکہ یہ چھپ جاتا ہے کہ مارکیٹ نے حقیقت میں کیا پیش کیا تھا۔
سب سے پہلے پوچھیں کہ آپ کا آرڈر کس قیمت کے ساتھ تعامل کر سکتا تھا۔ آخری ٹریڈ کی بار بتاتی ہے کہ ایک وقفے کے دوران کن قیمتوں پر ٹریڈ ہوئی۔ یہ نہیں بتاتی کہ آپ کا آرڈر پہنچنے پر بولی اور طلب کیا تھی، وہاں کتنی مقدار دستیاب تھی، یا آپ کا آرڈر قطار میں آگے پہنچ سکتا تھا یا نہیں۔
میرا بیک ٹیسٹ مارکیٹ کی قیمت سے باہر فل کیوں دکھاتا ہے؟
پہلے، “باہر” سے مراد واضح کریں۔ بار کی کم ترین قیمت سے نیچے خرید کا فل یا بلند ترین قیمت سے اوپر فروخت کا فل حساب یا وقت کی واضح غلطی ہے۔ بلند ترین اور کم ترین قیمت کی حد کے اندر کا فل بھی فرضی ہو سکتا ہے: ممکن ہے قیمت آرڈر بننے سے پہلے ٹریڈ ہوئی ہو، اسپریڈ کی دوسری جانب ہو، یا اس مقدار میں ہو جو آپ کا پورا آرڈر بھرنے کے لیے بہت کم تھی۔
ایک منٹ کی بار فرض کریں جس کا آغاز 100.00 پر، کم ترین قیمت 99.80 اور اختتام 100.10 پر ہو۔ آپ کی حکمت عملی مکمل بار دیکھ کر خرید کا آرڈر بھیجتی ہے، اور سمیولیٹر اسے 99.80 پر بھر دیتا ہے۔ ممکن ہے یہ کم ترین قیمت منٹ کے آغاز کے قریب، سگنل سے پچاس سیکنڈ پہلے بنی ہو۔ بار سے یہ ثابت نہیں ہوتا کہ فیصلے کے بعد 99.80 پر خرید ممکن تھی۔
| آپ کے پاس موجود ڈیٹا | یہ کیا ثابت کرتا ہے | یہ کیا ثابت نہیں کر سکتا |
|---|---|---|
| OHLCV بار | ایک وقفے کے دوران دیکھی گئی ٹریڈ قیمتوں کی حد اور حجم | قیمتوں کی ترتیب، بولی اور طلب، یا آرڈر پہنچنے پر دستیابی |
| ٹریڈ پرنٹس | وقت اور قیمت کے ساتھ رپورٹ شدہ اجرا | آرڈر بک میں موجود لیکویڈیٹی یا قطار میں آپ کی جگہ |
| ٹاپ آف بک کوٹس | نمونہ لیے گئے اوقات میں دکھائی گئی بہترین بولی اور طلب | بہترین سطح سے آگے کی گہرائی یا نمونوں کے درمیان کوٹ برقرار رہنے کا ثبوت |
| آرڈر بک کے واقعات | دکھائی گئی گہرائی میں تبدیلیاں اور قطار کے واقعات، فیڈ کی کوریج کے تابع | پوشیدہ لیکویڈیٹی، وینیو تک رسائی یا یقینی ترجیح |
ایک اور عام وجہ درمیانی قیمت کو قابلِ اجرا قیمت سمجھ لینا ہے۔ اگر کوٹ میں بولی 99.99 اور طلب 100.01 ہو تو رپورٹ میں 100.00 کی درمیانی قیمت پر خرید صاف ستھری دکھائی دیتی ہے۔ مارکیٹ ایبل خرید عموماً طلب کی قیمت پر ہوتی ہے، اور آرڈر کے حجم سے پیدا ہونے والا اثر بھی شامل ہو سکتا ہے۔ درمیانی قیمت کو فل کہنا خاموشی سے آدھا اسپریڈ غائب کر دیتا ہے۔
کیا حدی آرڈر صرف اس لیے بھر سکتا ہے کہ مارکیٹ نے اس کی قیمت چھو لی؟
قیمت چھونا اس بات کا ثبوت ہے کہ اس حدی قیمت پر ٹریڈ پرنٹ ہوئی۔ یہ ثابت نہیں کرتا کہ آپ کا موجود آرڈر بھی اجرا پا جاتا۔ اگر دوسرے آرڈر آپ سے آگے تھے تو اس قیمت پر ٹریڈ ہونے والی مقدار آپ کی قطار تک پہنچنے کے لیے بہت کم ہو سکتی تھی۔ یہ پرنٹ کسی دوسرے وینیو سے بھی آیا ہو سکتا ہے، جبکہ آپ کا آرڈر کہیں اور موجود تھا۔
فرض کریں آپ کا خرید حدی آرڈر 50.00 پر ہے اور آپ کے اسے لگانے کے بعد مارکیٹ اس قیمت پر 200 شیئرز کی ٹریڈ کرتی ہے۔ قیمت چھونے پر مبنی سمیولیٹر پورے 500 شیئرز بھر دیتا ہے۔ زیادہ محتاط ماڈل پوچھتا ہے کہ آرڈر پہنچنے کے بعد 50.00 پر یا اس سے بہتر قیمت پر کتنی ٹریڈ ہوئی، پھر آگے موجود قطار کا تخمینہ بھی شامل کرتا ہے۔ آرڈر سطح کے بک ڈیٹا کے بغیر یہ قطار ایک مفروضہ ہے۔ اسے نتائج میں واضح ہونا چاہیے، یقین کے طور پر چھپا کر شامل نہیں کرنا چاہیے۔
ایک چھوٹے تحقیقی نظام میں، میں اس مفروضے کو واضح رکھ کر مختلف حدوں کی جانچ کرنا پسند کروں گا، بجائے اس کے کہ یہ فرض کر لوں کہ کینڈل ڈیٹا قطار میں ترجیح دکھاتا ہے۔ مناسب حد وینیو، آرڈر کے حجم اور حکمت عملی کی ٹریڈنگ کی کثرت پر منحصر ہے۔ مارکیٹ کھلتے وقت ایک پُرسکون اسٹاک اور 03:00 UTC پر کرپٹو کا کم لیکویڈیٹی والا معاہدہ، اجرا کے دو مختلف مسائل ہیں۔
بار ڈیٹا کے لیے فل ماڈل کیسے منتخب کروں؟
ماڈل کو ڈیٹا اور حکمت عملی کے دعوے، دونوں کے مطابق رکھیں۔ بار پر مبنی بیک ٹیسٹ سست رفتار حکمت عملیوں کے لیے پھر بھی مفید ہو سکتا ہے، مگر اس کے فلز کو وہی ظاہر کرنا چاہیے جو بار ڈیٹا واقعی دکھاتا ہے۔
- فیصلے اور آرڈر پہنچنے کے اوقات مقرر کریں۔ اگر سگنل بار کے اختتام کی قیمت استعمال کرتا ہے تو اس اختتام کے بعد آرڈر بھیجیں۔ اجرا کو اگلے دستیاب وقفے یا کوٹ سے ماڈل کریں، مکمل بار کی پہلے بن چکی کم ترین قیمت سے نہیں۔
- اسپریڈ کا درست رخ استعمال کریں۔ مارکیٹ ایبل خرید کے لیے طلب سے آغاز کریں؛ فروخت کے لیے بولی سے۔ اگر آپ کے پاس صرف ٹریڈ بارز ہیں تو اسپریڈ کا تخمینہ الگ ذریعے سے لگائیں یا رپورٹ میں بتائیں کہ ماڈل اسے شامل نہیں کرتا۔
- فلز کو قابلِ جواز لیکویڈیٹی تک محدود رکھیں۔ دیکھی گئی مقدار پر شرکت کی حد لگائیں اور فیس و مارکیٹ اثر شامل کریں۔ بار کا کل حجم یہ نہیں بتاتا کہ آپ کی منتخب قیمت پر یہ ساری مقدار دستیاب تھی۔
- مفروضوں کو دباؤ میں پرکھیں۔ اگلی بار کے آغاز پر فل کا موازنہ محتاط سلپیج کے ساتھ کریں، اور دیکھیں کہ نتیجہ بدتر اجرا کے باوجود برقرار رہتا ہے یا نہیں۔ جب تک حکمت عملی کامیاب نہ ہو، فل ماڈل کو اس کے مطابق نہ ڈھالیں۔
یہ ماڈلنگ کے انتخاب ہیں، نامکمل ڈیٹا سے واحد حقیقی فل واپس حاصل کرنے کا نسخہ نہیں۔ اگر حکمت عملی چند بیسس پوائنٹس حاصل کرنے پر منحصر ہے تو ممکن ہے بار ڈیٹا اس دعوے کے لیے کافی ثبوت نہ ہو۔
ناممکن فل بیک ٹیسٹ میں کہاں شامل ہوا، یہ کیسے معلوم کروں؟
ایک مشتبہ ٹریڈ کو سگنل سے لیجر تک ٹریس کریں۔ فیصلے کا ٹائم اسٹیمپ، آرڈر بھیجنے کا ٹائم اسٹیمپ، فرضی طور پر پہنچنے کا وقت، منتخب مارکیٹ مشاہدہ، فل قیمت، فل مقدار اور فیس کو الگ الگ فیلڈز میں رکھیں۔ پھر اس ترتیب سے جانچیں:
- کیا فیچر کے حساب میں اس بار کا ڈیٹا استعمال ہوا جو فیصلے کے وقت ابھی مکمل نہیں ہوئی تھی؟
- کیا فل میں بار کی بلند، کم ترین یا اختتامی قیمت استعمال ہوئی، حالانکہ وہ قیمت آرڈر پہنچنے سے پہلے بنی تھی؟
- کیا خرید کو بولی پر یا فروخت کو طلب پر ملایا گیا؟
- کیا فرضی مقدار دستیاب کوٹ کے حجم یا ماڈل کی شرکت کی حد سے زیادہ تھی؟
- کیا فل منتخب ہونے کے بعد قیمت کی راؤنڈنگ، معاہدے کا ٹک سائز اور فیس لاگو کی گئی؟
اگر آپ ٹریڈ ریکارڈ سے ان سوالوں کے جواب نہیں دے سکتے تو بیک ٹیسٹ میں اجرا کے ثبوت موجود نہیں۔ یہ فیلڈز شامل کریں، خام ڈیٹا کے مقابلے میں چند ٹریڈز کو دستی طور پر دوبارہ چلائیں، اور دیکھیں کہ رپورٹ شدہ فل آپ کے منتخب ماڈل کے تحت ممکن تھا یا نہیں۔ صاف ستھرا ایکویٹی کرو اس قیمت کو نہیں پکڑ سکتا جو صرف سمیولیٹر کے اندر موجود تھی۔
← सभी पोस्ट


