Worked research note
The factor doppelgänger
A long-only ETF basket matched VOO's three-factor fingerprint closely in one full-sample case without becoming the same security.
Published Oct 11, 2026
At a glance
Over 120 monthly observations, a five-ETF basket matched VOO’s three-factor exposures with 0.18% annualized tracking error and 0.9999 return correlation in the same sample.
Nearly all weight fell in IVV and SPY. The factor matrix was rank-deficient, limiting what the fit says about a unique allocation. The match does not establish future tracking, identical holdings, or wash-sale equivalence.
Scope: The result depends on the target, candidate universe, three-factor model, monthly frequency, and selected historical window.
The fitted factor fingerprint was extremely close
The target is VOO. The candidate set is IVV, VTI, SCHB, ITOT, and SPY. All assets are estimated on the same Fama-French three-factor panel across 120 monthly observations from January 2016 through December 2025.
The solver's factor-beta distance was 0.000321926. Target-minus-achieved differences were 0.000281379 for market, -0.000129266 for size, and 0.000088049 for value. On these point estimates and this sample, the candidate basket closely reproduced the selected fingerprint.
Exhibit 01
Target-minus-achieved factor differences
The recorded beta distance and signed factor deltas from the committed VOO match.
These are full-sample factor-estimate differences. They do not measure holdings overlap, future tracking, or legal identity.
| Category | Factor difference |
|---|---|
| Market | +0.000281379 |
| Size | -0.000129266 |
| Value | +0.000088049 |
Source and construction: Recorded ArthaPilot Match Factor Exposure fixture; 120 monthly observations from 2016-01-31 through 2025-12-31; response hash 97a29cfbf989… .
How this figure was calculated
Inputs
- The target and achieved beta vectors in the recorded match-factor response.
- A total-return price series requested from 2016-01-04, which the engine resolved to a 2016-01-31 effective start.
- The same response's aggregate Euclidean beta distance.
Calculation
- For each factor, subtract the achieved beta from the target beta, preserving the sign reported in factor_table.diff.
- Read beta_distance as the response's aggregate distance across the three displayed differences.
Exact values behind the figure
| Series | Target minus achieved beta | Factor |
|---|---|---|
| Factor difference | Market | +0.000281379 |
| Factor difference | Size | -0.000129266 |
| Factor difference | Value | +0.000088049 |
The point-estimate match is close enough to justify the doppelgänger label for this analytical purpose: describing VOO's selected factor fingerprint over the shared history.
The label should not be stretched. A factor model compresses returns into three common drivers; it does not compare every holding, distribution, fee, mandate, or tax attribute.
The solution exposed redundancy in the candidate set
The basket assigned 28.1649% to IVV and 70.8459% to SPY. VTI received 0.0249%, ITOT 0.0319%, and SCHB 0.9324%. The output therefore relied on two near-total weights rather than spreading exposure evenly across five familiar broad-market funds.
The response also warned that the factor-beta matrix was rank-deficient after the sum-to-one constraint. The tie-breaker selected the optimum closest to equal weight among solutions at the primary factor-distance optimum. That warning is part of the finding, not implementation trivia.
Exhibit 02
The basket behind the match
The fitted long-only weights and the numerical warning that qualifies how uniquely they should be interpreted.
The chart shows the deterministic selected solution, not a uniquely identified economic portfolio. The response warns that the factor-beta system is rank-deficient.
| Category | Fitted weight |
|---|---|
| IVV | 28.165% |
| VTI | 0.025% |
| SCHB | 0.932% |
| ITOT | 0.032% |
| SPY | 70.846% |
Source and construction: Same recorded ArthaPilot response; lexicographic solver with factor distance first and an equal-weight-proximity tie-breaker.
How this figure was calculated
Inputs
- The five long-only candidate weights returned by the recorded solver response.
- The response warning describing rank deficiency after the sum-to-one constraint.
Calculation
- Convert each recorded decimal weight to percentage points by multiplying by 100.
- Display zero and small positions alongside the dominant weights so the fitted basket remains fully specified.
Exact values behind the figure
| Series | Portfolio weight | Candidate ETF |
|---|---|---|
| Fitted weight | IVV | 28.165% |
| Fitted weight | VTI | 0.025% |
| Fitted weight | SCHB | 0.932% |
| Fitted weight | ITOT | 0.032% |
| Fitted weight | SPY | 70.846% |
The candidate funds are themselves close substitutes at the factor-model level, so a low-dimensional target does not uniquely identify a diversified five-fund construction.
The tie-breaker makes the selected optimum deterministic. It does not turn an underidentified exposure problem into a unique economic portfolio.
Historical tracking was tight; identity is still the wrong conclusion
On the same full sample, annualized tracking error was 0.1822%, tracking correlation was 0.999927, active alpha was 0.0708%, and active R-squared was 0.999855. The factor match and the realized return path were both close in this case.
Those diagnostics are in sample: the same history supports the fit and the tracking description. No rolling estimation or next-window test is present. And none of these statistics determines whether the securities are substantially identical under wash-sale rules.
Exhibit 03
The residual ledger and its boundary
The recorded path-similarity statistics, followed by the legal and temporal claims they do not establish.
Both plotted statistics are in sample. A small realized residual does not establish next-window persistence or substantially identical status.
| Category | Recorded residual |
|---|---|
| Tracking error | 0.182% |
| Active alpha | 0.071% |
Note: Tracking correlation and active R-squared remain in the adjacent evidence table because they are unitless fit statistics.
Source and construction: Same recorded ArthaPilot response. Tax-scope boundary follows IRS Publication 550; no substantially-identical classification is generated.
How this figure was calculated
Inputs
- Annualized tracking error and active alpha from the recorded tracking object.
- Tracking correlation and active R-squared retained in the evidence table as complementary unitless diagnostics.
Calculation
- Convert tracking_error_annualized and active_alpha_annualized from decimals to percentage points.
- Keep correlation and R-squared in the table rather than putting unlike units on the same chart axis.
Exact values behind the figure
| Series | Annualized percentage points | Residual statistic |
|---|---|---|
| Recorded residual | Tracking error | 0.182% |
| Recorded residual | Active alpha | 0.071% |
The worked result supports a precise but limited statement: this long-only basket closely matched VOO's selected factor betas and return path over the recorded sample.
Rolling fits and next-window tracking are still required before making a persistence claim. Tax treatment remains a separate facts-and-circumstances inquiry even if that later evidence is strong.
Method and constraints
Method
The displayed VOO factor-match results reconcile to one archived request and result.
The note supports no rolling-persistence, future-tracking, holdings-identity, tax, or security-equivalence claim.
Assumptions held fixed
- The target is VOO and the candidate set is IVV, VTI, SCHB, ITOT, and SPY; the target itself cannot appear as a candidate.
- The factor model is Fama-French three factors over 120 monthly observations from 2016-01-31 through 2025-12-31.
- Candidate weights are long-only and sum to one. The solver minimizes beta distance first and applies its documented tie-breaker at that optimum.
- Tracking statistics use the same full historical sample as the fit; no rolling or held-out result is asserted.
Limitations
- The result depends on the target, candidate universe, three-factor model, monthly frequency, and selected historical window.
- The factor-beta system was rank-deficient after the sum-to-one constraint, so the displayed weights should not be read as uniquely determined economic exposures.
- The tracking diagnostics are in sample; rolling stability and next-window tracking are outside this note.
- The study does not determine tax, legal, or investment suitability, including whether securities are substantially identical under wash-sale rules.
Sources and prior research
- William F. Sharpe, Asset allocation: management style and performance measurement (1992)
Primary foundation for using constrained combinations of returns to describe a fund's return-based style.
- Eugene F. Fama and Kenneth R. French, Common risk factors in the returns on stocks and bonds (1993)
Primary factor-model research supporting common return drivers as a compact description of portfolio exposure.
- Internal Revenue Service, Publication 550: investment income and expenses (2025)
Authoritative wash-sale reference showing that substantially identical status is not resolved by a factor-distance calculation.
Evidence and reproducibility
factor-doppelganger-recorded-demo-fixture
A descriptive worked note reporting one full-sample VOO factor match, its fitted basket, numerical warning, and in-sample tracking diagnostics.
Evidence date: 2026-08-17. Basis and units are stated in each recorded fact.
note=51d6cb7b7f42275c61c0e34a37539fc8a6234b980131a234da959397441ffd8b; request=69ce06eb65ee81c5791289464c0f9fd0dd65710f225fd67add8ef05e98ea216a; response=97a29cfbf989d795ea908ade7aff1c922b016a55250ed07278631c47d61deae5
Source: web/src/data/research/portfolio/fixtures/match-factor-exposure.record.json. Versions: fixture1=69daa3e2f3fd5efe2faa78e6b08748eee1bc250c.
- A rolling or next-window persistence result
- A claim that the fitted weights are economically unique
- A conclusion about holdings identity, future tracking, or substantially identical status
Inspect the same question with your own inputs
- Match a factor profile Choose a target and candidate set, then inspect weights, factor deltas, tracking diagnostics, and warnings.
- Explain a portfolio's returns Estimate factor coefficients, confidence intervals, fit, and residual behavior for a saved portfolio.
- Compare full return paths Backtest the target and candidate portfolio on common dates with explicit rebalance and cost assumptions.