EMpulse Street FX Index: পদ্ধতি
EMpulse Street FX Index উদীয়মান বাজারের মুদ্রাগুলোর USDT-এর বিপরীতে (1 USD হিসেবে গণ্য) দৈনিক “স্ট্রিট” বিনিময় হার প্রকাশ করে: মানুষ বাস্তবে যে হারে কেনাবেচা করে সেই হার, সরকারি হার নয়। সূচকটি লেনদেনভিত্তিক বাজার তথ্য এবং প্রকাশ্য বাজার উৎসের কোটেশন একত্র করে; প্রতিটি সিরিজের সঙ্গে একটি আস্থা শ্রেণি (confidence) থাকে, এবং তথ্যের সীমাবদ্ধতাও তার সঙ্গে প্রকাশ করা হয়।
উপাদানসমূহ
| উপাদান | এটি কী | কোথায় দেখা যায় |
|---|---|---|
| লেনদেনভিত্তিক | প্রতিটি মুদ্রা ও বাজার পক্ষ অনুযায়ী দিনের বাজার লেনদেনের ভারযুক্ত গড়। সূচকে কেবল সমষ্টিগত মান যুক্ত হয়: কোনো পৃথক লেনদেন বা লেনদেনের পক্ষ সংরক্ষণ বা প্রকাশ করা হয় না | GET /v1/rates/*, লাইভ টেবিল |
| বহু-উৎস | স্বাধীন বাজার উৎসের প্রকাশিত হারের কোটেশন (মুদ্রা বিনিময়কারীদের প্রকাশ্য চ্যানেল, স্থানীয় প্রকাশকদের রেট বিভাগ, ফোরাম), যেখানে প্রতিটি উৎস যে নির্ভরযোগ্যতা অর্জন করেছে সেই অনুযায়ী ভার দেওয়া হয় | GET /v1/street-index/* (পণ্য “Street Rate Index (বহু-উৎস)”); যেসব মুদ্রা সূচক শুধু প্রকাশ্য উৎসের মাধ্যমে কভার করে, তাদের জন্য লাইভ টেবিল |
| এক্সচেঞ্জভিত্তিক | ক্রিপ্টো এক্সচেঞ্জের উন্মুক্ত অর্ডার বুক, যেখানে ডিজিটাল ডলার ওই মুদ্রার বিপরীতে কোট করা হয়। এক্সচেঞ্জগুলোর নথিভুক্ত প্রকাশ্য API দিয়ে প্রতি ঘণ্টায় একবার পড়া হয়: প্রতিটি পক্ষের সেরা অফার, তাদের দাম এবং প্রস্তাবিত পরিমাণ, যা প্রতিটি এক্সচেঞ্জ অনুযায়ী এবং এক্সচেঞ্জগুলোর মধ্যে, প্রতিটি এক্সচেঞ্জের অর্জিত নির্ভরযোগ্যতা অনুসারে, সমষ্টিগত করা হয়। প্রতিটি এক্সচেঞ্জ একটি উৎস হিসেবে গণ্য; মানের সঙ্গে নাম যুক্ত করা হয় না | যেসব মুদ্রা সূচক এক্সচেঞ্জের মাধ্যমে কভার করে, তাদের জন্য লাইভ টেবিল ও GET /v1/rates/*; exchange_spread_pct (Pro); USDT Liquidity-এর বাহ্যিক উপাদান |
সব হার প্রতি 1 USDT-এ ফিয়াট মুদ্রা হিসেবে কোট করা হয়।
এক্সচেঞ্জভিত্তিক উপাদান
- কোন এক্সচেঞ্জ। কেবল সেইসব এক্সচেঞ্জ, যারা তাদের অফারের জন্য নথিভুক্ত প্রকাশ্য API প্রকাশ করে, যা অ্যাকাউন্ট ছাড়াই পড়া যায়, যাদের শর্তাবলি স্বয়ংক্রিয় পাঠ বা পুনর্বিতরণ নিষিদ্ধ করে না, এবং যাদের
robots.txtওই এন্ডপয়েন্ট অনুমোদন করে। বাকি সব বাদ দেওয়া হয়, এবং প্রতিটি এক্সচেঞ্জের শর্তাবলি প্রতি 30 দিনে আবার পড়া হয়: যে এক্সচেঞ্জের শর্ত বদলায় সেটি নিজে থেকেই বাদ পড়ে। কোনো মানের পেছনের এক্সচেঞ্জগুলো কেবল সংখ্যা হিসেবে (sources) দেখা যায়; এক্সচেঞ্জের তালিকা তাদের সম্মতিতে এখানে প্রকাশ করা হয় এবং অন্যথায় কোনো মানের সঙ্গে যুক্ত করা হয় না। - ঘণ্টা। প্রতিটি এক্সচেঞ্জ, মুদ্রা ও পক্ষ অনুযায়ী দামের ভিত্তিতে সেরা অফারগুলো (সর্বোচ্চ 20টি) থেকে সেরা দাম, মধ্যক (median), গভীরতা-ভারযুক্ত দাম এবং গভীরতা (প্রস্তাবিত পরিমাণ, USDT-তে) নির্ধারিত হয়। পক্ষগুলো সূচকের রীতি অনুসরণ করে:
buyহলো সেই পক্ষ যেখানে ক্লায়েন্ট ডিজিটাল ডলার কেনে। যে এক্সচেঞ্জ ডলার টোকেনের বদলে বিটকয়েন কোট করে, সেটি একই ঘণ্টার নিজস্ব US ডলার বুকের মাধ্যমে যুক্ত হয় (মুদ্রায় দাম ÷ ডলারে দাম), ফলে প্রতিটি মান ডলার হার। এক্সচেঞ্জগুলোর মধ্যে ঘণ্টারmid,buyওsellহলো নির্ভরযোগ্যতা-ভারযুক্ত মধ্যক;exchange_spread_pct= (সর্বোচ্চ − সর্বনিম্ন এক্সচেঞ্জ mid) / মধ্যক × 100, কমপক্ষে দুটি এক্সচেঞ্জ থাকলে। দিনের মান তার ঘণ্টাগুলোর মধ্যকগুলো থেকে নেওয়া হয়। - এক্সচেঞ্জের নির্ভরযোগ্যতা (0–1, প্রতিদিন 30 দিনের ভিত্তিতে পুনর্গণনা করা হয়): নির্ভুলতা (accuracy) =
max(0, 1 − dev / 5 %), যেখানেdevহলো একই ঘণ্টায় অন্য এক্সচেঞ্জগুলোর মধ্যক থেকে ওই এক্সচেঞ্জের mid-এর দূরত্বের মধ্যক (অন্য এক্সচেঞ্জ দুটির কম হলে দিনের লেনদেনভিত্তিক রেফারেন্স থেকে); এর সঙ্গে একটি গভীরতার পদ (নির্ধারিত মানদণ্ডের তুলনায় গভীরতা) ও একটি সতেজতার পদ (শেষ দিনে তথ্যসহ ঘণ্টার সংখ্যা);0.5·accuracy + 0.25·depth + 0.25·freshness। যে এক্সচেঞ্জের দাম অন্যদের থেকে সরে থাকে (পুরনো বা প্রভাবিত বুক) তার ভার সঙ্গে সঙ্গে কমে যায়; টানা তিনটি দৈনিক স্কোর 0.2-এর নিচে হলে সেটি এক সপ্তাহের জন্য স্থগিত হয়। - আস্থা (confidence)। কমপক্ষে তিনটি এক্সচেঞ্জ পরস্পর 2 %-এর মধ্যে থাকলে দিনটি
high, কমপক্ষে তিনটি এক্সচেঞ্জ থাকলেmedium, তার কম হলেlimited। নিচের নিয়ম অনুযায়ী দিনটি মুদ্রার একমাত্র প্রকাশ্য সূচকে যুক্ত হয়; যে মুদ্রা এক্সচেঞ্জগুলো কোট করে অথচ অন্য কোনো উপাদান কভার করে না, সেটি কেবল এই উপাদানের মাধ্যমেই সক্রিয় হয়।
কভারেজ ও সক্রিয়তা
একটি মুদ্রার সূচক হলো প্রতিদিন একটি সংখ্যা, যা উপরের উপাদানগুলো থেকে তৈরি:
- শুধু একটি উপাদান প্রকাশ করলে সূচক হলো সেই উপাদান;
- একাধিক উপাদান প্রকাশ করলে সবচেয়ে সাম্প্রতিক দিনটি প্রাধান্য পায়; যেসব উপাদান একই দিনে প্রকাশ করে সেগুলো আস্থা অনুযায়ী ভার দিয়ে গড় করা হয়:
লেনদেনভিত্তিক উপাদানের ভার
high/medium/limitedদিনের জন্য 1 / 0.6 / 0.3, আর বহু-উৎস ও এক্সচেঞ্জভিত্তিক উপাদানের ভার তাদের আস্থা স্কোর (0–1, ন্যূনতম 0.1)।
গত 14 দিনের মধ্যে সূচকে কোনো দিন থাকলে মুদ্রাটি সক্রিয় (/v1/currencies: status =
"active", active_since = 14 দিনের বেশি বিরতি ছাড়া তথ্যের বর্তমান ধারার প্রথম দিন)। সাম্প্রতিক দিন নেই এমন মুদ্রা কভারেজ প্রক্রিয়াধীন: আমরা তার জন্য বাজার উৎস যুক্ত করছি, তার প্রকাশিত ইতিহাস পাওয়া যায়, এবং সাম্প্রতিক দিন তৈরি হলে সেটি নিজে থেকেই সক্রিয় তালিকায় ফিরে আসে। ওয়েবসাইটের লাইভ টেবিলে কেবল সক্রিয় মুদ্রা দেখানো হয়; প্ল্যানগুলোতে উল্লিখিত কোটকৃত মুদ্রার সংখ্যা হলো সক্রিয় মুদ্রার সংখ্যা।
প্রতিটি সক্রিয় মুদ্রার সর্বশেষ দিনের সঙ্গে থাকে:
- sources: দিনটির পেছনের স্বাধীন বাজার উৎসের সংখ্যা (লেনদেনভিত্তিক উপাদান একটি হিসেবে গণ্য, এক্সচেঞ্জভিত্তিক উপাদানের প্রতিটি এক্সচেঞ্জও একটি)। এটি দুই বা তার বেশি হলে প্রকাশ করা হয়, এবং
limitedদিনের জন্য সবসময় (“1টি উৎস, আস্থা: সীমিত”); অন্যথায় এটি ফাঁকা থাকে (API-তেnull)। - confidence: সর্বশেষ দিনের শ্রেণি (
high/medium/limited, নিচে দেখুন); দিনটি তিন বা তার বেশি দিনের পুরনো হলে এক শ্রেণি নিচে দেখানো হয়।
একটি মুদ্রা তার প্রথম বাজার উৎস থেকেই প্রকাশিত হয়: এক উৎসের দিন limited এবং তার সঙ্গে
coverage improving নোট থাকে (ওয়েবসাইট, API, MCP): সংখ্যাটি বাস্তব, তার অনিশ্চয়তা উল্লেখ করা হয়েছে, এবং আরও উৎস যুক্ত করা হচ্ছে। medium-এর জন্য দুটি স্বাধীন উৎস লাগে, high-এর জন্য 2 %-এর মধ্যে একমত তিনটি। এক্সচেঞ্জভিত্তিক উপাদান সক্রিয়তার নিয়মে তখনই যুক্ত হয় যখন তার অর্ডার বুকে এক ঘণ্টায় কমপক্ষে তিনটি স্বাধীন অফার এবং দুই দিনের তথ্য দেখা যায়; একটিও ডেটা পয়েন্ট নেই এমন মুদ্রা coverage_in_progress থাকে।
দৈনিক সূচকের ক্ষেত্রসমূহ (GET /v1/rates/{cur})
- buy: যে হারে ক্লায়েন্ট ফিয়াট দিয়ে USDT কেনে, দিনের সেই ভারযুক্ত গড় হার। দিনের জন্য খুব কম ডেটা পয়েন্টযুক্ত পক্ষের মান
null। - sell: একই হিসাব, সেই পক্ষের জন্য যেখানে ক্লায়েন্ট USDT বিক্রি করে।
- mid:
buyওsellদুটিই থাকলে(buy + sell) / 2। বাজারের শুধু একটি পক্ষ থাকলেmidসেই পক্ষের হারের সমান (দেখুনside)। কোনো পক্ষই না থাকলেmidহলোnull। - side:
midকীসের ওপর ভিত্তি করে:both,buy(শুধুbuyআছে) বাsell(শুধুsellআছে);midনা থাকলেnull। বাজারের এক পক্ষভিত্তিকmidদুই পক্ষভিত্তিকের তুলনায় প্রায় আধা স্প্রেড সরে থাকে, তাই দিনগুলো তুলনা করার সময়sideবিবেচনা করুন। - spread_pct:
(buy − sell) / mid × 100, কেবলside = "both"হলে; অন্যথায়null। এটি সাধারণত ধনাত্মক; সীমিত তথ্যের দিনে ঋণাত্মক স্প্রেড হতে পারে এবং তা যেমন আছে তেমনই প্রকাশ করা হয়। - 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প্রায় আধা স্প্রেড সরে থাকে, ফলে এমন তুলনা এমন একটি নড়াচড়া দেখাত যা ঘটেনি। -
exchange_spread_pct (Pro ও Enterprise): দিনের এক্সচেঞ্জভিত্তিক উপাদানের এক্সচেঞ্জগুলোর মধ্যকার স্প্রেড (উপরে দেখুন); দুটির কম এক্সচেঞ্জ থাকলে
null।
“বৈধ mid” মানে এমন একটি null নয় এমন mid, যা আউটলাইয়ার হিসেবে চিহ্নিত নয়।
যে পক্ষের দর বদলায় না
কখনও বাজারের একটি পক্ষ নড়াচড়া বন্ধ করে দেয়, অথচ অন্য পক্ষে পরিবর্তনশীল দামে লেনদেন চলতে থাকে: কয়েক দিন ধরে (দৈনিক সূচকের ক্ষেত্রে পাঁচ দিন) ওই পক্ষের মধ্যক হার 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বহন করে এবং ওয়েবসাইট সেগুলো রেখা হিসেবে নয়, বিন্দু হিসেবে আঁকে। - ঘণ্টা ও পক্ষ। বাজার ডেটা আছে এমন প্রতিটি ঘণ্টার জন্য একটি সারি থাকে। একটি পক্ষ প্রকাশের জন্য ঘণ্টায় অন্তত 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 হিসেবে গণ্য হয়। ঘণ্টাভিত্তিক সিরিজ আছে এমন প্রতিটি মুদ্রার জন্য পাবলিক ওয়েবসাইট আগের দিনের ঘণ্টাভিত্তিক চার্ট দেখায়, বিনামূল্যের স্তরের মতোই 1 দিনের বিলম্বে।
বহু-উৎস স্ট্রিট সূচক (GET /v1/street-index, পণ্য "Street Rate Index, বহু-উৎস")
যেসব মুদ্রার স্ট্রিট রেট সর্বজনীন বাজার উৎসে প্রকাশিত হয়, সেগুলোর প্রতিটির জন্য (লেনদেনভিত্তিক সিরিজ থাকলে তার পাশাপাশি, না থাকলে এককভাবে) সূচক খোলা উৎসে কোট করা হার প্রকাশ করে: মুদ্রা বিনিময়কারীদের সর্বজনীন Telegram চ্যানেল, স্থানীয় প্রকাশকদের হার-বিভাগ, ফোরাম। প্রকাশিত হার একটি তথ্য; আমরা সংখ্যা, সময় ও পোস্টের লিংক রাখি, লেখাটি কখনও নয়।
- কোট: একটি সর্বজনীন পোস্ট থেকে একটি সংখ্যা: কোট করা মুদ্রা (ISO 4217), ভিত্তি (
USD;USDT-কে USD ধরা হয় এবং তা উল্লেখ করা হয়;EURকোট আলাদা রাখা হয়, রূপান্তর করা হয় না), পক্ষ, ভিত্তির 1 ইউনিটের হার, পোস্টের সময় (UTC), লিংক। সংখ্যাটির আশপাশের সর্বোচ্চ 200 অক্ষরের একটি অংশ কেবল নিরীক্ষার জন্য সংরক্ষিত হয় এবং কখনও দেখানো হয় না। একটি পোস্ট থেকে একাধিক কোট পাওয়া যেতে পারে (ক্রয় ও বিক্রয়, একাধিক মুদ্রা, একাধিক শহর)। - পক্ষের রীতি।
sideহলো সূচকের মতোই গ্রাহকের কাজ: গ্রাহক মুদ্রা বিনিময়কারীর বিক্রয়মূল্যে (বেশি সংখ্যাটি) USD কেনেন এবং মুদ্রা বিনিময়কারীর ক্রয়মূল্যে USD বিক্রি করেন। যে পোস্ট জোড়াটিকে উল্টো করে লেবেল করে, সেটি অদলবদল করা হয় এবং নিম্নতর কনফিডেন্স সহ চিহ্নিত হয়।midহলো পক্ষবিহীন একটি কোট। - নিষ্কাশন। প্রথমে প্রচলিত ফরম্যাটের জন্য রেগুলার এক্সপ্রেশন ("USD 1650/1665", "Покупка: 11810 / Продажа: 11860", "$ = ₦1,650", "1 USDT = 41.25 TRY", "Dolar: 49,72", দারি / আরবি / উর্দু / বাংলা / ফার্সি রূপ; স্পেস, অ্যাপোস্ট্রফি বা ডট দিয়ে লেখা হাজার; toman = 10 rials)। সরকারি, কেন্দ্রীয় ব্যাংক, এক্সচেঞ্জে তালিকাভুক্ত ও পূর্বাভাস হার সংক্রান্ত লাইন বাদ দেওয়া হয়। মুদ্রার শব্দ ও সংখ্যা আছে কিন্তু কোনো মিল নেই, এমন পোস্ট ডেটা হিসেবে ব্যাচে ভাষা মডেলের কাছে যায়; সেটি যে প্রতিটি সংখ্যা ফেরত দেয়, তা রেগুলার এক্সপ্রেশনের মিলের মতোই যাচাই করা হয়।
- প্রতি মুদ্রা ও ভিত্তির গ্রহণযোগ্য পরিসর: শেষ 30 দিনের লেনদেনভিত্তিক রেফারেন্স, নইলে শেষ 14 দিনের কোটের মধ্যক (≥ 5), নইলে একটি সূচনা মান; পরিসরটি হলো রেফারেন্স ± 60 %। এর বাইরের কোট
outlierহিসেবে রাখা হয় এবং কখনও সূচকে ঢোকে না; পরিসর তৈরি হওয়ার আগে সংরক্ষিত কোট পরিসর দেখা দিলে আবার যাচাই করা হয়। - উৎসের নির্ভরযোগ্যতা (
reliability, 0–1, শেষ 30 দিনের ওপর প্রতিদিন পুনর্গণিত): - নির্ভুলতা =
max(0, 1 − dev / 5 %),dev= median |quote / reference − 1|; রেফারেন্স হলো একই UTC দিনের লেনদেনভিত্তিক রেফারেন্স, যেখানে তা আছে (একটি ক্যালিব্রেটেড উৎস), নইলে ওই মুদ্রা ও দিনের জন্য অন্তত দুটি অন্য উৎসের leave-one-out মধ্যক; কোনো রেফারেন্সই না থাকলে 0.5। ক্যালিব্রেটেড উৎসের ক্ষেত্রে, রেফারেন্সের বিপরীতে ওই মুদ্রার উৎসগুলোর পুরো গ্রুপ যে সরণ ভাগ করে নেয় (ওই দিন অন্য উৎসগুলোর মধ্যক বিচ্যুতি, অন্তত দুটি উৎস), তা আগে বাদ দেওয়া হয়: নগদ বাজার ডিজিটাল-ডলার বাজার থেকে কয়েক শতাংশ দূরে কোট করলে সেটি ওই বাজারের বৈশিষ্ট্য, যে উৎস তা জানায় তার ভুল নয়। তাই নির্ভুলতা মাপে একটি উৎস বাজারের ঐকমত্য থেকে কত দূরে আছে; বিচ্ছুরণ ও আউটলায়ারের জন্য আগের মতোই জরিমানা হয়; - সাধারণ শিফটটি নিজেই ওই দিনের সঙ্গে
basis_gap_pct= (বহু-উৎসভিত্তিকmid/ লেনদেনভিত্তিক রেফারেন্স − 1) × 100 হিসেবে প্রকাশিত হয়: ওই দিনে লেনদেনভিত্তিক উপাদানের তুলনায় কোটেড স্ট্রিট রেটের প্রিমিয়াম (ঋণাত্মক হলে ডিসকাউন্ট), বাস্তবে নগদ বাজার ও ডিজিটাল-ডলার বাজারের মধ্যকার ব্যবধান। এটি সূচকের একটি উপাদান, সংশোধন নয়: এর দ্বারা কোনো সিরিজই সমন্বয় করা হয় না; - পরিচ্ছন্নতা = 1 − আউটলায়ারের অংশ; স্থিতিশীলতা =
max(0, 1 − dispersion / 3 %), যেখানে dispersion = উৎসের কোটেশনগুলোর দিনের ভেতরের (max − min)-এর মধ্যক / ওই কোটেশনগুলোর মধ্যক; নিয়মিততা = কোটেশনসহ দিনের সংখ্যা / 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= নির্ভরযোগ্যতা-ভারযুক্ত পোস্ট mid-এর মধ্যক (একটি পোস্টের buy ও sell গড় করা হয়; একক কোটেশন যেমন আছে তেমনই গণ্য হয়),buy/sell= সংশ্লিষ্ট কোটেশনের ভারযুক্ত মধ্যক,spread_pct = (buy − sell) / mid × 100। দিন প্রকাশিত হয় কেবল ≥ 2টি উৎস থেকে ≥ 3টি কোটেশন থাকলে; অন্যথায় কোনো সারি থাকে না।n_sources,n_quotes,confidence(0–1: অর্ধেক উৎসের সংখ্যা থেকে, চার বা তার বেশিতে 1; অর্ধেক ঐকমত্য থেকে, mid-গুলোর মধ্যক বিচ্যুতি 0 হলে 1 এবং 5 % হলে 0) এবংconfidence_class(high: 2 %-এর মধ্যে একমত ≥ 3টি উৎস;medium: ≥ 3টি উৎস;limited: তার কম উৎস) দিনটিকে বর্ণনা করে। ঘণ্টাভিত্তিক সিরিজ কেবল ≥ 3টি কোটেশনযুক্ত ঘণ্টার জন্য থাকে। - অ্যাক্সেস। বিনামূল্যের কী: ফ্রি-টিয়ারের মুদ্রাগুলো 1 দিনের বিলম্বে; Pro: সব মুদ্রা; Enterprise: এছাড়া প্রতিটি দিনের
পেছনের কোটেশন, উৎসের লিংকসহ (
GET /v1/street-index/{cur}/quotes)। শেষ 45 দিনের হিসাব প্রতিদিন নতুন করে করা হয় এবং উৎসের স্কোর বা ফ্ল্যাগ পুনর্নির্ধারিত হলে তা বদলাতে পারে। - সীমাবদ্ধতা। পোস্ট হলো উৎসগুলো যা প্রকাশ করতে বেছে নিয়েছে; কোনো উৎস দেরিতে, ভুল বা প্রচারমূলক হতে পারে:
এই কারণেই আস্থা স্কোর রয়েছে। প্রতিটি মুদ্রার কভারেজ
n_sources-এ দেখা যায়। বিনিয়োগ পরামর্শ নয়।
মুদ্রার পেজ ও সাইটের পরিসংখ্যান
- প্রতিটি মুদ্রার একটি পাবলিক পেজ আছে (
/rates/{CUR}), যাতে ফ্রি টিয়ারের মতোই 1 দিনের বিলম্ব থাকে: সর্বশেষ দিন, পরিবর্তন, 90-day ও 1-year চার্ট, যে মুদ্রা পণ্যটির আওতায় আছে তার জন্য অফিসিয়াল ও স্ট্রিটের তুলনা, শেষ 30 দিন এবং API যে একই সংখ্যাগুলো দেয়। পেজগুলো,/sitemap.xml,/llms.txtও/llms-full.txtসূচক থেকে তৈরি হয়; কোনো সংখ্যা উদ্ধৃত করার সময় উৎস হিসেবে "EMpulse Street FX Index" নাম উল্লেখ করুন। - ওয়েবসাইট কুকি বা বাইরের ট্র্যাকার ছাড়াই নিজস্ব ভিজিট পরিসংখ্যান রাখে: পেজ ভিউ, দেশ ও রেফারার প্রতি ঘণ্টায় একবার সার্ভারের অ্যাক্সেস লগ থেকে সংকলিত হয়; 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। তিন দিনের চেয়ে পুরোনো বোর্ড দেখানো হয় না। - পাবলিক বোর্ডসহ প্রতিটি এক্সচেঞ্জার ওই বোর্ডের ভিত্তিতে তৈরি একটি কার্ড পায়: প্রতিষ্ঠানের পাবলিক নাম, তার শহর, তার সাইট বা চ্যানেল এবং সে যে রেট প্রকাশ করে। কোনো ব্যক্তির তথ্য রাখা হয় না: নাম, ফোন নম্বর বা নথি নয়; একমাত্র যে যোগাযোগের তথ্য রাখা হয় তা হলো প্রতিষ্ঠানের নিজস্ব সাইটে থাকা খোলা ঠিকানা।
- কোনো প্রতিষ্ঠান মানুষের কোনো ধাপ ছাড়াই নিজের কার্ডের দাবি করতে পারে: তার সাইটে কোনো ফাইল বা মেটা ট্যাগে রাখা কোড, তার চ্যানেলের পোস্টে রাখা কোড, চ্যানেলের অ্যাডমিন অ্যাকাউন্ট থেকে EMpulse বটকে পাঠানো বার্তা, অথবা খোলা ঠিকানায় পাঠানো চিঠির লিংক। যাচাইকৃত কার্ডে একটি ব্যাজ থাকে, সেটি শহরের বোর্ডে প্রথমে আসে এবং নিজের রেট প্রকাশ করতে পারে (বট কমান্ড, তার চ্যানেল বা তার নিজস্ব কী দিয়ে)।
- নিজস্ব রেট সূচক থেকে আলাদা করে দেখানো হয় এবং এক্সচেঞ্জারের নিজস্ব বলে চিহ্নিত থাকে। সেগুলো সূচকে প্রবেশ করে কেবল আরও একটি উৎস হিসেবে, সে যে নির্ভরযোগ্যতা অর্জন করে তা নিয়ে (অন্য সব উৎসের মতোই আস্থার নিয়মে); শহরের বোর্ডের থেকে গ্রহণযোগ্য দূরত্বের চেয়ে বেশি ভিন্ন রেট গ্রহণ করা হয় না এবং তা কার্ডের অবস্থান কমায়, কখনও বাড়ায় না। বারবার প্রত্যাখ্যাত হলে কোটিং স্থগিত হয়। ওই উৎসের মাধ্যমে যাচাইকৃত এক্সচেঞ্জারদের নিজস্ব রেট বহু-উৎসভিত্তিক উপাদানের অন্য যেকোনো উৎসের মতো মুদ্রার সক্রিয়তার হিসাবেও গণ্য হয়।
করিডর (GET /v1/corridors/{a}/{b}, /corridors/{A}-{B}, Pro ও Enterprise)
উদীয়মান বাজারের অনেক মুদ্রা সরাসরি একে অপরের সঙ্গে বিনিময় হয়, যেমন সোমের বিনিময়ে তেঙ্গে, রিভনিয়ার বিনিময়ে দিরহাম, রুপির বিনিময়ে রিয়াল, পাবলিক ফোরাম, চ্যানেল ও শ্রেণিবদ্ধ বিজ্ঞাপনের বোর্ডে, ডলার ছাড়াই। সূচকটি এসব পাবলিক বিজ্ঞপ্তি সংশ্লিষ্ট দেশগুলোর ভাষায় পড়ে এবং একটি জোড়ার করিডর রেট প্রকাশ করে, সেই জোড়ার ডলার-লেগ থেকে প্রাপ্ত ক্রস রেটের পাশে।
- বিজ্ঞপ্তি হলো একটি পাবলিক পোস্ট, যেখানে ডলার ছাড়া দুটি মুদ্রার নাম এবং একটি দাম বা দুটি পরিমাণ থাকে ("куплю сумы за тенге, 100 000 сум за 4 000 тенге", "1 KZT = 25.3 UZS", "vendo pesos por reales")। আমরা জোড়া, রেট (প্রথম মুদ্রার 1 এককের বিপরীতে দ্বিতীয় মুদ্রার একক), লেখকের পক্ষ, উল্লেখ থাকলে পরিমাণ, শহর ও পেমেন্ট পদ্ধতির শ্রেণি (cash / transfer / card), সময় এবং লিংক রাখি। ফোন নম্বর, ইউজারনেম, ই-মেইল ঠিকানা এবং টেক্সটের ভেতরের লিংক কিছু সংরক্ষণের আগেই সরিয়ে ফেলা হয়; লেখকদের কখনও রেকর্ড করা হয় না। প্রচলিত ধরনের জন্য নিয়ম আগে প্রয়োগ হয়; দুটি মুদ্রাসহ যে পোস্ট নিয়মগুলো বুঝতে পারেনি তা ডেটা হিসেবে একটি ভাষা মডেলে যায় এবং সেটি যে প্রতিটি সংখ্যা ফেরত দেয় তা নিয়মে মিলে যাওয়া সংখ্যার মতোই যাচাই করা হয়।
- গ্রহণযোগ্যতা। একটি বিজ্ঞপ্তিকে সূচকের দুটি ডলার-লেগ থেকে প্রাপ্ত রেটের (
b per USD ÷ a per USD) ± 60 %-এর সঙ্গে মিলিয়ে যাচাই করা হয়: উল্টো সংখ্যা ঘুরিয়ে দেওয়া হয় ও তা নোট করা হয়, সীমার বাইরের সংখ্যা আউটলায়ার এবং কখনও রেটে প্রবেশ করে না। একই পোস্টের ডলার অফার ডলার সূচকের জন্য রাখা হয়। - দিন (
rate) হলো জোড়াটির ওই দিনের বৈধ বিজ্ঞপ্তিগুলোর আস্থা-ভারযুক্ত মধ্যক, সঙ্গে দিনেরlowওhigh;sourcesতার পেছনের স্বতন্ত্র পাবলিক উৎস গণনা করে;confidenceহলোhighযখন তিন বা তার বেশি উৎস 3 %-এর মধ্যে একমত,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, ওই দিনের এ ধরনের করিডরগুলোর ভারযুক্ত মধ্যক)। এই নির্ণীত সিরিজ অন্য যেকোনো উপাদানের মতো সক্রিয়তার নিয়মে প্রবেশ করে, যে করিডর থেকে এসেছে তার চেয়ে এক ধাপ নিচের কনফিডেন্স ক্লাসে, এবং অন্য কোনো করিডরের ডলার-লেগ হিসেবে কখনও ব্যবহৃত হয় না। - অ্যাক্সেস। পাবলিক পেজে সাইটের 24-hour বিলম্ব থাকে; Pro ও Enterprise কী চলতি দিন, ইতিহাস এবং সবচেয়ে ব্যয়বহুল ও
সবচেয়ে সস্তা করিডরের তালিকা (
/v1/corridors/top) পায়। বিজ্ঞপ্তি কেবল সেই পাবলিক উৎস থেকে পড়া হয় যাদের robots.txt ও শর্তাবলি অনুমতি দেয়; যে উৎস স্বয়ংক্রিয় পড়া বা পুনর্ব্যবহার নিষিদ্ধ করে তা বাদ দেওয়া হয়।
সীমাবদ্ধতা
- স্ট্রিট রেট প্রতিফলিত করে মানুষ স্ট্রিট বাজারে বাস্তবে কী দেয়; এগুলো অফিসিয়াল, কেন্দ্রীয় ব্যাংক বা আন্তঃব্যাংক রেট নয় এবং সেগুলো থেকে উল্লেখযোগ্যভাবে ভিন্ন হতে পারে।
confidence = limitedসিরিজে ফাঁক (মান বাmidছাড়া দিন) এবং বেশি নয়েজ থাকে। কোনো মান ব্যবহারের আগেconfidenceওflagদেখে নিন।- ভিন্ন মুদ্রার কভারেজ ভিন্ন তারিখ থেকে শুরু হয় (
GET /v1/currencies-এরcoverage_since), এবং কোনো মুদ্রা কিছু সময়ের জন্যcoverage_in_progressথাকতে পারে ("Coverage and activity" দেখুন)। - সূচকটি কেবল তথ্যের উদ্দেশ্যে দেওয়া হয় এবং এটি বিনিয়োগ পরামর্শ নয়।