Strasmore Research
学習 Matt Connor著者: Matt Connor

端数株の約定とテープへの記録ルールを解説

端数株は整数株として統合テープに記録されてきましたが、二千二十六年二月二十三日のルール変更により出来高データに不連続性が生じました。本記事では、端数注文が市場でどのように処理され、公的な取引量にどのような影響を与えているのか、その仕組みと変更点を詳しく解説します。

端数株は、整数株の約定として統合テープに記録されます。2026年2月23日まで、この変換は二方向に同時に行われていました。1株未満の取引は1株に切り上げられ、1株を超える取引の端数は切り捨てられていました。この日付をまたぐ出来高データには不連続性が生じており、端数注文が一般的な銘柄では、過去の数値が両方向に誤っていたことになります。

端数株の注文はどのように約定(プリント)されるのか

180ドルで気配値がついている銘柄を50ドル分注文すると、0.2778株の注文となります。取引所の板でこの数量を受け付けるところはありません。取引所は整数株でマッチングを行い、ナショナル・ベスト・ビッド・アンド・オファー(NBBO)を決定する気配値も、100株単位の売買単位(ラウンドロット)のみを対象とします。このルールについては、オッドロットの気配値ページを参照してください。

証券会社は、自社の帳簿上でこのギャップを埋めます。顧客全体の端数需要をネッティング(相殺)し、整数部分を単一の注文として市場に送出し、端数分は自己勘定(プリンシパル)として顧客の口座に割り当てます。つまり、端数取引の相手方は証券会社自身です。公的なテープに記録される約定は、証券会社が市場に送出した整数株数となります。あなたの0.2778株は口座明細には記載されますが、その日の公表出来高には含まれません。

まずこの事実を理解してください。端数取引の大部分は、これまで公的な出来高として可視化されていませんでした。可視化されているのは、その代わりとなる集約された整数株の注文と、直接テープに送られるごく少数の端数報告のみです。

2026年2月23日に何が変わったのか

数量フィールド自体の形式が変更されました。現在、約定報告には小数点以下6桁までの株数が含まれ、切り上げではなく切り捨てが行われるため、0.142857株という報告がそのまま公表可能です。それ以前は、報告される数量はすべて整数である必要があり、その丸めルールは対称的ではありませんでした。

  • 1株未満の場合、数量は1株に切り上げられました。実際には取引されていない出来高が発生していました。
  • 1株以上の場合、端数は切り捨てられました。2.7株の報告は2株として公表されました。

両方の歪みが同じフィールドに、逆方向で混在していました。約定件数もこの影響を受けました。切り上げられた1株未満の報告は、その日の取引件数において1件の整数約定としてカウントされます。端数取引が多い銘柄で長年のデータを積み上げると、公表された出来高は過大になったり、過小になったり、あるいは偶然正しくなったりしますが、データ自体からはその判別ができません。

この変化は、小口約定サイズの分布に現れます。以下のパネルは、2026年1月初旬と7月初旬のそれぞれ五セッションを対象に、AAPLの26株未満の全約定件数を集計したものです。0の行は1株未満の全約定を示しています。

クエリAAPLの小口取引サイズ:2026年1月の五セッションと2026年7月の五セッションの比較
各数値の背後にある正確なSQL
SELECT
    scaffold.shares                        AS shares,
    toUInt64(ifNull(t.jan_prints, 0))      AS prints_early_january,
    toUInt64(ifNull(t.jul_prints, 0))      AS prints_early_july
FROM
(
    SELECT toUInt32(arrayJoin(range(0, 26))) AS shares
) AS scaffold
LEFT JOIN
(
    SELECT
        toUInt32(floor(toFloat64(size)))                 AS shares,
        countIf(sip_timestamp <  '2026-02-01 00:00:00')  AS jan_prints,
        countIf(sip_timestamp >= '2026-07-01 00:00:00')  AS jul_prints
    FROM global_markets.stocks_trades
    WHERE ticker = 'AAPL'
      AND ((sip_timestamp >= '2026-01-05 00:00:00' AND sip_timestamp < '2026-01-10 00:00:00')
        OR (sip_timestamp >= '2026-07-06 00:00:00' AND sip_timestamp < '2026-07-11 00:00:00'))
      AND toFloat64(size) < 26
    GROUP BY shares
) AS t ON t.shares = scaffold.shares
ORDER BY shares
Run this yourself

1株のバケットには、1月の期間に1360015件、7月の期間に331200件の約定があり、7月の2株の約定は132674件でした。1株未満の行は、1月に2件、7月に1191620件となっています。1月の期間中に報告された1株未満の取引はすべて1行上にあり、1株としてカウントされています。

端数株とオッドロットの違い

これらは混同されがちですが、異なる除外対象です。オッドロットとは100株未満の整数株注文のことです。ラウンドロットは100株であり、保護された気配値の構成単位です。オッドロットは公的なテープに記録され、独自の約定条件コードを持ち、出来高にも含まれます。単にNBBOを更新しないだけです。端数数量はこれとは別の概念であり、1株未満を指します。

すべての端数約定はオッドロットでもありますが、オッドロットのほとんどは端数ではありません。以下のパネルは、2026年7月の三セッションにおいて、主要6銘柄の約定に占めるオッドロットの割合を分類したものです。

クエリ2026年7月8日から10日までの六銘柄における端株、売買単位株、および1株未満の取引
各数値の背後にある正確なSQL
SELECT
    ticker,
    round(100 * countIf(toFloat64(size) >= 1 AND toFloat64(size) < 100) / count(), 1) AS odd_lot_pct,
    round(100 * countIf(toFloat64(size) >= 100) / count(), 1)                         AS round_lot_pct,
    countIf(toFloat64(size) < 1)                                                      AS sub_one_share_prints
FROM global_markets.stocks_trades
WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'KO', 'PG', 'SPY')
  AND sip_timestamp >= '2026-07-08 00:00:00'
  AND sip_timestamp <  '2026-07-11 00:00:00'
GROUP BY ticker
ORDER BY odd_lot_pct DESC
Run this yourself

オッドロットの割合順に並べると、SPY74.1%からKO39%までとなります。最後の列は1株未満の約定件数で、同三セッションで211801SPYとなっています。オッドロットは一般的ですが、端数約定はその上に乗る微細な存在です。

なぜ出来高カラムが突然小数になったのか

株数は30年間整数であり、すべてのシステムがそれを前提としていました。小数点以下6桁への変更は、この前提を静かに崩しました。フィールドを整数として解析するリーダーは、行を拒否するか、0.5を0に切り捨てます。整数型として定義されたカラムも同様です。取引データを独自に保持している場合、数量フィールドには少なくとも小数点以下6桁を保持できる型が必要であり、その上に構築されるすべての合計値も同じ精度を必要とします。

出来高データの健全性を確認する最も安価な方法は、平均約定サイズ(出来高をその日の約定件数で割ったもの)を見ることです。これは短期間であれば銘柄内で安定しているため、急激な変化を容易に発見できます。以下は、変更前後を挟む二週間のAAPLのデータです。

クエリ2026年2月の境界期間におけるAAPLの平均取引サイズ
各数値の背後にある正確なSQL
SELECT
    toString(date)                                        AS session_date,
    formatDateTime(date, '%b %e')                         AS session_label,
    round(sum(toFloat64(volume)) / sum(transactions), 1)  AS shares_per_print,
    round(sum(toFloat64(volume)) / 1000000, 1)            AS volume_millions
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'AAPL'
  AND date >= '2026-02-09'
  AND date <= '2026-03-06'
GROUP BY date
HAVING sum(transactions) > 0
ORDER BY date
Run this yourself

AAPLの平均約定サイズは、Feb 9には出来高44.6百万株に対し1約定あたり61.3株でしたが、Mar 6には66.2株となりました。この程度の日常的な変動は普通ですが、2月23日の変更は取引量ではなく、数量の記述方法を変えたものです。

データ系列が境界をまたぐときに変動する数値

出来高で正規化された指標はすべて、この不連続性を引き継ぎます。確認すべき四つの指標は以下の通りです。

  • 相対出来高:当日の出来高と過去の平均との比較。遡及期間が2026年2月23日をまたぐ場合、比率の両側で異なるルールが適用されています。計算式は相対出来高ページを参照してください。
  • VWAP(出来高加重平均価格):各約定を数量で加重します。切り上げられた1株未満の約定は、本来よりも大きな重み付けがなされていました。VWAPの計算方法を参照してください。
  • 分足および日足:期間内の約定サイズを合計して作成されます。OHLCVバーの構築方法で集計プロセスを解説しています。
  • 売買代金および流動性指標:数年にわたる価格変動を売買代金で割る指標です。

2026年2月23日は、価格履歴におけるコーポレートアクションと同様に扱うべきです。つまり、平滑化すべき不具合ではなく、ラベル付けされた不連続点として扱ってください。価格履歴も同様の問題を抱えており、分割調整済み価格履歴ページで解説しています。境界線がどこにあるかを明示せずに、変更前後の出来高を同一軸上にプロットしてはいけません。

長期的な平均約定サイズを見ると、この点が明確になります。これは銘柄ごとに独自のスケジュールで市場構造とともに推移します。

クエリ2025年9月から2026年7月までの月別平均取引株数
各数値の背後にある正確なSQL
SELECT
    toString(m)                                                   AS month,
    formatDateTime(m, '%b %Y')                                    AS month_label,
    round(sumIf(vol, sym = 'AAPL') / sumIf(trades, sym = 'AAPL'), 1) AS aapl_shares_per_print,
    round(sumIf(vol, sym = 'MSFT') / sumIf(trades, sym = 'MSFT'), 1) AS msft_shares_per_print,
    round(sumIf(vol, sym = 'KO')   / sumIf(trades, sym = 'KO'), 1)   AS ko_shares_per_print
FROM
(
    SELECT
        toStartOfMonth(date)  AS m,
        ticker                AS sym,
        toFloat64(volume)     AS vol,
        transactions          AS trades
    FROM global_markets.stocks_daily_aggs
    WHERE ticker IN ('AAPL', 'MSFT', 'KO')
      AND date >= '2025-09-01'
      AND date <  '2026-08-01'
)
GROUP BY m
ORDER BY m
Run this yourself

AAPLの平均約定サイズはSep 202591.4株、Jul 202654.9株でしたが、KOは最終月に61.8株でした。三つの系列は異なる水準にあり、範囲全体で共通のステップはありません。月次の出来高系列では、報告ルールの変更点は確認できません。カレンダーがそれを示しており、日付を明記しておく価値があるのはそのためです。

ウィンドウと除外事項
  • 1月のウィンドウは2026年1月5日から1月9日までの五セッション。7月のウィンドウは2026年7月6日から7月10日までの五セッション。いずれもSQLで固定されており、新しいデータが追加されてもパネルは変動しません。
  • 6銘柄のパネルは2026年7月8日から7月10日までの三セッションを対象とし、取引所や条件を問わず全約定をカウントしています。
  • 取引データはわずかな遅延を伴って到着するため、ここでのウィンドウはすべて過去のデータに基づいています。

FAQ

取引所で端数株を購入できますか?

いいえ。取引所の板は整数株のみを受け付けます。端数注文は、証券会社が顧客の需要をネッティングし、整数部分を市場に送出した後、自社の在庫から約定させます。端数分は、あなたと証券会社間の自己勘定取引です。

端数数量はいつからテープに現れ始めましたか?

2026年2月23日です。この日以降、約定報告には小数点以下6桁までの数量が含まれ、切り上げではなく切り捨てが行われています。それ以前は、報告される数量はすべて整数でした。

過去の出来高数値は誤っていましたか?

端数取引が活発な銘柄では、両方向に同時に誤っていました。1株未満の報告は1株に切り上げられて出来高が増加し、1株を超える報告は切り捨てられて出来高が減少していました。これらが相殺される規則性はありません。

端数株取引はオッドロットと同じですか?

いいえ。オッドロットは100株未満の整数株数量であり、数十年前からテープに記録されています。端数数量は1株未満です。すべての端数約定はオッドロットですが、その逆はほぼありません。

2026年2月の境界をまたいで出来高をチャート化する最も安全な方法は?

ラベルを付けてください。数量は小数点以下6桁を保持できる型で管理し、境界をまたぐ系列には日付をマークし、遡及平均を算出する際はその旨を明記してください。


ここにある各パネルの下にはSQLが記載されています。Strasmoreターミナルでパネルを開き、ティッカーや期間を変更して、ご自身で約定件数をカウントしてください。