ETF relative strength at alpha attribution paliwanag
Alamin kung paano niraranggo ang mga ETF gamit ang 20-session return laban sa SPY. Suriin ang epekto ng alpha attribution sa intercept kapag tugma ang benchmark sa portfolio.
Paano gumagana ang ETF relative strength rule
Ang relative strength ay isang paghahambing, hindi isang return. Ang isang fund na tumaas ng 3% sa loob ng 20 sessions habang ang benchmark ay tumaas ng 5% ay may negatibong relative strength. Ang isang fund na bumaba ng 1% habang ang benchmark ay bumaba ng 4% ay may positibong relative strength. Ang numerong pinagbabasehan ng ranking ay ang excess return: ang percentage change ng fund sa loob ng isang takdang window, ibinawas ang percentage change ng benchmark sa parehong window, na sinusukat session-by-session.
Dalawang pagpipilian ang nakasalalay dito. Ang lookback ang nagtatakda kung gaano karaming kasaysayan ang nakikita ng ranking, kung saan ang 20 sessions ay humigit-kumulang isang buwan ng trading. Ang holding period naman ang nagtatakda kung gaano katagal mananatili ang isang winner sa portfolio. Kapag pareho ang dalawang ito, ang buong portfolio ay nag-o-overturn sa isang petsa bawat buwan at ang buong resulta ay nakadepende sa kung anong petsa ka nagsimula. Inaalis ng overlapping sleeves ang dependensiyang ito: magpatakbo ng ilang kopya ng parehong rule na may pagitan na ilang sessions, ilaan ang bawat isa sa maliit na bahagi ng kapital, at ang pinagsamang portfolio ay magkakaroon ng rolling mix sa halip na isang taya na nakadepende sa iisang start-date.
Ang panel sa ibaba ay nagpapatakbo ng ranking step sa isang universe na may siyam na ETF na binubuo ng broad-market, sector, international, at metals, gamit ang huling 21 daily closes para ang return ay sumaklaw ng eksaktong 20 sessions.
Ang eksaktong SQL sa likod ng bawat numero
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 DESCSa tuktok ng ranking, ang GLD ay nagbigay ng 8.69% sa loob ng 20 sessions na iyon, 6.34 points laban sa SPY. Sa ilalim, ang XLU ay nasa -5.81 points. Ang bawat row ay nagdadala ng buong ideya sa dalawang bar: kung ano ang ginawa ng fund, at kung ano ang natira matapos ibawas ang galaw ng SPY sa parehong window. Ang distansya sa pagitan ng dalawang bar ay parehong numero sa lahat ng 9 rows, dahil ang bawat fund ay sinusukat laban sa iisang benchmark sa iisang window.
Ano ang tunay na sinusukat ng alpha attribution
Ang alpha attribution ay isang regression. Ihanay ang return series ng estratehiya laban sa isa o higit pang benchmark return series at gumuhit ng tuwid na linya sa scatter plot. Ang slope sa bawat benchmark ay isang exposure: kung gaano kalaki ang galaw ng estratehiya na sumasabay sa asset na iyon. Ang intercept ay ang natira matapos bayaran ang mga exposure na iyon, at ang natirang ito ang tinatawag na alpha. Ang R squared ang ikatlong numero, ang bahagi ng variation ng estratehiya na naipapaliwanag ng benchmark series, mula 0% (walang naipapaliwanag ang mga benchmark) hanggang 100% (ang estratehiya ay ang mga benchmark plus isang constant).
I-regress ang isang rotation rule laban sa isang broad-market series at karaniwang magmumula itong orihinal. Sa nai-publish na attribution ng isang rule na may ganitong anyo, na open-sourced noong Agosto 2026 at pinatakbo sa deterministic synthetic prices, ang single-benchmark fit na iyon ay nagbunga ng R squared na 14.0%. Anim sa pitong bahagi ng variation ng estratehiya ang hindi naipaliwanag, na sa pahina ay nababasa bilang pagiging orihinal. Ang pagpapalit ng mga proxy para sa mga exposure na hawak talaga ng rule, gaya ng momentum tilt at sector concentration na dala ng two-name book, ay nag-angat sa R squared sa 63.6% at nagbaba sa intercept sa 0.38% kada taon. Parehong return series at parehong code. Ibang comparison set lang. Ang estratehiya ay umuupa lamang ng mga kilalang exposure.
Ang pag-aaral na iyon ay bumubuo ng sarili nitong mga presyo mula sa isang fixed seed, kaya ang isang reader na walang data vendor ay kayang kopyahin ang bawat figure na ipinapakita nito. Ilang araw pa lamang din ito noong isinulat, at ang isang proyekto na kasing-bata nito ay nagbabago linggu-linggo. I-pin ang eksaktong commit o tagged release na pinatakbo mo bago mag-quote ng numero mula rito: ang mga attribution figure ay nagbabago tuwing nagbabago ang factor proxies o ang sample window. Ang aming note sa reproducible backtest tooling ay sumasaklaw sa parehong gawi mula sa kabilang panig.
Ang aral ay nananatili kahit walang factor-model vocabulary. Ang benchmark na ginagamit mo sa regression ang nagtatakda kung gaano kalaki ang alpha na tila mayroon ka, kaya piliin ito bago mo tingnan ang intercept at isulat kung bakit ito ang tamang paghahambing. Ang comparison set na pinili matapos makita ang resulta ay sumusukat lamang sa pagpili ng paghahambing.
Gaano kalaki sa isang ETF ang benchmark na mismo
Hindi mo kailangan ng full factor model para makita ang problemang darating. Kunin ang daily returns ng isang fund, ihanay ang mga ito laban sa daily returns ng SPY sa parehong sessions, at i-square ang correlation. Ibinibigay nito ang bahagi ng day-to-day variation ng fund na naipapaliwanag na ng isang broad-market benchmark.
Ang eksaktong SQL sa likod ng bawat numero
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 DESCSa nakalipas na dalawang taon, ang QQQ ang may pinakamataas na single-benchmark R squared sa universe na ito sa 90.3%, at ang GLD ang pinakamababa sa 3.1%. Ang isang sleeve na binuo mula sa mataas na dulo ng chart na iyon ay malapit sa pagiging restatement ng benchmark sa ilalim ng ibang weighting, at anumang intercept na sinukat laban sa ibang bagay maliban sa benchmark ay tahimik na hihigupin ang pagkakaiba. Ang mababang dulo ang lugar kung saan ang isang rotation ay maaaring magdagdag ng return stream na wala pa sa broad market, at ito rin ang punto kung saan ang isang two-name book ay humihinto sa pagiging diversified portfolio.
Gaano kadalas nagbabago ang nangungunang fund
Ang isang ranking rule ay mayroon lamang pagpipilian kapag hindi nagkakasundo ang mga fund. Ang panel sa ibaba ay sumusukat sa calendar-month return ng bawat fund laban sa SPY sa parehong buwan, pagkatapos ay pinapanatili ang pinakamalakas at pinakamahinang sleeve para sa bawat buwan.
Ang eksaktong SQL sa likod ng bawat numero
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.mSa loob ng 13 na buwan, ang series ay nagsimula noong 2025-07 kung saan ang XLK ang nangunguna. Sa pinakahuling kumpletong buwan, 2026-07, ang pinakamalakas na sleeve ay XLE sa 12.59 points laban sa SPY, habang ang pinakamahina ay nasa -5.7. Ang distansya sa pagitan ng dalawang linya ay ang dispersion na kinakain ng isang ranking rule. Ang mga buwan kung saan ang mga linya ay nagdidikit ay mga buwan kung saan ang sort ay halos arbitraryo, at ang isang rule na nagte-trade sa bawat ranking ay nagbabayad ng turnover sa lahat ng ito. Ang mga hangganan ng buwan ay nararapat na bigyan ng sariling atensyon dito; ang kung paano sinusukat ang monthly returns ay nagpapaliwanag sa mga kombensyong ito.
Ang two-name concentration ba ang tunay na panganib?
Volatility ang pinakasimpleng bersyon ng tanong na iyon. Ang panel na ito ay ginagawang annualized ang daily return variation ng bawat fund sa loob ng parehong dalawang taon at dala ang SPY bilang reference bar, kasama ang pinakamalalang single session na naitala ng bawat isa.
Ang eksaktong SQL sa likod ng bawat numero
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 DESCAng XLK ay nasa malawak na dulo sa 27.7% annualized, na may pinakamalalang single session na -6.82%, at ang XLU sa makitid na dulo sa 15.8%. Ang isang rule na humahawak ng dalawang pangalan sa bawat pagkakataon ay kumukuha mula sa range na ito nang hindi nag-a-average, at ang mas malalim na drawdown na kasama ng malawak na dulo ay lumalabas sa attribution bilang exposure sa halip na bilang galing. Ang note sa low volatility anomaly ay sumasaklaw sa long-run record sa makitid na dulo ng parehong chart.
Apat na pagsusuri para sa iyong sariling rotation backtest
- Same-day signal leakage. Kung ang 20-session ranking ay kinakalkula hanggang sa close ng isang session at ang fill ay naka-book sa parehong close, ang test ay nagte-trade sa impormasyong wala pa sa kanya noong sandali ng trade. Mag-rank gamit ang data hanggang session t, mag-fill sa session t plus one, at ihambing ang dalawang bersyon: ang puwang sa pagitan nila ang laki ng leak. Ipinapakita ng Look-ahead bias kung gaano kalaki ang puwang na iyon.
- Survivorship sa listahan ng fund. Ang isang universe na binuo mula sa mga fund na umiiral ngayon ay nag-aalis ng bawat fund na nagsara o nag-merge sa daan, at ang mga pagsasara ay nagkukumpulan sa mga produktong may pinakamalalang performance. Ang Survivorship bias ay nalalapat sa listahan ng ETF gaya ng sa listahan ng stock.
- Benchmark na pinili nang maaga. Isulat ang comparison set bago ang unang regression, kasama ang mga proxy para sa mga exposure na inaasahan mong hawakan ng rule. Ang intercept ay may kahulugan lamang laban sa isang benchmark na pinagkasunduan mo nang maaga.
- Concentration na sinukat nang direkta. Patakbuhin ang parehong ranking na humahawak ng top two names, pagkatapos ay top four, at pagkatapos ay equal weight ng buong universe. Kung ang karamihan sa naiulat na edge ay nasa two-name version, ang concentration ang posisyon, at ang ranking ay paraan lamang ng pagpili kung anong concentration ang kukunin.
FAQ
Ano ang ETF relative strength?
Ang relative strength ay ang return ng isang fund sa loob ng isang fixed lookback na ibinawas ang return ng isang benchmark sa parehong window. Ang ranking na naka-sort dito ay naglalagay sa mga fund na humigit sa benchmark sa itaas, anuman ang positibo o negatibo ang kanilang raw returns.
Ano ang alpha attribution?
Ito ay isang regression ng returns ng isang estratehiya laban sa isa o higit pang benchmark return series. Ang mga slope ang sumusukat sa mga exposure na dala ng estratehiya, at ang intercept ang return na natira matapos maipaliwanag ang mga exposure na iyon. Ang intercept na iyon ang numerong karaniwang iniuulat bilang alpha.
Ang mataas bang R squared ay nangangahulugang masama ang isang estratehiya?
Hindi. Ang mataas na R squared ay nangangahulugang ang mga benchmark ang nagpapaliwanag sa karamihan ng variation ng estratehiya, na isang pahayag tungkol sa overlap sa halip na sa kalidad. Ang nagbabago ay ang intercept: ang mga exposure na nakikita na ng regression ay hindi na binibilang bilang pagiging orihinal.
Bakit humahawak ng overlapping sleeves sa halip na isang portfolio?
Ang isang solong portfolio na nire-rebalance tuwing 20 sessions ay nagpapadepende sa resulta sa start date. Ang pagpapatakbo ng ilang staggered na kopya ng parehong rule ay nag-a-average sa pagpiling iyon at nagkakalat ng turnover sa buong buwan sa halip na ipunin ito sa isang petsa.
Ang bawat panel dito ay may kasamang SQL na gumawa nito. Magbukas ng isa, maglagay ng sarili mong listahan ng fund, at i-run muli ang ranking sa Strasmore terminal para makita ang pagbabago sa pagkakasunod-sunod.