Match Factor Exposure

Find long-only ETF weights that minimize the squared gap between the basket's and target fund's factor betas. Compare tracking error to see how their returns differed over the fitted period.

On this page

What it answers

  • The weights table shows a long-only mix whose factor exposures are closest to the target's.
  • Factor exposures and tracking error compare the basket with the target over the same historical window.
  • Active alpha and active R-squared show gaps the basket does not explain.

Test a larger replacement basketPro workflow

Free users can run smaller candidate sets. Pro raises the number of candidates you can compare.

How it works

Match Factor Exposure is the "Match a fund's factors" mode of the Portfolio Optimizer. It keeps its own engine, free-run limit, saved analyses, and share links.

The tool measures the target and each candidate against the same factors over one shared period. It finds nonnegative weights that sum to 100% and minimize the difference between their factor exposures and the target's.

If candidates have nearly identical factor profiles, several mixes can fit equally well. The tool chooses the one closest to equal weights without worsening the best fit, so the same inputs produce the same weights.

Inputs

  • Target ticker. One reference fund or ETF.
  • Candidate tickers. Two to twenty-five tickers subject to the requesting account's configured cap. The tool rejects duplicates and overlap with the target. Synthetic tickers and uploaded series are outside the tool's supported input set.
  • Factor model. CAPM, Fama-French 3, Carhart 4, Fama-French 5, FF5 plus momentum, or developed-market FF5 plus momentum. The tool refuses factor sets that use synthetic proxies.
  • Frequency. Daily, monthly, or annual. Lower frequencies smooth idiosyncratic noise but reduce the sample size.
  • Window. The dates and the return basis of the analysis line set the shared sample.

Reading the result

  • Solution weights. Nonnegative weights that sum to 100%, sorted from largest to smallest.
  • Beta distance. The combined gap between target and basket factor exposures. Smaller is closer.
  • Per-factor table. Target beta and achieved beta with standard errors, plus the difference. Achieved-beta standard errors propagate per-leg variances under an independence assumption between candidates. When candidates overlap heavily (such as VTI and VOO), this can understate uncertainty because the calculation does not include covariance between candidate estimates.
  • Tracking error (annualized). Standard deviation of the difference between target and reconstructed return series, scaled by the square root of annualization.
  • Active alpha (annualized). The factor-model alpha differential, computed as the target's regression alpha minus the weighted sum of candidate alphas, then annualized. This is not a return-on-return regression intercept.
  • Active R-squared. One minus the variance of (target minus reconstructed) over the variance of target. Bounds are negative infinity to one. Negative values mean the basket adds variance versus quoting the target's mean return. The UI reports the raw value instead of clamping, so a poor match stays visible.

Limits and caveats

  • Beta matching alone ignores idiosyncratic variance. Check the tracking-error chart alongside beta distance.
  • With near-collinear candidates (for example, VTI and VOO), many weight vectors achieve nearly the same beta distance. The tie-breaker stabilizes the answer, but the warning callout will tell you when this is happening.
  • The model is long-only with weights summing to one. Cash slack and long-short modes are outside its supported optimization set.
  • Candidate and daily-run limits come from the executable tier configuration, and the API enforces them.