Quantify Investment research that keeps its history

Claims and assumptions

Methodologies reference claims; they do not contain them. A prose citation cannot be supported by two methodologies, contradicted by a replication, or superseded without editing every file that quotes it — an addressable claim can.

Claims

claim/cross-sectional-momentum-persists@1

Unassessed

Assets ranked on trailing returns exhibit continuation over three- to twelve-month horizons: past relative winners outperform past relative losers over the subsequent holding period.

Scope: Asserted by the source paper for a broad cross-section of individual US equities, 1965-1989. Its applicability to a nine-asset multi-asset ETF universe is not established by that paper and is exactly what the platform's own evidence bears on.

1 methodology version reference this claim. methodology/xsmom@1

Rests on: assumption/skip-most-recent-period@1, assumption/nyse-sessions@1

claim/hrp-diversifies-without-constraints@1

Unassessed

Hierarchical risk parity produces a diversified allocation without needing explicit per-asset weight constraints.

Scope: Any long-only multi-asset universe.

2 methodology versions reference this claim. methodology/hrp@1 · methodology/hrp@2

Rests on: assumption/sample-covariance@1

claim/hrp-outperforms-mvo-out-of-sample@1

Unassessed

Quasi-diagonalization of the correlation matrix followed by recursive bisection produces out-of-sample performance superior to mean-variance optimization, because it does not require inverting an ill-conditioned covariance matrix.

Scope: Asserted for portfolios of assets with broadly comparable risk. The source paper does not address universes containing a near-zero-variance instrument.

3 methodology versions reference this claim. methodology/hrp@1 · methodology/hrp@2 · methodology/hrp@3

Rests on: assumption/sample-covariance@1, assumption/nyse-sessions@1

Assumptions

Every defect in this platform's erratum history was an undeclared assumption — not a wrong claim and not missing evidence. The covariance estimator, the trading calendar, the execution lag, the constraint-precedence rule and the annualization basis were each a hidden choice that moved a published number. Declaring them is what turns "which files mention EWMA?" into "which methodologies depend on this assumption?"

assumption/adjusted-close-is-restated@1

data Validated by test

Vendor adjusted-close history is restated over time for splits and dividends, so a date range does not identify the data — only a content hash does.

If false: Two runs over the same declared period can see different numbers. Without a snapshot hash on the run record, an irreproducible result is indistinguishable from a reproducible one.

4 relationship(s), none adverse

depends on depends on depends on depends on assumption/adjusted-close-i... · methodology/hrp@1 · methodology/hrp@2 · methodology/hrp@3 · methodology/xsmom@1
Relationships as a table
SourceRelationTargetEffectDirectnessDetail
methodology/hrp@1 depends on assumption/adjusted-close-is-restated@1 none direct declared
methodology/hrp@2 depends on assumption/adjusted-close-is-restated@1 none direct declared
methodology/hrp@3 depends on assumption/adjusted-close-is-restated@1 none direct declared
methodology/xsmom@1 depends on assumption/adjusted-close-is-restated@1 none direct declared
Realized by
protocol.data_snapshot.content_hash

Recognized 2026-07-30 while separating protocol identity from run-time data binding: the realized panel hash belongs to the run, not the procedure.

assumption/declarations-name-their-realization@1

constraint policy Validated by test

Every declaration in the system identifies what realizes it, and the realization is checkable. A claim is realized by evidence, an assumption by tests, a methodology by the executor, a protocol by the runner, a calendar by its session generator, a policy by the publication engine, and a rule by a contract field or pipeline stage.

If false: A declarative system has two failure modes. Behaviour without declaration is a hidden choice that moves a published number while living nowhere in an artifact — the defect class of every erratum in this project. Declaration without behaviour is the complement: a declared rule that appears to take effect and does not, which is arguably worse because declaring it creates the belief that it is checked. Without this principle the system eliminates the first failure mode while accumulating the second.

0 relationship(s), none adverse

assumption/declarations-nam...
Relationships as a table
SourceRelationTargetEffectDirectnessDetail
Realized by
methodology.rules[].enforced_by
methodology.universe_filters[].enforced_by
assumption.validated_by
claim.depends_on

Introduced 2026-07-31 by finding/declared-rules-do-not-execute@1, which was itself surfaced by adding a second methodology family. The first four releases eliminated behaviour without declaration; this closes the complementary gap.

assumption/hard-bounds-beat-soft-turnover@1

constraint policy Validated by test

When a turnover cap and a weight ceiling conflict, the weight ceiling wins and realized turnover may exceed its cap.

If false: Resolving the conflict silently in executor code is a hidden degree of freedom: two implementations could resolve it opposite ways and both claim to run the same methodology. Resolving it the other way would publish a portfolio that violates its own stated constraints.

2 relationship(s), none adverse

depends on depends on assumption/hard-bounds-beat... · methodology/hrp@2 · methodology/hrp@3
Relationships as a table
SourceRelationTargetEffectDirectnessDetail
methodology/hrp@2 depends on assumption/hard-bounds-beat-sof... none direct declared
methodology/hrp@3 depends on assumption/hard-bounds-beat-sof... none direct declared
Realized by
methodology.contract.constraint_policy.soft_may_be_violated_to_satisfy_hard = True

Undeclared until 2026-07-30; discovered when apply_turnover_cap carried weights back over a declared 25% ceiling. Every override is now counted and reported in the execution audit.

assumption/nyse-sessions@1

market structure Validated by test

Returns are observed on NYSE regular sessions — Monday to Friday excluding exchange holidays — and there are 252 such sessions per year.

If false: A price panel joined across instruments with different calendars inherits the union. Forward-filling a five-session instrument onto a seven-day index manufactures zero-return observations that are not market data, deflating realized volatility and mis-scaling annualization.

4 relationship(s), none adverse

depends on depends on depends on depends on assumption/nyse-sessions@1 · methodology/hrp@3 · methodology/xsmom@1 · methodology/hrp@1 · methodology/hrp@2
Relationships as a table
SourceRelationTargetEffectDirectnessDetail
methodology/hrp@3 depends on assumption/nyse-sessions@1 none direct declared
methodology/xsmom@1 depends on assumption/nyse-sessions@1 none direct declared
methodology/hrp@1 depends on assumption/nyse-sessions@1 none inherited inherited via a referenced claim
methodology/hrp@2 depends on assumption/nyse-sessions@1 none inherited inherited via a referenced claim
Realized by
protocol.walk_forward.calendar = nyse@1
calendar.weekmask = [0, 1, 2, 3, 4]

Undeclared until 2026-07-30. BTC-USD forced a seven-day index and 31.1% of daily returns were weekend padding. See Erratum 2026-07-30-02.

assumption/one-session-execution-lag@1

execution Validated by test

Weights derived from data through session d are executable no earlier than session d+1.

If false: Applying weights on the session they were decided credits a strategy with a return it could not have traded. On the RAAAL regime-unrestricted variant this alone accounted for 11.15 of a 15.83 percentage-point overstatement, and the variant most dependent on it was the one promoted as best.

4 relationship(s), none adverse

depends on depends on depends on depends on assumption/one-session-exec... · methodology/hrp@1 · methodology/hrp@2 · methodology/hrp@3 · methodology/xsmom@1
Relationships as a table
SourceRelationTargetEffectDirectnessDetail
methodology/hrp@1 depends on assumption/one-session-execution-lag@1 none direct declared
methodology/hrp@2 depends on assumption/one-session-execution-lag@1 none direct declared
methodology/hrp@3 depends on assumption/one-session-execution-lag@1 none direct declared
methodology/xsmom@1 depends on assumption/one-session-execution-lag@1 none direct declared
Realized by
protocol.transaction_costs.execution_lag_days = 1

Violated in production until 2026-07-30. See Erratum 2026-07-30-01.

assumption/sample-covariance@1

estimation Validated by test

An equal-weighted sample covariance over the lookback window is an adequate estimator for correlation-based hierarchical clustering.

If false: The source paper does not specify an estimator. Two faithful implementations differing only on this point produce different allocations and different published returns — a 0.50% divergence was measured between the sample and exponentially-weighted variants of the same methodology. This is the non-standard error Menkveld et al. (2024) measured across 164 teams.

3 relationship(s), none adverse

depends on depends on depends on assumption/sample-covariance@1 · methodology/hrp@1 · methodology/hrp@2 · methodology/hrp@3
Relationships as a table
SourceRelationTargetEffectDirectnessDetail
methodology/hrp@1 depends on assumption/sample-covariance@1 none direct declared
methodology/hrp@2 depends on assumption/sample-covariance@1 none direct declared
methodology/hrp@3 depends on assumption/sample-covariance@1 none direct declared
Realized by
methodology.params.covariance_estimator = sample

Undeclared until 2026-07-30. Discovered when a spec-driven evaluation diverged from the engine by 0.50% with no other difference.

assumption/skip-most-recent-period@1

estimation Validated by test

The most recent period is excluded from the momentum formation window, because short-horizon reversal contaminates the continuation signal.

If false: An implementation without the skip measures a different effect. The source literature reports that including the most recent month materially weakens or reverses the result, so two implementations differing only on this point are not testing the same claim.

1 relationship(s), none adverse

depends on assumption/skip-most-recent... · methodology/xsmom@1
Relationships as a table
SourceRelationTargetEffectDirectnessDetail
methodology/xsmom@1 depends on assumption/skip-most-recent-period@1 none direct declared
Realized by
methodology.params.skip = 21

Declared at first publication of the momentum lineage rather than discovered by defect — the first assumption in this project to be declared proactively.