今月の株価上昇・下落銘柄ランキング
今月の株価上昇・下落銘柄を、取引所の約定データに基づいてランキングします。各銘柄の値動きに加え、売買代金と選定条件も確認できます。
今月の株価上昇・下落銘柄を、Sep 16からOct 15までに完了した22セッションの取引所の約定データに基づいてランキングしました。対象は、この期間に少なくとも10億ドルを売買した事業会社に限っています。そのため、一覧の値動きには実際の資金が伴っています。レバレッジ型ファンドとインバース型ファンドは除外しています。新たなセッションが終了するたびに、対象期間も更新されます。
今月の株価上昇率上位銘柄
この表は、対象期間における上昇率の大きい銘柄を順位付けしています。各行には、上昇率に加えて売買代金も示しています。これにより、参加者が集中した価格見直しなのか、薄商いの上昇なのかを見分けられます。
| ticker | 月間リターン(%) | 月間金額($10億) |
|---|---|---|
| KOD | 166 | 5.7 |
| GRAL | 78.1 | 3.2 |
| MRNA | 62.8 | 62.4 |
| PCRX | 51.1 | 1.3 |
| RXO | 50.9 | 1.9 |
| CBRL | 49.3 | 1.1 |
| PTC | 47.4 | 13 |
| FIGS | 46.8 | 1.1 |
| SHOP | 37.3 | 28.1 |
| KSS | 36.6 | 1.5 |
各数値の背後にある正確な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 10KODは、166%に売買代金が5.7十億ドルとなり、首位に立ちました。GRALは78.1%、MRNAは62.8%で続きました。1カ月でこれほど大きく動く場合、通常はまず、銘柄の相対出来高が1日平均出来高に対して膨らむ形で表れます。また、対象期間を通じた着実な上昇ではなく、いずれか一セッションの夜間ギャップから始まることが多いです。
今月の株価下落率上位銘柄
同じ条件を逆方向に適用したランキングです。同じ十億ドル以上の時価総額基準を満たす企業のうち、この期間に下落率が最も大きかった銘柄を示します。
| ticker | 月間リターン(%) | 月間金額($10億) |
|---|---|---|
| CTVA | -84.4 | 7.8 |
| QURE | -48.1 | 1.6 |
| LQDA | -47 | 3.7 |
| NKTR | -43.7 | 1.6 |
| XENE | -39.4 | 2.1 |
| CIFR | -36.8 | 12.2 |
| USAR | -29.3 | 3.7 |
| DNTH | -29.3 | 1.2 |
| UUUU | -28.6 | 1.7 |
| IREN | -28.4 | 32.7 |
各数値の背後にある正確な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 10CTVAは、売買代金7.8十億ドルで下落率-84.4%となり、下落率トップでした。次いでQUREが-48.1%となりました。この一覧では、ドル建ての売買代金に注目してください。売買が活発な市場で生じた下落と、薄商いの市場で記録された下落は性質が異なります。ここでは両者を区別しており、同一視していません。
3つの時間軸で同じ問いを見る
一つの問いを、三つの期間で見ます。ある銘柄が一つのランキングで首位になっても、他の二つにはまったく登場しないことがあります。
- 今週の株価下落率上位銘柄と、その隣に並ぶ上昇銘柄。直近五セッションが対象です
- このページ。直近一カ月が対象です
- 2026年の株価変動率上位銘柄。年初来で測定しています
三つのランキングは別々に作成され、スクリーニング条件も同一ではありません。週間ページは、五セッションの期間について独自の流動性基準と最低セッション数を設定しています。年初来ページは、期間全体の売買代金ではなく、1日平均売買代金でスクリーニングします。各ページには、それぞれの方法のセクションに固有のルールを記載しています。あるランキングの銘柄を別のランキングへ当てはめる前に、各ルールを確認してください。
一つのギャップによる値動きが週間ランキングを大きく左右しても、1年単位では薄まることがあります。緩やかな月間上昇は、週間ランキングにはまったく現れないこともあります。三つを並べて見ることが、一日限りの材料とトレンドを見分ける最も効率的な方法です。
同じ期間における市場の位置
ある銘柄の一カ月間の値動きは、市場全体の同じ期間の値動きと比較して見る必要があります。主要四指数の連動商品を、それぞれ期間内で最初に付いた寄り付き値を基準に指数化しました。
| セッション | S&P 500(%) | NASDAQ 100(%) | ダウ(%) | Russell 2000(%) |
|---|---|---|---|---|
| 2026-09-16 | -0.71 | -0.46 | -1.29 | -0.6 |
| 2026-09-17 | 0.41 | 1.26 | -0.69 | -0.08 |
| 2026-09-18 | 0.28 | 1.88 | -1.15 | -0.54 |
| 2026-09-21 | 1.85 | 4.72 | -0.4 | -0.02 |
| 2026-09-22 | 1.82 | 5.57 | -0.76 | 0.55 |
| 2026-09-23 | 1.09 | 4.69 | -1.45 | -1.29 |
| 2026-09-24 | 1.02 | 4.67 | -1.77 | -1.39 |
| 2026-09-25 | 1.55 | 5.15 | -0.86 | -1.29 |
| 2026-09-28 | 0.8 | 4.03 | -1.5 | -1.96 |
| 2026-09-29 | 0.62 | 4.23 | -1.73 | -2.3 |
| 2026-09-30 | 0.39 | 4.5 | -2.57 | -2.69 |
| 2026-10-01 | 0.6 | 4.81 | -2.55 | -2.3 |
| 2026-10-02 | 1.34 | 5.87 | -2.08 | -1.44 |
| 2026-10-05 | 2.03 | 6.81 | -1.88 | -0.78 |
| 2026-10-06 | 2.59 | 7.29 | -1.41 | -1.52 |
| 2026-10-07 | 2.33 | 7.02 | -2.1 | -2.77 |
| 2026-10-08 | 1.89 | 5.59 | -1.98 | -2.82 |
| 2026-10-09 | 2.51 | 6.11 | -1.12 | -2.35 |
| 2026-10-12 | 2.45 | 5.36 | -0.77 | -2.72 |
| 2026-10-13 | 2.44 | 5.03 | -1.11 | -3.12 |
各数値の背後にある正確な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連動商品が1.61%、Nasdaq 100連動商品が2.83%、Dow連動商品が-0.15%、Russell 2000連動商品が-3.7%でした。同じ期間でも、四つのバスケットはそれぞれ異なる結果となりました。これをランキングと比較すると、上昇銘柄の首位は同じ取引期間に166%を上回りました。個別企業の値動きは、それらを組み入れるバスケットよりもはるかに分散します。これが、値上がり・値下がり銘柄の一覧が個別銘柄のリストである理由です。
主要銘柄の動向
今月のパフォーマンス上位銘柄を探す読者は、すでに保有している銘柄がどの位置に入ったのかも知りたいはずです。対象期間と算出方法をそろえた、主要大型株八銘柄の固定バスケットを見てみましょう。
| ticker | 月間リターン(%) |
|---|---|
| MSFT | 9.4 |
| META | 8.3 |
| AAPL | 2.8 |
| AMZN | 2.7 |
| NVDA | 1.4 |
| TSLA | 1.3 |
| GOOGL | 0.6 |
| AVGO | 0.5 |
各数値の背後にある正確な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八銘柄の騰落率は、上位の9.4%から下位の0.5%まで分かれました。MSFTが上位、AVGOが下位です。銘柄群が一斉に動かなかったのは例外ではなく、通常の動きです。指数の構成銘柄として一括りにされていても、各社の収益源はほとんど共通していません。このバスケットは八銘柄を固定的に選んだもので、順位を示すものではありません。各社の規模の大きさを示すものではなく、全体像を把握するための目安としてご覧ください。
通常の1カ月の姿
ランキングは裾野を示します。ここでは全体像を示します。スクリーニングを通過した全1133社を、期間中のリターン別に区分しました。
| リターン区分 | 銘柄 |
|---|---|
| down 20% or more | 42 |
| down 10% to 20% | 143 |
| down 0% to 10% | 412 |
| up 0% to 10% | 404 |
| up 10% to 20% | 100 |
| up 20% or more | 32 |
各数値の背後にある正確な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スクリーニング対象企業の32は、期間中に20%以上上昇しました。一方、42は20%以上下落しました。横ばいに最も近い二つの区分には、それぞれ412銘柄と404銘柄が含まれていました。このチャートが値上がり銘柄ランキングの母集団の分布であり、上位10銘柄はその右端に位置します。上のランキングはこの点を踏まえて見てください。1カ月で上位10位に入る値動きは、構造上、外れ値です。典型的な銘柄にとって通常の1カ月を示すものではありません。
月次上昇・下落銘柄リストに載る要因
一カ月あれば複数のイベントが起こり得ますが、そのうち一つが値動きを支配するのに十分な長さでもあります。このリストに載る銘柄では、通常、企業のカレンダーに日付入りの材料があります。最も多いのは四半期決算です。市場予想を上回るか下回るかで、一セッションのうちに株価水準が切り替わり、その後の月は新しい水準を中心に取引されます。決算を伴わない業績見通しの変更でも、同じような値動きが生じます。
M&Aニュースは、月次リスト上で最も特徴的な痕跡を残します。株価は発表された買収価格に近い水準まで急騰し、その後は動きが乏しくなります。一方で売買代金は巨額のまま推移し、騰落率の変化は小さくなります。上昇銘柄リストの上位に、巨額の売買代金と、期間の途中で動きが止まった株価が見られる場合は、まずこのパターンを確認する価値があります。
セクター全体の値動きは、週次よりも月次で大きな意味を持ちます。金利、原油、メモリー価格の変化が、一つのグループ全体を同時に押し上げることがあります。そのため月次リストでは、無関係な十銘柄ではなく、似た事業を営む銘柄群が並ぶことがよくあります。アナリストの投資判断変更、指数への採用・除外、治験結果や規制当局の判断、ショートスクイーズなどが残りを占めます。こうした要因は騰落率だけでは分かりません。そのため、ここでは各値動きの横に売買代金と市場固有の集計期間を表示しています。
測定方法
すべての判定基準をここで明示します。ルールを隠したスクリーニングはデータに見えても、実際には意見です。
- 対象期間。 直近の取引セッションまでの過去30暦日です。対象となったセッションは22、Sep 16からOct 15までです。セッションを対象に含めるかどうかは、二つのルールで決まります。ニューヨーク時間の当日より前に取引を終えていなければなりません。そのため、進行中のセッションは対象外です。また、通常取引時間のバー数が、34日間のスキャンにおけるセッション中央値の85%以上に達している必要があります。これにより、テープの取り込みがまだ完了していない早い時点のセッションを除外します。短縮された祝日セッションでは、通常日の半分程度しかバーが記録されないため、同じルールで除外されます。
- リターン。 対象期間内の最初の通常取引時間の始値から、最後の通常取引時間の終値までを、分足バーで計算します。通常取引時間のみを対象とするため、プレマーケットと時間外取引の約定は除外します。配当を加味しない株価リターンです。
- 下限。 対象期間全体の売買代金が少なくとも10億ドル、始値が10ドル以上、かつ対象期間の少なくとも15セッションで約定があることを条件とします。売買代金の下限は月間合計です。そのため、同じ金額を一週間で測定する場合よりもクリアしやすい基準です。
- 除外条件。 レバレッジ型ファンドとインバース型ファンドは名称で除外します。さらに、すべてのティッカーについて、企業のファンダメンタルズと時価総額が当社の参照データに登録されていなければなりません。この二つ目のルールにより、ETF、クローズドエンド・ファンド、コモディティ・トラスト、急増しているレバレッジ型単一株商品を除外します。これらを含めると、両方のボードの大半を占めるためです。この参照テーブルは、日付別のスナップショットではなく、ティッカーごとに一行を保持しています。そのため、スクリーニングではテーブル全体を読み込み、特定の日付だけで適格性が決まることはありません。過去45日以内に株式分割を実施したティッカーは、分割調整を行わずに除外します。株式分割は一株当たり価格を動かしますが、保有資産の価値は変えないためです。ベンダーのフィードが二つの異なる企業間で再割り当てした一つのシンボルも、名称で除外します。
- メガキャップ・パネル。 保有者が多い米国の大企業八社を固定したバスケットです。銘柄名は、そのパネルのSQLに記載しています。ボードと同じ対象期間、同じリターン計算方法を使いますが、売買代金によるスクリーニングの対象外です。
- 適用していない条件。 セクター・フィルター、時価総額の下限、指数採用銘柄であることの要件はありません。そのため、売買が活発な小型企業が大型企業と並んでボードに載ることがあります。順位は騰落率だけで決めています。だからこそ、売買代金の列を隣に表示しています。
一つのパネルに、対象期間と各ボードがスクリーニングしたユニバースの記録をすべて掲載しています。
| 初回セッション日 | 最終セッション日 | セッション数 | 登録企業数 | スクリーニング企業数 |
|---|---|---|---|---|
| Sep 16 | Oct 15 | 22 | 4068 | 1133 |
各数値の背後にある正確な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スクリーニングは、参照テーブルに時価総額が登録された4068ティッカーから始まり、売買代金、価格、セッション数の下限を満たした1133社で終了しました。両方の数値は、このページを更新するたびに保存されます。そのため、縮小したユニバースで実行された場合も記録に表示され、見落とされることはありません。
よくある質問
今月、上昇率が最も大きい銘柄はどれですか?
Oct 15までの期間では、時価総額が10億ドルを超える企業のうち、上昇率が最も大きかったのはKODの166%、次いでGRALの78.1%でした。このページの最初の表に上位十銘柄をすべて掲載しています。新たなセッションが終了するたびに更新されます。
今月、最も大きく下落した銘柄はどれですか?
CTVAが-84.4%で最も下落し、QUREの-48.1%が続きました。いずれも同じ22セッションを対象に測定しています。上昇銘柄の一覧と同じく、ドル売買代金の下限は10億ドルです。
月次リターンはどのように測定していますか?
ここでの月次リターンは、対象期間内における銘柄の最初の通常取引セッションの始値から、最後の通常取引セッションの終値までの変化です。分足データを基に算出しています。株価リターンであるため、配当は再投資していません。また、対象期間の前後に株式分割を実施した企業は、遡及調整せず対象から除外しています。
レバレッジETFは、なぜ株価変動銘柄の一覧から除外されるのですか?
レバレッジ型またはインバース型のファンドは、指数や単一銘柄の日次変動を倍増させます。そのため、企業固有の材料がない通常の相場日でも、単純な変動率ランキングの上位に入る可能性があります。これらを除外することで、事業会社に絞った一覧になります。レバレッジETFの仕組みでは、日次リセットと、1カ月保有した場合に生じるドリフトについて説明しています。
上記の各パネルは、SQLを付属させた保存済みクエリです。いずれかを開き、ドル売買代金の下限や対象期間を変更すれば、Strasmore terminalで同じテープを自分でスクリーニングできます。