Biggest Stock Gainers and Losers This Week
See the biggest US stock gainers and losers this week among the names traders trade pass, measured from exchange tape and refreshed weekly.
Dis page dey track the biggest US stock gainers and losers for the past week. E measure dem straight from exchange tape, no be vendor summary. E cover the names wey traders trade pass, those wey over $1 billion change hand during the week. E dey refresh every week. Leveraged and inverse ETFs dey excluded so the list go reflect individual companies.
Biggest stock gainers this week
The names below na the biggest weekly gains among stocks wey trade at least $1 billion. So each move get real volume behind am, no be thin-tape spike.
| ticker | week return (%) | week dollar bn | week wey end |
|---|---|---|---|
| SNDQ | 37.4 | 1.1 | Oct 16 |
| BSP | 23 | 1.4 | Oct 16 |
| FICO | 14 | 3 | Oct 16 |
| CTSH | 10 | 1.3 | Oct 16 |
| WCN | 10 | 1.3 | Oct 16 |
| ETSY | 9.7 | 1.1 | Oct 16 |
| KDP | 8.5 | 1.3 | Oct 16 |
| KMB | 8.5 | 2.1 | Oct 16 |
| ACN | 8.1 | 5.2 | Oct 16 |
| COP | 7.8 | 2.3 | Oct 16 |
The exact SQL behind every number
WITH sess AS (
SELECT ticker, toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMin(toFloat64(open), toTimeZone(window_start, 'America/New_York')) AS o,
argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c,
sum(toFloat64(close) * toFloat64(volume)) AS dollars
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 12 DAY
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 NOT IN (SELECT ticker FROM global_markets.stocks_splits WHERE execution_date BETWEEN today() - 12 AND today())
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
),
wk AS (
SELECT ticker, argMin(o, d) AS wo, argMax(c, d) AS wc, sum(dollars) AS wd, count() AS n
FROM sess WHERE d >= (SELECT max(d) FROM sess) - 6 GROUP BY ticker
)
SELECT ticker,
round((wc / wo - 1) * 100, 1) AS week_return_pct,
round(wd / 1e9, 1) AS week_dollar_bn,
(SELECT formatDateTime(max(d), '%b %e') FROM sess) AS week_ending
FROM wk
WHERE wd >= 1000000000 AND wo >= 10 AND n >= 4
ORDER BY (wc / wo - 1) DESC
LIMIT 10For the week wey end Oct 16, the biggest gainer among heavily traded stocks na SNDQ, up 37.4%. BSP follow am at 23%. Weekly move wey reach this size normally first show as high relative volume compared with the stock average daily volume. E often start with an overnight gap after news.
Biggest stock losers this week
Na the same measure, but for the other direction: the biggest weekly falls among names wey trade more than $1 billion.
| ticker | week return (%) | week dollar bn | week wey end |
|---|---|---|---|
| CIFR | -32.5 | 3 | Oct 16 |
| AAOI | -29 | 4.1 | Oct 16 |
| DOCN | -27.3 | 1.5 | Oct 16 |
| SMTC | -26 | 3.3 | Oct 16 |
| IREN | -25.7 | 7.7 | Oct 16 |
| CIEN | -25.5 | 4.4 | Oct 16 |
| LITE | -25.4 | 19.9 | Oct 16 |
| HPE | -25.1 | 5.7 | Oct 16 |
| RKLB | -24.9 | 5.1 | Oct 16 |
| PENG | -24.8 | 1.4 | Oct 16 |
The exact SQL behind every number
WITH sess AS (
SELECT ticker, toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMin(toFloat64(open), toTimeZone(window_start, 'America/New_York')) AS o,
argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c,
sum(toFloat64(close) * toFloat64(volume)) AS dollars
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 12 DAY
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 NOT IN (SELECT ticker FROM global_markets.stocks_splits WHERE execution_date BETWEEN today() - 12 AND today())
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
),
wk AS (
SELECT ticker, argMin(o, d) AS wo, argMax(c, d) AS wc, sum(dollars) AS wd, count() AS n
FROM sess WHERE d >= (SELECT max(d) FROM sess) - 6 GROUP BY ticker
)
SELECT ticker,
round((wc / wo - 1) * 100, 1) AS week_return_pct,
round(wd / 1e9, 1) AS week_dollar_bn,
(SELECT formatDateTime(max(d), '%b %e') FROM sess) AS week_ending
FROM wk
WHERE wd >= 1000000000 AND wo >= 10 AND n >= 4
ORDER BY (wc / wo - 1) ASC
LIMIT 10The biggest weekly decline na CIFR at -32.5%, while AAOI follow at -29%. Decline wey happen with heavy volume tell different story from decline wey happen with quiet volume. Na why the dollar-traded column dey beside every move.
Where the market stood this week
One stock move dey mean different thing when you compare am with the market week. The four major index ETFs for the same period:
| index ETF | week return (%) |
|---|---|
| Dow (DIA) | 0.4 |
| S&P 500 (SPY) | -2.25 |
| Russell 2000 (IWM) | -3.07 |
| Nasdaq 100 (QQQ) | -5.58 |
The exact SQL behind every number
WITH sess AS (
SELECT ticker, toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMin(toFloat64(open), toTimeZone(window_start, 'America/New_York')) AS o,
argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= now() - INTERVAL 12 DAY
AND ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
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
),
wk AS (SELECT ticker, argMin(o, d) AS wo, argMax(c, d) AS wc FROM sess WHERE d >= (SELECT max(d) FROM sess) - 6 GROUP BY ticker)
SELECT multiIf(ticker = 'SPY', 'S&P 500 (SPY)', ticker = 'QQQ', 'Nasdaq 100 (QQQ)', ticker = 'DIA', 'Dow (DIA)', ticker = 'IWM', 'Russell 2000 (IWM)', ticker) AS index_etf,
round((wc / wo - 1) * 100, 2) AS week_return_pct
FROM wk ORDER BY week_return_pct DESCThe index ETFs move between 0.4% and -5.58% for the week. If stock rise double digits while market remain flat, na the stock own news move am. If the same move happen while tape strong, market strength partly carry am.
What moves a stock that much in a week
Weekly move wey reach double digits hardly happen without a clear reason. The names for this list normally get scheduled or one-off catalyst behind dem. The most common one na quarterly earnings report. Beat or miss against expectations fit reset stock price in one trading session. Guidance changes dey close behind. Company fit raise or cut outlook for the coming quarters.
Other catalysts dey happen through the year. Dem include merger and acquisition news, analyst rating changes and price-target revisions, clinical-trial or regulatory readouts for biotech and pharma names, plus sector-wide moves. Change for interest rates, oil, or chip demand fit move one whole group at once.
Index membership matter too. When major index add or remove stock, funds wey track the index fit make forced buying or selling, often on one rebalancing date. Price change alone no fit show all this. Na why the dollars-traded column and the market own week dey beside every move here. Tape show wetin happen; catalyst na the next question for reader.
How to read a weekly mover
Big weekly percentage na starting point, no be final conclusion. Two stocks fit post the same headline number but the meaning fit differ well.
A 15% gain for name wey trade $5 billion in one week na big, liquid repricing wey many investors take part in. The same 15% for name wey dey just meet the $1 billion floor get thinner trading, easier to push, and easier to reverse. The dollars-traded column dey show the difference.
The five-session window matter too. E combine one wild day with the whole week move. So if stock spike on Monday and return half of the gain by Friday, the figure show the net move, no be the peak.
Leveraged and inverse ETFs dey excluded on purpose. A 3x fund fit lead any gainer list on an ordinary index day. That one talk more about how leveraged ETFs work than about any company.
FAQ
Wetin be the biggest stock gainers this week?
For the week wey end Oct 16, the biggest gains among stocks wey trade more than $1 billion na SNDQ (+37.4%) and BSP (+23%). The full top ten dey for the table above, and e dey refresh every week.
Wetin be the biggest stock losers this week?
CIFR lead the weekly decliners at -32.5%, followed by AAOI at -29%. All of dem still dey among names wey trade more than $1 billion for the week.
How dem dey measure these gainers and losers?
Each move na the change from the first regular-session open to the last regular-session close across the trailing five sessions. Dem calculate am from minute bars. The list only include stocks wey trade at least $1 billion during the week and open above $10. Leveraged and inverse ETFs dey excluded.
Why leveraged ETFs no dey the list?
Leveraged or inverse ETF dey built to multiply index daily move. So e fit regularly top raw movers list without any company-specific news. Excluding dem keep the list focused on individual stocks. Tickers wey get stock split executing inside the period dey excluded for the same reason: split fit change per-share price without changing the value of the holding.
Every panel above na stored query wey person fit inspect, and dem dey refresh am every week. Open the SQL under any table to audit am, or screen the week moves yourself on the Strasmore terminal.