میں نے مضمون میں بیک ٹیسٹنگ انجن جاری کیا
سب سے پہلے ، تاریخی K- لائن کیا ہے؟ ایک K- لائن ڈیٹا میں چار قیمتیں شامل ہیں: سب سے زیادہ قیمت ، افتتاحی قیمت ، سب سے کم قیمت اور اختتامی قیمت ، شروع ہونے کا وقت ، اختتامی وقت اور وقفہ ٹریڈنگ کی مقدار۔ زیادہ تر مقداری پلیٹ فارمز اور فریم ورک K- لائن کی بنیاد پر بیک ٹیسٹ کیے جاتے ہیں ، اور FMZ کوانٹ پلیٹ فارم ٹِک لیول بیک ٹیسٹنگ بھی فراہم کرتا ہے۔ K- لائن بیک ٹیسٹنگ کی رفتار بہت تیز ہے ، اور یہ زیادہ تر معاملات میں کوئی مسئلہ نہیں ہے ، لیکن اس میں بھی بہت سنگین نقائص ہیں ، خاص طور پر کثیر اقسام کی حکمت عملی اور بیک ٹیسٹنگ کی اعلی تعدد کی حکمت عملی ، جو شاید ہی درست نتائج اخذ کرسکتی ہے۔
سب سے پہلے ، یہ وقت کی بات ہے۔ K لائن کے اعداد و شمار کی سب سے زیادہ اور کم قیمت کا وقت نہیں دیا گیا ہے ، لہذا اس پر غور کرنا ضروری نہیں ہے ، لیکن سب سے اہم افتتاحی اور اختتامی قیمتیں افتتاحی اور اختتامی پوزیشن کے اوقات نہیں ہیں۔ یہاں تک کہ اگر تجارتی اقسام غیر مقبول ہیں تو ، ان کی تجارت اکثر دس سیکنڈ سے زیادہ نہیں ہوتی ہے۔ جب ہم متعدد قسم کی حکمت عملیوں کا بیک ٹیسٹ کرتے ہیں تو ، ہم اکثر ڈیفالٹ کرتے ہیں کہ ان کی افتتاحی اور اختتامی قیمتیں ایک جیسی ہیں ، جو اختتامی قیمت بیک ٹیسٹنگ کی بنیاد بھی ہے۔
تصور کریں کہ دو اقسام کے ثالثی کے لئے منٹ لائن کا استعمال کریں۔ ان کے درمیان فرق عام طور پر 10 یوآن ہوتا ہے۔ اب یہ معلوم ہوتا ہے کہ 10: 01 پر ، معاہدہ اے کی اختتامی قیمت 100 یوآن ہے ، معاہدہ بی کی اختتامی قیمت 112 یوآن ہے ، اور فرق 12 یوآن ہے۔ لہذا حکمت عملی ہیجنگ شروع ہوجاتی ہے۔ ایک خاص وقت پر ، فرق واپس آجاتا ہے ، اور حکمت عملی 2 یوآن واپسی کے منافع حاصل کرتی ہے۔
تاہم ، اصل صورتحال 10:00:45 پر ہوسکتی ہے ، معاہدہ A نے 100 یوآن کا لین دین تیار کیا ، اور پھر کوئی لین دین نہیں ہوا۔ معاہدہ B نے 10:00:58 پر 112 یوآن کا لین دین تیار کیا۔ 10:01 پر ، دونوں قیمتیں موجود نہیں تھیں۔ اس وقت افتتاحی قیمت کیا تھی؟ اور ہیجنگ کتنا فرق حاصل کرسکتی ہے؟ ہم نہیں جانتے۔ ایک ممکنہ صورتحال یہ ہے کہ 10:00:58 پر ، معاہدہ A کا ایک خریدنے اور فروخت کرنے کا رجحان 101.9-102.1 ہے ، اور 2 یوآن کا پھیلاؤ بالکل نہیں ہے ، جو ہماری حکمت عملی کی اصلاح کو بہت گمراہ کرے گا۔
دوسرا میچ میکنگ ہے۔ اصل میچ میکنگ پہلے قیمت اور وقت ہے۔ اگر خریدار فروخت کی ایک قیمت سے تجاوز کرتا ہے تو ، وہ عام طور پر فروخت کی ایک قیمت پر لین دین کا اختتام کرے گا ، بصورت دیگر ، وہ آرڈر بک میں داخل ہو جائے گا اور انتظار کرے گا۔ یہ واضح ہے کہ کے لائن ڈیٹا میں ایک فروخت یا خریدنے کی قیمت نہیں ہے ، جو تفصیل کی سطح پر مماثلت کی نقالی کرنے سے قاصر ہے۔
آخری مارکیٹ پر حکمت عملی کے اپنے لین دین کا اثر ہے۔ اگر یہ ایک چھوٹا فنڈ بیک ٹیسٹ ہے تو ، اثر چھوٹا ہوگا۔ تاہم ، اگر تجارتی مقدار میں ایک بڑا حصہ ہوتا ہے تو ، اس کا مارکیٹ پر اثر پڑے گا۔ جب لین دین فوری طور پر مکمل ہوجاتا ہے تو نہ صرف قیمت سلائپ پوائنٹ بڑا ہوگا ، بلکہ اگر آپ کا خریداری کا آرڈر بیک ٹیسٹ میں مکمل ہوجاتا ہے تو ، یہ اصل میں دوسرے اصل تاجروں کے لین دین کو روکتا ہے جو خریدنا چاہتے ہیں ، جس سے مارکیٹ پر تتلی اثر پڑتا ہے۔ تاہم ، اس اثر کو مقداری شکل نہیں دی جاسکتی ہے ، اور یہ صرف تجربے سے ہی کہا جاسکتا ہے کہ اعلی تعدد کی تجارت صرف چھوٹی فنڈز کو ایڈجسٹ کرسکتی ہے۔
FMZ حقیقی بوٹ کی سطح بیک ٹیسٹنگ فراہم کرتا ہے، جو حقیقی تاریخی 20 سطح کی گہرائی، حقیقی وقت سیکنڈ ٹک، ٹرانزیکشن کی طرف سے ٹرانزیکشن اور دیگر اعداد و شمار حاصل کر سکتے ہیں، اور اس کی بنیاد پر یہ حقیقی بوٹ پلے بیک فنکشن بنا دیا ہے (https://www.fmz.com/m/databaseاس قسم کے بیک ٹیسٹ کی پیمائش میں بڑی مقدار میں ڈیٹا اور سست رفتار ہوتی ہے ، جس کا استعمال صرف دو دن کے لئے کیا جاسکتا ہے۔ نسبتا high اعلی تعدد والی حکمت عملیوں کے ل or یا سخت وقت کے فیصلے کی ضرورت ہوتی ہے ، اصلی بوٹ بیک ٹیسٹنگ ضروری ہے۔ ایف ایم زیڈ کے ذریعہ جمع کردہ تجارتی جوڑے اور وقت بہت لمبے نہیں ہیں ، لیکن تاریخی اعداد و شمار کے 70 بلین سے زیادہ ٹکڑے موجود ہیں۔ موجودہ مماثلت کا طریقہ یہ ہے کہ اگر خرید آرڈر فروخت کے ایک آرڈر سے بڑا ہے تو ، اس کی مقدار کو دیکھے بغیر فوری طور پر مکمل طور پر مماثلت ہوجائے گی ، اور اگر خرید آرڈر فروخت کے ایک آرڈر سے کم ہے تو ، یہ مماثلت کی قطار میں داخل ہوجائے گا۔ یہ بیک ٹیسٹنگ میکانزم کے پہلے دو مسائل حل کرتا ہے K- لائن بیک ٹیسٹنگ ، لیکن یہ اب بھی آخری مسئلہ حل نہیں کرسکتا ہے۔ اور چونکہ اعداد و شمار کی مقدار بہت زیادہ ہے ، بیک ٹیسٹ کی رفتار اور وقت کی حد محدود ہے۔
K-Line کے بارے میں بہت کم معلومات ہیں ، اور گہرائی بھی غلط ہوسکتی ہے۔ تاہم ، ایک قسم کا ڈیٹا مارکیٹ کا اصل لین دین کا ارادہ ہے ، جو سب سے حقیقی لین دین کی تاریخ کی عکاسی کرتا ہے - یعنی ، لین دین کے ذریعہ لین دین۔ اس مقالے میں ، میں آرڈر فلو پر مبنی ایک اعلی تعدد بیک ٹیسٹنگ سسٹم تجویز کروں گا ، جو اصلی بوٹ کی سطح پر بیک ٹیسٹنگ میں ڈیٹا کی مقدار کو بہت کم کردے گا ، اور ایک خاص حد تک ، مارکیٹ پر تجارتی حجم کے اثرات کی نقالی کرے گا۔
میں نے گزشتہ 5 دنوں کے ٹرانزیکشن کے ذریعے ٹرانزیکشن ڈاؤن لوڈ کیا
[['XTZ', 1590981301905, 2.905, 0.4, 'False\n'],
['XTZ', 1590981303044, 2.903, 3.6, 'True\n'],
['XTZ', 1590981303309, 2.903, 3.7, 'True\n'],
['XTZ', 1590981303738, 2.903, 238.1, 'True\n'],
['XTZ', 1590981303892, 2.904, 0.1, 'False\n'],
['XTZ', 1590981305250, 2.904, 0.1, 'False\n'],
['XTZ', 1590981305643, 2.903, 197.3, 'True\n'],
اعداد و شمار دو جہتی فہرست ہے ، جو ٹرانزیکشن کے وقت کے لحاظ سے ترتیب دی گئی ہے۔ مخصوص معنی یہ ہیں: پرجاتی کا نام ، ٹرانزیکشن کی قیمت ، ٹرانزیکشن ٹائم اسٹیمپ ، ٹرانزیکشن کی مقدار ، اور آیا فروخت کا آرڈر فعال طور پر عمل میں آیا ہے۔ خرید و فروخت دونوں موجود ہیں۔ ہر ٹرانزیکشن میں خریدار اور بیچنے والا شامل ہیں۔ اگر خریدار مارکیٹ بنانے والا ہے اور بیچنے والا ایک فعال ٹرانزیکشن لینے والا ہے تو ، آخری ڈیٹا سچ ہوگا۔
سب سے پہلے ، ٹرانزیکشن کی سمت کے مطابق ، ہم مارکیٹ میں خریدنے اور فروخت کرنے کے بارے میں صحیح طریقے سے قیاس آرائی کرسکتے ہیں۔ اگر یہ ایک فعال فروخت آرڈر ہے تو ، اس وقت خریدنے کی ایک قیمت ٹرانزیکشن کی قیمت ہے۔ اگر یہ ایک فعال خریداری آرڈر ہے تو ، فروخت کرنے کی ایک قیمت ٹرانزیکشن کی قیمت ہے۔ اگر کوئی نیا لین دین ہے تو ، ہم نئی افتتاحی پوزیشن کو اپ ڈیٹ کریں گے۔ اگر یہ اپ ڈیٹ نہیں ہوتا ہے تو ، آخری نتیجہ برقرار رہے گا۔ مذکورہ بالا اعداد و شمار کا آخری لمحہ لانچ کرنا آسان ہے۔ خریدنے کی ایک قیمت 2.903 ہے اور فروخت کرنے کی ایک قیمت 2.904 ہے۔
آرڈر کے بہاؤ کے مطابق ، اسے اس طرح سے مماثل کیا جاسکتا ہے: خرید آرڈر کو مثال کے طور پر لیں ، قیمت قیمت ہے ، اور آرڈر کی مقدار رقم ہے۔ اس وقت ، خریدیں ایک اور بیچیں ایک افتتاحی پوزیشن کی قیمت اور پوچھیں بالترتیب۔ اگر قیمت پوچھنے سے کم اور بولی سے زیادہ ہے تو ، اسے پہلے بنانے والا قرار دیا جائے گا ، اور میچ میکنگ کو ترجیح دی جاسکتی ہے۔ پھر آرڈر کی زندگی کے دوران قیمت سے کم یا برابر ٹرانزیکشن کی قیمت والے تمام لین دین کو اس آرڈر کے ساتھ مماثل کیا جائے گا (اگر قیمت بولی سے کم یا برابر ہے تو ، ٹرانزیکشن کو ترجیح نہیں دی جاسکتی ہے ، اور قیمت سے کم ٹرانزیکشن کی قیمت والے آرڈر اس آرڈر کے ساتھ مماثل ہوں گے۔) قیمت خریدنا ہے ، اور ٹرانزیکشن کی مقدار ہر ٹرانزیکشن کی تعداد ہے ، جب تک کہ ٹرانزیکشن مکمل طور پر بند نہیں ہوجاتا ہے۔ اگر فرق قیمت سے زیادہ ہے تو ، اسے لینے والے کے طور پر سمجھا جائے گا۔ ٹرانزیکشن کی قیمت سے کم یا اس کے برابر ہے۔ اس کی وجہ یہ ہے کہ ٹرانزیک
اس میچ میکنگ کا مسئلہ دیکھنا آسان ہے۔ اگر آرڈر لینے والا ہے تو ، اصل صورتحال یہ ہے کہ اس سے ملنے کے لئے کسی نئے آرڈر کا انتظار کرنے کی بجائے فوری طور پر لین دین کیا جاسکتا ہے۔ سب سے پہلے ، ہم نے مارکیٹ میں درج احکامات کی تعداد پر غور نہیں کیا۔ یہاں تک کہ اگر اعداد و شمار موجود ہوں تو بھی ، لین دین کا براہ راست فیصلہ گہرائی کو تبدیل کرتا ہے اور مارکیٹ کو متاثر کرتا ہے۔ نئے احکامات پر مبنی میچ میکنگ آپ کے احکامات کو تاریخ میں حقیقی احکامات سے تبدیل کرنے کے مترادف ہے ، جو کسی بھی صورت میں خود مارکیٹ کی ٹرانزیکشن کی مقدار کی حد سے تجاوز نہیں کرے گا ، اور حتمی منافع مارکیٹ کے ذریعہ پیدا ہونے والے زیادہ سے زیادہ منافع سے تجاوز نہیں کرسکتا ہے۔ میچ میکنگ میکانزم کا کچھ حصہ احکامات کی ٹرانزیکشن کی مقدار کو بھی متاثر کرتا ہے ، اس طرح حکمت عملی کی واپسی کو متاثر کرتا ہے ، جو حکمت عملی کو مقداری طور پر ظاہر کرتا ہے۔ کوئی روایتی بیک ٹیسٹنگ نہیں ہوگی ، جہاں فنڈ کی رقم دوگنی ہوجاتی ہے تو واپسی کی رقم دوگنی ہوجاتی ہے۔
کچھ چھوٹی چھوٹی تفصیلات بھی ہیں۔ اگر کسی آرڈر کی خریداری کی قیمت ایک خریداری کی قیمت کے برابر ہے تو ، پھر بھی ایک خاص امکان موجود ہے کہ آرڈر کو ایک خریداری کی قیمت پر مماثل کیا جائے گا۔ آرڈر کی ترجیح اور لین دین کے امکان پر غور کرنے کی ضرورت ہے ، جو زیادہ پیچیدہ ہے ، اور اس پر یہاں غور نہیں کیا جائے گا۔
ایکسچینج آبجیکٹ ابتدائی طور پر تعارف کا حوالہ دے سکتے ہیں ، بنیادی طور پر بغیر کسی تبدیلی کے۔ صرف بنانے والے اور لینے والے کمیشن کے درمیان فرق شامل کیا جاتا ہے ، اور بیک ٹیسٹنگ کی رفتار کو بہتر بنایا جاتا ہے۔ میچ میکنگ کوڈ بنیادی طور پر ذیل میں متعارف کرایا گیا ہے۔
symbol = 'XTZ'
loop_time = 0
intervel = 1000 #The sleep time of the strategy is 1000ms
init_price = data[0][2] #Initial price
e = Exchange([symbol],initial_balance=1000000,maker_fee=maker_fee,taker_fee=taker_fee,log='') #Initialize the exchange
depth = {'ask':data[0][2], 'bid':data[0][2]} #depth
order = {'buy':{'price':0,'amount':0,'maker':False,'priority':False,'id':0},
'sell':{'price':0,'amount':0,'maker':False,'priority':False,'id':0}} #Order
for tick in data:
price = int(tick[2]/tick_sizes[symbol])*tick_sizes[symbol] #Transaction price
trade_amount = tick[3] #Number of transactions
time_stamp = tick[1] #Transaction timestamp
if tick[4] == 'False\n':
depth['ask'] = price
else:
depth['bid'] = price
if depth['bid'] < order['buy']['price']:
order['buy']['priority'] = True
if depth['ask'] > order['sell']['price']:
order['sell']['priority'] = True
if price > order['buy']['price']:
order['buy']['maker'] = True
if price < order['sell']['price']:
order['sell']['maker'] = True
#Order network delay can also be used as one of the matching conditions, which is not considered here
cond1 = order['buy']['priority'] and order['buy']['price'] >= price and order['buy']['amount'] > 0
cond2 = not order['buy']['priority'] and order['buy']['price'] > price and order['buy']['amount'] > 0
cond3 = order['sell']['priority'] and order['sell']['price'] <= price and order['sell']['amount'] > 0
cond4 = not order['sell']['priority'] and order['sell']['price'] < price and order['sell']['amount'] > 0
if cond1 or cond2:
buy_price = order['buy']['price'] if order['buy']['maker'] else price
e.Buy(symbol, buy_price, min(order['buy']['amount'],trade_amount), order['buy']['id'], order['buy']['maker'])
order['buy']['amount'] -= min(order['buy']['amount'],trade_amount)
e.Update(time_stamp,[symbol],{symbol:price})
if cond3 or cond4:
sell_price = order['sell']['price'] if order['sell']['maker'] else price
e.Sell(symbol, sell_price, min(order['sell']['amount'],trade_amount), order['sell']['id'], order['sell']['maker'])
order['sell']['amount'] -= min(order['sell']['amount'],trade_amount)
e.Update(time_stamp,[symbol],{symbol:price})
if time_stamp - loop_time > intervel:
order = get_order(e,depth,order) #Trading logic, not given here
loop_time += int((time_stamp - loop_time)/intervel)*intervel
کچھ تفصیلات کو نوٹ کیا جانا چاہئے:
-1. جب کوئی نیا لین دین ہوتا ہے، تو ہمیں پہلے آرڈر کو مماثل کرنا چاہئے، اور پھر تازہ ترین قیمت کے مطابق آرڈر رکھیں۔
-2. ہر آرڈر کی دو خصوصیات ہیں: بنانے والا
آخر میں ، ہم اصل بیک ٹیسٹنگ مرحلے تک پہنچ جاتے ہیں۔ یہاں ، ہم ایک کلاسیکی گرڈ حکمت عملی کا بیک ٹیسٹ کرنے جارہے ہیں تاکہ یہ معلوم کیا جاسکے کہ آیا اس نے متوقع اثر کو حاصل کیا ہے۔ حکمت عملی کا اصول یہ ہے کہ ہر بار جب قیمت میں 1٪ اضافہ ہوتا ہے تو ، ہم مختصر پوزیشن کے احکامات کی ایک خاص قدر رکھیں گے (دوسری صورت میں ، ہم لمبی پوزیشن کے احکامات رکھیں گے) ، اور ہم خرید آرڈر اور فروخت آرڈر کا حساب لگائیں گے اور انہیں پہلے سے زیر التوا رکھیں گے۔ کوڈ جاری نہیں کیا جائے گا۔ تمام کوڈز کو فنکشن میں شامل کریں۔Grid ('XTZ ', 100,0.31000, maker_fee=-0.00002, taker_fee=0.0003)
پیرامیٹرز یہ ہیں: ٹریڈنگ جوڑی، ہولڈنگ ویلیو جس کی قیمت میں 1 فیصد کا انحراف ہے، آرڈر ڈینسٹی 0.3 فیصد، سلائیو انٹراول منٹ، زیر التواء آرڈر کمیشن اور ٹیکر کمیشن۔
ایکس ٹی زیڈ مارکیٹ گزشتہ 5 دنوں میں صدمے میں رہی ہے، جو کہ گرڈ کی حکمت عملی کے لیے بہت موزوں ہے۔
ہم سب سے پہلے واپسی پر مختلف پوزیشنوں کے اثرات کا بیک ٹیسٹ کریں گے۔ روایتی بیک ٹیسٹنگ میکانزم کے ذریعہ ماپا جانے والا منافع یقینی طور پر پوزیشنوں کے اضافے کے ساتھ متناسب طور پر بڑھ جائے گا۔
e1 = Grid('XTZ',100,0.3,1000,maker_fee=-0.00002,taker_fee=0.0003)
print(e1.account['USDT'])
e2 = Grid('XTZ',1000,0.3,1000,maker_fee=-0.00002,taker_fee=0.0003)
print(e2.account['USDT'])
e3 = Grid('XTZ',10000,0.3,1000,maker_fee=-0.00002,taker_fee=0.0003)
print(e3.account['USDT'])
e4 = Grid('XTZ',100000,0.3,1000,maker_fee=-0.00002,taker_fee=0.0003)
print(e4.account['USDT'])
مجموعی طور پر چار گروپوں کو پوزیشن ویلیوز 100، 1000، 10000 اور 100000 کے ساتھ بیک ٹسٹ کیا گیا تھا، اور بیک ٹسٹنگ کا کل وقت 1.3 سیکنڈ تھا۔ نتائج مندرجہ ذیل ہیں:
{'realised_profit': 28.470993031132966, 'margin': 0.7982662957624465, 'unrealised_profit': 0.0104554474048441, 'total': 10000028.481448, 'leverage': 0.0, 'fee': -0.3430967859046398, 'maker_fee': -0.36980249726699727, 'taker_fee': 0.026705711362357405}
{'realised_profit': 275.63148945320177, 'margin': 14.346335829979132, 'unrealised_profit': 4.4382117331794045e-14, 'total': 10000275.631489, 'leverage': 0.0, 'fee': -3.3102045933457784, 'maker_fee': -3.5800688964477048, 'taker_fee': 0.2698643031019274}
{'realised_profit': 2693.8701498889504, 'margin': 67.70120400534114, 'unrealised_profit': 0.5735269329348516, 'total': 10002694.443677, 'leverage': 0.0001, 'fee': -33.984021415250744, 'maker_fee': -34.879233866850974, 'taker_fee': 0.8952124516001403}
{'realised_profit': 22610.231198585603, 'margin': 983.3853688758861, 'unrealised_profit': -20.529965947304365, 'total': 10022589.701233, 'leverage': 0.002, 'fee': -200.87094000385412, 'maker_fee': -261.5849078470078, 'taker_fee': 60.71396784315319}
یہ دیکھا جاسکتا ہے کہ حتمی حاصل کردہ منافع بالترتیب پوزیشن ویلیو کا 28.4٪ ، 27.5٪ ، 26.9٪ اور 22.6٪ ہے۔ یہ بھی اصل صورتحال کے مطابق ہے۔ پوزیشن کی قدر جتنی زیادہ ہوگی ، آرڈر کی قدر اتنی ہی زیادہ ہوگی ، اور جزوی لین دین کا زیادہ امکان ہوگا۔ آرڈر کی رقم کے مقابلہ میں حتمی حاصل شدہ منافع چھوٹا ہوگا۔ ذیل میں دیئے گئے اعداد و شمار میں بالترتیب 100 اور 10000 کی پوزیشن ویلیو کے ساتھ نسبتا return واپسی کا موازنہ دکھایا گیا ہے:
ہم بیک ٹیسٹ کی واپسی پر مختلف پیرامیٹرز کے اثرات کو بھی بیک ٹیسٹ کرسکتے ہیں ، جیسے زیر التواء آرڈر کثافت ، نیند کا وقت اور کمیشن۔ مثال کے طور پر نیند کا وقت لیں ، اسے 100ms میں تبدیل کریں ، 1000ms کے نیند کے وقت سے موازنہ کریں ، اور واپسی کا مشاہدہ کریں۔ بیک ٹیسٹنگ کے نتائج مندرجہ ذیل ہیں:
{'realised_profit': 29.079440803790423, 'margin': 0.7982662957624695, 'unrealised_profit': 0.0104554474048441, 'total': 10000029.089896, 'leverage': 0.0, 'fee': -0.3703702128662524, 'maker_fee': -0.37938946377435134, 'taker_fee': 0.009019250908098965}
منافع میں تھوڑا سا اضافہ ہوا ہے۔ اس کی وجہ یہ ہے کہ حکمت عملی میں آرڈرز کا صرف ایک گروپ زیر التواء ہے ، اور کچھ آرڈرز اتار چڑھاؤ کی قیمت نہیں حاصل کرسکتے ہیں کیونکہ ان کے پاس تبدیل ہونے کا وقت نہیں ہے۔ کم نیند کا وقت اس مسئلے کو بہتر بناتا ہے۔ اس سے گرڈ حکمت عملی میں زیر التواء ملٹی گروپ آرڈرز کی اہمیت بھی ظاہر ہوتی ہے۔
اس مقالے میں آرڈر کے بہاؤ پر مبنی ایک نیا بیک ٹیسٹنگ سسٹم جدید طریقے سے تجویز کیا گیا ہے ، جو جزوی طور پر مماثلت کی صورتحال جیسے آرڈر پینڈنگ ، آرڈر لینے ، جزوی لین دین اور تاخیر کی نقالی کرسکتا ہے ، جزوی طور پر واپسی پر اسٹریٹجک فنڈ کے حجم کے اثرات کی عکاسی کرتا ہے ، اور اس میں اعلی تعدد کی حکمت عملیوں اور ہیجنگ کی حکمت عملیوں کے لئے اہم حوالہ قدر ہے۔ اعلی صحت سے متعلق بیک ٹیسٹنگ حکمت عملی کے پیرامیٹرز کی اصلاح کی سمت کی نشاندہی کرتی ہے۔ اس کی تصدیق طویل مدتی حقیقی بوٹ ٹیسٹوں کے ذریعہ بھی کی گئی ہے۔ اور بیک ٹیسٹ کے لئے درکار ڈیٹا کی مقدار کو اچھی طرح سے کنٹرول کیا جاتا ہے ، اور بیک ٹیسٹ کی رفتار بھی بہت تیز ہے۔