Strasmore Research
Marktoverzichten Matt ConnorDoor Matt Connor · Bijgewerkt 2026-09-05 · data as of September 5, 2026 · refreshed weekly

Grootste koersbewegers van deze maand

Bekijk de grootste stijgers en dalers op de exchange tape van deze maand. De selectie toont bedrijven met een handelsvolume van ten minste één miljard dollar per aandeel.

De grootste koersbewegers van deze maand

Hieronder staan de grootste koersbewegers van deze maand, gerangschikt op basis van de exchange tape, over de 22 voltooide handelssessies van Aug 5 tot en met Sep 3. De selectie bevat uitsluitend operationele bedrijven die gedurende deze periode voor ten minste één miljard dollar zijn verhandeld, waardoor elke beweging op het bord wordt ondersteund door aanzienlijk kapitaal. Hefboomproducten en inverse fondsen zijn buiten beschouwing gelaten en het venster schuift op naarmate er nieuwe sessies worden voltooid.

Grootste stijgers deze maand

De tabel rangschikt de grootste koersstijgingen over de betreffende periode. Elke rij bevat het verhandelde volume in dollars naast het percentage; dit onderscheidt een koersaanpassing met veel marktactiviteit van een aanpassing bij een dunne handel.

QueryGrootste stijgers deze maand (bedrijven met een handelsvolume van $1B+ in deze periode)
tickermaandrendement (%)maand ($) mld
MRNA156.780.7
ASST117.13.2
HTFL84.71.8
TEAM72.416.6
CRCL66.622.8
ARX60.72.2
CAI57.92.4
AMLX54.22.1
AMR51.81.2
MSTR47.954.8
De exacte SQL achter elk getal
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
Voer het zelf uit

MRNA voerde de lijst aan met 156.7% bij een verhandeld volume van $80.7 miljard, gevolgd door ASST met 117.1% en HTFL met 84.7%. Een dergelijke beweging over een maand is doorgaans eerst zichtbaar als een verhoogd relatief volume ten opzichte van het gemiddelde dagvolume van het aandeel, en begint vaak met een overnight gap in één sessie in plaats van een gestage klim over de gehele periode.

Grootste verliezers deze maand

Dezelfde constructie in omgekeerde volgorde: de scherpste dalingen over de betreffende periode, onder bedrijven die voldoen aan de ondergrens van één miljard dollar.

QueryGrootste dalers deze maand (bedrijven met een handelsvolume van $1B+ in deze periode)
tickermaandrendement (%)maand ($) mld
VISN-491.8
RARE-47.91.2
LASR-45.71.5
AGX-33.63
FLNC-33.21.7
FCEL-33.13.1
BLZE-32.81
YOU-31.21.6
SEZL-31.11.9
WYFI-301.2
De exacte SQL achter elk getal
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
Voer het zelf uit

VISN was de grootste daler met -49% bij een handelsvolume van 1.8 miljard dollar, gevolgd door RARE met -47.9%. Let op de kolom met dollarbedragen in dit overzicht. Een daling die gepaard ging met een hoog handelsvolume is een ander fenomeen dan een daling die op een rustige markt tot stand kwam; hier maken we het onderscheid in plaats van aannames te doen.

Dezelfde vraag over drie tijdsbestekken

Eén vraag, drie vensters. Een naam kan de ranglijst van de ene tabel aanvoeren en op de andere twee volledig ontbreken.

De drie overzichten zijn afzonderlijk opgesteld en de selectiecriteria zijn niet identiek. De weekpagina hanteert een eigen liquiditeitsdrempel en een minimumaantal sessies over een venster van vijf dagen, terwijl de pagina voor het jaar tot dusver filtert op basis van het gemiddelde dagelijkse handelsvolume in dollars in plaats van het totale verhandelde volume over de gehele periode. Elke pagina vermeldt de eigen regels in de bijbehorende methodesectie; lees deze dus door voordat u een naam van de ene naar de andere tabel verplaatst.

Een enkel koersgat domineert de weektabel, maar vlakt uit over een jaar. Een langzame maandelijkse trend bereikt de weektabel vaak helemaal niet. Het naast elkaar leggen van de drie overzichten is de meest efficiënte manier om een eenmalige gebeurtenis te onderscheiden van een trend.

De marktpositie in dezelfde periode

De maandprestatie van een aandeel moet worden afgezet tegen de prestatie van de markt als geheel. De vier belangrijkste index-trackers, elk opnieuw gebaseerd op de eerste openingskoers binnen de periode:

QueryDe vier belangrijkste index trackers over dezelfde periode, geherbaseerd op de eerste opening
22 rows (showing 20)
sessieS&P 500 (%)Nasdaq 100 (%)Dow (%)Russell 2000 (%)
2026-08-05-0.78-1.24-0.09-0.88
2026-08-06-0.94-1.61-0.94-1.38
2026-08-07-0.34-0.45-0.68-0.3
2026-08-10-0.36-0.75-0.79-0.81
2026-08-11-0.7-1.09-1.11-0.47
2026-08-12-0.43-0.36-1.140.09
2026-08-130.250.8-10.35
2026-08-140.060.66-1.190.87
2026-08-17-0.410.5-1.670.54
2026-08-18-1.09-1.19-1.91-0.72
2026-08-19-0.88-1.39-1.65-0.23
2026-08-20-1.7-2.11-2.91-1.57
2026-08-21-1.31-1.77-2.04-0.82
2026-08-24-1.6-2.75-1.78-1.48
2026-08-25-1.29-2.15-1.49-1.05
2026-08-26-1.27-2.06-1.67-1.16
2026-08-27-0.62-0.71-1.5-0.86
2026-08-28-0.84-1.35-1.52-2.21
2026-08-31-1.15-1.3-2.16-2.82
2026-09-01-1.83-2.56-2.87-3.91
De exacte SQL achter elk getal
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
Voer het zelf uit

Bij de laatste sessie noteerde de S&P 500-tracker op -0.35%, de Nasdaq 100-tracker op -1.19%, de Dow-tracker op -1.17% en de Russell 2000-tracker op -2.4%. Vier mandjes, één periode, vier verschillende uitkomsten. Wanneer we de ranglijst naast dit bereik leggen, zien we dat de koplopers in dezelfde sessies een rendement van 156.7% behaalden. Individuele bedrijven vertonen een veel grotere spreiding dan de mandjes waarin zij zijn opgenomen; dat is precies de reden waarom een lijst met stijgers en dalers bestaat uit individuele namen.

Hoe de bekende namen presteerden

Lezers die op zoek zijn naar de best presterende aandelen van deze maand, willen doorgaans ook weten waar de namen die zij al bezitten zijn geëindigd. Een vaste mand met acht bekende mega-caps, over dezelfde periode en op dezelfde wijze samengesteld:

QueryAcht bekende mega-cap namen over dezelfde periode
tickermaandrendement (%)
TSLA16.4
AAPL6.1
NVDA5.3
MSFT2.8
META1.7
AMZN-8.1
GOOGL-10.7
AVGO-15.3
De exacte SQL achter elk getal
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
Voer het zelf uit

De groep varieerde van 16.4% voor TSLA aan de bovenkant tot -15.3% voor AVGO aan de onderkant. Zij bewogen niet als een blok, wat eerder de regel dan de uitzondering is. Lidmaatschap van een index brengt deze bedrijven samen; hun inkomstenstromen hebben onderling zeer weinig met elkaar te maken. De mand is een vaste lijst van acht namen en geen ranglijst; beschouw deze daarom als oriëntatie en niet als een bewering over welke bedrijven het grootst zijn.

Hoe een normale maand eruitziet

De ranglijsten tonen de uitersten. Dit overzicht toont het middensegment. Alle 1110 bedrijven die door de selectie kwamen, zijn ingedeeld in categorieën op basis van hun rendement over de periode:

QueryResultaten per bedrijf: maandelijkse returns per categorie
rendementscategorieaandelen
down 20% or more52
down 10% to 20%158
down 0% to 10%422
up 0% to 10%314
up 10% to 20%100
up 20% or more64
De exacte SQL achter elk getal
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
Voer het zelf uit

64 van de geselecteerde bedrijven steeg twintig procent of meer gedurende de periode, en 52 verloor twintig procent of meer. De twee categorieën die het dichtst bij een neutraal resultaat lagen, bevatten 422 en 314 namen. Die grafiek vormt de basis waaruit een ranglijst van uitschieters wordt samengesteld; de top tien vormt de uiterste rechterkant daarvan. Houd dit in gedachten bij het lezen van de bovenstaande ranglijsten: een maandelijkse beweging in de top tien is per definitie een uitschieter en nooit een representatieve maand voor een gemiddeld aandeel.

Wat een aandeel op een lijst met maandelijkse stijgers en dalers plaatst

Een maand is lang genoeg om diverse gebeurtenissen te bevatten en kort genoeg dat één daarvan doorgaans de toon zet. De namen op deze overzichten vallen meestal samen met een datum op de kalender van de onderneming. Kwartaalcijfers zijn het meest gebruikelijk: een meevaller of tegenvaller corrigeert de koers in één sessie, waarna de rest van de maand rond dat nieuwe niveau wordt gehandeld. Aanpassingen in de outlook hebben hetzelfde effect, zelfs zonder de bijbehorende resultaten.

Nieuws over fusies en overnames laat de meest kenmerkende sporen na op een maandoverzicht. Het aandeel springt naar een niveau nabij de aangekondigde overnameprijs en wordt vervolgens rustig, waarbij het verhandelde volume in dollars enorm blijft terwijl de procentuele verandering afvlakt. Als een aandeel bovenaan de lijst met stijgers een enorm dollarvolume laat zien en een koers die halverwege de periode stopte met bewegen, is dat patroon het eerste wat u moet onderzoeken.

Sectorbewegingen zijn over een maand van belang op een manier die over een week zelden het geval is. Een verschuiving in rentestanden, olie- of geheugenprijzen trekt een hele groep tegelijk mee; daarom tonen maandoverzichten vaak clusters van vergelijkbare bedrijven in plaats van tien ongerelateerde namen. Analistenacties, toevoegingen aan of verwijderingen uit indices, resultaten van klinische studies en toezichthoudende instanties, en short squeezes vullen de rest aan. Niets hiervan is zichtbaar in het percentage alleen; daarom staan de kolom met verhandelde dollars en het eigen tijdvenster van de markt hier naast elke beweging.

Hoe dit wordt gemeten

Elke drempelwaarde wordt hier expliciet vermeld in plaats van impliciet gelaten. Een screening met verborgen regels leest als data, maar is in feite een opinie.

  • Het venster. De afgelopen dertig kalenderdagen eindigend op de meest recente sessie waarvan de tape volledig is geladen, wat uitkwam op 22 sessies van Aug 5 tot Sep 3. Twee regels bepalen of een sessie in aanmerking komt. Deze moet vóór de huidige datum in New York zijn gesloten, waardoor de lopende sessie nooit wordt meegenomen. Het aantal bars tijdens reguliere handelsuren moet bovendien ten minste vijfentachtig procent bedragen van de mediaan van de sessies over de scan van vierendertig dagen; dit sluit een eerdere dag uit waarvan de tape nog wordt aangevuld. Een verkorte vakantiesessie genereert ruwweg de helft van het aantal bars van een normale dag, dus dezelfde regel sluit deze uit in plaats van deze halfvol te meten.
  • Het rendement. De eerste openingskoers van de reguliere sessie binnen het venster tot de laatste slotkoers van de reguliere sessie, opgebouwd uit minuutbars. Alleen reguliere handelsuren; prints van premarket en after-hours worden uitgesloten. Het betreft een koersrendement: dividenden worden niet bijgeteld.
  • De ondergrenzen. Ten minste één miljard dollar verhandeld over het gehele venster, een openingskoers van tien dollar of meer, en prints op ten minste vijftien van de sessies in het venster. De dollar-ondergrens is een maandelijks totaal, wat een lagere drempel is dan hetzelfde cijfer gemeten over slechts één week.
  • De uitsluitingen. Leveraged en inverse fondsen worden bij naam verwijderd. Elke ticker moet bovendien beschikken over bedrijfsfundamenten en een geregistreerde marktkapitalisatie in onze referentiedata. Die tweede regel sluit ETF's, closed-end fondsen, commodity trusts en de snelgroeiende familie van leveraged single-stock producten uit, die anders het grootste deel van beide overzichten zouden vullen. Die referentietabel bevat één rij per ticker in plaats van een dagelijkse momentopname; de screening leest dus de gehele tabel en geen enkele specifieke datum bepaalt wie in aanmerking komt. Elke ticker met een aandelensplitsing in de afgelopen vijfenveertig dagen wordt uitgesloten in plaats van achteraf gecorrigeerd, aangezien een splitsing de koers per aandeel wijzigt zonder de waarde van het bezit te veranderen. Eén symbool dat door dataleveranciers is toegewezen aan twee verschillende bedrijven, wordt bij naam uitgesloten.
  • Het mega-cap panel. Een vaste mand van acht veelgehouden grote Amerikaanse bedrijven, bij naam genoemd in de SQL van dat panel. Het hanteert hetzelfde venster en dezelfde rendementsberekening als de overzichten en valt buiten de dollar-volume screening.
  • Wat niet wordt toegepast. Er is geen sectorfilter, geen ondergrens voor marktkapitalisatie en geen vereiste voor indexlidmaatschap, waardoor een veelverhandeld klein bedrijf naast een groot bedrijf op het overzicht kan staan. De rangschikking is uitsluitend gebaseerd op procentuele verandering; daarom wordt de kolom met verhandelde dollars ernaast getoond.

Eén panel bevat de verantwoording voor dit alles: de sessies die het venster besloeg en het universum waaruit elk overzicht werd gefilterd.

QueryDe periode en het gescreende universum achter elk overzicht op deze pagina
datum eerste sessiedatum laatste sessiesessiesgeregistreerde bedrijvengescreende bedrijven
Aug 5Sep 32240771110
De exacte SQL achter elk getal
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
Voer het zelf uit

De screening begon bij 4077 tickers met een marktkapitalisatie in de referentietabel en eindigde met 1110 bedrijven die voldeden aan de drempels voor dollar-volume, koers en aantal sessies. Beide cijfers worden bij elke verversing van deze pagina opgeslagen, zodat een run over een gekrompen universum zichtbaar is in de verantwoording in plaats van onopgemerkt te blijven.

Veelgestelde vragen

Wat zijn de grootste stijgers op de aandelenmarkt deze maand?

Voor de periode eindigend op Sep 3 waren de grootste stijgers onder bedrijven met een beurswaarde van meer dan één miljard dollar MRNA met 156.7% en ASST met 117.1%. De volledige top tien staat in de eerste tabel op deze pagina en wordt bijgewerkt zodra er nieuwe handelssessies zijn voltooid.

Welke aandelen zijn deze maand het meest gedaald?

VISN was de sterkste daler met -49%, gevolgd door RARE met -47.9%. Beide worden gemeten over dezelfde 22 sessies, met dezelfde ondergrens van één miljard dollar aan marktwaarde als bij de lijst met stijgers.

Hoe worden maandelijkse aandelenrendementen gemeten?

Een maandelijks rendement is hier de verandering van de openingskoers van een aandeel tijdens de eerste reguliere handelssessie binnen de periode tot de laatste slotkoers van de reguliere handel, gebaseerd op koersdata per minuut. Het betreft een koersrendement; dividenden worden dus niet bijgeteld. Bedrijven waarbij rond deze periode een aandelensplitsing heeft plaatsgevonden, worden uit de lijst verwijderd in plaats van dat de koersen met terugwerkende kracht worden aangepast.

Waarom zijn leveraged ETF's uitgesloten van de lijst met bewegers?

Een leveraged of inverse fonds vermenigvuldigt de dagelijkse beweging van een index of een individueel aandeel. Hierdoor kan een dergelijk fonds op een doorsnee handelsdag de lijst met grootste bewegers aanvoeren zonder dat er sprake is van bedrijfsnieuws. Door deze uit te sluiten, blijft de lijst beperkt tot operationele bedrijven. Hoe leveraged ETF's werken behandelt de dagelijkse reset en de afwijking die ontstaat bij het aanhouden van een dergelijk fonds gedurende een maand.


Elk bovenstaand paneel is een opgeslagen query met de bijbehorende SQL. Open een paneel, wijzig de ondergrens in dollars of de lengte van de periode en doorzoek de tape zelf op de Strasmore-terminal.