Average Daily Volume বা ADV কী?
Average Daily Volume হলো একটি স্টকের প্রতিদিনের গড় লেনদেনকৃত শেয়ারের সংখ্যা। এটি days to cover এবং relative volume নির্ণয়ে এবং তারল্য পরীক্ষার জন্য ব্যবহৃত হয়।
গড় দৈনিক লেনদেন বা Average daily volume — ADV — হলো এমন একটি বহুল ব্যবহৃত সংখ্যা যার সঠিক সংজ্ঞা কেউ দেয় না: এটি একটি নির্দিষ্ট সময়সীমার মধ্যে কোনো স্টকের প্রতিদিনের গড় লেনদেনকৃত শেয়ারের সংখ্যা। এটি days to cover নির্ণয়ে হরের (denominator) হিসেবে ব্যবহৃত হয়, relative volume এর ভিত্তি হিসেবে কাজ করে এবং প্রতিটি স্ক্রিনারের লিকুইডিটি বা তারল্য পরীক্ষার মাপকাঠি হিসেবে ব্যবহৃত হয়। এর অর্থ হলো, এই প্রতিটি সূচকের ওপর ADV-এর নির্ধারিত বিষয়গুলো প্রভাব ফেলে: যেমন কোন সময়সীমা ব্যবহার করা হবে, কোন সেশনগুলো অন্তর্ভুক্ত করা হবে এবং শেয়ার নাকি ডলারের ভিত্তিতে গণনা করা হবে। এই পৃষ্ঠাটি ADV-এর সঠিক সংজ্ঞা প্রদান করে, এর গাণিতিক প্রক্রিয়া হাতেকলমে ব্যাখ্যা করে এবং বাস্তব বাজারের তথ্যের ভিত্তিতে প্রতিটি বিষয় পরিমাপ করে।
গড় দৈনিক লেনদেনের পরিমাণ
১১ জুন থেকে ১০ জুলাই, ২০২৬ পর্যন্ত ২০টি নিয়মিত লেনদেনের সেশন — চারটি পরিচিত নাম এবং একটি ইচ্ছাকৃতভাবে কম লেনদেনের নাম। শেয়ার, ডলার এবং (পরবর্তী অংশের জন্য) নিয়মিত সময়ের বাইরে প্রতিটি নামের মোট লেনদেনের একটি অংশ:
প্রতিটি সংখ্যার পেছনের সঠিক SQL
WITH per_day AS (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
sumIf(toFloat64(volume), formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') >= '09:30'
AND formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') < '16:00') AS rth_shares,
sumIf(toFloat64(close) * toFloat64(volume), formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') >= '09:30'
AND formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') < '16:00') AS rth_dollars,
sum(toFloat64(volume)) AS all_shares
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'AAPL', 'MU', 'KO', 'CATO')
AND window_start >= toDateTime('2026-06-11 00:00:00', 'America/New_York')
AND window_start < toDateTime('2026-07-11 00:00:00', 'America/New_York')
GROUP BY ticker, et_date
)
SELECT ticker,
round(avg(rth_shares) / 1e6, 2) AS adv_shares_m,
round(avg(rth_dollars) / 1e9, 2) AS adv_dollars_bn,
round(100 * (sum(all_shares) - sum(rth_shares)) / sum(all_shares), 1) AS extended_hours_pct,
count() AS sessions
FROM per_day
GROUP BY ticker
ORDER BY adv_shares_m DESCএই টেবিলটি এই পৃষ্ঠার মূল যুক্তিটি তুলে ধরে। MU এবং AAPL প্রতিদিন প্রায় সমান সংখ্যক শেয়ার লেনদেন করে — 42.01M বনাম 41.47M — কিন্তু ডলারের কলামটি তাদের মধ্যে বড় ব্যবধান তৈরি করে: প্রতিদিন $44.49B বনাম $12.24B। শেয়ার লেনদেনের সক্রিয়তা পরিমাপ করে; ডলার অর্থের পরিমাণ পরিমাপ করে। তালিকার শীর্ষে ক্রমটি উল্টে যায়: শেয়ারের ক্ষেত্রে SPY এগিয়ে (20টি সেশনে 46.01M) যেখানে ডলারের ক্ষেত্রে এই টেবিলে MU এগিয়ে। আর তালিকার নিচে, CATO প্রতিদিন 0.05 মিলিয়ন শেয়ার লেনদেন করে — অর্থের পরিমাণ এতই কম যে বিলিয়ন কলামে এই স্কেলে 0 দেখায়। এটি এমন ধরনের লেনদেন যেখানে একটি মাত্র প্রাতিষ্ঠানিক অর্ডারই দিনের মোট লেনদেনের পরিমাণ হতে পারে, এবং যেখানে লেনদেনের খরচ সম্পূর্ণ ভিন্ন মাত্রার।
গড় দৈনিক ভলিউম (Average Daily Volume) কীভাবে গণনা করবেন
এর গাণিতিক প্রক্রিয়াটি অত্যন্ত সহজ: নির্বাচিত সময়ের মধ্যে প্রতিদিনের শেয়ার ভলিউম যোগ করুন এবং তারপর দিন সংখ্যা দিয়ে ভাগ করুন। Coca-Cola-এর নিয়মিত সময়ের লেনদেনের একটি পূর্ণ সপ্তাহ (জুলাই ৬–১০, ২০২৬) নিচে দেওয়া হলো, যেখানে একই কুয়েরিতে চলমান মোট যোগফল এবং গড় গণনা করা হয়েছে:
প্রতিটি সংখ্যার পেছনের সঠিক SQL
SELECT session_date,
shares_m,
round(sum(shares_m) OVER (), 1) AS five_day_total_m,
round(avg(shares_m) OVER (), 1) AS adv_m,
round(avg(shares_m) OVER () * 0.01 * 1000, 0) AS one_pct_of_adv_k
FROM (
SELECT formatDateTime(toDate(toTimeZone(window_start, 'America/New_York')), '%Y-%m-%d') AS session_date,
round(sumIf(toFloat64(volume), formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') >= '09:30'
AND formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') < '16:00') / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'KO'
AND window_start >= toDateTime('2026-07-06 00:00:00', 'America/New_York')
AND window_start < toDateTime('2026-07-11 00:00:00', 'America/New_York')
GROUP BY session_date
)
ORDER BY session_dateপাঁচ দিনের ভলিউম যোগ করুন — 10.7 + 12.1 + 10.7 + 11 + 8.3 মিলিয়ন শেয়ার — এবং মোট যোগফল হবে 52.8M। একে পাঁচ দিয়ে ভাগ করলে পাওয়া যায়: 10.6M শেয়ার, যা KO-এর ৫-সেশনের ADV। ২০-সেশনের ADV হলো ২০টি সারির জন্য একই গাণিতিক প্রক্রিয়া — যা প্রথম টেবিলে দেওয়া আছে। গড় ভলিউম কীভাবে পরিবর্তনকে ঢেকে রাখে তা লক্ষ্য করুন: 2026-07-07 প্রিন্ট করেছে 12.1M এবং 2026-07-10 প্রিন্ট করেছে 8.3M, এই দৈনিক ওঠানামাগুলোকে ADV একটি একক সংখ্যায় রূপান্তরিত করে। শেষ কলামটি পজিশন সাইজিংয়ের একটি ধারণা দেয়: KO-এর ADV-এর এক শতাংশ হলো প্রায় 106 হাজার শেয়ার — এই মাত্রায় একটি একক অর্ডার দিনের মোট লেনদেনের একটি উল্লেখযোগ্য অংশ হয়ে দাঁড়ায়।
উইন্ডো একটি পছন্দ, এবং এটি নির্ধারণ করে ADV কত দ্রুত পরিবর্তিত হয়
সাধারণত বিশটি সেশন (একটি ট্রেডিং মাস) ধরা হয়; তবে দশ, ত্রিশ, পঁয়ষট্টি এবং নব্বই সেশনের ধারণাটিও প্রচলিত আছে। এই উইন্ডো বা সময়সীমা নির্ধারণ করে ADV কত দ্রুত পরিবর্তিত হয়। MU হলো ২০২৬ সালের একটি উদাহরণ — এই স্টকের ভলিউম বছরের মাঝামাঝি সময়ে এত দ্রুত পরিবর্তিত হয়েছে যে, এর গত এক মাসের ADV এবং গত তিন মাসের ADV বসন্তকালে ভিন্ন ভিন্ন তথ্য দিচ্ছিল, যার বিস্তারিত প্রমাণ এর জুন মাসের গভীর বিশ্লেষণে পাওয়া যায়। নিচে একই সাত মাস জুড়ে একই স্টকের চিত্র দেওয়া হলো, যেখানে উভয় উইন্ডো একসাথে পরিমাপ করা হয়েছে:
প্রতিটি সংখ্যার পেছনের সঠিক SQL
WITH daily AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
sum(toFloat64(volume)) AS day_shares
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'MU'
AND window_start >= toDateTime('2025-08-01 00:00:00', 'America/New_York')
AND window_start < toDateTime('2026-07-11 00:00:00', 'America/New_York')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY et_date
),
rolled AS (
SELECT et_date,
avg(day_shares) OVER (ORDER BY et_date ROWS BETWEEN 19 PRECEDING AND CURRENT ROW) AS adv20,
avg(day_shares) OVER (ORDER BY et_date ROWS BETWEEN 89 PRECEDING AND CURRENT ROW) AS adv90,
row_number() OVER (ORDER BY et_date) AS rn,
count() OVER () AS total_rows
FROM daily
)
SELECT formatDateTime(et_date, '%Y-%m-%d') AS date,
round(adv20 / 1e6, 1) AS adv_20_session_m,
round(adv90 / 1e6, 1) AS adv_90_session_m
FROM rolled
WHERE rn > 90 AND (rn % 3 = total_rows % 3)
ORDER BY et_date2025-12-10 তারিখে উভয় উইন্ডো একমত ছিল: ২০ সেশনের হিসেবে ছিল 21.3M এবং ৯০ সেশনের হিসেবে ছিল 19.9M। 2026-04-14 নাগাদ এদের মধ্যে পার্থক্য দেখা দেয়, যেখানে একটি ছিল 45.6M এবং অন্যটি ছিল 31.9M — একটি স্টকের জন্য একদিনেই দুটি "অফিসিয়াল" ADV দেখা যাচ্ছিল। ফলে যেকোনো স্ক্রিনার, days-to-cover বা রিলেটিভ-ভলিউম রিডিং, যা একটি উইন্ডোর ওপর ভিত্তি করে তৈরি, তা অন্য উইন্ডোর ওপর ভিত্তি করে তৈরি একই টুলের সাথে অমিল দেখাচ্ছিল। 2026-07-10 নাগাদ উভয় উইন্ডো আবার একীভূত হয় (42M বনাম 41.9M): পরিবর্তিত ভলিউমের স্তরটি দীর্ঘ উইন্ডোর মধ্যেও অন্তর্ভুক্ত হয়ে যায়। যখন কোনো স্টকের ADV নিয়ে দুটি উৎসের মধ্যে অমিল দেখা যায়, তখন উইন্ডো বা সময়সীমা হলো প্রথম সন্দেহভাজন কারণ; আর এক্সটেন্ডেড-আওয়ার্স ভলিউম অন্তর্ভুক্ত করা হয়েছে কি না, তা হলো দ্বিতীয় কারণ।
Volume shock-এর ঠিক পরে ADV-এর কী পরিবর্তন হয়
উপরের চার্টটি এর ইঙ্গিত দেয়; এখানে এটি পরিমাপ করা হয়েছে। MU-এর ২০২৬ সালের সবচেয়ে বড় volume shockটি নিন — যে অধিবেশনে এর নিজস্ব ২০-session trailing ADV-কে সবচেয়ে বেশি ছাড়িয়ে গিয়েছিল — এবং সেই দিনের আগে screener-এ দেখানো ADV-এর সাথে এক মাস পরের ADV তুলনা করুন:
প্রতিটি সংখ্যার পেছনের সঠিক SQL
WITH daily AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
sum(toFloat64(volume)) AS day_shares
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'MU'
AND window_start >= toDateTime('2025-11-01 00:00:00', 'America/New_York')
AND window_start < toDateTime('2026-07-11 00:00:00', 'America/New_York')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY et_date
),
ranked AS (
SELECT et_date, day_shares,
day_shares / avg(day_shares) OVER (ORDER BY et_date ROWS BETWEEN 20 PRECEDING AND 1 PRECEDING) AS shock_ratio,
row_number() OVER (ORDER BY et_date) AS rn
FROM daily
),
biggest AS (
SELECT et_date, day_shares, shock_ratio
FROM ranked
WHERE rn > 20 AND et_date >= toDate('2026-01-01')
ORDER BY shock_ratio DESC, et_date ASC
LIMIT 1
),
before AS (
SELECT avg(day_shares) AS adv FROM (
SELECT day_shares FROM daily WHERE et_date < (SELECT et_date FROM biggest) ORDER BY et_date DESC LIMIT 20
)
),
after AS (
SELECT avg(day_shares) AS adv FROM (
SELECT day_shares FROM daily WHERE et_date >= (SELECT et_date FROM biggest) ORDER BY et_date ASC LIMIT 20
)
)
SELECT formatDateTime((SELECT et_date FROM biggest), '%Y-%m-%d') AS event_date,
round((SELECT day_shares FROM biggest) / 1e6, 1) AS event_day_shares_m,
round((SELECT adv FROM before) / 1e6, 1) AS adv_20_before_m,
round((SELECT shock_ratio FROM biggest), 1) AS event_vs_prior_adv_x,
round((SELECT adv FROM after) / 1e6, 1) AS adv_20_after_m,
round(100 * ((SELECT adv FROM after) / (SELECT adv FROM before) - 1), 0) AS adv_shift_pct2026-03-19 তারিখে, MU 64.7M শেয়ার লেনদেন করেছে যেখানে পূর্ববর্তী ADV ছিল 28.7M — যা এর নিজস্ব baseline-এর 2.3x। পরবর্তী ২০টি session জুড়ে, trailing ADV গড়ে ছিল 45M: অর্থাৎ হরে (denominator) 57% বৃদ্ধি পেয়েছে। ADV-এর ওপর ভিত্তি করে প্রাপ্ত প্রতিটি সংখ্যা এর সাথে পরিবর্তিত হয়েছে — relative volume কমেছে (কারণ baseline বৃদ্ধি পেয়েছে) এবং days to cover কমেছে (কারণ denominator বৃদ্ধি পেয়েছে), যদিও কারও প্রকৃত পজিশনে কোনো পরিবর্তন আসেনি। MU-এর ক্ষেত্রে লেনদেনের এই উচ্চতা দীর্ঘস্থায়ী হয়েছিল — এই shockটি একটি re-rating ছিল, কোনো একদিনের ঘটনা নয় — তবে উভয় ক্ষেত্রেই এর মেকানিজম একই: একটি ভারী লেনদেনের সময়কাল শেষ হওয়ার পর, ঠিক একটি window-length সময়ের জন্য ADV স্টকের অভ্যাসের পরিবর্তে সেই ঘটনাটিকে পরিমাপ করে।
তারল্য বা লিকুইডিটির প্রকৃত পরিমাপ
"প্রতিদিন লক্ষ লক্ষ ডলার" কথাটি সাধারণত লেনযোগ্যতা বোঝাতে ব্যবহৃত হয়। নিচে এর প্রকৃত বিন্যাস দেওয়া হলো — ডলার ভিত্তিক গড় দৈনিক লেনদেন (ADV) অনুযায়ী সাজানো প্রতিটি US-তালিকাভুক্ত সিম্বল, যাদের গত ২০টি সেশনের মধ্যে অন্তত ১৫টি সেশনে লেনদেন হয়েছে:
প্রতিটি সংখ্যার পেছনের সঠিক SQL
WITH per_ticker AS (
SELECT ticker, avg(day_dollars) AS adv_dollars
FROM (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
sumIf(toFloat64(close) * toFloat64(volume), formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') >= '09:30'
AND formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') < '16:00') AS day_dollars
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= toDateTime('2026-06-11 00:00:00', 'America/New_York')
AND window_start < toDateTime('2026-07-11 00:00:00', 'America/New_York')
AND match(ticker, '^[A-Z]+$')
GROUP BY ticker, et_date
)
GROUP BY ticker
HAVING count() >= 15
)
SELECT count() AS names,
round(quantileDeterministic(0.25)(adv_dollars, cityHash64(ticker)) / 1e6, 2) AS p25_m,
round(quantileDeterministic(0.50)(adv_dollars, cityHash64(ticker)) / 1e6, 1) AS median_m,
round(quantileDeterministic(0.75)(adv_dollars, cityHash64(ticker)) / 1e6, 1) AS p75_m,
round(quantileDeterministic(0.90)(adv_dollars, cityHash64(ticker)) / 1e6, 1) AS p90_m,
round(quantileDeterministic(0.99)(adv_dollars, cityHash64(ticker)) / 1e6, 0) AS p99_m,
countIf(adv_dollars >= 1e6) AS names_above_1m,
countIf(adv_dollars >= 10e6) AS names_above_10m,
countIf(adv_dollars >= 100e6) AS names_above_100m,
countIf(adv_dollars >= 1e9) AS names_above_1bn
FROM per_ticker10864টি সিম্বলের ক্ষেত্রে, মিডিয়ান বা মধ্যম মানের লেনদেন হলো প্রতিদিন 2.2M ডলার — অর্থাৎ মার্কিন বাজারের অর্ধেক শেয়ারের লেনদেন এর চেয়ে কম। এক-চতুর্থাংশ শেয়ারের লেনদেন 0.33M ডলারের নিচে। ৭৫তম পার্সেন্টাইল হলো 20.4M ডলার, ৯০তম হলো 113.7M ডলার এবং ৯৯তম হলো 1333M ডলার। নির্দিষ্ট মানদণ্ড অনুযায়ী গণনা করলে: 6515টি শেয়ারের দৈনিক লেনদেন ১ মিলিয়ন ডলারের বেশি, 3535টি ১০ মিলিয়ন ডলারের বেশি, 1166টি ১০০ মিলিয়ন ডলারের বেশি — এবং মাত্র 130টি ১ বিলিয়ন ডলারের বেশি লেনদেন করে। আর্থিক সংবাদমাধ্যমের আলোচনার কেন্দ্রবিন্দুতে থাকা শেয়ারগুলো মূলত শেষোক্ত গ্রুপের মধ্যেই সীমাবদ্ধ; একটি সাধারণ তালিকাভুক্ত শেয়ারের লেনদেনের ধরণ সম্পূর্ণ ভিন্ন।
যেখানে ADV নীরবে অন্যান্য সংখ্যা নির্ধারণ করে
- Days to cover = short interest ÷ ADV। ভলিউম বৃদ্ধি পেলে শর্ট পজিশন অপরিবর্তিত থাকলেও এই অনুপাতটি কমে যায় — কারণ এর হরে (denominator) পরিবর্তন হয়েছে।
- Relative volume = আজকের গতিবেগ ÷ ADV। একই সংখ্যা, কিন্তু বিপরীত ভূমিকা: এখানে ADV হলো একটি বেসলাইন যা অতিক্রম করা হচ্ছে।
- Liquidity screens ("শুধুমাত্র সেই নামগুলো যাদের ADV 1M এর উপরে") — প্রতিটি ব্যাকটেস্ট এবং স্ক্রিনারে এটি থাকে, এবং এর ফলে সারভাইভারশিপ ঘটে: কোনো স্টকের সবচেয়ে নাটকীয় সপ্তাহগুলো থাকলে সেটি এই ধরনের স্ক্রিনে অন্তর্ভুক্ত হয়।
- Position sizing — বড় ফান্ডগুলো কেন নির্দিষ্ট কিছু ছোট স্টকের মালিক হতে পারে না তার কারণ হলো প্রতিদিনের ADV এর মাত্র কয়েক শতাংশ ট্রেড করার প্রাতিষ্ঠানিক অভ্যাস: একটি পজিশন তৈরি বা exited করতে পুরো সপ্তাহের মোট ভলিউম প্রয়োজন হবে।
Days-to-cover বিষয়টি বাস্তব সংখ্যা দিয়ে দেখা প্রয়োজন, কারণ এমনকি "অফিসিয়াল" সংখ্যাটিও কারো করা ADV নির্বাচনের ওপর নির্ভর করে। FINRA তাদের নিজস্ব ভলিউম ডিনোমিনেটর ব্যবহার করে days to cover প্রকাশ করে (প্রতিটি ভেন্যু এবং তাদের নিজস্ব রিপোর্টিং উইন্ডো থাকে, যার সর্বনিম্ন মান ১.০ — দেখুন কিভাবে এই ডেটা আসে); এই পেজের ২০-সেশনের রেগুলার-আওয়ারস ADV দিয়ে একই অনুপাত পুনরায় গণনা করলে ফলাফল বদলে যায়:
প্রতিটি সংখ্যার পেছনের সঠিক SQL
WITH our_adv AS (
SELECT ticker, avg(day_shares) AS adv
FROM (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
sumIf(toFloat64(volume), formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') >= '09:30'
AND formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') < '16:00') AS day_shares
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('MU', 'KO')
AND window_start >= toDateTime('2026-06-11 00:00:00', 'America/New_York')
AND window_start < toDateTime('2026-07-11 00:00:00', 'America/New_York')
GROUP BY ticker, et_date
)
GROUP BY ticker
),
si AS (
SELECT ticker,
max(short_interest) AS short_interest,
max(avg_daily_volume) AS finra_adv,
max(days_to_cover) AS finra_dtc
FROM global_markets.stocks_short_interest
WHERE settlement_date = '2026-06-30' AND ticker IN ('MU', 'KO')
GROUP BY ticker
)
SELECT si.ticker AS ticker,
round(si.short_interest / 1e6, 1) AS shares_short_m,
round(si.finra_adv / 1e6, 1) AS finra_adv_m,
round(si.finra_dtc, 2) AS finra_days_to_cover,
round(our_adv.adv / 1e6, 1) AS rth_adv_20_session_m,
round(si.short_interest / our_adv.adv, 2) AS days_to_cover_recomputed
FROM si
INNER JOIN our_adv ON si.ticker = our_adv.ticker
ORDER BY tickerএকই short interest, কিন্তু দুটি ডিনোমিনেটর। KO এর ক্ষেত্রে, FINRA তাদের 24.1M-শেয়ার ভলিউম ফিগার অনুযায়ী 2.06 দিন রিপোর্ট করে; এই পেজের 12.4M রেগুলার-আওয়ারস ADV অনুযায়ী, একই 49.6M-শেয়ার শর্ট পজিশন মানে হলো 4 দিন — যা প্রায় দ্বিগুণ। MU এর ক্ষেত্রে, প্রকাশিত সংখ্যাটি রিপোর্ট করা সর্বনিম্ন মান 1 এ রয়েছে; পুনরায় গণনা করলে এটি হয় 0.75 দিন। কোনোটিই ভুল নয় — তারা ভিন্ন ডিনোমিনেটর ব্যবহার করে উত্তর দিচ্ছে। এই শিক্ষাটি সাধারণীকরণ করা যায়: যে কোনো অনুপাতের নিচে ADV থাকলে তা নীরবে কারো উইন্ডো এবং সেশনের পছন্দ প্রকাশ করে।
ADV কি options-এর ক্ষেত্রে কার্যকর?
Options ট্রেডাররা একই ধারণা ব্যবহার করেন তবে একটি ভিন্নতার মাধ্যমে: এখানে volume গণনা করা হয় contracts হিসেবে, এবং প্রতিটি standard equity contract ১০০টি share নিয়ন্ত্রণ করে। ২০টি session এবং চারটি option tape ব্যবহার করে, contract count-কে share-equivalent exposure-এ রূপান্তরিত করা হয়:
প্রতিটি সংখ্যার পেছনের সঠিক SQL
WITH daily AS (
SELECT multiIf(ticker LIKE 'O:SPY2%', 'SPY', ticker LIKE 'O:AAPL2%', 'AAPL', ticker LIKE 'O:MU2%', 'MU', 'KO') AS underlying,
toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
sum(toFloat64(volume)) AS contracts
FROM global_markets.options_minute_aggs
WHERE (ticker LIKE 'O:SPY2%' OR ticker LIKE 'O:AAPL2%' OR ticker LIKE 'O:MU2%' OR ticker LIKE 'O:KO2%')
AND window_start >= toDateTime('2026-06-11 00:00:00', 'America/New_York')
AND window_start < toDateTime('2026-07-11 00:00:00', 'America/New_York')
GROUP BY underlying, et_date
)
SELECT underlying,
round(avg(contracts) / 1e3, 1) AS avg_daily_contracts_k,
round(avg(contracts) * 100 / 1e6, 1) AS share_equivalent_m,
count() AS sessions
FROM daily
GROUP BY underlying
ORDER BY avg_daily_contracts_k DESCএই স্কেলের পার্থক্য স্টক টেবিলের যেকোনো তথ্যের চেয়ে অনেক বেশি। SPY-এর options tape প্রতিদিন গড়ে 12543.2 হাজার contracts — যা 1254.3M shares-এর equivalent exposure, যা SPY-এর নিজস্ব 46.01M share ADV-এর তুলনায় অনেক বেশি। KO-এর ক্ষেত্রে বিষয়টি উল্টো: 64.6 হাজার contracts (6.5M share-equivalent), যা এর 12.4M share ADV-এর নিচে। Options liquidity অল্প কিছু underlying asset-এ কেন্দ্রীভূত থাকে এবং বিভিন্ন strike ও expiration-এর ক্ষেত্রে আরও কমে যায় — এই ধরনের একটি aggregate figure কোনো একক contract-এর ট্রেড ভলিউমকে বাড়িয়ে দেখায়, তাই options order-এর আকার নির্ধারণ করার আগে প্রতি-contract volume এবং open interest যাচাই করা প্রয়োজন।
একজন বিশেষজ্ঞের মতো ADV বিশ্লেষণ করা
সংজ্ঞা জানা এবং এটি প্রয়োগ করার মধ্যে ব্যবধান ঘোচাতে তিনটি অভ্যাস অনুসরণ করুন। ADV-এর সাথে ডলার ADV তুলনা করুন — প্রথম টেবিলে দেখা যাচ্ছে দুটি স্টকের মার্কেট শেয়ার প্রায় সমান, কিন্তু টাকার অঙ্কে তাদের মধ্যে বড় ব্যবধান রয়েছে; অর্ডার করার ক্ষেত্রে টাকার অঙ্কের কলামটিই সবচেয়ে গুরুত্বপূর্ণ। ঘটনার ঠিক পরেই ADV-এর ওপর ভরসা করবেন না — শক প্যানেল এটি প্রমাণ করেছে: একটি বড় লেনদেনের কারণে এক মাসে হর (denominator) 57% পরিবর্তিত হয়েছে, যার ফলে relative volume এবং days to cover যান্ত্রিকভাবে কমে গেছে, যতক্ষণ না সেই স্পাইকটি সময়ের সাথে মিলিয়ে যায়। ক্যালেন্ডারের সাথে ADV মিলিয়ে দেখুন — অপসায়রেশন ফ্রাইডে, রিব্যালেন্স ডে এবং ইনডেক্স পরিবর্তনের তারিখগুলোতে সবার ভলিউম একসাথে বেড়ে যায় (witching days সবচেয়ে বেশি), তাই পুরো বাজারের একটি উচ্চ ভলিউমের দিন কোনো নির্দিষ্ট স্টকের অবস্থা সম্পর্কে কিছু বলে না।
গড় দৈনিক লেনদেনের পরিমাণ (ADV) সংক্রান্ত সাধারণ জিজ্ঞাসা
একটি ভালো গড় দৈনিক লেনদেনের পরিমাণ কত?
২০টি সেশনের ভিত্তিতে 10864টি মার্কিন সিম্বল (symbol) পরিমাপ করে দেখা গেছে যে, ডলারের হিসেবে মধ্যম মানের ADV ছিল $2.2M; 3535টি স্টকের দৈনিক লেনদেন ছিল $১০M এবং মাত্র 130টি স্টকের লেনদেন ছিল $১B। খুচরা বা রিটেইল আকারের অর্ডারের ক্ষেত্রে শেয়ারের সংখ্যার চেয়ে ডলারের পরিমাণ বেশি গুরুত্বপূর্ণ — যে স্টকগুলোর লেনদেন $১০M-এর বেশি, সেখানে ছোট কোনো অর্ডার দিয়ে দাম পরিবর্তন করা সম্ভব নয়।
গড় দৈনিক লেনদেনের পরিমাণ (ADV) কীভাবে গণনা করা হয়?
নির্বাচিত সময়ের মধ্যে প্রতিদিনের শেয়ার লেনদেনের পরিমাণ যোগ করুন এবং তারপর মোট দিন সংখ্যা দিয়ে ভাগ করুন। KO-এর ২০২৬ সালের ৬–১০ জুলাই পর্যন্ত পাঁচ দিনের লেনদেন মোট 52.8M শেয়ার; একে পাঁচ দিয়ে ভাগ করলে ADV হয় 10.6M। ২০-দিনের ADV গণনা করার পদ্ধতিও ২০টি সেশনের জন্য একই রকম।
ADV কত সময়ের ভিত্তিতে পরিমাপ করা হয়?
সাধারণত ২০টি ট্রেডিং সেশনের (প্রায় এক মাস) ভিত্তিতে এটি পরিমাপ করা হয়। তবে ১০, ৩০, ৬৫ এবং ৯০ দিনের সংস্করণও প্রচলিত আছে — এবং লেনদেনের আকস্মিক পরিবর্তনের পর এই সংস্করণগুলোর মধ্যে পার্থক্য দেখা যায়। 2026-04-14 তারিখে, MU-এর ২০-সেশনের ADV ছিল 45.6M, যেখানে একই দিনে এর ৯০-সেশনের ADV ছিল 31.9M। বিভিন্ন উৎসের তথ্যের মধ্যে তুলনা করার আগে সময়েরসীমা বা উইন্ডো যাচাই করে নিন।
ADV-তে কি প্রি-মার্কেট এবং আফটার-আওয়ার্স ভলিউম অন্তর্ভুক্ত থাকে?
এটি উৎসের ওপর নির্ভর করে — এই পৃষ্ঠার তথ্যগুলো শুধুমাত্র নিয়মিত সময়ের (regular-hours) লেনদেনের। একই ২০টি সেশনের ভিত্তিতে পরিমাপ করলে দেখা যায়, SPY-এর মোট লেনদেনের 18.3% অংশ, AAPL-এর 6.9% অংশ এবং কম লেনদেনের CATO-এর 0.2% অংশ ছিল বর্ধিত সময়ের (extended sessions) লেনদেন — বর্ধিত সময়ের নির্দেশিকা বিস্তারিতভাবে ব্যাখ্যা করে।
ADV কি শেয়ারের সংখ্যা নাকি ডলারের পরিমাণ?
ঐতিহ্যগতভাবে এটি শেয়ারের সংখ্যা নির্দেশ করে, তবে স্টকগুলোর তারল্য (liquidity) পরিমাপের জন্য ডলারের ADV বেশি কার্যকর। একই ২০টি সেশনে, MU এবং AAPL প্রতিদিন যথাক্রমে 42.01M এবং 41.47M শেয়ার লেনদেন করেছে — যা প্রায় সমান — কিন্তু তাদের ডলারের ADV ছিল যথাক্রমে $44.49B এবং $12.24B। শেয়ারের সংখ্যা এক হলেও লেনদেনের পরিমাণের বিশাল পার্থক্য রয়েছে।
প্রতিটি পরিসংখ্যান একটি সংরক্ষিত এবং ভার্সনযুক্ত কুয়েরি (query) — যেকোনো প্যানেলের নিচের SQL কোডটি বিস্তারিতভাবে দেখুন, অথবা Strasmore টার্মিনালে যেকোনো টিকারের জন্য যেকোনো সময়ের উইন্ডো গণনা করুন।