XNAS Diagnostic (2026-05-21)
OOS window: 2025-01-01 to 2026-05-21. Cohort: 1,229 BUY rows, US-listed (XNAS) only.
Headline
V13.5_stack picker scores Sharpe 0.01 / CAGR -5.0% on XNAS while the raw mean return on the same XNAS BUY rows is +5.13%. The picker is therefore actively selecting the worst subset of XNAS rows.
Root cause: the V13.5 score function was tuned on EU regulatory filings. The same signals that proxy conviction in the EU (CEO buy, cluster, large pctMcap relative to mcap) invert their sign on the US tape.
Evidence
1. By role (XNAS only, raw mean 90d return)
| Role | N | Mean r90 | Win% |
|---|---|---|---|
| OTHER | 613 | +4.97 | 52.7 |
| BOARD | 274 | +11.93 | 49.3 |
| CFO | 91 | +5.25 | 54.9 |
| CEO | 240 | -1.89 | 37.9 |
| CHAIR | 11 | -3.93 | 45.5 |
V13.5 awards CEO/CFO +2.5 and CHAIR +1.5. On XNAS those are the two roles with negative mean return. The board-of-directors signal, which V13.5 only weights +0.5, is the strongest positive role on US. Picker is upside-down.
2. By cluster (XNAS only)
| isCluster | N | Mean r90 | Win% |
|---|---|---|---|
| false | 1,197 | +5.34 | 49.6 |
| true | 32 | -3.03 | 31.3 |
V13.5 adds +2 to score when isCluster is true. On XNAS, clusters underperform by ~8 percentage points vs non-clusters. Likely because US clusters are often forced disposals (Rule 144) or 10b5-1 plan-executions, not conviction buys.
3. By pctOfMarketCap (XNAS only)
| Bucket | N | Mean r90 | Win% |
|---|---|---|---|
| <0.01 | 1,014 | +5.77 | 48.9 |
| 0.01-0.1 | 148 | -0.45 | 50.7 |
| 0.1-0.5 | 37 | -3.56 | 40.5 |
| 0.5-1 | 14 | +29.42 | 85.7 |
| 1-5 | 9 | +30.60 | 44.4 |
| >=5 | 5 | -19.73 | 0.0 |
The 1.4 multiplier on min(pctMcap, 5) means V13.5 over-weights the 0.1-0.5 bucket (which is net negative on XNAS). The genuinely high-conviction buckets (>= 0.5) are tiny (n=23) and barely tilt the score.
4. By market-cap bucket (XNAS only)
| Bucket | N | Mean r90 | Win% |
|---|---|---|---|
| micro (<50M) | 57 | +13.53 | 59.6 |
| small (50-300M) | 147 | +10.98 | 44.9 |
| mid (300M-2B) | 314 | +5.97 | 46.8 |
| large (2-10B) | 342 | +3.39 | 55.8 |
| mega (>=10B) | 369 | +2.39 | 45.0 |
V13.5 adds +1 if mcap < 1B (small/mid mix). Effect is modest. The actual drag is concentrated in the mid+CEO crosstab.
5. mcap x role crosstab (top picks-by-score are here)
| Bucket | Role | N | Mean r90 |
|---|---|---|---|
| <300M | CEO | 41 | -6.57 |
| <300M | OTHER | 30 | -17.00 |
| <300M | BOARD | 66 | +36.93 |
| <2B | CEO | 61 | -0.04 |
| <2B | CFO | 28 | +14.72 |
| >=2B | CEO | 126 | -1.83 |
| >=2B | OTHER | 392 | +4.36 |
CEO buys on XNAS are net negative at every mcap bucket. The picker over-selects them.
6. By sector (XNAS only)
Worst XNAS sectors: Services aux entreprises (-17.34), Médias (-9.60), Transport (-6.77), Distribution (-8.08), Finance & Banque (-4.65 — but contains pump-and-dump names like Bitcoin Depot). Best: Santé & Pharma (+14.05), Défense & Aérospatial (+66.69), Industrie (+14.40).
The V13.5 sector multiplier uses EU sector indices (EXVx.DE) as the PIT regime signal, which is uncorrelated with US sector sub-tape. Sector reversal logic does not transfer.
7. Worst 15 OOS picks (qualitative)
Top losses by ticker: Bitcoin Depot (-63.8, -56.8, -56.8), Abundia Global Impact (-61.7 twice), Firefly Aerospace (-56.4 twice), Eos Energy (-55.9 twice), Spruce Biosciences (-53.9 x4), ConnectM Technology (-54.5), PagerDuty (-53.6).
All have pctMcap < 0.005 (insignificant amounts) and either Bitcoin/crypto-adjacent business model or recent SPAC/dilution patterns. Picker treats these as legitimate insider conviction; they are noise or unwind activity.
8. By quarter
| Quarter | N | Mean r90 | Win% |
|---|---|---|---|
| 2025-Q1 | 39 | +1.42 | 89.7 |
| 2025-Q2 | 93 | +20.26 | 78.5 |
| 2025-Q3 | 273 | +6.18 | 38.1 |
| 2025-Q4 | 454 | +3.50 | 44.9 |
| 2026-Q1 | 370 | +2.94 | 50.8 |
Volume on XNAS ramped 12x from Q1 to Q4 2025 (39 -> 454 rows). Most of that growth is OTHER role at >=2B mcap -- low-conviction grants/holdings filings, not buy-on-conviction.
Recommendation
Three workable filters, ordered by destructiveness:
Filter A (minimum surgical): drop CEO + CHAIR + isCluster on XNAS only.
if (market === 'XNAS' && (role === 'CEO' || role === 'CHAIR' || isCluster)) return -100;
Expected lift: removes the worst 280 rows (CEO 240 + CHAIR 11 + cluster 32 with overlap), brings XNAS mean from +5.13 to ~+7-8%, picker should follow.
Filter B (recommended): drop XNAS rows where pctMcap < 0.05 (insignificance) OR mcap < $100M (pump-and-dump zone for the picker's score curve).
if (market === 'XNAS' && (pctMcap == null || pctMcap < 0.05) && (mcap == null || mcap < 100e6)) return -100;
Combined with A. Removes the Bitcoin Depot / Spruce / ConnectM tails.
Filter C (nuclear): blacklist XNAS entirely, same as we already do for CNMV and CVM. Caveat: XNAS has 164,943 historical rows (largest cohort) and only 3,357 OOS rows — re-baking without it loses very few OOS observations and is the most defensible choice for a public site, since "we do not recommend US-listed insider filings" is honest and matches the observed evidence.
Verdict
Apply Filter C for the immediate ship (mirrors CNMV/CVM treatment, conservative, fully honest). Park Filter A+B as a "US-specialized score V15" branch for later research once data corroborates.
Files
- SQL: /tmp/xnas-diagnostic.sql
- Raw output: /tmp/xnas-diagnostic.out
- This doc: docs/method-review/101-xnas-diagnostic-2026-05-21.md