Objective
Teach the levered path-return layer to use already-imported __SYNTHETIC_LEVERED_<BASE>_<L>X__ series only under an explicit modeled-history policy. Default behavior stays live OHLCV plus existing Testfol SIM merge. Live LETF returns win overlap. Report outputs label the ideal daily-reset/DFF method.
Approach
research/levered_path_returns.pyacceptsmodeled_historyoff(default) orsynthetic_levered. Merge order is synthetic, then Testfol SIM, then live so live wins every overlap month.- Ambiguous live tickers such as DRN are not silently proxied; a unique registry path or explicit base/leverage is required.
- Origin method and funding come from
sim_series_meta.origin_column(daily_reset_linear/v1+ DFF, ortestfol_daily/v1JSON). - Catalog, Meta, and weighted-Meta producers pass
modeled_history=synthetic_leveredand writemodeled_history.policyplus window-rule disclosure. Report/read paths do not mutatedata/market.sqlite.
Results
- Focused path-return tests cover default-off, live-over-synthetic overlap, no silent DRN proxy, and compose disclosure of
daily_reset_linear/v1+ DFF. docs/site-data/catalog-leverage.jsonrecordsmethod_id=substitute-path-returns/v1andmodeled_history.policy=synthetic_levered.- Catalog/Meta rebuild changed 73 of 336 L>1 levels; example: faber-sector-rs L=2 window is 303 months (
1993-12–2026-07). Weighted-Meta collapsed-cohort windows moved 54/49 → 127/136 months.
Validation
python3 -m pytest -q tests/test_levered_path_returns.py tests/test_catalog_leverage.py tests/test_catalog_leverage_meta.py tests/test_catalog_leverage_weighted_meta.py— controller receipt check-1 passed.python3 -m pytest -q tests/test_levered_path_returns.py— controller receipt check-2 passed (temporal overlap/causality).python3 -m research.reports.resultsandpython3 research/scripts/check_static_reports.py docsrebuild the public changelog and static bundle.
Web plan
Existing catalog.html leverage select and Meta/CW <em>-lev-</em> pages remain the discoverable entry. No new modeled-history toggle: a user-operated opt-in would imply tradable pre-IPO LETF history. Producers opt in explicitly; pages already linked from catalog/Meta navigation. Public JSON is producer-owned. Modeled prefixes are labeled estimates, not native LETF history.
Limitations
Synthetic prefixes can differ from live LETF returns because of tracking error, index construction, fees, swaps, taxes, and later provider revisions. Missing or ambiguous synthetic series fail closed rather than substituting another proxy.