Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor ·

ETFのレラティブ・ストレングスとアルファ帰属分析

ETFのレラティブ・ストレングスは二十セッションのリターンをSPYと比較して算出します。ベンチマークが適合した際、アルファ帰属が切片にどのような影響を与えるかを解説します。

ETFのレラティブ・ストレングス・ルールの仕組み

レラティブ・ストレングスとは、リターンそのものではなく比較指標である。ベンチマークが二十セッションで五%上昇した際、あるファンドが三%の上昇にとどまれば、そのレラティブ・ストレングスはマイナスとなる。逆にベンチマークが四%下落し、ファンドが一%の下落であれば、レラティブ・ストレングスはプラスである。ランキングの基準となる数値は超過リターンであり、一定期間におけるファンドの騰落率から、同期間のベンチマークの騰落率を差し引いたものである。これはセッションごとに測定される。

この運用には二つの選択肢がある。ルックバック期間はランキング算出に用いる過去のデータ範囲を決定し、二十セッションはおおよそ一カ月の取引期間に相当する。保有期間は、勝者となった銘柄をポートフォリオに組み入れる期間である。ルックバック期間と保有期間が同一の場合、ポートフォリオ全体が一カ月に一度入れ替わることになり、結果は開始日に大きく依存する。オーバーラップ・スリーブ(重複する運用枠)を用いることで、この依存関係を排除できる。同じルールを数セッションずつずらして複数運用し、それぞれに資金を配分することで、単一の開始日による賭けではなく、常にローリングするポートフォリオを構築できる。

以下のパネルでは、広範な市場、セクター、国際株式、金属ETFからなる九銘柄のユニバースに対し、直近二十一営業日の終値を用いて、正確に二十セッションのリターンを算出している。

クエリSPYに対する20セッションの収益率(9つのETFユニバース)
各数値の背後にある正確なSQL
WITH bounds AS
(
    SELECT
        min(d) AS first_day,
        max(d) AS last_day
    FROM
    (
        SELECT date AS d
        FROM global_markets.stocks_daily_aggs
        WHERE ticker = 'SPY'
          AND date >= today() - 120
        GROUP BY d
        ORDER BY d DESC
        LIMIT 21
    )
)
SELECT
    sleeve.ticker                            AS etf,
    sleeve.ret_pct                           AS return_pct,
    round(sleeve.ret_pct - bench.ret_pct, 2) AS excess_vs_spy_pct
FROM
(
    SELECT
        ticker,
        round((argMax(toFloat64(close), date) / argMin(toFloat64(close), date) - 1) * 100, 2) AS ret_pct
    FROM global_markets.stocks_daily_aggs
    WHERE ticker IN ('QQQ', 'IWM', 'XLK', 'XLE', 'XLF', 'XLV', 'XLU', 'GLD', 'EFA')
      AND date >= (SELECT first_day FROM bounds)
      AND date <= (SELECT last_day FROM bounds)
    GROUP BY ticker
) AS sleeve
CROSS JOIN
(
    SELECT
        round((argMax(toFloat64(close), date) / argMin(toFloat64(close), date) - 1) * 100, 2) AS ret_pct
    FROM global_markets.stocks_daily_aggs
    WHERE ticker = 'SPY'
      AND date >= (SELECT first_day FROM bounds)
      AND date <= (SELECT last_day FROM bounds)
) AS bench
ORDER BY excess_vs_spy_pct DESC
Run this yourself

ランキングの上位では、GLDが二十セッションで8.69%のリターンを上げ、SPYに対して6.34ポイントの超過となった。下位では、XLU-5.81ポイントであった。各行は二本のバーで構成され、ファンドの騰落率と、同期間のSPYの動きを差し引いた残差を示している。すべてのファンドは同一のベンチマークと期間で測定されるため、二本のバーの距離は9の全行で共通である。

アルファ帰属分析が実際に測定するもの

アルファ帰属分析は回帰分析である。戦略のリターン系列を一つ以上のベンチマークのリターン系列と並べ、散布図上に直線を引く。各ベンチマークの傾きはエクスポージャーであり、戦略がその対象とどれだけ連動しているかを示す。切片は、それらのエクスポージャーを考慮した後に残る部分であり、これがアルファと呼ばれる。決定係数(R二乗値)は三番目の数値で、戦略の変動のうちベンチマークで説明できる割合を示し、〇%(説明不可)から一〇〇%(戦略はベンチマークと定数のみ)の間で推移する。

回転売買ルールを単一の広範な市場指数に対して回帰させると、通常は独自性があるように見える。二〇二六年八月に公開され、決定論的な合成価格で実行されたこの形状のルールの帰属分析では、単一ベンチマークでのR二乗値は一四・〇%であった。戦略の変動の七分の六は説明されておらず、これが紙面上では独自性として読み取れる。ルールが実際に保有していたエクスポージャー(モメンタムへの傾斜や二銘柄保有によるセクター集中)の代替指標を組み込むと、R二乗値は六三・六%まで上昇し、切片は年率〇・三八%まで低下した。リターン系列とコードは同一でも、比較対象を変えるだけで結果は変わる。この戦略は、周知のエクスポージャーを借りていただけだった。

この研究は固定されたシード値から価格を生成するため、データベンダーを持たない読者でも掲載された数値をすべて再現できる。また、執筆時点では公開から数日しか経過しておらず、これほど若いプロジェクトは毎週変化する。数値を引用する際は、実行した正確なコミットやタグ付けされたリリースを明記すること。帰属分析の数値は、ファクターの代替指標やサンプル期間が変更されるたびに変動する。再現可能なバックテストツールに関する我々のノートでは、これと逆の視点から同様の習慣を扱っている。

この教訓は、ファクターモデルの用語を使わなくても理解できる。回帰分析の対象とするベンチマークによって、アルファの大きさは見かけ上決まる。切片を見る前に比較対象を選定し、なぜそれが適切な比較なのかを書き留めておくべきである。結果を見た後に選んだ比較対象は、比較の選択そのものを測定しているに過ぎない。

ETFのどれだけが既にベンチマークなのか

問題を予測するのに、完全なファクターモデルは必要ない。あるファンドの日次リターンを、同期間のSPYの日次リターンと並べ、相関係数を二乗する。これにより、ファンドの日々の変動のうち、単一の広範な市場ベンチマークですでに説明できる割合が算出される。

クエリ各ファンドの日次変動のうちSPYで説明可能な割合(過去2年間)
各数値の背後にある正確なSQL
WITH daily AS
(
    SELECT
        ticker,
        date,
        toFloat64(close) AS px,
        lagInFrame(toFloat64(close)) OVER (PARTITION BY ticker ORDER BY date ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_px
    FROM global_markets.stocks_daily_aggs
    WHERE ticker IN ('SPY', 'QQQ', 'IWM', 'XLK', 'XLE', 'XLF', 'XLV', 'XLU', 'GLD', 'EFA')
      AND date >= today() - 760
)
SELECT
    sleeve.ticker                                                AS etf,
    round(pow(corr(sleeve.fund_ret, bench.spy_ret), 2) * 100, 1) AS r_squared_vs_spy_pct
FROM
(
    SELECT ticker, date, px / prev_px - 1 AS fund_ret
    FROM daily
    WHERE prev_px > 0
      AND ticker != 'SPY'
) AS sleeve
INNER JOIN
(
    SELECT date, px / prev_px - 1 AS spy_ret
    FROM daily
    WHERE prev_px > 0
      AND ticker = 'SPY'
) AS bench USING (date)
GROUP BY sleeve.ticker
ORDER BY r_squared_vs_spy_pct DESC
Run this yourself

過去二年間において、QQQはこのユニバースで最も高い単一ベンチマークR二乗値(90.3%)を記録し、GLDは最も低い3.1%であった。このチャートの上位で構成されたスリーブは、異なるウェイト付けをしたベンチマークの言い換えに近く、ベンチマーク以外の何かを基準に測定された切片は、その差を静かに吸収してしまう。下位は、広範な市場には含まれていないリターン・ストリームを回転売買で追加できる領域であるが、同時に二銘柄のポートフォリオが分散投資とは呼べなくなる領域でもある。

主導銘柄はどの程度の頻度で入れ替わるか

ランキング・ルールは、ファンド間で意見が分かれた時にのみ選別機能を持つ。以下のパネルでは、各ファンドの暦月リターンを同期間のSPYと比較し、毎月、最強と最弱のスリーブを保持した場合を測定している。

クエリSPYに対する月別の最強および最弱スリーブ
各数値の背後にある正確なSQL
WITH monthly AS
(
    SELECT
        toStartOfMonth(date)           AS m,
        ticker,
        argMin(toFloat64(close), date) AS first_close,
        argMax(toFloat64(close), date) AS last_close
    FROM global_markets.stocks_daily_aggs
    WHERE ticker IN ('SPY', 'QQQ', 'IWM', 'XLK', 'XLE', 'XLF', 'XLV', 'XLU', 'GLD', 'EFA')
      AND date >= toStartOfMonth(today() - 400)
      AND date <  toStartOfMonth(today())
    GROUP BY m, ticker
)
SELECT
    formatDateTime(x.m, '%Y-%m')   AS month,
    argMax(x.ticker, x.excess_pct) AS leading_etf,
    round(max(x.excess_pct), 2)    AS leader_excess_pct,
    round(min(x.excess_pct), 2)    AS laggard_excess_pct
FROM
(
    SELECT
        sleeve.m      AS m,
        sleeve.ticker AS ticker,
        (sleeve.last_close / sleeve.first_close - 1) * 100
          - (bench.spy_last / bench.spy_first - 1) * 100 AS excess_pct
    FROM monthly AS sleeve
    INNER JOIN
    (
        SELECT
            m,
            first_close AS spy_first,
            last_close  AS spy_last
        FROM monthly
        WHERE ticker = 'SPY'
    ) AS bench USING (m)
    WHERE sleeve.ticker != 'SPY'
) AS x
GROUP BY x.m
ORDER BY x.m
Run this yourself

13カ月間のシリーズは、2025-07XLKが首位で始まった。直近の完全な月である2026-07では、最強スリーブはXLEでSPYに対し12.59ポイント、最弱は-5.7であった。二本の線の距離は、ランキング・ルールが拠り所とする分散である。線が接近する月は、選別がほぼ恣意的になる月であり、すべてのランキングで取引を行うルールは、そのたびに売買コストを支払うことになる。月次の区切りには注意が必要であり、月次リターンの測定方法でその慣習を解説している。

二銘柄への集中は真のリスクか

ボラティリティは、この問いに対する最も単純な回答である。このパネルでは、過去二年間における各ファンドの日次リターン変動を年率換算し、SPYを基準バーとして、それぞれの最悪の単一セッションとともに表示している。

クエリ年率換算ボラティリティおよび最悪の一セッション(過去2年間)
各数値の背後にある正確なSQL
WITH daily AS
(
    SELECT
        ticker,
        date,
        toFloat64(close) AS px,
        lagInFrame(toFloat64(close)) OVER (PARTITION BY ticker ORDER BY date ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_px
    FROM global_markets.stocks_daily_aggs
    WHERE ticker IN ('SPY', 'QQQ', 'IWM', 'XLK', 'XLE', 'XLF', 'XLV', 'XLU', 'GLD', 'EFA')
      AND date >= today() - 760
)
SELECT
    ticker                                                   AS etf,
    round(stddevSamp(px / prev_px - 1) * sqrt(252) * 100, 1) AS annual_vol_pct,
    round(min(px / prev_px - 1) * 100, 2)                    AS worst_day_pct
FROM daily
WHERE prev_px > 0
GROUP BY ticker
ORDER BY annual_vol_pct DESC
Run this yourself

XLKは年率27.7%で広範な側に位置し、最悪の単一セッションは-6.82%であった。一方、XLUは年率15.8%で狭小な側に位置する。二銘柄を同時に保有するルールは、この範囲から銘柄を選択するが、平均化は行わない。広範な側で生じる深いドローダウンは、帰属分析においてはスキルではなくエクスポージャーとして扱われる。低ボラティリティ・アノマリーのノートでは、同じチャートの狭小な側における長期的な記録を扱っている。

回転売買バックテストのための四つのチェック項目

一. 同日シグナルのリーク。二十セッションのランキングをセッション終了時に算出し、その終値で約定を記録する場合、テストは取引時点で保有していなかった情報に基づいて売買していることになる。セッションtまでのデータでランキングし、セッションtプラス一で約定させ、両バージョンを比較せよ。その差がリークの大きさである。ルックアヘッド・バイアスは、その差がどれほど大きくなるかを示している。
二. ファンドリストの生存者バイアス。現在存在するファンドのみで構成されたユニバースは、途中で閉鎖や合併したファンドを除外している。閉鎖はパフォーマンスの悪かった商品に集中する。生存者バイアスは、株式リストと同様にETFリストにも適用される。
三. ベンチマークの事前選定。最初の回帰分析を行う前に、ルールが保有すると予想されるエクスポージャーの代替指標を含め、比較対象を書き留めておくこと。切片は、事前にコミットしたベンチマークに対してのみ意味を持つ。
四. 集中度の直接測定。上位二銘柄を保有するランキング、上位四銘柄、そしてユニバース全体を均等配分するランキングをそれぞれ実行せよ。報告されたエッジの大部分が二銘柄バージョンに依存している場合、集中こそがポジションであり、ランキングはその集中を選択する手段に過ぎない。

FAQ

ETFのレラティブ・ストレングスとは何か?

レラティブ・ストレングスとは、一定のルックバック期間におけるファンドのリターンから、同期間のベンチマークのリターンを差し引いたものである。これに基づいてランキングを行うと、生の騰落率がプラスかマイナスかにかかわらず、ベンチマークを上回ったファンドが上位に来る。

アルファ帰属分析とは何か?

戦略のリターンを一つ以上のベンチマークのリターン系列に対して行う回帰分析である。傾きは戦略が持つエクスポージャーを測定し、切片はそれらのエクスポージャーを考慮した後に残るリターンである。この切片が、一般にアルファとして報告される数値である。

R二乗値が高いと戦略は悪いのか?

いいえ。R二乗値が高いことは、ベンチマークが戦略の変動の大部分を説明していることを意味し、これは品質ではなく重複に関する記述である。変化するのは切片であり、回帰分析で可視化されたエクスポージャーは、もはや独自性としてカウントされなくなる。

なぜ単一のポートフォリオではなく、オーバーラップ・スリーブを保有するのか?

二十セッションごとにリバランスする単一のポートフォリオでは、結果が開始日に依存してしまう。同じルールをずらして複数運用することで、その選択を平均化し、売買を特定の日付に集中させるのではなく、月全体に分散させることができる。


ここにあるすべてのパネルには、それを生成したSQLが付属している。一つを開き、独自のファンドリストに入れ替え、Strasmoreターミナルでランキングを再実行して、順位が変動する様子を確認せよ。

#etfs#momentum#quant#factor models#attribution