Strasmore Research
শেখা Matt Connorদ্বারা Matt Connor · আপডেট করা হয়েছে 2026-07-23 · data as of July 23, 2026 · refreshed weekly

RVOL কী এবং এটি কীভাবে পড়তে হয়

RVOL বা Relative Volume হলো একটি স্টকের বর্তমান লেনদেনের পরিমাণ এবং গত ২০ দিনের গড় ভলিউমের অনুপাত। এটি ব্যবহার করে বাজারের স্বাভাবিক অবস্থার সাথে তুলনা করা যায়।

Relative volume (RVOL) একটি স্টকের লেনদেনের গতিবিধি তার সাম্প্রতিক স্বাভাবিক অবস্থার তুলনায় কেমন তা পরিমাপ করে: এটি ওই দিনের শেয়ার ভলিউমকে স্টকের গড় দৈনিক ভলিউম দিয়ে ভাগ করে নির্ণয় করা হয়, যা সাধারণত গত ২০টি সেশনের গড় হিসেবে ধরা হয়। RVOL এর মান ১ হলে তা একটি সাধারণ দিন নির্দেশ করে, ২ মানে হলো স্বাভাবিকের চেয়ে দ্বিগুণ শেয়ার লেনদেন হয়েছে, এবং ০.৫ মানে হলো লেনদেনের গতি স্বাভাবিকের অর্ধেক। এই পৃষ্ঠার প্রতিটি তথ্য মিনিট-ভিত্তিক US মার্কেট ডেটা থেকে নেওয়া হয়েছে এবং প্রতিটি প্যানেলের সাথে এর সঠিক কুয়েরি যুক্ত করা হয়েছে।

Relative volume কী? সহজ ভাষায় সংজ্ঞা

শুধুমাত্র Raw volume দিয়ে খুব বেশি কিছু বোঝা যায় না: একটি mega-cap স্টকের জন্য পাঁচ মিলিয়ন শেয়ার লেনদেন হওয়া মানে একটি শান্ত দিন, কিন্তু একটি small-cap স্টকের জন্য এটি বছরে একবার ঘটা ঘটনা হতে পারে। Relative volume একটি স্টকের স্বাভাবিক লেনদেনের সাথে বর্তমান অবস্থার সরাসরি তুলনা করে:

RVOL = দিনের মোট ভলিউম ÷ স্টকের গড় দৈনিক ভলিউম (সাধারণত গত ২০টি সেশনের গড়)

একটি কাল্পনিক উদাহরণ: একটি স্টক যার দৈনিক গড় লেনদেন ১০ মিলিয়ন শেয়ার এবং বাজার বন্ধ হওয়ার সময় লেনদেন দাঁড়িয়েছে ২৫ মিলিয়নে, তার RVOL হবে ২.৫। (একটি print হলো সেই ট্রেড যা consolidated tape বা বাজারের সমস্ত লেনদেনের রেকর্ডে রিপোর্ট করা হয়; ট্রেডারদের ভাষায় এই রেকর্ডকে "the tape" বলা হয়।) ২০-সেশনের এই সময়সীমাটি একটি প্রচলিত নিয়ম—বিভিন্ন প্ল্যাটফর্ম ১০, ৩০ বা ৫০ দিনও ব্যবহার করতে পারে; এটি মোটামুটি এক ক্যালেন্ডার মাসের ট্রেডিং সময়। এই সময়সীমাটি এক্সচেঞ্জ ক্যালেন্ডারের নিয়মাবলি দ্বারাও প্রভাবিত হয়: কোনো ছুটির দিন বা অর্ধেক দিনের ট্রেডিং সেশন গড় ভলিউমকে খুব সামান্য পরিমাণে বৃদ্ধি করে, এবং বাজারের ছুটি ও দ্রুত বাজার বন্ধ হওয়া এখানে সেই সময়গুলো নির্দেশ করে।

কেন ট্রেডাররা relative volume পর্যবেক্ষণ করেন?

RVOL হলো অংশগ্রহণের একটি পরিমাপক, এটি বাজারের দিক নির্দেশক নয়। উচ্চ-RVOL সম্পন্ন দিনগুলো নির্দিষ্ট কিছু ঘটনার সাথে সম্পর্কিত—যেমন আর্নিংস রিপোর্ট, ইনডেক্সে নতুন অন্তর্ভুক্তি বা প্রধান সংবাদ। যখন কোনো প্রাইস মুভমেন্ট উচ্চ ভলিউমে ঘটে, তখন বোঝা যায় এর পেছনে অনেক মানুষের অংশগ্রহণ রয়েছে; অন্যদিকে ০.৩ RVOL-এ একই মুভমেন্ট মাত্র কিছু অর্ডারের মাধ্যমেও হতে পারে। ট্রেডাবিলিটির সাথে সক্রিয়তার একটি সম্পর্ক রয়েছে: বিভিন্ন স্টকের মধ্যে যেগুলোর লেনদেন সবচেয়ে কম, সেগুলোর bid-ask spreads সবচেয়ে বেশি হয়। এই স্প্রেডগুলো সারাদিন উভয় পাশে কোটেশন দেয় এমন market makers দ্বারা নির্ধারিত হয়। যেকোনো একটি স্টকের ক্ষেত্রে, লেনদেন কম হওয়ার দিনগুলোতে কোটেশন সাধারণত ব্যস্ততম দিনগুলোর তুলনায় কিছুটা বেশি চওড়া হয়। (ভলিউম VWAP, the volume-weighted average price—যা ভলিউম-ভিত্তিক আরেকটি বড় রেফারেন্স—তার ভিত্তি হিসেবেও কাজ করে।)

রিলেটিভ ভলিউম কীভাবে গণনা করবেন — এবং সময়ের ফাঁদ

সম্পূর্ণ দিনের গণনার জন্য একটি ভাগের প্রয়োজন: সেশনের মোট ভলিউম ÷ ২০-সেশনের গড় দৈনিক ভলিউম। এটি শুধুমাত্র বাজার বন্ধ হওয়ার পর সঠিক ফলাফল দেয়। এর প্রধান ফাঁদ হলো সেশনের মাঝখানে এটি গণনা করা: সকাল ১০:৩০ মিনিটে চলমান মোট ভলিউম স্বাভাবিকভাবেই যেকোনো পূর্ণ-দিনের ভলিউমের একটি অংশ মাত্র, তাই সকালের তীব্র লেনদেনও তখন কম মনে হতে পারে। ইন্ট্রাডে ভলিউম সময়ের সাথে একটি U-আকৃতি অনুসরণ করে এবং যেকোনো ইন্ট্রাডে RVOL এই আকৃতি থেকেই শুরু হতে হবে।

নিচে SPY (S&P 500 ETF) এর ভিত্তিতে এই আকৃতিটি দেখানো হলো: গত ৩০ দিনের পূর্ণাঙ্গ সেশনের প্রতিটি ৩০-মিনিটের সময়ের ব্যবধানে প্রতি মিনিটে লেনদেন হওয়া শেয়ারের মধ্যম মান (median), যার মধ্যে বর্ধিত সময় (সকাল ৪:০০ টা থেকে রাত ৮:০০ টা ইস্টার্ন টাইম) অন্তর্ভুক্ত।

কুয়েরিSPY — প্রতি ৩০ মিনিটে গড় শেয়ার লেনদেন (ET, গত ৩০ দিন, extended hours)
প্রতিটি সংখ্যার পেছনের সঠিক SQL
SELECT formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
       round(quantileDeterministic(0.5)(toFloat64(volume), toUInt64(toUnixTimestamp(window_start))) / 1000, 1) AS median_minute_volume_k
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
  AND window_start >= now() - INTERVAL 30 DAY
  AND toDate(toTimeZone(window_start, 'America/New_York')) < toDate(toTimeZone(now(), 'America/New_York'))
GROUP BY et_time
HAVING et_time >= '04:00' AND et_time < '20:00'
ORDER BY et_time

৯:৩০ এর সময়কাল — যা নিয়মিত ট্রেডিংয়ের প্রথম আধা ঘণ্টা — প্রতি মিনিটে গড়ে 136 হাজার শেয়ার লেনদেন করেছে, যেখানে এর ঠিক আগের ৯:০০ টার প্রি-মার্কেট সময়কালে ছিল 3.5 হাজার। ১২:৩০ এর সময়কালে লেনদেনের গতি কমে 49.5 হাজারে নেমে আসে, এরপর বাজার বন্ধ হওয়ার আগে তা আবার বাড়তে থাকে: ৩:৩০ এর সময়কালে প্রতি মিনিটে 168.3 হাজার শেয়ার লেনদেন হয়, যা closing auction এর আগের সময় এবং দুপুরের লেনদেনের তুলনায় অনেক বেশি। বিকেল ৪:০০ টার ঘণ্টা বাজারার পর প্রতি মিনিটের লেনদেনের গতি দ্রুত কমে after-hours trading এ চলে যায়।

ইন্ট্রাডে রিলেটিভ ভলিউম: সময়ের সাথে সমন্বয় করুন

এই সংশোধনটি হরের (denominator) পরিবর্তন করে: আজকের চলমান মোট ভলিউমকে একই সময়ের গড় চলমান ভলিউমের সাথে তুলনা করা হয়। এর জন্য দিনের প্রতিটি নির্দিষ্ট সময়ে একটি স্বাভাবিক দিনের ভলিউমের কত অংশ সম্পন্ন হয়েছে তা জানা প্রয়োজন — এখানে SPY-এর গত ২০টি সম্পন্ন সেশনের ভিত্তিতে এটি পরিমাপ করা হয়েছে:

কুয়েরিSPY — প্রতিটি নির্দিষ্ট সময়ে পূর্ণ-দিনের ভলিউমের গড় শতাংশ (গত ২০ সেশন)
প্রতিটি সংখ্যার পেছনের সঠিক SQL
WITH per_min AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
           formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') AS et_min,
           sum(toFloat64(volume)) AS v
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= now() - INTERVAL 45 DAY
      AND toDate(toTimeZone(window_start, 'America/New_York')) < toDate(toTimeZone(now(), 'America/New_York'))
    GROUP BY et_date, et_min
),
last20 AS (
    SELECT DISTINCT et_date FROM per_min ORDER BY et_date DESC LIMIT 20
)
SELECT checkpoint AS et_checkpoint,
       round(avg(share) * 100, 1) AS avg_pct_of_day_volume_done
FROM (
    SELECT et_date,
           checkpoint,
           sumIf(v, et_min < checkpoint) / sum(v) AS share
    FROM (
        SELECT et_date, et_min, v, arrayJoin(['10:00', '12:00', '14:00', '15:30', '16:00']) AS checkpoint
        FROM per_min
        WHERE et_date IN (SELECT et_date FROM last20)
    )
    GROUP BY et_date, checkpoint
)
GROUP BY checkpoint
ORDER BY checkpoint

সকাল ১০:০০ টায়, নিয়মিত লেনদেন শুরু হওয়ার আধঘণ্টা পর, SPY সাধারণত তার পূর্ণ দিনের ভলিউমের মাত্র 12.4% সম্পন্ন করে; দুপুর ১২:০০ টায় 34.8%, দুপুর ২:০০ টায় 51.1%, এবং দুপুর ৩:৩০ টায় মাত্র 67.3% সম্পন্ন হয়। এমনকি বিকেল ৪:০০ টার ক্লোজিং বেল বাজলেও মোট ভলিউম থাকে মাত্র 85.7% — বাকি সব লেনদেন ১৬:০০ টার সময় বা পরে রিপোর্ট করা হয়, যার বেশিরভাগই বেল বাজারার ঠিক প্রথম কয়েক মিনিটে ঘটে, যখন ক্লোজিং অকশন এবং দিনের শেষের অন্যান্য লেনদেন সম্পন্ন হয়; আর আফটার-আওয়ার সেশনের ভলিউম অনেক কম থাকে। এটি উপরের চার্টে দেখা যাওয়া হঠাৎ নেমে যাওয়া ভলিউমের সাথে সামঞ্জস্যপূর্ণ: দিনের মোট ভলিউমের একটি বড় অংশ তখনও রিপোর্ট করা হচ্ছে এমন অবস্থায় বেল বাজারার সময় প্রতি মিনিটে লেনদেনের গতি দ্রুত কমে যায়। একটি টাইম-অ্যাডজাস্টেড মর্নিং RVOL বের করার নিয়ম হলো আজকের ক্রমিক ভলিউমকে ২০ দিনের গড় ভলিউম এবং চেকপয়েন্ট শেয়ার দিয়ে গুণ করার পর সেই গুণফল দিয়ে ভাগ করা। একটি সতর্কতা: এই সময়সূচীটি SPY-এর জন্য — প্রতিটি স্টকের নিজস্ব সময়সূচী থাকে, এবং নিচের উদাহরণটি একটি নির্দিষ্ট স্টকের পরিমাপ দেখায়।

A worked example: a real heavy-volume session (MU)

June 2026 was a heavy month for Micron — the MU June 2026 deep-dive walks the full tape. Here is that month's single biggest-volume session, with the RVOL math done both ways:

কুয়েরিMU — জুন ২০২৬-এর সর্বোচ্চ ভলিউম সেশন: time-adjusted বনাম naive RVOL এবং পূর্ণ-দিনের তথ্য
প্রতিটি সংখ্যার পেছনের সঠিক SQL
WITH mu_daily AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
           sum(toFloat64(volume)) AS day_volume,
           sumIf(toFloat64(volume), formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') < '10:30') AS vol_by_1030
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'MU'
      AND window_start >= toDateTime('2026-04-15 00:00:00', 'America/New_York')
      AND window_start < toDateTime('2026-07-01 00:00:00', 'America/New_York')
    GROUP BY et_date
    HAVING day_volume > 1000000
),
biggest AS (
    SELECT et_date, day_volume, vol_by_1030
    FROM mu_daily
    WHERE et_date >= toDate('2026-06-01') AND et_date <= toDate('2026-06-30')
    ORDER BY day_volume DESC
    LIMIT 1
),
trailing AS (
    SELECT sum(day_volume) / 20 AS adv, sum(vol_by_1030) / 20 AS avg_by_1030
    FROM (
        SELECT day_volume, vol_by_1030
        FROM mu_daily
        WHERE et_date < (SELECT et_date FROM biggest)
        ORDER BY et_date DESC
        LIMIT 20
    )
)
SELECT formatDateTime((SELECT et_date FROM biggest), '%Y-%m-%d') AS session_date,
       round((SELECT vol_by_1030 FROM biggest) / 1e6, 1) AS vol_by_1030_m,
       round((SELECT avg_by_1030 FROM trailing) / 1e6, 1) AS avg_vol_by_1030_m,
       round((SELECT vol_by_1030 FROM biggest) / (SELECT avg_by_1030 FROM trailing), 1) AS rvol_1030_adjusted,
       round((SELECT vol_by_1030 FROM biggest) / (SELECT adv FROM trailing), 2) AS rvol_1030_naive,
       round((SELECT day_volume FROM biggest) / 1e6, 1) AS session_volume_m,
       round((SELECT adv FROM trailing) / 1e6, 1) AS trailing_adv_m,
       round((SELECT day_volume FROM biggest) / (SELECT adv FROM trailing), 1) AS rvol_full_day

MU's largest session of the month landed on 2026-06-25. By 10:30 a.m. that day, 32.8 million shares had traded, against an average of 17.3 million by the same clock time over the prior 20 sessions — a time-adjusted RVOL of 1.9. Divide that morning total by the full-day average of 51 million instead and the naive reading is 0.64: a below-average day, apparently, in a morning running at close to twice its usual pace. The session finished at 77.2 million shares, a full-day RVOL of 1.5.

That closing figure can look modest next to screenshots of ten-times-average movers — whether it truly is modest is a question for a distribution, measured next.

উচ্চ রিলেটিভ ভলিউম (high relative volume) বলতে কী বোঝায়?

ট্রেডিং ফোরামগুলোতে প্রায়ই "RVOL ২-এর উপরে হলে তা উচ্চ" এর মতো থ্রেশহোল্ড বা সীমা নিয়ে আলোচনা করা হয়। এখানে পরিমাপিত সংস্করণটি দেওয়া হলো: আমাদের ডেটা অনুযায়ী, প্রতিটি US-listed স্টক এবং ETF-এর জন্য পূর্ণ-দিনের RVOL, যাদের ২০-দিনের গড় দৈনিক ভলিউম ৫ মিলিয়নের বেশি (এবং পূর্ববর্তী ২০টি সেশনের পূর্ণ ইতিহাস আছে), সেগুলোকে সাম্প্রতিক সমাপ্ত সেশনের ভিত্তিতে গ্রুপটির মধ্যে পার্সেন্টাইল হিসেবে গণনা করা হয়েছে। লেবেলটি সম্পর্কে একটি বিষয়: এই স্ক্রিনার শেয়ারের সংখ্যা গণনা করে, ডলার নয়; তাই এই উচ্চ-ভলিউম গ্রুপটিতে মেগা-ক্যাপ এবং ETF থেকে শুরু করে সস্তা ও উচ্চ-টার্নওভার সম্পন্ন স্মল-ক্যাপও অন্তর্ভুক্ত রয়েছে — উচ্চ শেয়ার ভলিউম মানেই সহজ ট্রেডাবিলিটি নয়।

কুয়েরিউচ্চ-ভলিউম US stocks এবং ETFs-এর পূর্ণ-দিনের RVOL পারসেন্টাইল (20-day ADV > 5M shares), সর্বশেষ সেশন
প্রতিটি সংখ্যার পেছনের সঠিক SQL
WITH daily AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
           toFloat64(sum(volume)) AS day_volume
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= now() - INTERVAL 40 DAY
      AND toDate(toTimeZone(window_start, 'America/New_York')) < toDate(toTimeZone(now(), 'America/New_York'))
    GROUP BY ticker, et_date
),
spy_days AS (
    SELECT et_date,
           day_volume,
           avg(day_volume) OVER (ORDER BY et_date ROWS BETWEEN 20 PRECEDING AND 1 PRECEDING) AS prior_avg
    FROM daily
    WHERE ticker = 'SPY' AND day_volume > 10000000
),
sessions AS (
    SELECT et_date FROM spy_days
),
latest AS (
    SELECT max(et_date) AS d FROM spy_days WHERE prior_avg > 0 AND day_volume >= 0.6 * prior_avg
),
prior20 AS (
    SELECT et_date FROM sessions WHERE et_date < (SELECT d FROM latest) ORDER BY et_date DESC LIMIT 20
),
rvols AS (
    SELECT ticker, day_vol / adv20 AS rvol
    FROM (
        SELECT ticker,
               sumIf(day_volume, et_date = (SELECT d FROM latest)) AS day_vol,
               sumIf(day_volume, et_date IN (SELECT et_date FROM prior20)) / 20 AS adv20,
               countIf(day_volume > 0 AND et_date IN (SELECT et_date FROM prior20)) AS sessions_traded
        FROM daily
        WHERE ticker NOT IN ('SPCX')
        GROUP BY ticker
        HAVING adv20 > 5000000 AND day_vol > 0 AND sessions_traded = 20
    )
)
SELECT pair.1 AS percentile,
       round(pair.2, 2) AS rvol
FROM (
    SELECT arrayJoin(arrayZip(['p10', 'p25', 'p50 (median)', 'p75', 'p90', 'p99'], quantilesExact(0.1, 0.25, 0.5, 0.75, 0.9, 0.99)(rvol))) AS pair
    FROM rvols
)
ORDER BY percentile

এই উচ্চ-ভলিউম গ্রুপের মধ্যম মানের (median) স্টকের ভলিউম তার নিজস্ব ২০-দিনের গড়ের 0.73 গুণ ছিল। প্রতি দশটির মধ্যে নয়টি স্টকের ভলিউম 1.37 এর নিচে ছিল এবং প্রতি একশটির মধ্যে মাত্র একটি 4.71 অতিক্রম করেছে। পূর্ববর্তী সেকশনের MU-এর সেশনটি এই তালিকার সাথে তুলনা করলে এটি আর সামান্য মনে হবে না — এমনকি ব্যস্ত স্টকগুলোও বেশিরভাগ দিন তাদের নিজস্ব গড়ের কাছাকাছি থাকে; এর গুণিতক হওয়া বিরল।

নিম্ন প্রান্তের (bottom tail) গুরুত্বও রয়েছে: ১০তম পার্সেন্টাইল ছিল 0.11। এই মাত্রার রিডিং সাধারণত এমন একটি স্টকের ক্ষেত্রে দেখা যায় যার ২০-দিনের গড়ের মধ্যে এখনও একটি বিশাল সেশনের প্রভাব রয়েছে — একটি স্পাইকের পরে, সেই বর্ধিত হরতাংশ (denominator) কয়েক সপ্তাহ ধরে RVOL কমিয়ে রাখে। এই উইন্ডোর উভয় দিকেই মেমরি বা স্মৃতি কাজ করে।

একটি সতর্কতা: এটি একটি মাত্র সেশনের ক্রস-সেকশন — পার্সেন্টাইল প্রতিদিন পরিবর্তিত হতে পারে, এবং বাজার-ব্যাপী ইভেন্টের দিনগুলোতে (ইনডেক্স রিব্যালেন্স, অপশন এক্সপায়রেশন) পুরো কার্ভটি উপরের দিকে উঠে যেতে পারে।

কোন স্টকগুলোর ভলিউম অস্বাভাবিক ছিল? RVOL লিডারবোর্ড

একই ইউনিভার্স থেকে র‍্যাঙ্কিং করা হয়েছে (সাপ্তাহিক ভার্সনটি এই সপ্তাহের অস্বাভাবিক ভলিউম স্টক লিডারবোর্ডে পাওয়া যাবে): দৈনিক গড়ে ৫ মিলিয়নের বেশি শেয়ার লেনদেন হওয়া নামগুলোর মধ্যে 2026-07-21 সেশনের দশটি সর্বোচ্চ ফুল-ডে RVOL রিডিং এখানে দেওয়া হয়েছে — যা একটি স্ক্রিনার অস্বাভাবিক ভলিউম হিসেবে চিহ্নিত করবে। এই স্ক্রিনারের জন্য পূর্ববর্তী ২০টি সেশনের পূর্ণাঙ্গ তথ্য প্রয়োজন — নতুন তালিকাভুক্ত স্টকের ২০ দিনের গড় থাকে না, যা না থাকলে এই তালিকায় ভুল তথ্য চলে আসত।

কুয়েরিপূর্ণ-দিনের RVOL অনুযায়ী শীর্ষ ১০ — সর্বশেষ সেশন (20-day ADV > 5M shares, পূর্ণ ইতিহাস প্রয়োজন)
প্রতিটি সংখ্যার পেছনের সঠিক SQL
WITH daily AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
           toFloat64(sum(volume)) AS day_volume
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= now() - INTERVAL 40 DAY
      AND toDate(toTimeZone(window_start, 'America/New_York')) < toDate(toTimeZone(now(), 'America/New_York'))
    GROUP BY ticker, et_date
),
spy_days AS (
    SELECT et_date,
           day_volume,
           avg(day_volume) OVER (ORDER BY et_date ROWS BETWEEN 20 PRECEDING AND 1 PRECEDING) AS prior_avg
    FROM daily
    WHERE ticker = 'SPY' AND day_volume > 10000000
),
sessions AS (
    SELECT et_date FROM spy_days
),
latest AS (
    SELECT max(et_date) AS d FROM spy_days WHERE prior_avg > 0 AND day_volume >= 0.6 * prior_avg
),
prior20 AS (
    SELECT et_date FROM sessions WHERE et_date < (SELECT d FROM latest) ORDER BY et_date DESC LIMIT 20
)
SELECT ticker,
       formatDateTime((SELECT d FROM latest), '%Y-%m-%d') AS session_date,
       round(day_vol / 1e6, 1) AS session_volume_m,
       round(adv20 / 1e6, 1) AS adv_20d_m,
       round(day_vol / adv20, 1) AS rvol
FROM (
    SELECT ticker,
           sumIf(day_volume, et_date = (SELECT d FROM latest)) AS day_vol,
           sumIf(day_volume, et_date IN (SELECT et_date FROM prior20)) / 20 AS adv20,
           countIf(day_volume > 0 AND et_date IN (SELECT et_date FROM prior20)) AS sessions_traded
    FROM daily
    WHERE ticker NOT IN ('SPCX')
    GROUP BY ticker
    HAVING adv20 > 5000000 AND day_vol > 0 AND sessions_traded = 20
)
ORDER BY rvol DESC, ticker
LIMIT 10

তালিকার শীর্ষে থাকা LBGJ, ২০ দিনের গড় 5.1 মিলিয়নের বিপরীতে 169.2 মিলিয়ন শেয়ার লেনদেন করেছে — যার RVOL হলো 33.3। প্রতিটি রো তার নিজস্ব গড় অতিক্রম করেছে। এই ধরনের তালিকার শীর্ষে সাধারণত বড় বড় কোম্পানিগুলো থাকে না — কারণ ইতিমধ্যে বিশাল কোনো গড়ের দ্বিগুণ ভলিউম হতে প্রচুর শেয়ারের প্রয়োজন হয়, যেখানে ছোট কোনো কোম্পানির ভলিউম এক সেশনেই বহুগুণ বেড়ে যেতে পারে।

ডেটা নোট: সেশন নির্বাচন এবং বর্জন

উভয় র‍্যাঙ্কিং টেবিলে একই ইউনিভার্স এবং একই সেশন নিয়ম ব্যবহার করা হয়েছে। একটি সেশন তখনই সম্পূর্ণ হিসেবে গণ্য করা হয় যখন সেই তারিখের SPY-এর ভলিউম SPY-এর পূর্ববর্তী ২০ সেশনের গড় ভলিউমের অন্তত ৬০% এ পৌঁছায় — নতুন দিনের ডেটা আসতে কিছুটা সময় লাগে, এবং এই যাচাইকরণ পদ্ধতি একটি আংশিক লোড হওয়া দিনকে সম্পূর্ণ সেশন হিসেবে গণ্য হওয়া থেকে রক্ষা করে। উভয় টেবিলই সেই প্রতীকটিকে (symbol) বর্জন করে যা এক্সচেঞ্জ সম্প্রতি নতুন একটি তালিকার অধীনে পুনঃনির্ধারণ করেছে: ভেন্ডর ফিড একই টিকারের অধীনে দুটি ভিন্ন কোম্পানির ইতিহাস বহন করে, তাই এর ২০ দিনের গড় একটি অর্থবহ বেসলাইন হিসেবে কাজ করে না। SQL-এ থাকা বর্জন তালিকাটি প্রতিবার রিফ্রেশ করার সময় আমাদের সিম্বল-আইডেন্টিটি চেকের সাথে সামঞ্জস্যপূর্ণ রাখা হয়; নতুনভাবে চিহ্নিত যেকোনো পুনঃব্যবহৃত সিম্বল একইভাবে যুক্ত করা হয়।

FAQ

একটি ভালো RVOL সংখ্যা কী?

এর কোনো আনুষ্ঠানিক সীমা নেই। আমাদের ডেটা অনুযায়ী, সাম্প্রতিক সমাপ্ত সেশনে উচ্চ-ভলিউম সম্পন্ন US স্টকগুলোর ক্ষেত্রে মিডিয়ান মান ছিল এর ২০-দিনের গড়ের 0.73 গুণ, ৯০তম পারসেন্টাইল ছিল 1.37 এবং ৯৯তম পারসেন্টাইল ছিল 4.71

RVOL এর মান ২ মানে কী?

নির্দিষ্ট সময়ের ব্যবধানে স্টকটি তার গড় ভলিউমের দ্বিগুণ লেনদেন করেছে, যা সাধারণত গত ২০টি সেশনের গড়কে বোঝায়। সময়ের গুরুত্ব এখানে অপরিসীম: দিনের একই সময়ে গড় ভলিউমের তুলনায় ২ থাকা মানে এটি একটি শক্তিশালী মিড-সেশন রিডিং; আর বাজার বন্ধ হওয়ার সময় ২ থাকা মানে ওই দিনটি স্বাভাবিক গতির দ্বিগুণ গতিতে চলেছে।

ইন্ট্রাডে রিলেটিভ ভলিউম কীভাবে গণনা করা হয়?

আপনার লুকব্যাক উইন্ডোর একই সময়ে গড় কিউমুলেটিভ ভলিউম দিয়ে আজকের কিউমুলেটিভ ভলিউমকে ভাগ করুন। সকালের দিকের মোট ভলিউমকে পুরো দিনের গড়ের সাথে তুলনা করলে ফলাফল ভুল আসতে পারে — সকাল ১০:০০ টার সময় SPY সাধারণত তার দিনের মোট ভলিউমের মাত্র 12.4% সম্পন্ন করে।

রিলেটিভ ভলিউমে কি প্রি-মার্কেট এবং আফটার-আওয়ারস ট্রেডিং অন্তর্ভুক্ত থাকে?

প্ল্যাটফর্ম ভেদে এর নিয়ম ভিন্ন হতে পারে; এই পেজে ইস্টার্ন টাইম ক্যালেন্ডার দিনের প্রতিটি মিনিটের বার অন্তর্ভুক্ত করা হয়েছে, যার মধ্যে বর্ধিত সময়ও (extended hours) রয়েছে। SPY এর ক্ষেত্রে প্রি-মার্কেটের অবদান খুবই সামান্য — ৯:০০ টার স্লটে প্রতি মিনিটে মিডিয়ান ছিল 3.5 হাজার শেয়ার, যেখানে মার্কেট খোলার ঠিক পরে ছিল 136 হাজার।

উচ্চ রিলেটিভ ভলিউম কি বুলিশ নাকি বেয়ারিশ?

কোনোটিই নয়। RVOL অংশগ্রহণের মাত্রা পরিমাপ করে, দিক নয় — স্টকের সবচেয়ে ভালো এবং সবচেয়ে খারাপ উভয় দিনেই উচ্চ লেনদেনের পরিমাণ দেখা যায়। ঐতিহাসিকভাবে উচ্চ-RVOL সেশনগুলো আর্নিং রিপোর্ট, ইনডেক্স পরিবর্তন এবং প্রধান খবরের সাথে মিলে যায়; এই সংখ্যাটি কেবল নির্দেশ করে যে বাজারে অংশগ্রহণকারী বেড়েছে, কিন্তু বাজারের গতি কোন দিকে যাবে তা বলে না।


উপরের প্রতিটি প্যানেলে সেই নির্দিষ্ট SQL কোড রয়েছে যা এটি তৈরি করেছে — যেকোনো একটি ওপেন করুন, আপনার নিজস্ব টিকার ব্যবহার করুন এবং Strasmore টার্মিনালে আপনি যে স্টকগুলো ট্রেড করেন সেগুলোর RVOL পরিমাপ করুন।