Strasmore Research
ملخص الأسواق Matt Connorبقلم Matt Connor · آخر تحديث في 2026-07-23 · data as of July 23, 2026 · refreshed weekly

أكبر الأسهم تحركاً هذا الشهر

تعرف على قائمة الأسهم الأكثر ارتفاعاً وانخفاضاً هذا الشهر بناءً على سجلات البورصة، مع توضيح حجم التداول بالدولار لكل سهم لضمان دقة السيولة.

تجد أدناه قائمة بأكبر الأسهم تحركاً هذا الشهر، مستخرجة مباشرة من سجلات البورصة، وتغطي 21 من جلسات التداول المكتملة من Jun 22 إلى Jul 21. تعرض الشاشة الشركات التشغيلية فقط التي تجاوز حجم تداولها مليار دولار خلال هذه الفترة، مما يضمن أن كل تحرك في القائمة مدعوم بسيولة حقيقية. تم استبعاد الصناديق الرافعة والصناديق العكسية، ويتم تحديث النطاق الزمني مع اكتمال جلسات تداول جديدة.

أكبر الأسهم ارتفاعاً هذا الشهر

يرتب الجدول أكبر المكاسب خلال هذه الفترة. يوضح كل صف قيمة التداولات بالدولار بجانب النسبة المئوية، وهو ما يميز إعادة تسعير الأسهم ذات السيولة العالية عن تلك ذات السيولة المنخفضة.

الاستعلامأكبر الرابحين هذا الشهر (شركات بتداول +$1B خلال الفترة)
استعلام 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 10

تصدرت CRNX القائمة بنسبة 133.6% وبحجم تداول بلغ 9.4 مليار دولار، متفوقة على PBF بنسبة 75.5% وMAN بنسبة 56.8%. وعادة ما تظهر التحركات بهذا الحجم أولاً على شكل ارتفاع في حجم التداول النسبي مقارنة بـ متوسط حجم التداول اليومي للسهم، وغالباً ما تبدأ بـ فجوة سعرية ليلية في جلسة واحدة بدلاً من الصعود التدريجي المستمر طوال الفترة.

أكبر الأسهم الخاسرة هذا الشهر

نفس المبدأ ولكن بشكل عكسي: التراجعات الأكثر حدة خلال هذه الفترة، بين الشركات التي تجاوزت قيمتها حاجز الـ 1 مليار دولار.

الاستعلامأكبر الخاسرين هذا الشهر (شركات بتداول +$1B خلال الفترة)
استعلام 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 10

سجل NVTS أكبر تراجع بنسبة -47.6% مع تداول ما قيمته 5.1 مليار دولار، وجاء WOLF في المرتبة التالية بنسبة -47.1%. راقب عمود الدولار في هذا الجدول. إن التراجع الذي يحدث في الأسهم ذات السيولة العالية يختلف عن التراجع في الأسواق الهادئة، ويتم التمييز بينهما هنا بدلاً من افتراض ذلك.

نفس السؤال عبر ثلاثة أطر زمنية

سؤال واحد، وثلاث فترات زمنية. قد يتصدر اسم ما قائمة معينة بينما يختفي تماماً من القائمتين الأخريين.

تُبنى القوائم الثلاث بشكل منفصل، وشاشاتها ليست متطابقة. تحدد الصفحة الأسبوعية حدها الأدنى للسيولة والحد الأدنى للجلسة خلال نافذة زمنية مدتها خمس جلسات. أما صفحة "منذ بداية العام"، فتعتمد في تصفيتها على متوسط حجم التداول اليومي بالدولار بدلاً من إجمالي التداول خلال الفترة كاملة. توضح كل صفحة قواعدها الخاصة في قسم "الطريقة" الخاص بها، لذا يرجى قراءتها قبل نقل أي اسم من قائمة إلى أخرى.

تسيطر فجوة سعرية واحدة على القائمة الأسبوعية، بينما يتلاشى أثرها خلال عام كامل. أما التحرك البطيء خلال الشهر فلا يظهر في القائمة الأسبوعية على الإطلاق. وتعد قراءة القوائم الثلاث جنباً إلى جنب هي الطريقة الأسهل للتمييز بين الأحداث اليومية والاتجاهات السعرية.

أداء السوق خلال نفس الفترة

تختلف حركة السهم الشهرية عن أداء السوق العام. تعتمد المؤشرات الأربعة الرئيسية قيمتها بناءً على سعر الافتتاح الأول خلال تلك الفترة:

الاستعلامأهم 4 مؤشرات خلال نفس الفترة، مع إعادة ضبط السعر عند الافتتاح الأول
استعلام 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 نسبة 0.08%، ومؤشر Nasdaq 100 نسبة -4.46%، ومؤشر Dow نسبة 0.91%، بينما سجل مؤشر Russell 2000 نسبة -0.21% . أربع مجموعات استثمارية، فترة زمنية واحدة، وأربع نتائج مختلفة. وبمقارنة قائمة الرابحين بهذا النطاق، نجد أن أعلى نسبة ارتفاع تجاوزت 133.6% خلال نفس الجلسات. وتتفاوت أداء الشركات الفردية بشكل أكبر بكثير من المجموعات التي تضمها، وهذا هو السبب الرئيسي وراء تصنيف قائمة الشركات الأكثر تحركاً كقائمة لأسماء منفردة.

أداء الشركات الكبرى المعروفة

يبحث القراء عن الأسهم الأفضل أداءً هذا الشهر، وغالباً ما يرغبون أيضاً في معرفة أداء الشركات التي يمتلكونها بالفعل. إليك سلة ثابتة من ثماني شركات كبرى معروفة، خلال نفس الفترة وبنفس التكوين:

الاستعلامثماني شركات كبرى مشهورة خلال نفس الفترة
استعلام 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

تراوحت عوائد المجموعة بين 12.5% لـ META في الأعلى و-6.6% لـ AVGO في أدنى مستوياتها. لم تتحرك الشركات ككتلة واحدة، وهذا هو المعتاد وليس الاستثناء. تجمع مؤشرات السوق هذه الشركات معاً، رغم عدم وجود علاقة بين مصادر إيراداتها. هذه السلة هي قائمة ثابتة من ثمانية أسماء وليست تصنيفاً، لذا استخدمها للاسترشاد فقط وليس كادعاء حول الشركات الأكبر حجماً.

كيف يبدو الشهر الطبيعي

تُظهر لوحات الصدارة الحالات الاستثنائية، بينما يوضح هذا الرسم البيانات الأساسية. تم تصنيف جميع شركات 1161 التي اجتازت الفحص ضمن فئات بناءً على عوائدها خلال الفترة المحددة:

الاستعلامأداء الشركات المختارة: العوائد الشهرية حسب الفئة
استعلام 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

حققت 60 من الشركات التي تم فحصها مكاسب بنسبة 20% أو أكثر خلال الفترة، بينما خسرت 77 منها 20% أو أكثر. واحتوت الفئتان الأقرب إلى الاستقرار على 314 و 426 من الأسماء. يمثل هذا الرسم الشكل العام الذي تُشتق منه لوحة صدارة الأسهم المتحركة، بينما تمثل الأسهم العشرة الأولى الطرف الأقصى لجهة اليمين في ذلك الرسم. اقرأ اللوحات أعلاه مع مراعاة ذلك: إن التحرك الشهري ضمن العشرة الأوائل هو حالة شاذة بطبيعة التصميم، ولا يمثل أبداً شهراً نموذجياً للسهم النموذجي.

العوامل التي تضع السهم في قائمة الأكثر تحركاً شهرياً

تعد فترة الشهر كافية لحدوث عدة أحداث، لكنها قصيرة بحيث يهيمن أحدها عادةً على المشهد. تتوافق الأسماء المدرجة في هذه القوائم غالباً مع تواريخ محددة في أجندة الشركة. وتعد النتائج الربع سنوية هي السبب الأكثر شيوعاً؛ حيث يؤدي تجاوز التوقعات أو الإخفاق في تحقيقها إلى إعادة تحديد السعر في جلسة واحدة، ثم يتم التداول حول المستوى الجديد طوال الشهر. كما تؤدي التغييرات في التوقعات المستقبلية (Guidance) نفس الدور دون الحاجة لصدور نتائج مالية.

تترك أخبار الاندماج والاستحواذ الأثر الأكثر وضوحاً في القوائم الشهرية. يقفز السهم إلى مستوى قريب من سعر الصفقة المعلنة ثم يستقر، مع بقاء قيمة التداول بالدولار ضخمة بينما يستقر التغير المئوي. إذا ظهر اسم في أعلى قائمة الرابحين بقيمة تداول ضخمة وسعر توقف عن الحركة في منتصف الفترة، فيجب فحص هذا النمط قبل أي شيء آخر.

تؤثر تحركات القطاع على مدار الشهر بطريقة تختلف عن تأثيرها الأسبوعي. فالتغيرات في أسعار الفائدة، أو النفط، أو أسعار الذاكرة تؤثر على مجموعة كاملة من الشركات في وقت واحد، ولهذا السبب تظهر القوائم الشهرية غالباً مجموعات من الشركات المتشابهة بدلاً من عشرة أسماء غير مترابطة. وتكتمل القائمة بتحركات المحللين، وإضافة أو حذف الأسهم من المؤشرات، والنتائج التجريبية والتنظيمية، وعمليات الضغط البيعي (short squeezes). لا تظهر كل هذه العوامل من خلال النسبة المئوية وحدها، ولهذا السبب يتم وضع عمود قيمة التداول والنطاق الزمني للسوق بجانب كل حركة هنا.

كيفية القياس

يتم توضيح كل حد أدنى هنا بدلاً من تركه ضمنياً. إن الشاشة التي تعتمد قواعد خفية تُعد رأياً وليست بيانات.

  • النطاق الزمني. الـ 30 يوماً التقويمية الماضية التي تنتهي عند أحدث جلسة تم تحميل بياناتها بالكامل، والتي بلغت 21 جلسة من Jun 22 إلى Jul 21. هناك قاعدتان لتحديد ما إذا كانت الجلسة مؤهلة؛ يجب أن تكون قد أغلقت قبل التاريخ الحالي في نيويورك، لذا لا تشمل النطاق الجلسة الجارية. كما يجب أن يصل عدد شموع ساعات التداول العادية إلى 85% من متوسط الجلسات عبر مسح الـ 34 يوماً، وهذا يستبعد الأيام المبكرة التي لا تزال بياناتها قيد التحميل. وبما أن جلسات العطلات القصيرة تنتج نصف عدد الشموع المعتاد تقريباً، فإن القاعدة تستبعدها بدلاً من قياسها ببيانات ناقصة.
  • العائد. هو الفرق بين سعر الافتتاح لأول جلسة عادية داخل النطاق الزمني وسعر الإغلاق لآخر جلسة عادية، ويتم حسابه باستخدام شموع الدقيقة الواحدة. يشمل ساعات التداول العادية فقط، لذا تُستبعد بيانات ما قبل وما بعد السوق. هذا عائد سعري: لا تُضاف إليه التوزيعات النقدية.
  • الحدود الدنيا. يجب أن يكون إجمالي التداول عبر النطاق الزمني بالكامل 1 مليار دولار على الأقل، وسعر الافتتاح 10 دولارات أو أكثر، مع وجود تداولات في 15 جلسة على الأقل من جلسات النطاق الزمني. الحد الأدنى للقيمة الدولارية هو إجمالي شهري، مما يسهل تجاوزه مقارنة بنفس الرقم إذا تم قياسه على مدار أسبوع واحد.
  • الاستثناءات. تُستبعد الصناديق الرافعة مالياً والصناديق المعاكسة بالاسم. كما يجب أن يحمل كل رمز ticker بيانات أساسية للشركة وقيمة سوقية مسجلة في بياناتنا المرجعية. هذه القاعدة الثانية تستبعد صناديق الاستثمار المتداولة (ETFs)، والصناديق المغلقة، وصناديق السلع، ومجموعة المنتجات الرافعة مالياً للأسهم الفردية سريعة النمو، والتي كانت ستملأ معظم اللوحات لولا ذلك. يحتوي جدول المراجع هذا على صف واحد لكل ticker بدلاً من لقطة يومية مؤرخة، لذا يقرأ الفحص الجدول بالكامل ولا يحدد تاريخ واحد الأهلية. ويُستبعد أي ticker شهد تقسيم أسهم خلال الـ 45 يوماً الماضية بدلاً من تعديل السعر بأثر رجعي، لأن التقسيم يغير سعر السهم دون تغيير قيمة الحصة المملوكة. كما يُستبعد بالاسم أي رمز أعادت بيانات الموردين تعيينه بين شركتين مختلفتين.
  • لوحة الشركات الكبرى (mega-cap). سلة ثابتة من ثماني شركات أمريكية ضخمة واسعة الانتشار، مدرجة بالاسم في قاعدة بيانات SQL الخاصة باللوحة. تستخدم نفس النطاق الزمني ونفس طريقة حساب العائد المستخدمة في اللوحات، وهي مستقلة عن معيار حجم التداول بالدولار.
  • ما لا يتم تطبيقه. لا يوجد فلتر للقطاعات، ولا حد أدنى للقيمة السوقية، ولا شرط للعضوية في مؤشر، لذا يمكن لشركة صغيرة ذات تداول كثيف أن تظهر في اللوحة بجانب شركة كبرى. يعتمد الترتيب على النسبة المئوية للتغير فقط، ولهذا السبب يتم عرض عمود حجم التداول بالدولار بجانبه.

تحتوي إحدى اللوحات على سجل كامل لكل ما سبق: الجلسات التي غطاها النطاق الزمني، ونطاق البحث الذي استُخرجت منه كل لوحة.

الاستعلامالفترة الزمنية ونطاق الشركات المختارة لكل لوحة في هذه الصفحة
استعلام 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

بدأ الفحص من 4124 ticker تحمل قيمة سوقية في الجدول المرجعي، وانتهى بـ 1161 شركة تجاوزت حدود حجم التداول بالدولار والسعر والجلسات. تُحفظ كلتا القيمتين مع كل تحديث لهذه الصفحة، لذا فإن أي انخفاض في نطاق البحث سيظهر في السجل بدلاً من المرور دون ملاحظة.

الأسئلة الشائعة

ما هي الأسهم الأكثر ارتفاعاً هذا الشهر؟

خلال الفترة المنتهية في Jul 21، حققت الشركات التي تتجاوز قيمتها مليار دولار أكبر المكاسب، وكانت CRNX بنسبة 133.6% وPBF بنسبة 75.5%. تجد قائمة العشرة الأوائل الكاملة في الجدول الأول بهذه الصفحة، وهي تُحدث باستمرار مع انتهاء الجلسات الجديدة.

ما هي الأسهم الأكثر انخفاضاً هذا الشهر؟

سجلت NVTS أكبر انخفاض بنسبة -47.6%، تلتها WOLF بنسبة -47.1%. تم قياس كلا السهمين خلال نفس جلسات 21، مع تطبيق نفس حد الحد الأدنى لحجم التداول البالغ مليار دولار المطبق على قائمة الرابحين.

كيف يتم قياس عوائد الأسهم الشهرية؟

العائد الشهري هنا هو التغير من سعر الافتتاح لأول جلسة عادية ضمن الفترة المحددة إلى سعر الإغلاق لآخر جلسة عادية، ويتم حسابه بناءً على بيانات الشموع الدقيقة. هذا العائد هو عائد سعري، لذا لا تُضاف التوزيعات النقدية، ويتم استبعاد أي شركة تقوم بعملية تقسيم للأسهم بالقرب من الفترة المحددة بدلاً من تعديل السعر بأثر رجعي.

لماذا تُستبعد صناديق الاستثمار المتداولة (ETFs) ذات الرافعة المالية من قائمة تحركات الأسهم؟

تضاعف الصناديق ذات الرافعة المالية أو الصناديق العكسية التحرك اليومي لمؤشر أو سهم واحد، لذا قد تتصدر قائمة التحركات في يوم سوق عادي دون وجود أخبار خاصة بالشركة. استبعاد هذه الصناديق يحافظ على هذه القائمة كقائمة للشركات التشغيلية. يوضح مقال كيفية عمل صناديق ETFs ذات الرافعة المالية عملية إعادة الضبط اليومية والانحراف الذي يحدث عند الاحتفاظ بأحد هذه الصناديق لمدة شهر.


كل لوحة بيانات أعلاه هي استعلام مخزن مع كود SQL الخاص به. يمكنك فتح أي منها، وتغيير الحد الأدنى للقيمة أو مدة الفترة، وفحص البيانات نفسها عبر محطة Strasmore.