The UNION FAMILY LADDER — every configuration IN FULL (specs + all recorded numbers)
you add it, so that all data are in place").** Every union-family configuration stands here
COMPLETE — full ruleset and every recorded number — so nothing requires chasing deltas across
ledger entries. Result numbers are transcribed from the ledger (the append-only source of
truth); on any discrepancy the ledger wins. Specs of SEALED members are duplicated here for
convenience only — the sealed prereg files are definitional.
Status flags: 🔒 SEALED (pre-registered, forward-tested 2026-10-03+) · 📋 RECORDED (full
record, unregistered; registration-ready on the desk word) · ❌ REJECTED (walls; catalog §G).
⚠ Archive provenance (ledger 16AS): the numbers below describe the archive AS IT WAS
AT SEAL TIME. The 16AQ corporate-actions repair (14 gold-ETF unit subdivisions backfilled; the
history of the ERA-FLOOR books only: bounded at the seal date, U/B14/C40 reproduce their seals
EXACTLY (26.04/28.84/47.29×) while A1 100.43→100.51 · A2 99.03→99.25 · K30 115.69→116.04
(TR: K30 131.80→132.21 · A2 113.65→113.89; α/β unchanged). Re-verified values + the
drift-proof forward-gate anchors are ledger 16AS; the union forward code gates on the 16ASclosed-window set and prints the seal-time headlines beside, drift disclosed. Whether headline
rows are ever RESTATED (and whether gold ETFs stay in the universe) is an owner decision tied
ETF-class CA batch — 174 ETF/index-fund splits — re-adjusted the era-floor books again; the
forward gate re-anchored A1/A2/K30 and now allows them a small tolerance band, the ETF-free base
books staying tight as the tamper-check.)
One-line definition: the Union Ladder is the full-record compendium of every union-family configuration — sealed, recorded, and rejected alike — with each member's complete ruleset and every recorded result number standing in one place, so the whole family can be read side by side without chasing deltas across ledger entries.
Shared machinery (every member, verbatim across the family): NSE bhavcopy EQ+BE+BZ,
corporate-action adjusted (the adjust code), split-ratio quarantine (the quarantine code), PIT sector
assignment by trailing-500d excess-correlation to the 16 NSE sector indices (yearly refresh),
UNION signals — TREND: price-RSI(14) > its 50-SMA AND ≥70% trailing-quarter consistency vs own
sector · TURN "6b": RSI(14)-of-RS < 30 → ≥ 30 in trailing ~60d — quarterly rebalance (first
trading day Jan/Apr/Jul/Oct), trailing stop −20% from peak close @1% slip, 0.15%/side costs,
dead names −50%, same-close convention (-F1 next-day variant = the standing honesty check),
benchmark Nifty Next 50 buy-and-hold PR (TRI recut owed), beta/alpha vs Nifty 500 quarterly.
Dividend accrual (TR rows) = parsed ₹-per-share ex-date credits at raw-price denominators —
a LOWER BOUND (97.7% coverage 2012+, ~34% before).
---
Distinct rules: universe floor ABSOLUTE ₹5cr prior-month ADV · no beta cap · engine-order
top-60 (documented-rank corrected 16Z) · equal-weight 1/60 · idle → Next-50 while Nifty 500 ≥
200DMA else 0% cash.
| window | CAGR | MaxDD | ₹1Cr→ | β | α | inv |
|---|---|---|---|---|---|---|
| FULL 2006-26 PR | 17.5% | −30.5% | 26.04× | 0.87 | +6.8% | 82% |
| FULL TR | 18.1% | −29.3% | 29.19× | 0.87 | +7.4% | |
| 2006-11 | 19.0% | −27.9% | 2.60× | 0.77 | +9.8% | 67% |
| 2012-17 | 16.5% | −16.2% | 2.32× | 1.42 | −4.6% | 80% |
| 2018-26 | 18.1% | −22.9% | 3.95× | 0.91 | +8.3% | 96% |
Distinct rules: union + EXCLUDE qualifiers with trailing-250d beta vs Nifty 500 > 1.4 (min
150 obs; incomputable kept). Engine-order top-60, EW, sleeve200, 0% cash.
| window | CAGR | MaxDD | ₹1Cr→ | β | α | inv |
|---|---|---|---|---|---|---|
| FULL PR | 18.1% | −24.7% | 28.84× | 0.74 | +8.4% | 69% |
| FULL TR | 18.7% | −24.1% | 32.39× | 0.74 | +9.0% | |
| 2006-11 | 17.4% | −23.0% | 2.42× | 0.67 | +9.3% | 53% |
| 2012-17 | 19.1% | −8.3% | 2.62× | 1.03 | +3.4% | 58% |
| 2018-26 | 18.8% | −15.7% | 4.14× | 0.82 | +9.2% | 90% |
| FULL @2% slip | 17.0% | −25.8% | 24.09× | 0.75 | +7.4% |
Kill-checks recorded (16Y): cap plateau 1.3–1.6 all-positive; beta-window 125/500d robust;
dead-cash decomposition proves selection-not-sleeve (2012-17 −5.6% → +1.7% with idle at 0%);
29.0% of qualifier-quarters genuinely excluded, 0.38% kept-missing.
Distinct rules: β14 + rank capped qualifiers by RISKADJ (126d return ÷ 63d vol, min 30 obs;
incomputable last) + hold TOP-40 (EW 1/40). Sleeve200, 0% cash.
| window | CAGR | MaxDD | ₹1Cr→ | β | α | inv |
|---|---|---|---|---|---|---|
| FULL PR | 21.0% | −28.4% | 47.29× | 0.81 | +10.3% | 84% |
| FULL TR | 21.8% | −27.5% | 54.29× | 0.82 | +11.0% | |
| 2006-11 | 17.9% | −25.1% | 2.47× | 0.79 | +9.2% | 73% |
| 2012-17 | 20.9% | −8.3% | 2.84× | 1.04 | +4.3% | 78% |
| 2018-26 | 24.6% | −18.3% | 6.15× | 0.81 | +14.3% | 97% |
| FULL @2% slip | 19.7% | −29.8% | 38.34× | 0.83 | +9.2% | |
| FULL next-day (-F1) | 20.0% | −28.5% | 39.86× | 0.82 | +9.5% | |
| worst-honest (lagged+2%+TR) | 19.5% | −29.0% | 37.15× | 0.83 | +9.1% | |
| 2017+ slice (16AG table) | 30.1% | −17.9% | 11.37× | 0.85 | +16.4% | 100% |
4. 📋 A1-COMPOSITE (era-floor RAW + rf-cash) — recorded 16AE, unregistered
Distinct rules: C40RA + era-relative floor RAW (monthly (1−P)-quantile of the ADV
cross-section, P = 0.450 frozen; NO clamp) + idle in the bear state earns rf (Nifty 1D Rate Index
2016-06-23+, flat 6.5%/yr before — the attribution code convention). Top-40 EW.
| window | CAGR | MaxDD | ₹1Cr→ | β | α | inv |
|---|---|---|---|---|---|---|
| FULL PR | 25.6% | −32.0% | 100.43× | 0.82 | +14.5% | 99% |
| FULL TR | 26.4% | −32.0% | 114.91× | 0.82 | +15.2% | |
| 2006-11 | 20.2% | −32.0% | 2.75× | 0.69 | +11.3% | 98% |
| 2012-17 | 31.6% | −13.7% | 4.53× | 1.49 | +5.2% | 100% |
| 2018-26 | 27.5% | −17.9% | 7.44× | 0.80 | +17.5% | 100% |
| @2% slip | 24.0% | −34.4% | 77.58× | 0.83 | +13.1% | |
| @3% slip | 22.4% | −36.7% | 59.85× | 0.84 | +11.6% | |
| next-day | 24.7% | −34.8% | 87.25× | 0.82 | +13.8% | |
| worst-honest | 24.0% | −37.1% | 77.35× | 0.83 | +13.1% |
⚠ Dominated by A2 (equal CAGR, 3–6pp worse MaxDD, half the tail ADV, 2012-17 realized β 1.49 vs
1.29; 2013 floor dips to ₹0.37cr — cost model not credible at that tail). Kept for the record.
5. 📋 A2-COMPOSITE (era-floor CLAMPED + rf-cash) — recorded 16AE; **the lower-drawdown
alternative, registration-ready on the desk word**
Distinct rules: as A1 but floor = max(₹1cr, monthly (1−P)-quantile), P = 0.450 frozen.
Top-40 EW, rf-earning bear-cash.
| window | CAGR | MaxDD | ₹1Cr→ | β | α | inv |
|---|---|---|---|---|---|---|
| FULL PR | 25.5% | −27.2% | 99.03× | 0.82 | +14.2% | 97% |
| FULL TR | 26.3% ( measured, 16AO) | −27.2% | 113.65× | 0.82 | +14.9% | |
| 2006-11 | 22.2% | −27.2% | 3.01× | 0.73 | +12.8% | 93% |
| 2012-17 | 28.6% | −13.7% | 4.00× | 1.29 | +5.4% | 97% |
| 2018-26 | 27.4% | −17.9% | 7.37× | 0.82 | +17.1% | 100% |
| @2% slip | 23.9% | −29.3% | 77.21× | 0.83 | +12.8% | |
| @3% slip | 22.4% | −31.4% | 60.12× | 0.84 | +11.5% | |
| next-day | 24.6% | −29.4% | 85.40× | 0.82 | +13.6% | |
| worst-honest | 23.9% | −31.5% | 76.53× | 0.83 | +12.9% |
Median pick-ADV ₹7.7–11.3cr (early/mid windows) vs C40RA's ₹27cr — the character change (16AE):
small/mid-cap tilt, personal-scale capital only. Its 2017+ slice = the 30.1% PR row in §3 (same
machinery on that window).
6. 🔒 COMPOSITE-30 — THE CONFIRMED LEAD (the desk 2026-07-16), seal in
the union composite30 prereg notes (ledger 16AF/16AH)
Distinct rules: A2-composite + hold TOP-30 + LET-WINNERS-RUN weights (retained names keep
market-drifted weight, hard cap 5% of book; entrants 1/30 from freed/idle capital; exit on
deselection/stop/death). Everything else per the shared machinery + A2 floor + rf-cash.
| window | CAGR | MaxDD | ₹1Cr→ | β | α | inv |
|---|---|---|---|---|---|---|
| FULL PR | 26.4% | −31.7% | 115.69× | 0.82 | +15.1% | 99% |
| FULL TR | 27.3% | −31.6% | 131.80× | 0.82 | +15.8% | |
| 2006-11 | 24.7% | −31.7% | 3.36× | 0.73 | +14.6% | 97% |
| 2012-17 | 29.2% (TR 30.5%) | −13.1% | 4.10× | 1.32 | +5.8% | 99% |
| 2018-26 | 28.0% (TR 28.9%) | −18.1% | 7.69× | 0.78 | +18.2% | 100% |
| @2% slip | 24.8% | −33.8% | 89.19× | 0.83 | +13.7% | |
| @3% slip | 23.2% | −35.9% | 68.65× | 0.84 | +12.2% | |
| next-day | 25.2% | −34.1% | 94.84× | 0.81 | +14.2% | |
| worst-honest | 24.4% | −36.3% | 83.50× | 0.83 | +13.5% |
Component single-axis rows (16AF, on the A2-composite base): top-30 alone 25.9%/α+14.6 ·
let-winners-run alone 26.5%/α+15.1/DD −27.3 · rank-weights alone 26.3%/α+15.1/β0.79 (passed;
not composed — drift took the declared precedence).
6b. 🔒 THE R-IMPROVEMENT SIBLINGS — the HOLD / DEEP variants (2026-07-22; ledger 16BD/16BE/16BF)
Three sealed variants from the "lift CAGR / cut drawdown" research pass, each = an existing base +
one or two orthogonal, individually robustness-swept levers. Unlike §1–§6 (whose tables are
FLAT/seal-basis), these are measured on the identical Zerodha real-cost gauntlet (ledger 16BC),
so their NET numbers are comparable to each other. Forward-tested 2026-10-03+ beside the four
originals; family adjudication picks ≤1 across ALL sealed specs (these share levers/base with
K30/A2, disclosed in their preregs, so a joint pass ≠ separate discoveries).
The two levers:
- HOLD (16BD) — retain a held name while it stays within the top 2× the holding count
(refill to size from the best non-held survivors). Cuts turnover + mildly improves selection;
drawdown ≈ unchanged. Robust across bands 40–90.
- DEEP (16BE) — the TURN leg fires only from a deeper oversold: RSI-of-RS < 20 (vs the
shared machinery's < 30). Higher-conviction turns → stronger bounces AND fewer false turns, so it
RAISES return and CUTS drawdown. Robust across floors <25/<20. (Sector-relative RS only —
index-relative was tested and FAILED the positive-geometric selector bar, 16BE.)
| sibling | seal | = base + lever(s) | flat CAGR | NET (gauntlet) | ₹1cr → net | worst drop |
|---|
Read: K30-DEEP-HOLD is the best net (19.2%) AND the lowest drawdown (−29%) of the whole
family — the stack keeps the HOLD return-boost and the DEEP drawdown-cut. A2-HOLD is the
lower-drawdown equal-weight cousin (its net is mildly OPTIMISTIC — equal-weight under-charges
reweight drift under the gauntlet, 16BC). ⚠ all IN-SAMPLE, and net-of-cost ≠ net-of-selection;
K30-DEEP-HOLD carries the HIGHEST overfit risk of the seven (two stacked in-sample levers) —
disclosed in its prereg. Per-window breakdowns not separately run (the gauntlet is full-period).
Preregs: the union k30 hold prereg notes · the union a2 hold prereg notes · the union k30 deephold prereg notes.
All seven siblings now grade mechanically in the union forward code on 2026-10-03+ (ledger 16BG).
7. ❌ The walls (full detail in catalog §G + the ledger)
Sector caps · RSI-rank both ways · beta-rank-asc · 6b threshold/combo/timeframe variants ·
quality tilt/drop (16Z) · ML Ridge-primary (16AA: 20.4 vs control 20.8 on 2017+) · **ML GBM-primary
over the era-floor pool (16AG: 21.1 vs the RISKADJ hand rule's 30.1 on 2017+; beta #1 feature all
three runs)** · trail widths ≠ 20 · sleeve-index swaps · cap-floor refill · vs-bench consistency ·
monthly cadence (4× confirmed) · cross-family LOWVOL_MOM blend, corr 0.83 (16AC) · throttle (16W) ·
inverse-vol sizing (16X — narrowed by 16AF to VOL-based sizing only) · AND-intersection (16V) ·
BE/fundamentals vetoes (16T).
8. Measurement estate — TRI RECUT COMPLETE (ledger 16AI/16AJ)
The honest hurdle: Nifty Next 50 TRI = 14.6%/yr full-period (11.3 / 25.1 / 11.5 by window),
+1.3pp over the PR bar. Data: the niftyindices hist code (the committed fetch tool; pipeline verified
to the paisa vs index_rows) → the niftyindices folder on the box: N500 TRI + NN50 TRI full
2005→2026, GS-10Yr 2011+, GS-Composite 2018+. α vs Nifty 500 TRI (betas unchanged): union
+5.8 · β14 +7.5 · C40RA +9.4 · A1c +13.5 · A2c +13.3 · **COMPOSITE-30 +14.2 (book-TR pairing
+14.8, windows +14.0/+5.0/+18.0)** — every member survives the honest recut; full table in ledger
16AJ. **B2 G-sec bear-sleeve: INERT on the lead (idle ~1%) and DATA-BOUNDED on the union (the
2008-09 bear predates the 2011+ G-sec series)** — a design option for future bears, no backtest
evidence, not adopted. rf convention frozen (1D-Rate + 6.5% proxy). Dividend accrual = lower
bound. **Median pick-ADV (/16AO, full-period / recent-4-rebalances, ₹cr): U 24.4/31.7 · B14
23.4/45.4 · C40 27.0/58.7 · A1 8.7/52.1 · A2 11.3/52.1 · K30 12.7/57.7 — the era-floor books'
small/mid-cap tilt is an EARLY/MID-ERA phenomenon; current selections are ₹52–58cr liquid.** A2's
clean-TR is measured: 26.3% (§5 table). Sealed criteria stay PR-vs-PR as frozen; the TRI columns
are reported beside every future judgment. **Forward-test day (2026-10-03+) is ONE COMMAND —
the union forward code (box-verified 2026-07-17: repro 6/6 to the digit; boundary leg
2026-07-01→~2026-10-01 derived from data; criteria sections self-suppress at 0 forward quarters):**
reproduction gate on all SIX configs (the five 16AL-gated rows hard-STOP on any miss; A1
soft-flagged), then the forward window per the preregs' own boundary ("every NEW quarter from
2026-07"; strict post-seal cut printed beside), the four frozen criteria per sealed member
(INTERIM until ≥ 8 quarters, then mechanical family adjudication — highest forward alpha among
passers), the once-owed median-pick-ADV + A2-clean-TR prints, and the 16AN portfolio dial
(the internal reference §9). Prod index_rows ingestion: DONE (ledger 16AK) — 'Nifty 500 TRI' / 'Nifty Next 50 TRI' /
'Nifty GS 10Yr' / 'Nifty GS Compsite' live in prod, manifest entry indexes_tri, pull-on-demand
freshness via the committed tool.
Reproduction gate 5/5 to the digit. C1 (paired block bootstrap, 81 quarters): the decisive
C40→K30 increment is REAL (+5.27pp, 95% CI [+0.54, +9.90], p=0.014); the full U→K30 climb +8.87pp
(p=0.002); the β-cap and A2→K30 rungs are individually within noise (recorded). C2a: α>0 in 7/7
rolling 3y windows for B14/A2/K30. C2b (TRAIN ≤2018 → TEST 2019+ once): survival 1.01 —
supports the seals — but **the ERA-FLOOR rung fails the ≤2018 re-derivation (P_train=0.268): the
family's highest window-fit-risk rung, first suspect if forward data disappoints. C4:** drift
contribution not regime-concentrated (+1.2/−0.2/+0.6). C5: dead-name haircut to −90% costs only
−1.6/−1.8pp — no artifact.
**DEFLATED FORWARD-CAGR EXPECTATIONS (Bailey-LdP, N_trials=69 — quote these beside every
headline): U 15.7% · β14 16.6% · C40RA 18.1% · A2-composite 21.0%** ·
COMPOSITE-30 21.6%. The in-sample headlines above are selection-inflated by construction; these
bands are the honest forward expectation until 2026-10-03 speaks.
PBO/CSCV (ledger 16AM): PBO = 0.043 — LOW overfit risk over the full 31-config searched
matrix (70 combinatorial splits); K30's OOS rank mean 0.938 / min 0.767. With this, the robustness
suite is complete: paired significance ✓ · interim OOS ✓ · deflation ✓ · stress ✓ · PBO ✓ — one
recorded soft spot (the era-floor rung's ≤2018 re-derivation failure).
Independent cross-check (2026-07-17, ledger cross-check of 16AL): C1/C2/C3 were re-run by a
SECOND harness that shares no engine code with the runner (the union ladder c1 code +
the union ladder c23 code, which exec-load the sealed engine byte-for-byte). Every result reproduced to
the digit/3dp — the C40→K30 gate PASS, the A2→K30 and β-cap nulls, P_train=0.268, the 2019+ slices,
and the Deflated-Sharpe values (0.898…0.998). The validation is not an implementation artifact.
---
10. FUNDABILITY BOARD — the web twin (S-UNION-VARIANTS, 2026-08-27, D-PENDING)
Why this section exists. Until this session the variants above were readable only by someone
who already knew to open this compendium or the Tier-C block on /dash/model-portfolios. In the
strategies area — where a reader goes to ask "what strategies do you have?" — the library
carried ONE union row, so eight of the nine configurations, and both falsified ML rankers, were
effectively kept aside. the desk (2026-08-27): *"They should exist visibly as upcoming /
under-review / not-yet-fundable variants."*
They are now listed as declared UPCOMING entries in the Strategy library
(/dash/home/strategies/library), rendered by the union upcoming code. This section is
the doc-side twin of that board and its maintenance anchor: the module transcribes its numbers
from §§1–6b above, and an automated test fails if a row cites a section that is not
in this file.
The verdict, stated once
No union variant is fundable today, and the reason is identical for all of them: every
headline is in-sample, not one has a single CLOSED forward quarter, and capacity is UNVERIFIED at
every size. The 2026-10-03 forward verdict is the first moment any of them can produce evidence
rather than a lead — and the family's frozen rule graduates at most ONE among any that pass.
This is a MEASURED verdict, not a default posture: it would be reversed by forward evidence
recorded in the ledger, by nothing else.
| Variant | Fundability | Blocking item(s) |
|---|---|---|
| The Union · β14 · C40RA · COMPOSITE-30 · K30-HOLD · A2-HOLD · K30-DEEP-HOLD | ⏳ not fundable — under review | the 2026-10-03 forward verdict · family adjudication (≤1 graduates) · capacity study |
| A2-COMPOSITE | ⏳ not fundable — under review | never registered (registration-ready on the desk word) · then the above |
| A1-COMPOSITE | ⏳ not fundable — kept for the record | dominated by A2 on every axis (§4); not a graduation candidate |
| Union-ML (Ridge, 16AA) · Union-ML v2 (GBM, 16AG) | ❌ rejected | none — CLOSED. Any future ML attempt is a NEW pre-registration, never a revival |
Gross vs net — three columns, never blended
The board publishes three separately-labelled return columns because this estate's standing
failure mode is a gross headline read as a fundable return (the strategy ledger BLOCKING
FAILURE MODELS; PACER-25's 35.6% gross → −1.4% net is the house example):
| Column | Basis | Coverage |
|---|---|---|
| Gross (flat cost) | the seal-basis model — 0.15%/side, 1% stop slip | every recorded variant (§§1–6b) |
| Net (real cost) | the Zerodha real-cost gauntlet, ledger 16BC | four rows only — COMPOSITE-30 and the three §6b siblings. Every other row prints *not measured* rather than borrowing its parent's figure |
| Honest forward | Bailey-LdP deflated expectation (§9) | five rows; K30-HOLD / A2-HOLD / K30-DEEP-HOLD print *owed* |
None of the three is net of TAX, which is the holder's and is not modelled anywhere in this
estate. That is stated on the board itself, not only here.
The automatic recheck
the union forward checkpoint script, fired by patearn-union-forward.timer on the **4th of
Jan/Apr/Jul/Oct at 09:30 IST — first firing 2026-10-04**, the day AFTER the frozen verdict day,
so an open window can never be graded. It runs the frozen the union forward code, writes
data/union_forward_status.json (which the library board reads and prints), and DMs the verdict.
🔴 It grades; it never promotes. A §3 pass is INPUT to the family adjudication, which graduates
at most one sibling and is the desk decision. The status artefact carries a verdict and a null
graduated field by construction — there is no code path that moves a variant into the live
strategy flow by itself.
Install still owed (the unit files are committed to the vps live folder, which is what
makes the install systemd script --check print them as a legitimate DRIFT: reminder until installed —
the README):
scp the union forward checkpoint script root@<box>:a file on the server
chmod +x a file on the server
scp scripts/systemd/vps-live/patearn-union-forward.{service,timer} root@<box>:/etc/systemd/system/
systemctl daemon-reload && systemctl enable patearn-union-forward.timer # enable ONLY — never start