اس ماہ کے سب سے بڑے اسٹاک موورز
اس ماہ کے سب سے زیادہ بڑھنے اور گرنے والے اسٹاکس کی درجہ بندی ایکسچینج ٹیپ کے مطابق، جس میں ہر موو کے ساتھ ٹریڈ کیے گئے ڈالرز اور فلٹرز کی تفصیل شامل ہے۔
اس ماہ کے سب سے بڑے اسٹاک موورز کی درجہ بندی نیچے ایکسچینج ٹیپ سے براہ راست دی گئی ہے، جس میں Jun 23 سے Jul 22 تک کے 21 مکمل شدہ ٹریڈنگ سیشنز شامل ہیں۔ اس اسکرین میں صرف وہ آپریٹنگ کمپنیاں رکھی گئی ہیں جن کی اس مدت کے دوران کم از کم $1 billion کی ٹریڈنگ ہوئی، لہذا بورڈ پر موجود ہر موو کے پیچھے حقیقی سرمایہ موجود ہے۔ لیوریجڈ اور انورس فنڈز کو الگ رکھا گیا ہے، اور نئے سیشنز مکمل ہونے کے ساتھ ساتھ یہ ونڈو آگے بڑھتی رہتی ہے۔
اس ماہ کے سب سے زیادہ بڑھنے والے اسٹاکس
یہ ٹیبل اس مدت کے دوران سب سے بڑے اضافے کی درجہ بندی کرتا ہے۔ ہر قطار میں فیصد کے ساتھ ساتھ وہ ڈالرز بھی درج ہیں جن کا تبادلہ ہوا، جس سے یہ واضح ہوتا ہے کہ قیمتوں میں تبدیلی بڑے پیمانے پر ہوئی ہے یا محدود حد تک۔
ہر عدد کے پیچھے موجود درست SQL
WITH window_days AS (
SELECT d
FROM (
SELECT d, max(d) OVER () AS last_full
FROM (
SELECT d
FROM (
SELECT d, bars, medianExact(bars) OVER () AS typical_bars
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d, count() AS bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 34 DAY
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 570
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
GROUP BY d
HAVING d < toDate(toTimeZone(now(), 'America/New_York'))
)
)
WHERE bars >= 0.85 * typical_bars
)
)
WHERE d > last_full - 30
)
SELECT ticker,
round((argMax(c, d) / argMin(o, d) - 1) * 100, 1) AS month_return_pct,
round(sum(dollars) / 1e9, 1) AS month_dollar_bn
FROM (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMin(toFloat64(open), window_start) AS o,
argMax(toFloat64(close), window_start) AS c,
sum(toFloat64(close) * toFloat64(volume)) AS dollars
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 34 DAY
AND toDate(toTimeZone(window_start, 'America/New_York')) IN (SELECT d FROM window_days)
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 570
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
AND ticker NOT IN ('SPCX')
AND ticker NOT IN ('KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT')
AND ticker IN (SELECT ticker FROM global_markets.stocks_ratios
WHERE market_cap > 0)
AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits
WHERE execution_date BETWEEN today() - 45 AND today())
GROUP BY ticker, d
)
GROUP BY ticker
HAVING sum(dollars) >= 1000000000 AND argMin(o, d) >= 10 AND count() >= 15
ORDER BY argMax(c, d) / argMin(o, d) DESC
LIMIT 10CRNX نے 136.1% پر قیادت کی، جس میں $9.7 بلین کی ٹریڈنگ ہوئی، جبکہ اس کے بعد PBF 65.9% پر اور MAN 62.1% پر رہے۔ ایک ماہ میں اس قدر بڑی تبدیلی عام طور پر سب سے پہلے اسٹاک کے average daily volume کے مقابلے میں بلند relative volume کی صورت میں ظاہر ہوتی ہے، اور یہ اکثر پوری مدت میں مستقل اضافے کے بجائے کسی ایک سیشن میں overnight gap سے شروع ہوتی ہے۔
اس ماہ کے سب سے بڑے گرنے والے اسٹاکس
اسی ترتیب کا الٹ: ایک ارب ڈالر کی کم از کم حد عبور کرنے والی کمپنیوں میں اس مدت کے دوران سب سے زیادہ گراوٹ۔
ہر عدد کے پیچھے موجود درست SQL
WITH window_days AS (
SELECT d
FROM (
SELECT d, max(d) OVER () AS last_full
FROM (
SELECT d
FROM (
SELECT d, bars, medianExact(bars) OVER () AS typical_bars
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d, count() AS bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 34 DAY
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 570
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
GROUP BY d
HAVING d < toDate(toTimeZone(now(), 'America/New_York'))
)
)
WHERE bars >= 0.85 * typical_bars
)
)
WHERE d > last_full - 30
)
SELECT ticker,
round((argMax(c, d) / argMin(o, d) - 1) * 100, 1) AS month_return_pct,
round(sum(dollars) / 1e9, 1) AS month_dollar_bn
FROM (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMin(toFloat64(open), window_start) AS o,
argMax(toFloat64(close), window_start) AS c,
sum(toFloat64(close) * toFloat64(volume)) AS dollars
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 34 DAY
AND toDate(toTimeZone(window_start, 'America/New_York')) IN (SELECT d FROM window_days)
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 570
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
AND ticker NOT IN ('SPCX')
AND ticker NOT IN ('KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT')
AND ticker IN (SELECT ticker FROM global_markets.stocks_ratios
WHERE market_cap > 0)
AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits
WHERE execution_date BETWEEN today() - 45 AND today())
GROUP BY ticker, d
)
GROUP BY ticker
HAVING sum(dollars) >= 1000000000 AND argMin(o, d) >= 10 AND count() >= 15
ORDER BY argMax(c, d) / argMin(o, d) ASC
LIMIT 10CLBK میں سب سے زیادہ گراوٹ دیکھی گئی جو -44.6% رہی، جبکہ ٹریڈنگ والیم 1.1 ارب ڈالر رہا۔ اس کے بعد NVTS میں -41.6% کی کمی آئی۔ اس بورڈ پر ڈالر کالم پر نظر رکھیں۔ بھاری ٹریڈنگ والیم کے ساتھ آنے والی گراوٹ اور خاموش مارکیٹ میں ہونے والی گراوٹ دو مختلف واقعات ہوتے ہیں، اور یہاں ان دونوں کے درمیان فرق واضح کیا جاتا ہے بجائے اس کے کہ انہیں ایک ہی سمجھا جائے۔
تین مختلف ٹائم فریمز پر ایک ہی سوال
ایک سوال، تین مختلف ونڈوز۔ ایک نام ایک بورڈ پر ٹاپ پر ہو سکتا ہے اور باقی دو پر کہیں نظر نہ آئے۔
- اس ہفتے کے سب سے بڑے اسٹاک لوزرز، اور ان کے ساتھ گینرز، گزشتہ پانچ سیشنز کے دوران
- یہ صفحہ، گزشتہ ایک ماہ کے دوران
- 2026 کے سب سے بڑے اسٹاک موورز، سال کے آغاز سے اب تک (year to date) کی پیمائش کے ساتھ
تینوں بورڈز الگ الگ بنائے گئے ہیں اور ان کے اسکریننگ معیار یکساں نہیں ہیں۔ ہفتہ وار صفحہ پانچ سیشنز کی ونڈو پر اپنی لیکویڈیٹی فلور اور سیشن منیمم مقرر کرتا ہے، جبکہ year-to-date صفحہ مجموعی ٹریڈنگ کے بجائے اوسط روزانہ ڈالر والیم (average daily dollar volume) کی بنیاد پر اسکریننگ کرتا ہے۔ ہر صفحہ اپنے میتھڈ سیکشن میں اپنے قواعد بیان کرتا ہے، اس لیے ایک بورڈ سے دوسرے بورڈ پر کسی نام کو منتقل کرنے سے پہلے انہیں پڑھیں۔
ایک واحد گیپ ہفتہ وار بورڈ پر حاوی ہو سکتا ہے لیکن سال بھر میں ختم ہو جاتا ہے۔ ایک سست ماہانہ گرتی یا بڑھتی ہوئی قیمت شاید ہفتہ وار بورڈ تک پہنچ ہی نہ پائے۔ ان تینوں کا ساتھ ساتھ مطالعہ کرنا ایک دن کے واقعے اور ایک ٹرینڈ کے درمیان فرق پہچاننے کا سب سے آسان طریقہ ہے۔
اسی مدت کے دوران مارکیٹ کی صورتحال
کسی اسٹاک کی ماہانہ کارکردگی کا موازنہ مارکیٹ کی اپنی ماہانہ کارکردگی سے کرنے پر نتائج مختلف ہوتے ہیں۔ چار بڑے index trackers، جن میں سے ہر ایک کو اس مدت کے پہلے opening print کے مطابق ری بیس کیا گیا ہے:
ہر عدد کے پیچھے موجود درست SQL
WITH window_days AS (
SELECT d
FROM (
SELECT d, max(d) OVER () AS last_full
FROM (
SELECT d
FROM (
SELECT d, bars, medianExact(bars) OVER () AS typical_bars
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d, count() AS bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 34 DAY
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 570
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
GROUP BY d
HAVING d < toDate(toTimeZone(now(), 'America/New_York'))
)
)
WHERE bars >= 0.85 * typical_bars
)
)
WHERE d > last_full - 30
)
SELECT session,
round(anyIf(cum_pct, ticker = 'SPY'), 2) AS sp500_pct,
round(anyIf(cum_pct, ticker = 'QQQ'), 2) AS nasdaq100_pct,
round(anyIf(cum_pct, ticker = 'DIA'), 2) AS dow_pct,
round(anyIf(cum_pct, ticker = 'IWM'), 2) AS russell2000_pct
FROM (
SELECT ticker,
formatDateTime(d, '%Y-%m-%d') AS session,
100 * (c / first_value(o) OVER (PARTITION BY ticker ORDER BY d) - 1) AS cum_pct
FROM (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMin(toFloat64(open), window_start) AS o,
argMax(toFloat64(close), window_start) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 34 DAY
AND ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
AND toDate(toTimeZone(window_start, 'America/New_York')) IN (SELECT d FROM window_days)
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 570
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
GROUP BY ticker, d
)
)
GROUP BY session
ORDER BY sessionآخری سیشن تک S&P 500 tracker 1.85% پر، Nasdaq 100 tracker -1.47% پر، Dow tracker 1.33% پر اور Russell 2000 tracker 0.17% پر تھا۔ چار مختلف baskets، ایک ہی مدت، اور چار مختلف نتائج۔ اب اس رینج کے مقابلے میں لیڈر بورڈ کو دیکھیں: gainers board کے ٹاپ حصوں نے انہی سیشنز کے دوران 136.1% کی حد عبور کی۔ انفرادی کمپنیاں ان baskets کے مقابلے میں کہیں زیادہ اتار چڑھاؤ دکھاتی ہیں جن میں وہ شامل ہوتی ہیں، اور یہی وجہ ہے کہ movers list میں صرف انفرادی نام شامل ہوتے ہیں۔
مشہور کمپنیوں کی کارکردگی
اس ماہ بہترین کارکردگی دکھانے والے اسٹاکس تلاش کرنے والے قارئین عام طور پر یہ بھی جاننا چاہتے ہیں کہ ان کمپنیوں کی کیا صورتحال رہی جن کے شیئرز ان کے پاس پہلے سے موجود ہیں۔ آٹھ مشہور میگا کیپس (mega-caps) کی ایک مقررہ باسکٹ، وہی timeframe اور وہی طریقہ کار:
ہر عدد کے پیچھے موجود درست SQL
WITH window_days AS (
SELECT d
FROM (
SELECT d, max(d) OVER () AS last_full
FROM (
SELECT d
FROM (
SELECT d, bars, medianExact(bars) OVER () AS typical_bars
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d, count() AS bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 34 DAY
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 570
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
GROUP BY d
HAVING d < toDate(toTimeZone(now(), 'America/New_York'))
)
)
WHERE bars >= 0.85 * typical_bars
)
)
WHERE d > last_full - 30
)
SELECT ticker,
round((argMax(c, d) / argMin(o, d) - 1) * 100, 1) AS month_return_pct
FROM (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMin(toFloat64(open), window_start) AS o,
argMax(toFloat64(close), window_start) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 34 DAY
AND ticker IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'GOOGL', 'META', 'TSLA', 'AVGO')
AND toDate(toTimeZone(window_start, 'America/New_York')) IN (SELECT d FROM window_days)
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 570
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits
WHERE execution_date BETWEEN today() - 45 AND today())
GROUP BY ticker, d
)
GROUP BY ticker
HAVING count() >= 15
ORDER BY argMax(c, d) / argMin(o, d) DESCاس گروپ میں سب سے اوپر 11.5% کے ساتھ META اور سب سے نیچے -4.7% کے ساتھ TSLA رہے۔ انہوں نے ایک گروپ کی صورت میں حرکت نہیں کی، جو کہ ایک عام بات ہے نہ کہ کوئی استثنائی صورتحال۔ Index کی رکنیت ان کمپنیوں کو ایک جگہ جمع کرتی ہے؛ ان کی آمدنی کے ذرائع ایک دوسرے سے بہت کم متعلق ہیں۔ یہ باسکٹ آٹھ کمپنیوں کی ایک مقررہ فہرست ہے نہ کہ کوئی رینکنگ، لہذا اسے صرف رہنمائی کے طور پر لیں اور اسے اس دعوے کے طور پر نہ دیکھیں کہ کون سی کمپنیاں سب سے بڑی ہیں۔
ایک عام مہینہ کیسا نظر آتا ہے
لیڈر بورڈز صرف آخری حد کو ظاہر کرتے ہیں۔ یہ چارٹ مرکزی حصے کو ظاہر کرتا ہے۔ تمام 1167 کمپنیاں جنہوں نے اسکریننگ کے معیار کو پورا کیا، انہیں اس مدت کے دوران ان کے ریٹرن کے مطابق مختلف گروپس میں تقسیم کیا گیا ہے:
ہر عدد کے پیچھے موجود درست SQL
WITH window_days AS (
SELECT d
FROM (
SELECT d, max(d) OVER () AS last_full
FROM (
SELECT d
FROM (
SELECT d, bars, medianExact(bars) OVER () AS typical_bars
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d, count() AS bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 34 DAY
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 570
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
GROUP BY d
HAVING d < toDate(toTimeZone(now(), 'America/New_York'))
)
)
WHERE bars >= 0.85 * typical_bars
)
)
WHERE d > last_full - 30
)
SELECT tup.1 AS return_bucket,
tup.3 AS stocks
FROM (
SELECT arrayJoin(arrayZip(
['down 20% or more', 'down 10% to 20%', 'down 0% to 10%',
'up 0% to 10%', 'up 10% to 20%', 'up 20% or more'],
[1, 2, 3, 4, 5, 6],
[countIf(r <= -20), countIf(r > -20 AND r <= -10), countIf(r > -10 AND r < 0),
countIf(r >= 0 AND r < 10), countIf(r >= 10 AND r < 20), countIf(r >= 20)])) AS tup
FROM (
SELECT ticker,
(argMax(c, d) / argMin(o, d) - 1) * 100 AS r
FROM (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMin(toFloat64(open), window_start) AS o,
argMax(toFloat64(close), window_start) AS c,
sum(toFloat64(close) * toFloat64(volume)) AS dollars
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 34 DAY
AND toDate(toTimeZone(window_start, 'America/New_York')) IN (SELECT d FROM window_days)
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 570
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
AND ticker NOT IN ('SPCX')
AND ticker NOT IN ('KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT')
AND ticker IN (SELECT ticker FROM global_markets.stocks_ratios
WHERE market_cap > 0)
AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits
WHERE execution_date BETWEEN today() - 45 AND today())
GROUP BY ticker, d
)
GROUP BY ticker
HAVING sum(dollars) >= 1000000000 AND argMin(o, d) >= 10 AND count() >= 15
)
)
ORDER BY tup.2اسکرین شدہ کمپنیوں میں سے 52 نے اس مدت کے دوران بیس فیصد یا اس سے زیادہ منافع کمایا، جبکہ 50 نے بیس فیصد یا اس سے زیادہ نقصان اٹھایا۔ نیوٹرل ریٹرن کے قریب ترین دو گروپس میں 300 اور 515 نام شامل تھے۔ یہ چارٹ اس شکل کو ظاہر کرتا ہے جس سے موورز لیڈر بورڈ تیار کیا جاتا ہے، اور ٹاپ ٹین اس کے انتہائی دائیں کنارے پر ہوتے ہیں۔ اوپر دیے گئے بورڈز کو اس تناظر میں پڑھیں: ماہانہ ٹاپ ٹن موو ساخت کے لحاظ سے ایک غیر معمولی واقعہ ہوتا ہے، یہ کسی عام اسٹاک کے لیے ایک عام مہینہ نہیں ہوتا۔
کسی اسٹاک کے ماہانہ موورز لسٹ میں شامل ہونے کی وجوہات
ایک مہینہ اتنا طویل ہوتا ہے کہ اس میں کئی واقعات پیش آ سکتے ہیں اور اتنا مختصر بھی کہ عام طور پر ان میں سے ایک واقعہ غالب رہتا ہے۔ ان فہرستوں میں شامل نام عام طور پر کمپنی کے کیلنڈر میں درج کسی تاریخ سے میل کھاتے ہیں۔ سہ ماہی نتائج سب سے عام وجہ ہیں: توقعات سے بہتر یا کم نتائج ایک ہی سیشن میں قیمت کو تبدیل کر دیتے ہیں، اور مہینے کا بقیہ حصہ نئی سطح کے گرد ٹریڈ ہوتا ہے۔ گائیڈنس میں تبدیلیاں بھی نتائج کے بغیر یہی کام کرتی ہیں۔
مرجر اور ایکوزیشن کی خبریں ماہانہ بورڈ پر سب سے واضح اثر چھوڑتی ہیں۔ اسٹاک اعلان کردہ ڈیل کی قیمت کے قریب ایک سطح پر پہنچ جاتا ہے اور پھر خاموش ہو جاتا ہے، جس میں ٹریڈ ہونے والے ڈالرز کی مقدار بہت زیادہ رہتی ہے جبکہ فیصد تبدیلی مستحکم ہو جاتی ہے۔ اگر گینرز ٹیبل کے اوپری حصے میں موجود کسی نام کے سامنے ڈالرز کی بڑی رقم ہو اور قیمت ایسی ہو جو مدت کے درمیان میں رک گئی ہو، تو کسی بھی دوسری چیز سے پہلے اس پیٹرن کی جانچ کرنا ضروری ہے۔
سیکٹر کی نقل و حرکت ایک مہینے کے دوران اس طرح اہمیت رکھتی ہے جیسا کہ وہ ایک ہفتے میں شاذ و نادر ہی رکھتی ہے۔ ریٹس، تیل، یا میموری پرائسنگ میں تبدیلی ایک ساتھ پورے گروپ کو متاثر کرتی ہے، یہی وجہ ہے کہ ماہانہ بورڈز پر اکثر دس غیر متعلقہ ناموں کے بجائے ایک جیسے کاروباروں کے کلسٹرز نظر آتے ہیں۔ تجزیہ کاروں کے اقدامات، انڈیکس میں شمولیت اور اخراج، ٹرائل اور ریگولیٹری رپورٹس، اور شارٹ سکوئیز باقی جگہوں کو بھرتے ہیں۔ ان میں سے کچھ بھی صرف فیصد میں نظر نہیں آتا، اسی لیے یہاں ہر موو کے ساتھ ڈالرز-ٹریڈڈ کالم اور مارکیٹ کی اپنی ونڈو موجود ہوتی ہے۔
پیمائش کا طریقہ کار
یہاں ہر حد (threshold) کو واضح طور پر بیان کیا گیا ہے تاکہ کوئی ابہام نہ رہے۔ چھپے ہوئے قواعد والا اسکرینر محض ڈیٹا نہیں بلکہ ایک رائے ہوتا ہے۔
- ونڈو (The window)۔ گزشتہ 30 کیلنڈر دن جن کا اختتام حالیہ ترین سیشن پر ہوتا ہے جس کا ٹیپ مکمل طور پر لوڈ ہو چکا ہو، جو Jun 23 سے Jul 22 تک 21 سیشنز بنتے ہیں۔ دو قواعد یہ طے کرتے ہیں کہ آیا کوئی سیشن اہل ہے یا نہیں۔ اسے نیویورک میں موجودہ تاریخ سے پہلے بند ہونا چاہیے، لہذا جاری سیشن کبھی بھی اس میں شامل نہیں ہوتا۔ اس کے ریگولر-اورز بار کاؤنٹ کو 34 روزہ اسکین کے اوسط سیشن کے 85% تک پہنچنا چاہیے، تاکہ کسی ایسے سابقہ دن کو شامل نہ کیا جائے جس کا ٹیپ ابھی مکمل ہو رہا ہو۔ چھٹی کے مختصر سیشن میں عام طور پر ایک نارمل دن کے آدھے بارز ہوتے ہیں، لہذا یہی قاعدہ اسے آدھا لوڈ شدہ ناپنے کے بجائے مکمل طور پر خارج کر دیتا ہے۔
- ریٹرن (The return)۔ ونڈو کے اندر پہلے ریگولر-سیشن کی اوپننگ پرائس سے لے کر آخری ریگولر-سیشن کی کلوزنگ تک، جسے منٹ بارز سے تیار کیا گیا ہے۔ صرف ریگولر آورز شامل ہیں، لہذا premarket اور after-hours کی قیمتیں خارج کر دی گئی ہیں۔ یہ ایک پرائس ریٹرن ہے: اس میں ڈیویڈنڈز شامل نہیں کیے گئے ہیں۔
- فلورز (The floors)۔ پوری ونڈو میں کم از کم $1 billion کی ٹریڈنگ، $10 یا اس سے زیادہ کی اوپننگ پرائس، اور ونڈو کے کم از کم 15 سیشنز میں قیمتوں کا اندراج۔ ڈالر فلور ایک ماہانہ مجموعہ ہے، جس کی وجہ سے اسے ایک ہفتے کے مقابلے میں کلیئر کرنا زیادہ آسان ہوتا ہے۔
- استثنائی امور (The exclusions)۔ لیوریجڈ اور انورس فنڈز کو نام کے ذریعے نکال دیا گیا ہے۔ ہر ticker کے پاس ہمارے ریفرنس ڈیٹا میں کمپنی کے بنیادی عوامل (fundamentals) اور مارکیٹ کیپٹلائزیشن کا ریکارڈ ہونا ضروری ہے۔ دوسرا قاعدہ ETFs، کلوزڈ-اینڈ فنڈز، کموڈٹی ٹرسٹس اور تیزی سے بڑھنے والے لیوریجڈ سنگل-اسٹاک پروڈکٹس کو خارج کرتا ہے، ورنہ یہ دونوں بورڈز کا زیادہ تر حصہ گھیر لیتے۔ وہ ریفرنس ٹیبل ہر ticker کے لیے ایک رو رکھتا ہے بجائے اس کے کہ روزانہ کا اسنیپ شاٹ لے، اس لیے اسکرینر پورے ٹیبل کو پڑھتا ہے اور کوئی ایک تاریخ اہلیت کا فیصلہ نہیں کرتی۔ گزشتہ 45 دنوں میں اسٹاک اسپلٹ کرنے والے کسی بھی ticker کو بیک-ایڈجسٹ کرنے کے بجائے نکال دیا گیا ہے، کیونکہ اسپلٹ فی حصہ قیمت کو تبدیل کرتا ہے لیکن ہولڈنگ کی مالیت کو نہیں بدلتا۔ ایک سمبل جسے وینڈر فیڈز نے دو مختلف کمپنیوں کے درمیان دوبارہ تفویض کیا ہے، اسے نام کے ذریعے خارج کر دیا گیا ہے۔
- میگا-کیپ پینل (The mega-cap panel)۔ آٹھ بڑے امریکی کمپنیوں کی ایک مقررہ باسکٹ جنہیں اس پینل کے SQL میں نام کے ساتھ درج کیا گیا ہے۔ یہ بورڈز کی طرح وہی ونڈو اور ریٹرن کنسٹرکشن استعمال کرتا ہے، اور یہ ڈالر-وولیم اسکرین سے باہر ہے۔
- جو لاگو نہیں کیا گیا (What is not applied)۔ کوئی سیکٹر فلٹر، مارکیٹ-کیپ فلور یا انڈیکس ممبرشپ کی ضرورت نہیں ہے، لہذا ایک زیادہ ٹریڈ ہونے والی چھوٹی کمپنی ایک بڑی کمپنی کے ساتھ بورڈ پر موجود ہو سکتی ہے۔ رینکنگ صرف فیصد تبدیلی (percentage change) کی بنیاد پر ہے، یہی وجہ ہے کہ ڈالر-ٹریڈڈ کالم اس کے ساتھ پرنٹ کیا گیا ہے۔
ایک پینل ان سب کی رسید فراہم کرتا ہے: وہ سیشنز جنہیں ونڈو نے کور کیا، اور وہ یونیورس جس سے ہر بورڈ کو اسکرین کیا گیا۔
ہر عدد کے پیچھے موجود درست SQL
WITH window_days AS (
SELECT d
FROM (
SELECT d, max(d) OVER () AS last_full
FROM (
SELECT d
FROM (
SELECT d, bars, medianExact(bars) OVER () AS typical_bars
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d, count() AS bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 34 DAY
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 570
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
GROUP BY d
HAVING d < toDate(toTimeZone(now(), 'America/New_York'))
)
)
WHERE bars >= 0.85 * typical_bars
)
)
WHERE d > last_full - 30
),
screened AS (
SELECT ticker
FROM (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMin(toFloat64(open), window_start) AS o,
sum(toFloat64(close) * toFloat64(volume)) AS dollars
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 34 DAY
AND toDate(toTimeZone(window_start, 'America/New_York')) IN (SELECT d FROM window_days)
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 570
AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
AND ticker NOT IN ('SPCX')
AND ticker NOT IN ('KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT')
AND ticker IN (SELECT ticker FROM global_markets.stocks_ratios
WHERE market_cap > 0)
AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits
WHERE execution_date BETWEEN today() - 45 AND today())
GROUP BY ticker, d
)
GROUP BY ticker
HAVING sum(dollars) >= 1000000000 AND argMin(o, d) >= 10 AND count() >= 15
)
SELECT formatDateTime(w.first_d, '%b %e') AS first_session_date,
formatDateTime(w.last_d, '%b %e') AS last_session_date,
w.n AS sessions,
(SELECT count() FROM global_markets.stocks_ratios WHERE market_cap > 0) AS companies_on_file,
(SELECT count() FROM screened) AS companies_screened
FROM (SELECT min(d) AS first_d, max(d) AS last_d, count() AS n FROM window_days) AS wاسکرینر ریفرنس ٹیبل میں مارکیٹ کیپٹلائزیشن رکھنے والے 4121 tickers سے شروع ہوا اور ان 1167 کمپنیوں پر ختم ہوا جنہوں نے ڈالر-وولیم، قیمت اور سیشن فلورز کو کلیئر کیا۔ دونوں اعداد و شمار اس صفحے کے ہر ریفریش کے ساتھ محفوظ کیے جاتے ہیں، تاکہ اگر کسی سکڑے ہوئے یونیورس پر رن کیا جائے تو وہ نظر انداز ہونے کے بجائے رسید میں ظاہر ہو جائے۔
اکثر پوچھے گئے سوالات
اس ماہ اسٹاکس میں سب سے زیادہ اضافہ کن کمپنیوں میں ہوا؟
Jul 22 پر ختم ہونے والے وقفے کے دوران، ایک بلین ڈالر سے زائد ٹریڈنگ والی کمپنیوں میں سب سے زیادہ اضافہ CRNX میں 136.1% اور PBF میں 65.9% رہا۔ ٹاپ دس کی مکمل فہرست اس صفحے کے پہلے ٹیبل میں موجود ہے، جو نئے سیشنز مکمل ہونے کے ساتھ ساتھ اپ ڈیٹ ہوتی رہتی ہے۔
اس ماہ کن اسٹاکس میں سب سے زیادہ گراوٹ آئی؟
سب سے زیادہ گراوٹ CLBK میں -44.6% رہی، جس کے بعد NVTS میں -41.6% کی کمی آئی۔ دونوں کی پیمائش انہی 21 سیشنز کی بنیاد پر کی گئی ہے، اور ان کے لیے بھی وہی ایک بلین ڈالر والیم کی کم از کم حد مقرر ہے جو گینرز بورڈ کے لیے استعمال ہوتی ہے۔
ماہانہ اسٹاک ریٹرنز کی پیمائش کیسے کی جاتی ہے؟
یہاں ماہانہ ریٹرن سے مراد کسی اسٹاک کی اس وقفے کے دوران پہلے ریگولر سیشن کی اوپننگ پرائس اور آخری ریگولر سیشن کی کلوزنگ پرائس کے درمیان تبدیلی ہے، جسے منٹ بارز کی مدد سے تیار کیا گیا ہے۔ یہ ایک پرائس ریٹرن ہے، اس لیے اس میں ڈیویڈنڈز شامل نہیں کیے جاتے، اور جس کمپنی کا اسٹاک اس وقفے کے قریب اسپلٹ ہوا ہو، اسے بیک ایڈجسٹ کرنے کے بجائے فہرست سے نکال دیا جاتا ہے۔
اسٹاک موورز کی فہرست سے لیوریجڈ ETFs کو کیوں نکال دیا جاتا ہے؟
ایک لیوریجڈ یا انورس فنڈ کسی انڈیکس یا ایک واحد اسٹاک کی روزانہ کی نقل و حرکت کو ضرب دیتا ہے، اس لیے یہ کسی عام مارکیٹ ڈے پر بغیر کسی کمپنی نیوز کے بھی موورز بورڈ میں ٹاپ کر سکتا ہے۔ انہیں ہٹانے سے یہ فہرست صرف آپریٹنگ کمپنیوں تک محدود رہتی ہے۔ لیوریجڈ ETFs کیسے کام کرتے ہیں میں ڈیلی ری سیٹ اور ایک ماہ تک اسے رکھنے سے پیدا ہونے والے ڈرفٹ کی تفصیل موجود ہے۔
اوپر موجود ہر پینل ایک اسٹورڈ کوئری ہے جس کے ساتھ اس کا SQL منسلک ہے۔ کسی ایک کو کھولیں، ڈالر فلور یا ونڈو کی لمبائی تبدیل کریں، اور Strasmore ٹرمینل پر خود اسی ٹیپ کو اسکرین کریں۔