EMpulse Street FX Index: طریقہ کار
EMpulse Street FX Index ابھرتی ہوئی مارکیٹوں کی کرنسیوں کے USDT کے مقابلے (جسے 1 USD شمار کیا جاتا ہے) میں روزانہ "اسٹریٹ" شرحِ تبادلہ شائع کرتا ہے: یعنی وہ شرح جو لوگ عملاً ادا کرتے ہیں، نہ کہ سرکاری شرح۔ انڈیکس لین دین پر مبنی مارکیٹ ڈیٹا کو عوامی مارکیٹ ذرائع کے کوٹس کے ساتھ ملاتا ہے؛ ہر سیریز کے ساتھ اعتماد کی درجہ بندی دی جاتی ہے، اور ڈیٹا کی حدود بھی اسی کے ساتھ شائع کی جاتی ہیں۔
اجزا
| جزو | یہ کیا ہے | کہاں نظر آتا ہے |
|---|---|---|
| transaction-based | دن کے مارکیٹ لین دین کا وزنی اوسط، ہر کرنسی اور مارکیٹ کی ہر سمت کے لیے۔ انڈیکس میں صرف مجموعی اعداد شامل ہوتے ہیں: انفرادی لین دین یا فریقین کو نہ محفوظ کیا جاتا ہے اور نہ شائع | GET /v1/rates/*، لائیو ٹیبل |
| multi-source | آزاد مارکیٹ ذرائع کے شائع کردہ ریٹ کوٹس (ایکسچینج کاروباروں کے عوامی چینلز، مقامی اشاعتی اداروں کے ریٹس کے سیکشن، فورمز)، جن کا وزن اس اعتبار کے مطابق ہوتا ہے جو ہر ماخذ نے حاصل کیا ہو | GET /v1/street-index/* (پروڈکٹ "Street Rate Index: multi-source")؛ لائیو ٹیبل ان کرنسیوں کے لیے جنہیں انڈیکس صرف عوامی ذرائع سے کور کرتا ہے |
| exchange-based | کرپٹو ایکسچینجز کی کھلی آرڈر بکس، جہاں ڈیجیٹل ڈالر کا کوٹ متعلقہ کرنسی کے مقابلے میں دیا جاتا ہے، جنہیں ایکسچینجز کے دستاویزی عوامی APIs کے ذریعے ہر گھنٹے میں ایک بار پڑھا جاتا ہے: ہر سمت کی بہترین پیشکشیں، ان کی قیمتیں اور پیش کردہ مقدار، جنہیں ہر ایکسچینج کی سطح پر اور ایکسچینجز کے مجموعے میں، ہر ایکسچینج کے حاصل کردہ اعتبار کے مطابق یکجا کیا جاتا ہے۔ ہر ایکسچینج ایک ماخذ شمار ہوتا ہے؛ اعداد کے ساتھ نام منسلک نہیں کیے جاتے | لائیو ٹیبل اور GET /v1/rates/* ان کرنسیوں کے لیے جنہیں انڈیکس ایکسچینجز کے ذریعے کور کرتا ہے؛ exchange_spread_pct (Pro)؛ USDT Liquidity کا بیرونی جزو |
تمام شرحیں فیاٹ فی 1 USDT کے طور پر کوٹ کی جاتی ہیں۔
ایکسچینج پر مبنی جزو
- کون سے ایکسچینجز۔ صرف وہ ایکسچینجز جو اپنی پیشکشوں کے لیے دستاویزی عوامی API فراہم کرتے ہیں، جسے اکاؤنٹ کے بغیر پڑھا جا سکتا ہو، جن کی شرائط خودکار مطالعے یا دوبارہ تقسیم سے منع نہیں کرتیں، اور جن کی
robots.txtمتعلقہ endpoint کی اجازت دیتی ہے۔ باقی سب کچھ شامل نہیں کیا جاتا، اور ہر ایکسچینج کی شرائط ہر 30 دن بعد دوبارہ پڑھی جاتی ہیں: جس ایکسچینج کی شرائط بدل جائیں وہ خود بخود خارج ہو جاتا ہے۔ کسی عدد کے پیچھے موجود ایکسچینجز صرف تعداد (sources) کی صورت میں ظاہر ہوتے ہیں؛ ایکسچینجز کی فہرست ان کی رضامندی سے یہاں شائع کی جاتی ہے اور بصورتِ دیگر کسی عدد کے ساتھ منسلک نہیں کی جاتی۔ - گھنٹہ۔ ہر ایکسچینج، کرنسی اور سمت کے لیے قیمت کے لحاظ سے بہترین پیشکشیں (زیادہ سے زیادہ 20) بہترین قیمت، میڈین، گہرائی کے وزن سے نکالی گئی قیمت اور گہرائی (پیش کردہ مقدار، USDT میں) دیتی ہیں۔ سمتیں انڈیکس کی روایت کے مطابق ہیں:
buyوہ سمت ہے جہاں کلائنٹ ڈیجیٹل ڈالر خریدتا ہے۔ جو ایکسچینج ڈالر ٹوکن کے بجائے بٹ کوائن کوٹ کرتا ہے، وہ اسی گھنٹے کی اپنی US-ڈالر بک کے ذریعے شامل ہوتا ہے (کرنسی میں قیمت ÷ ڈالر میں قیمت)، تاکہ ہر عدد ڈالر کی شرح ہو۔ ایکسچینجز کے مجموعے میں گھنٹے کےmid،buyاورsellاعتبار کے وزن والے میڈین ہوتے ہیں؛exchange_spread_pct= (ایکسچینجز کے بلند ترین اور کم ترین mid کا فرق) / میڈین × 100، کم از کم دو ایکسچینجز کے ساتھ۔ دن کی قدر اس کے گھنٹوں کے میڈین سے لی جاتی ہے۔ - ایکسچینج کا اعتبار (0–1، روزانہ 30 دن پر دوبارہ شمار): درستگی =
max(0, 1 − dev / 5 %)، جہاںdevاسی گھنٹے میں ایکسچینج کے mid کا دیگر ایکسچینجز کے میڈین سے درمیانی فاصلہ ہے (اگر دیگر ایکسچینجز دو سے کم ہوں تو دن کے transaction-based حوالے سے)؛ ایک گہرائی کا جزو (گہرائی بمقابلہ معیار) اور ایک تازگی کا جزو (پچھلے دن میں ڈیٹا والے گھنٹے)؛0.5·accuracy + 0.25·depth + 0.25·freshness۔ جس ایکسچینج کی قیمتیں دوسروں سے ہٹ کر ہوں، یعنی پرانی یا چھیڑ چھاڑ شدہ بک، اس کا وزن فوراً گھٹ جاتا ہے؛ 0.2 سے کم تین روزانہ اسکور اسے ایک ہفتے کے لیے روک دیتے ہیں۔ - اعتماد۔ دن
highہوتا ہے جب کم از کم تین ایکسچینجز ایک دوسرے کے 2 % کے اندر ہوں،mediumجب کم از کم تین ایکسچینجز ہوں، اورlimitedجب اس سے کم ہوں۔ دن نیچے دیے گئے اصول کے مطابق کرنسی کے واحد عوامی انڈیکس میں شامل ہوتا ہے؛ جس کرنسی کو ایکسچینجز کوٹ کرتے ہوں اور کوئی دوسرا جزو کور نہ کرتا ہو، وہ صرف اسی جزو کے ذریعے فعال ہو جاتی ہے۔
کوریج اور فعالیت
کسی کرنسی کا انڈیکس روزانہ ایک عدد ہوتا ہے، جو اوپر دیے گئے اجزا سے بنتا ہے:
- جب صرف ایک جزو شائع کرے، تو انڈیکس وہی جزو ہوتا ہے؛
- جب کئی شائع کریں، تو سب سے تازہ دن غالب رہتا ہے؛ جو اجزا اسی دن شائع کریں ان کا اعتماد کے وزن کے ساتھ اوسط لیا جاتا ہے: transaction-based جزو کا وزن
high/medium/limitedدن کے لیے 1 / 0.6 / 0.3 ہے، جبکہ multi-source اور exchange-based اجزا کا وزن ان کا اعتماد اسکور (0–1، کم از کم 0.1) ہے۔
کرنسی فعال ہوتی ہے جب انڈیکس میں پچھلے 14 دن کے اندر کوئی دن موجود ہو (/v1/currencies: status = "active"، active_since = ڈیٹا کے موجودہ سلسلے کا پہلا دن، جس میں 14 دن سے لمبا وقفہ نہ ہو)۔ جس کرنسی کا کوئی حالیہ دن نہ ہو وہ کوریج جاری ہے کی حالت میں ہوتی ہے: ہم اس کے لیے مارکیٹ ذرائع شامل کر رہے ہیں، اس کی شائع شدہ تاریخ دستیاب رہتی ہے، اور حالیہ دن موجود ہوتے ہی وہ خود بخود فعال فہرست میں واپس آ جاتی ہے۔ ویب سائٹ کا لائیو ٹیبل صرف فعال کرنسیاں دکھاتا ہے؛ پلانز میں بیان کردہ کرنسیوں کی تعداد فعال کرنسیوں کی تعداد ہے۔
ہر فعال کرنسی کے لیے تازہ ترین دن کے ساتھ یہ فراہم کیا جاتا ہے:
- sources: اس دن کے پیچھے آزاد مارکیٹ ذرائع کی تعداد (transaction-based جزو ایک شمار ہوتا ہے، اور exchange-based جزو کا ہر ایکسچینج ایک)۔ یہ تب شائع ہوتی ہے جب دو یا زیادہ ہو، اور
limitedدن کے لیے ہمیشہ ("1 ماخذ، محدود اعتماد")؛ ورنہ یہ خالی ہوتی ہے (API میںnull)۔ - confidence: تازہ ترین دن کی درجہ بندی (
high/medium/limited، نیچے دیکھیں)؛ جب دن تین یا اس سے زیادہ دن پرانا ہو تو اسے ایک درجہ نیچے دکھایا جاتا ہے۔
کرنسی اپنے پہلے مارکیٹ ماخذ سے ہی شائع ہوتی ہے: ایک ماخذ والا دن limited ہوتا ہے اور اس کے ساتھ coverage improving کا نوٹ ہوتا ہے (ویب سائٹ، API، MCP): عدد حقیقی ہے، اس کی غیر یقینی صراحت سے بیان کی گئی ہے، اور مزید ذرائع شامل کیے جا رہے ہیں۔ medium کے لیے دو آزاد ذرائع درکار ہیں، high کے لیے تین جو 2 % کے اندر متفق ہوں۔ exchange-based جزو فعالیت کے اصول میں صرف تب داخل ہوتا ہے جب اس کی آرڈر بکس میں ایک گھنٹے میں کم از کم تین آزاد پیشکشیں اور دو دن کا ڈیٹا نظر آئے؛ جس کرنسی کا ایک بھی ڈیٹا پوائنٹ نہ ہو وہ coverage_in_progress ہی رہتی ہے۔
روزانہ انڈیکس کے فیلڈز (GET /v1/rates/{cur})
- buy: دن کی وزنی اوسط شرح جس پر کلائنٹ فیاٹ کے بدلے USDT خریدتا ہے۔ جس سمت کے لیے دن میں ڈیٹا پوائنٹس بہت کم ہوں وہ
nullہوتی ہے۔ - sell: وہی، اس سمت کے لیے جہاں کلائنٹ USDT فروخت کرتا ہے۔
- mid:
(buy + sell) / 2جبbuyاورsellدونوں موجود ہوں۔ اگر مارکیٹ کی صرف ایک سمت موجود ہو توmidاسی سمت کی شرح کے برابر ہوتا ہے (sideدیکھیں)۔ اگر کوئی سمت موجود نہ ہو توmidnullہوتا ہے۔ - side:
midکس بنیاد پر ہے:both،buy(صرفbuyموجود ہے) یاsell(صرفsellموجود ہے)؛ جبmidنہ ہو توnull۔ مارکیٹ کی ایک سمت پر مبنیmidدو طرفہmidکے مقابلے میں تقریباً آدھے spread کے برابر منتقل ہوتا ہے، اس لیے دنوں کا موازنہ کرتے وقتsideکو مدنظر رکھیں۔ - spread_pct:
(buy − sell) / mid × 100، صرف جبside = "both"ہو؛ ورنہnull۔ یہ عموماً مثبت ہوتا ہے؛ محدود ڈیٹا والے دنوں میں منفی spread آ سکتا ہے اور اسے جوں کا توں شائع کیا جاتا ہے۔ - confidence:
high،mediumیاlimited۔ ہر کرنسی کی اپنی کوریج کی بنیاد پر ایک بنیادی درجہ ہوتا ہے (GET /v1/currencies: بہترین کور کی گئی سیریز کے لیےhigh، باقی کے لیےmedium)؛ جس دن ڈیٹا پوائنٹس معمول سے کم ہوں وہ ایک درجہ نیچے ہوتا ہے (high → medium،medium → limited)۔limitedکا مطلب ہے کم ڈیٹا پوائنٹس: زیادہ شور، ممکنہ خلا۔ - in_progress: کرنسی کے تازہ ترین دن کے لیے
true، جب تک دن کا ڈیٹا ابھی جمع ہو رہا ہو اور اس کے ڈیٹا پوائنٹس پچھلے 7 کیلنڈر دنوں (صرف ڈیٹا والے دن) کے معمول سے واضح طور پر کم ہوں۔ ایسے دن پر نظرثانی کی جائے گی۔ باقی تمام دنfalseہوتے ہیں۔ - mid_7d: پچھلے 7 کیلنڈر دنوں کی درست
midقدروں کا حسابی اوسط، بشمول خود اس دن کے۔ جن دنوں کی درستmidنہ ہو انہیں چھوڑ دیا جاتا ہے؛ اگر کوئی نہ ہو توnull۔ -
chg_1d_pct, chg_7d_pct, chg_30d_pct:
(mid / mid_N_days_ago − 1) × 100، بالکل 1، 7 یا 30 کیلنڈر دن پہلے سے موازنہ۔ اگر کسی ایک دن کی درستmidنہ ہو (خلا کے پار پچھلی قدر آگے نہیں لی جاتی) یا دونوں دنوں کاsideمختلف ہو (مثلاًbothبمقابلہbuy) توnull: یک طرفہmidتقریباً آدھے spread کے برابر منتقل ہوتا ہے، اس لیے ایسا موازنہ ایسی حرکت دکھاتا جو ہوئی ہی نہیں۔ -
exchange_spread_pct (Pro اور Enterprise): اس دن exchange-based جزو کا ایکسچینجز کے درمیان spread (اوپر دیکھیں)؛ دو سے کم ایکسچینجز ہوں تو
null۔
"درست mid" کا مطلب ہے ایسا غیر null mid جس پر غیر معمولی قدر (outlier) کا نشان نہ لگا ہو۔
ایسی سمت جو حرکت نہیں کرتی
کبھی کبھار مارکیٹ کی ایک جانب حرکت کرنا بند کر دیتی ہے جبکہ دوسری جانب بدلتی ہوئی قیمتوں پر چلتی رہتی ہے: کئی دن تک (روزانہ انڈیکس کے لیے پانچ) اس کا میڈین ریٹ 0.05 % کے اندر رہتا ہے، یا اس جانب کا ہر دن ایک ہی قیمت پر طے پاتا ہے۔ ایسی قیمت صرف کوٹ کی جاتی ہے، اس پر لین دین نہیں ہوتا، اور اس کے اور فعال جانب کے درمیان کا mid بے معنی ہوگا۔ اس صورت میں انڈیکس صرف حرکت کرنے والی جانب پر مبنی ہوتا ہے: mid اسی جانب کے ریٹ کے برابر ہوتا ہے، side اس کا نام بتاتا ہے (buy یا sell) اگرچہ buy اور sell دونوں شائع ہوتے ہیں، اور spread_pct کی قدر null ہوتی ہے۔ یہ اصول دن بہ دن لاگو ہوتا ہے اور جیسے ہی خاموش جانب دوبارہ حرکت کرنے لگے، خود ہٹ جاتا ہے؛ جب دونوں جانبیں یکساں طور پر ساکن ہوں (فلیٹ مارکیٹ) تو کچھ نہیں بدلتا۔ گھنٹہ وار انڈیکس یہی اصول 24 گھنٹوں کی ونڈو پر لاگو کرتا ہے۔
آؤٹ لائر
کسی دن پر flag = "outlier" کا نشان تب لگتا ہے جب درج ذیل تمام شرائط پوری ہوں:
- اس کا
midموجود ہو؛ - اس کے ڈیٹا پوائنٹس کم ہوں (جس دن کی کوریج اچھی ہو اس دن کی بڑی حرکت پر کبھی نشان نہیں لگتا: اسے مارکیٹ کی حقیقی حرکت مانا جاتا ہے)؛
- اس کا
midآس پاس کی ±15 کیلنڈر دنوں کی ونڈو کے میڈینmidسے 10% سے زیادہ ہٹا ہوا ہو (خود وہ دن شامل نہیں)؛ - ونڈو میں
midوالے کم از کم 3 دیگر دن ہوں (ورنہ فیصلے کے لیے ڈیٹا کافی نہیں ہوتا، اور اس دن پر نشان نہیں لگتا)۔
آؤٹ لائر دن اپنی buy، sell، mid اور spread_pct کی قدریں برقرار رکھتے ہیں تاکہ کلائنٹ انہیں دیکھ سکیں، لیکن انہیں mid_7d اور تمام chg_* حسابات سے خارج کر دیا جاتا ہے (خود آؤٹ لائر دن کے لیے بھی اور ان دنوں کے لیے بھی جو اس کا حوالہ دیں گے)۔
نظرثانی اور اوقات
- دن UTC کیلنڈر دن ہیں۔ موجودہ دن 00:00 UTC تک نامکمل رہتا ہے اور دن کے دوران اس پر نظرثانی ہوتی رہتی ہے؛ جب تک اس کے ڈیٹا پوائنٹس واضح طور پر معمول سے کم ہوں اس پر
in_progress = trueکا نشان رہتا ہے (اوپر دیکھیں)۔ - چونکہ آؤٹ لائر ونڈو پیچھے کے ساتھ ساتھ 15 دن آگے بھی دیکھتی ہے، اس لیے نئے ڈیٹا کے آنے پر تازہ ترین 15 دنوں کے فلیگ (اور اس وجہ سے
mid_7dاورchg_*) بدل سکتے ہیں۔ ہر اپ ڈیٹ پر پوری ہسٹری دوبارہ شمار کی جاتی ہے۔ - مفت API کیز کو پچھلے دن تک کا ڈیٹا ملتا ہے؛ Pro اور Enterprise کیز میں موجودہ دن بھی شامل ہوتا ہے۔
- ہر API کی کو فراہم کی جانے والی سیریز میں انفرادی معمولی فرق ہو سکتے ہیں۔
گھنٹہ وار انڈیکس (GET /v1/rates/{cur}/hourly، Pro اور Enterprise)
گھنٹہ وار انڈیکس گھنٹہ وار تفصیل کے ساتھ روزانہ انڈیکس ہی ہے: ہر UTC گھنٹے اور ہر کرنسی کے لیے buy اور sell ہر جانب اس گھنٹے کے مارکیٹ لین دین کے وزنی اوسط ریٹ ہوتے ہیں، mid، side اور spread_pct روزانہ اصولوں کے مطابق ہوتے ہیں، اور confidence کرنسی کی بنیادی کلاس ہوتی ہے۔
- گھنٹہ وار سیریز کیسے بنتی ہے۔ ہر وہ کرنسی جس کا گھنٹہ وار مارکیٹ ڈیٹا موجود ہو، اس کی ایک سیریز ہوتی ہے۔ ہر UTC گھنٹے کے لیے لین دین پر مبنی جزو استعمال ہوتا ہے جب اس گھنٹے کی اس میں قدر موجود ہو؛ بصورت دیگر کثیر ماخذی جزو (اس گھنٹے کے کوٹس کا اعتبار کے وزن سے نکالا گیا میڈین، جہاں USDT کو USD شمار کیا جاتا ہے) استعمال ہوتا ہے، بشرطیکہ اس گھنٹے میں کم از کم 2 آزاد ماخذ نے کوٹ کیا ہو؛ جب دونوں موجود ہوں تو گھنٹہ
combinedہوتا ہے: لین دین پر مبنی قدر کو کثیر ماخذی میڈین کے ساتھ وزن دیا جاتا ہے، جس کا حصہ ماخذ کی تعداد کے ساتھ بڑھتا ہے (3 ماخذ سے آدھے تک)۔ جب دونوں میں 3 % سے زیادہ فرق ہو تو گھنٹہ کمqualityکے ساتھ شائع ہوتا ہے اور اس کا جائزہ لیا جاتا ہے۔ ہر گھنٹہ اپناcomponentبتاتا ہے (transaction_based،multi_source،combined)۔ کوئی انٹرپولیشن نہیں ہوتی؛ کوٹس کے بغیر گھنٹہ کوٹس والے آخری گھنٹے کو دہراتا ہے اور اس پر نشان لگا ہوتا ہے (کوٹس کے بغیر گھنٹے دیکھیں)۔ جب کسی کرنسی کی کسی UTC دن میں (موجودہ دن کے لیے: پچھلے 24 گھنٹوں میں) قدر والے 6 گھنٹوں سے کم ہوں تو ان گھنٹوں پرquality: limitedہوتا ہے اور ویب سائٹ انہیں لکیر کے بجائے نقطوں کی صورت میں دکھاتی ہے۔ - کوٹس کے بغیر گھنٹے۔ مارکیٹ کے ماخذ اپنے ملک کے دن کے اوقات میں کوٹ کرتے ہیں؛ رات کو کسی کرنسی کے کئی گھنٹوں تک کوٹس نہیں ہوتے۔ ایسا گھنٹہ، دوسرے انڈیکسز کی طرح، کوٹس والے آخری گھنٹے کی قدر دہراتا ہے اور اس کی صراحت کرتا ہے:
carried: true،carried_from(وہ گھنٹہ جس سے قدر لی گئی) اورage_hours(قدر کتنی پرانی ہے؛ کوٹس والے گھنٹے کے لیے 0)۔ قدر زیادہ سے زیادہ 72 گھنٹے تک آگے لے جائی جاتی ہے؛ اس کے بعد کوٹس لوٹنے تک گھنٹہ موجود نہیں ہوتا۔ آگے لے جائے گئے گھنٹے کبھی روزانہ انڈیکس، روزانہ خلاصے (hours،vwap،high،low) یا اوپر کے 6 گھنٹے کے اصول میں شامل نہیں ہوتے؛ ویب سائٹ آخری کوٹ کی عمر دکھاتی ہے ("9 گھنٹے پہلے اپ ڈیٹ ہوا (آخری کوٹ 23:00 UTC)") اور جب وہ 3 گھنٹوں سے پرانا ہو تو سرمئی نقطہ دکھاتی ہے۔ - گھنٹے اور جانبیں۔ مارکیٹ ڈیٹا والے ہر گھنٹے کے لیے کوٹس والی ایک قطار موجود ہوتی ہے۔ کسی جانب کو شائع ہونے کے لیے گھنٹے میں کم از کم 3 ڈیٹا پوائنٹس درکار ہوتے ہیں؛ اس سے کم ہوں تو وہ
nullہوتی ہے، اور جب صرف ایک جانب موجود ہو توmidوہی جانب ہوتی ہے (sideبتاتا ہے کون سی)۔ کم ڈیٹا پوائنٹس والی کرنسیوں کے لیے انڈیکس قدر والے گھنٹے اسی کے مطابق کم ہوتے ہیں: ان کے درمیان کے گھنٹے شور سے بھرنے کے بجائے آگے لے جائے جاتے ہیں (نشان کے ساتھ)، اور یہ ڈیزائن کے مطابق ہے۔ - گھنٹے کے اندر آؤٹ لائر۔ گھنٹے کے مجموعے ان لین دین سے بنتے ہیں جو اس گھنٹے کے اپنے میڈین ریٹ کے ±20 % کے اندر ہوں؛ اس کے بعد کوئی اور فلٹر نہیں لگتا، اور گھنٹہ وار قطاروں میں
flagنہیں ہوتا۔ ساکن جانب کا اصول (اوپر) 24 گھنٹوں کی ونڈو پر لاگو ہوتا ہے۔ - روزانہ خلاصہ۔ ہر کرنسی کے جواب کے ہر دن میں
vwap(پورے دن کا وزنی اوسط ریٹ، دونوں جانبیں ملا کر)،highاورlow(گھنٹہ وارmidکی بلند ترین اور کم ترین قدریں)،hours(انڈیکس قدر والے گھنٹے) اورpeak_hour(سب سے زیادہ مارکیٹ سرگرمی والا گھنٹہ) شامل ہوتے ہیں۔highاورlowکافی ڈیٹا پوائنٹس والے گھنٹوں سے (گھنٹے میں کم از کم 5) لیے جاتے ہیں اور، جب دن میں ایسے گھنٹے ہوں، صرف دو طرفہ گھنٹوں سے: مارکیٹ کی ایک جانب پر مبنیmidدو طرفہmidسے تقریباً آدھے اسپریڈ کے فاصلے پر ہوتا ہے، اور دونوں کو ملانے سے ایسی رینج نظر آتی جو مارکیٹ میں کبھی رہی ہی نہیں۔hoursپھر بھی انڈیکس قدر والے ہر گھنٹے کو گنتا ہے۔ - جاری۔ موجودہ UTC گھنٹے پر، جب تک اس کا ڈیٹا جمع ہو رہا ہو اور اس پر نظرثانی ہونی ہو،
in_progress = trueہوتا ہے؛GET /v1/rates/hourly/latestصرف مکمل گھنٹے لوٹاتا ہے۔ - اوقات۔ لین دین پر مبنی گھنٹہ وار قطاریں روزانہ اپ ڈیٹ کے ساتھ آتی ہیں جو پچھلے تین دنوں کا احاطہ کرتی ہے (تاخیر سے آنے والا لین دین اور دوبارہ شمار اسی وقت شامل ہوتے ہیں): روزانہ اپ ڈیٹ، گھنٹہ وار تفصیل، ریئل ٹائم فیڈ نہیں۔ کثیر ماخذی گھنٹے دن بھر پچھلے 72 گھنٹوں پر دوبارہ شمار ہوتے ہیں۔ ہسٹری کی حد سے پرانی گھنٹہ وار قطاریں ہسٹری کوٹے میں روزانہ قطار کے 1/24 کے حساب سے گنی جاتی ہیں۔ عوامی ویب سائٹ گھنٹہ وار سیریز والی ہر کرنسی کے آخری 24 مکمل گھنٹے اور آخری مکمل گھنٹے کا ریٹ دکھاتی ہے؛ معلوم گھنٹوں کے درمیان چارٹ سیدھی لکیر کھینچتا ہے اور آخری قدر کو دائیں کنارے تک قائم رکھتا ہے (صرف دکھانے کے لیے)۔
کثیر ماخذی اسٹریٹ انڈیکس (GET /v1/street-index، پروڈکٹ "Street Rate Index" کا کثیر ماخذی ورژن)
ہر اس کرنسی کے لیے جس کے اسٹریٹ ریٹ عوامی مارکیٹ ماخذ شائع کرتے ہیں، جہاں لین دین پر مبنی سیریز موجود ہو اس کے ساتھ اور جہاں نہ ہو وہاں اکیلے، انڈیکس کھلے ماخذ میں کوٹ کیا گیا ریٹ شائع کرتا ہے: ایکسچینجرز کے عوامی Telegram چینلز، مقامی ناشرین کے ریٹ سیکشنز، فورمز۔ شائع شدہ ریٹ ایک حقیقت ہے؛ ہم نمبر، وقت اور پوسٹ کا لنک رکھتے ہیں، متن کبھی نہیں۔
- کوٹ ایک عوامی پوسٹ سے ایک نمبر: کوٹ کی گئی کرنسی (ISO 4217)، بیس (
USD؛USDTکو USD شمار کیا جاتا ہے اور اس کا اندراج کیا جاتا ہے،EURکوٹس الگ رکھے جاتے ہیں اور تبدیل نہیں کیے جاتے)، جانب، بیس کی 1 اکائی کا ریٹ، پوسٹ کا وقت (UTC)، لنک۔ نمبر کے گرد زیادہ سے زیادہ 200 حروف کا ایک ٹکڑا صرف آڈٹ کے لیے محفوظ کیا جاتا ہے اور کبھی دکھایا نہیں جاتا۔ ایک پوسٹ سے کئی کوٹس نکل سکتے ہیں (buy اور sell، کئی کرنسیاں، کئی شہر)۔ - جانب کا اصول۔
sideانڈیکس کی طرح کلائنٹ کا عمل ہے: کلائنٹ ایکسچینجر کی فروخت قیمت (زیادہ نمبر) پر USD خریدتا ہے اور ایکسچینجر کی خرید قیمت پر USD بیچتا ہے۔ جو پوسٹ جوڑی کو الٹ لیبل کرے اسے پلٹ دیا جاتا ہے اور کم confidence کے ساتھ نشان زد کیا جاتا ہے۔midجانب کے بغیر کوٹ ہے۔ - اخراج۔ پہلے عام فارمیٹس کے لیے ریگولر ایکسپریشنز ("USD 1650/1665"، "Покупка: 11810 / Продажа: 11860"، "$ = ₦1,650"، "1 USDT = 41.25 TRY"، "Dolar: 49,72"، دری / عربی / اردو / بنگالی / فارسی صورتیں؛ ہزاروں کو خالی جگہوں، apostrophe یا نقطوں سے لکھنا؛ toman = 10 rials)۔ سرکاری، مرکزی بینک، ایکسچینج میں درج اور پیش گوئی والے ریٹس کی لائنیں چھوڑ دی جاتی ہیں۔ جن پوسٹس میں کرنسی کا لفظ اور نمبر ہو مگر کوئی مطابقت نہ ملے وہ ڈیٹا کے طور پر بیچز میں لینگویج ماڈل کو جاتی ہیں؛ اس کا لوٹایا ہوا ہر نمبر ریگولر ایکسپریشن کی مطابقت کی طرح جانچا جاتا ہے۔
- قابل قبول رینج ہر کرنسی اور بیس کے لیے: پچھلے 30 دنوں کا لین دین پر مبنی حوالہ، ورنہ پچھلے 14 دنوں کے کوٹس کا میڈین (≥ 5)، ورنہ ابتدائی قدر؛ رینج حوالے کا ± 60 % ہوتی ہے۔ اس سے باہر کے کوٹس
outlierکے طور پر رکھے جاتے ہیں اور کبھی انڈیکس میں شامل نہیں ہوتے؛ رینج بننے سے پہلے محفوظ کیے گئے کوٹس رینج بننے پر دوبارہ جانچے جاتے ہیں۔ - ماخذ پر اعتماد (
reliability، 0–1، ہر دن پچھلے 30 دنوں پر دوبارہ شمار ہوتا ہے): - درستگی =
max(0, 1 − dev / 5 %)، جہاںdev= |quote / reference − 1| کا میڈین ہے؛ ریفرنس اسی UTC دن کا ٹرانزیکشن پر مبنی ریفرنس ہے جہاں موجود ہو (کیلیبریٹ شدہ ماخذ)، بصورتِ دیگر اسی کرنسی اور دن کے لیے کم از کم دو دیگر ذرائع کا ایک کو چھوڑ کر نکالا گیا میڈین؛ ریفرنس بالکل نہ ہو تو 0.5۔ کیلیبریٹ شدہ ماخذ کے لیے پہلے وہ مشترکہ فرق نکال دیا جاتا ہے جو اس کرنسی کے ذرائع کا پورا گروپ ریفرنس کے مقابلے میں رکھتا ہے (اس دن دیگر ذرائع کا میڈین انحراف، جس میں کم از کم دو ذرائع ہوں): نقد مارکیٹ کا ڈیجیٹل ڈالر مارکیٹ سے چند فیصد مختلف کوٹ دینا اس مارکیٹ کی خصوصیت ہے، اسے رپورٹ کرنے والے ماخذ کی غلطی نہیں۔ اس لیے درستگی یہ ناپتی ہے کہ ماخذ مارکیٹ کی مجموعی رائے سے کتنا دور ہے؛ بکھراؤ اور آؤٹ لائرز پر پہلے کی طرح جرمانہ لگتا ہے؛ - مشترکہ فرق خود اس دن کے ساتھ
basis_gap_pctکے طور پر شائع کیا جاتا ہے = (multi-sourcemid/ ٹرانزیکشن پر مبنی ریفرنس − 1) × 100: یعنی اس دن کوٹ کیے گئے اسٹریٹ ریٹ کا ٹرانزیکشن پر مبنی جزو کے مقابلے میں پریمیم (منفی ہو تو ڈسکاؤنٹ)، عملی طور پر نقد مارکیٹ اور ڈیجیٹل ڈالر مارکیٹ کے درمیان فرق۔ یہ انڈیکس کا ایک جزو ہے، کوئی تصحیح نہیں: اس سے کسی بھی سیریز میں ردوبدل نہیں کیا جاتا؛ - صفائی = 1 − آؤٹ لائرز کا حصہ؛ استحکام =
max(0, 1 − dispersion / 3 %)، جہاں dispersion = ماخذ کے کوٹس کے (max − min) / median کا دن کے اندر کا میڈین ہے؛ باقاعدگی = کوٹس والے دن / 20، زیادہ سے زیادہ 1؛ reliability = 0.5·accuracy + 0.2·cleanliness + 0.15·stability + 0.15·regularity، حد [0.05, 1] کے اندر۔ 5 سے کم کوٹس والا ماخذ ابتدائی قدر 0.3 پر رہتا ہے۔ مسلسل تین روزانہ اسکور 0.2 سے کم آئیں تو ماخذ 7 دن کے لیے روک دیا جاتا ہے؛ پھر وہ امیدوار کے طور پر واپس آتا ہے اورactiveکا درجہ دوبارہ حاصل کرنا ہوتا ہے (3 دن میں ≥ 5 درست کوٹس)۔ تاریخچہ دن کے حساب سے محفوظ رکھی جاتی ہے۔- دن (
GET /v1/street-index/{cur}/history):mid= پوسٹس کے mids کا اعتبار کے وزن والا میڈین (ایک پوسٹ کی خرید اور فروخت کا اوسط لیا جاتا ہے؛ اکیلا کوٹ جوں کا توں گنا جاتا ہے)،buy/sell= متعلقہ کوٹس کے وزنی میڈین،spread_pct = (buy − sell) / mid × 100۔ دن صرف اسی صورت شائع ہوتا ہے جب ≥ 2 ذرائع سے ≥ 3 کوٹس ہوں؛ ورنہ کوئی قطار نہیں ہوتی۔n_sources،n_quotes،confidence(0–1: آدھا ذرائع کی تعداد سے، چار یا زیادہ پر 1؛ آدھا ہم آہنگی سے، جب mids کا میڈین انحراف 0 ہو تو 1 اور 5 % پر 0) اورconfidence_class(high: ≥ 3 ذرائع جو 2 % کے اندر متفق ہوں؛medium: ≥ 3 ذرائع؛limited: اس سے کم ذرائع) دن کو بیان کرتے ہیں۔ گھنٹہ وار سیریز صرف ان گھنٹوں کے لیے ہوتی ہے جن میں ≥ 3 کوٹس ہوں۔ - رسائی۔ مفت کیز: فری ٹیر کی کرنسیاں 1 دن کی تاخیر کے ساتھ؛ Pro: تمام کرنسیاں؛ Enterprise: ہر دن کے پیچھے موجود کوٹس بھی ان کے ماخذ کے لنکس کے ساتھ (
GET /v1/street-index/{cur}/quotes)۔ دن آخری 45 دنوں کے لیے روزانہ دوبارہ شمار کیے جاتے ہیں اور ذرائع کا اسکور یا فلیگ دوبارہ طے ہونے پر بدل سکتے ہیں۔ - حدود۔ پوسٹس وہی ہیں جو ذرائع نے شائع کرنا چاہیں؛ کوئی ماخذ تاخیر سے، غلط یا اشتہاری ہو سکتا ہے، اسی لیے ٹرسٹ اسکور موجود ہے۔ ہر کرنسی کی کوریج
n_sourcesمیں دیکھی جا سکتی ہے۔ یہ سرمایہ کاری کا مشورہ نہیں ہے۔
کرنسی کے صفحات اور سائٹ کے اعداد و شمار
- ہر کرنسی کا ایک عوامی صفحہ ہے (
/rates/{CUR}): تازہ ترین گھنٹے کا ریٹ، تبدیلیاں، آخری 24 گھنٹے، 90-day اور 1-year چارٹس، جہاں پروڈکٹ اس کرنسی کا احاطہ کرتی ہے وہاں سرکاری اور اسٹریٹ ریٹ کا موازنہ، آخری 30 دن، اور وہی اعداد و شمار جو API فراہم کرتی ہے۔ صفحات،/sitemap.xml،/llms.txtاور/llms-full.txtانڈیکس سے تیار کیے جاتے ہیں؛ کوئی عدد نقل کرتے وقت ماخذ کا نام "EMpulse Street FX Index" لکھیں۔ - ویب سائٹ کوکیز یا بیرونی ٹریکرز کے بغیر اپنے ذاتی (first-party) وزٹ اعداد و شمار رکھتی ہے: پیج ویوز، ممالک اور ریفررز کو سرور کے ایکسیس لاگ سے ہر گھنٹے میں جمع کیا جاتا ہے؛ IP ایڈریس محفوظ نہیں کیے جاتے (زائرین کو روزانہ بدلنے والے سالٹ کے ساتھ ہیش کے ذریعے گنا جاتا ہے)۔ وزٹ کا ملک IP ایڈریس سے DB-IP Lite ڈیٹابیس کے ذریعے معلوم کیا جاتا ہے: IP Geolocation by DB-IP (https://db-ip.com)، لائسنس CC BY 4.0۔
شہر کے بورڈز اور ایکسچینج کاروباروں کے کارڈز
- شہر کا صفحہ (
/rates/{CUR}/{city}) ملک گیر انڈیکس دکھاتا ہے اور اس کے نیچے شہر کے ان منی ایکسچینج دفاتر کے بورڈز دکھاتا ہے جو اپنے ریٹ کھلے طور پر شائع کرتے ہیں (ان کے عوامی صفحات اور چینلز): ان بورڈز کا میڈین، اس کے پیچھے موجود ایکسچینج کاروباروں کی تعداد اور کانفیڈنس کلاس: تین سے کم بورڈز ہوں توlimited، تین سےmedium، اور جب بورڈز 2 % کے اندر متفق ہوں توhigh۔ تین دن سے پرانا بورڈ نہیں دکھایا جاتا۔ - ہر وہ ایکسچینج کاروبار جس کا عوامی بورڈ ہو، اسی بورڈ سے بنا ایک کارڈ پاتا ہے: کاروبار کا عوامی نام، شہر، اس کی سائٹ یا چینل اور وہ ریٹ جو وہ شائع کرتا ہے۔ کسی شخص کا اندراج نہیں کیا جاتا: نہ نام، نہ فون نمبر، نہ دستاویزات؛ رابطے کا واحد ذریعہ جو رکھا جاتا ہے وہ کاروبار کا اپنی سائٹ پر دیا گیا کھلا ایڈریس ہے۔
- کاروبار اپنا کارڈ کسی انسانی مرحلے کے بغیر کلیم کرتا ہے: اپنی سائٹ پر کسی فائل یا meta ٹیگ میں رکھا گیا کوڈ، اپنے چینل کی پوسٹ میں کوڈ، چینل کا انتظام کرنے والے اکاؤنٹ سے EMpulse بوٹ کو بھیجا گیا پیغام، یا کھلے ایڈریس پر بھیجے گئے خط میں دیا گیا لنک۔ تصدیق شدہ کارڈ پر بیج ہوتا ہے، وہ شہر کے بورڈ پر سب سے پہلے آتا ہے اور اپنے ریٹ خود شائع کر سکتا ہے (بوٹ کمانڈ، اپنا چینل یا اپنی کی کے ذریعے)۔
- اپنے ریٹ انڈیکس سے الگ دکھائے جاتے ہیں اور ایکسچینج کاروبار کے اپنے ریٹ کے طور پر نشان زد ہوتے ہیں۔ وہ انڈیکس میں صرف ایک اضافی ماخذ کے طور پر شامل ہوتے ہیں، اس اعتبار کے ساتھ جو وہ کما لے (وہی ٹرسٹ اصول جو ہر دوسرے ماخذ پر لاگو ہیں)؛ جو ریٹ شہر کے بورڈ سے قابلِ قبول فاصلے سے زیادہ مختلف ہو، قبول نہیں کیا جاتا اور کارڈ کی حیثیت کم کرتا ہے، کبھی بڑھاتا نہیں۔ بار بار مسترد ہونے پر کوٹنگ روک دی جاتی ہے۔ اسی ماخذ کے ذریعے، تصدیق شدہ ایکسچینج کاروباروں کے اپنے ریٹ بھی multi-source جزو کے کسی بھی دوسرے ماخذ کی طرح کرنسی کی سرگرمی میں شمار ہوتے ہیں۔
کوریڈورز (GET /v1/corridors/{a}/{b}، /corridors/{A}-{B}، Pro اور Enterprise)
ابھرتی ہوئی مارکیٹوں کی بہت سی کرنسیاں ایک دوسرے کے مقابل براہِ راست تبدیل کی جاتی ہیں، جیسے سوم کے بدلے تنگے، ہریونیا کے بدلے درہم، روپے کے بدلے ریال، عوامی فورمز، چینلز اور classified بورڈز پر، ڈالر کی کڑی کے بغیر۔ انڈیکس ان عوامی لسٹنگز کو ان ممالک کی زبانوں میں پڑھتا ہے اور جوڑی کا کوریڈور ریٹ اس کراس ریٹ کے ساتھ شائع کرتا ہے جو اس کی اپنی ڈالر کڑیوں سے نکلتا ہے۔
- لسٹنگ ایک عوامی پوسٹ ہے جس میں دو غیر ڈالر کرنسیوں کا ذکر اور ایک قیمت یا دو رقوم ہوں ("куплю сумы за тенге, 100 000 сум за 4 000 тенге"، "1 KZT = 25.3 UZS"، "vendo pesos por reales")۔ ہم جوڑی، ریٹ (پہلی کرنسی کی 1 اکائی کے مقابل دوسری کرنسی کی اکائیاں)، پوسٹ کرنے والے کی جانب، رقوم اگر دی گئی ہوں، شہر اور ادائیگی کے طریقے کی کلاس (نقد / ٹرانسفر / کارڈ)، وقت اور لنک محفوظ رکھتے ہیں۔ فون نمبر، صارف نام، ای میل ایڈریس اور متن کے اندر موجود لنک کچھ بھی محفوظ کرنے سے پہلے ہٹا دیے جاتے ہیں؛ پوسٹ کرنے والوں کا کبھی اندراج نہیں کیا جاتا۔ عام صورتوں کے لیے اصول پہلے آتے ہیں؛ جس پوسٹ میں دو کرنسیاں ہوں اور اصول انہیں نہ سمجھ سکیں وہ ڈیٹا کے طور پر لینگویج ماڈل کے پاس جاتی ہے، اور اس کا لوٹایا ہوا ہر عدد اصول سے ملنے والے عدد کی طرح جانچا جاتا ہے۔
- معقولیت۔ لسٹنگ کو انڈیکس کی دو ڈالر کڑیوں سے نکلنے والے ریٹ (
b per USD ÷ a per USD) ± 60 % کے مقابل جانچا جاتا ہے: الٹا لکھا گیا عدد پلٹ کر نوٹ کر دیا جاتا ہے، حد سے باہر کا عدد آؤٹ لائر ہے اور کبھی ریٹ میں شامل نہیں ہوتا۔ اسی پوسٹ میں ڈالر کی پیشکشیں ڈالر انڈیکس کے لیے چھوڑ دی جاتی ہیں۔ - دن (
rate) جوڑی کی اس دن کی درست لسٹنگز کا ٹرسٹ کے وزن والا میڈین ہے، ساتھ اس دن کےlowاورhigh؛sourcesاس کے پیچھے موجود آزاد عوامی ذرائع کی تعداد بتاتا ہے؛confidenceتین یا زیادہ ذرائع کے 3 % کے اندر متفق ہونے پرhighہے، دو ذرائع پرmedium، اور ایک ماخذ پر یا جب جوڑی کی کسی ڈالر کڑی کا ابھی کوئی ریفرنس نہ ہو توlimited۔ جوڑی اپنی پہلی لسٹنگ سے شائع ہونا شروع ہو جاتی ہے؛ اکیلی لسٹنگlimitedہوتی ہے۔ implied_crossوہی ریٹ ہے جو اسی دن انڈیکس کے دو ڈالر ریٹس سے نکالا جائے (ہر ایک زیادہ سے زیادہ تین دن پرانا)؛corridor_premium_pct= (rate / implied_cross − 1) × 100: یعنی ڈالر کے ذریعے جانے کے بجائے براہِ راست جانے کی قیمت: مثبت کا مطلب کوریڈور مہنگا ہے، منفی کا مطلب سستا۔ جوڑی کی دونوں سمتیں ایک ہی سیریز ہیں:b per aاورa per bایک دوسرے کا الٹ ہیں، اور پریمیم بھی۔- وہ کرنسیاں جن کی ڈالر مارکیٹ نہیں۔ جب کسی کرنسی کا اپنا ڈالر جزو نہ ہو لیکن وہ ایسی کرنسی کے مقابل کوٹ ہوتی ہو جس کا ہو، تو انڈیکس اس کا ڈالر ریٹ کوریڈور کے ذریعے نکالتا ہے (
a per USD = b per USD ÷ b per a، اس دن کے ایسے کوریڈورز کا وزنی میڈین)۔ یہ اخذ شدہ سیریز سرگرمی کے اصول میں کسی بھی دوسرے جزو کی طرح شامل ہوتی ہے، اس کوریڈور سے ایک کانفیڈنس کلاس نیچے جس سے وہ آئی ہو، اور کسی دوسرے کوریڈور کی ڈالر کڑی کے طور پر کبھی استعمال نہیں ہوتی۔ - رسائی۔ عوامی صفحات تازہ ترین دن دکھاتے ہیں؛ Pro اور Enterprise کیز کو API میں موجودہ دن، تاریخچہ اور سب سے مہنگے اور سب سے سستے کوریڈورز کی فہرست (
/v1/corridors/top) بھی ملتی ہے۔ لسٹنگز صرف ان عوامی ذرائع سے پڑھی جاتی ہیں جن کی robots.txt اور شرائط اس کی اجازت دیں؛ جو ذرائع خودکار طریقے سے پڑھنے یا دوبارہ استعمال کی ممانعت کرتے ہیں انہیں چھوڑ دیا جاتا ہے۔
حدود
- اسٹریٹ ریٹس وہ نرخ ظاہر کرتے ہیں جو لوگ اسٹریٹ مارکیٹ میں حقیقت میں ادا کرتے ہیں؛ یہ سرکاری، مرکزی بینک یا انٹربینک ریٹس نہیں ہیں اور ان سے نمایاں طور پر مختلف ہو سکتے ہیں۔
- جن سیریز میں
confidence = limitedہو ان میں خلا ہوتے ہیں (ایسے دن جن میں کوئی قدر یاmidموجود نہ ہو) اور شور زیادہ ہوتا ہے۔ کسی قدر کو استعمال کرنے سے پہلےconfidenceاورflagکو دیکھ لیں۔ - کوریج مختلف کرنسیوں کے لیے مختلف تاریخوں سے شروع ہوتی ہے (
GET /v1/currenciesمیںcoverage_since)، اور کوئی کرنسی کچھ عرصے کے لیےcoverage_in_progressرہ سکتی ہے (دیکھیں "کوریج اور سرگرمی")۔ - انڈیکس صرف معلوماتی مقاصد کے لیے فراہم کیا جاتا ہے اور سرمایہ کاری کا مشورہ نہیں ہے۔