f/fundlab/nport_cache/lpxax.json
Greg Pomerantz a09861f39f N-PORT cross-check: verify top candidates' actual holdings
fundlab/xcheck.py - for each screen candidate, resolve the fund's OWN
registrant CIK (browse-edgar; the 497-cover CIK is the family/trust),
get the exact series name for the ticker (the only reliable
disambiguator between sibling funds), walk the 4 most recent NPORT-P
filing dates, and parse holdings from the interactive NPORT XML
(primary_doc.xml at the accession root - NOT the XSL-rendered view the
submissions API points at). Exact seriesName match > best htm exhibit
parse. Buckets from the authoritative assetCat+issuerCat codes (ABS-O,
ABS-CBDO, DBT+UST/CORP/MUN/NUSS, LON, STIV, RA, EC+RF=fund, ...), not
position-name keywords. Resumable; raw filings cached under
nport_cache/raw/ (gitignored).

nport.py - _SECTION gains the "INVESTMENT PORTFOLIO (unaudited)"
variant (NPORT-EX Sch-F files); find_section/build gain a frac
token-tolerance param (Yahoo names drift from filing names); CMBS/ABS
bucket gains CLO/CBDO/DAC terms.

app Fund Lab - "N-PORT cross-check" expander: per-candidate table
(as-of, n, t5, top code-bucket, #1 position) + per-fund holdings
detail.

RESEARCH.md - cross-check verdicts. 21/22 resolved (qcmmrx is an MMF,
no holdings). The screen's top names are REAL:
- hmezx/mervx = genuine merger arb (equity in deal targets + escrow)
- egrix = 100% wrapper in one macro managed portfolio (underlying not
  NPORT-disclosed); etsix = fund of EV internal multi-strat accounts
- wmnux = discounted/zero-coupon corporate bonds + equity swaps (the
  "equity names" are bond issuers/swap underlyings)
- scfzx/rctix/aflix = securitized credit/CLO/distressed/levered loans
- hicox/fhmix/usmsx/btmix (munis), aguax/femdx (EM sovereign), anglx
  (agency MBS), lpxax (rotated out of prefs into bank/financial debt)
  = genuine missing-factor exposures the 35-sleeve model lacks
- fhcox/dultx/safex = short-duration carry (a short-duration sleeve
  would explain them)

tests/test_fundlab.py - test_xcheck (14 checks): parse_interactive,
code buckets, name-match normalization, series-name disambiguation.
Also: untrack fundlab/streamlit.log; gitignore raw/ + xcheck_run.log.

84 fundlab / 32 app / 14 data tests pass.
2026-08-27 12:43:17 -04:00

287 lines
4.3 KiB
JSON

{
"sym": "lpxax",
"as_of": "July 31, 2025",
"net_assets": 1755728990.0,
"n_positions": 5,
"categories": [
{
"name": "EXCHANGE-TRADED",
"pct": 3.0
},
{
"name": "BANKING",
"pct": 0.8
},
{
"name": "FINANCIAL SERVICES",
"pct": 0.6
},
{
"name": "INSURANCE",
"pct": 0.7
},
{
"name": "Athene Holding Ltd.,",
"pct": 6.35
},
{
"name": "Lincoln National Corp.,",
"pct": 9.0
},
{
"name": "Reinsurance Group of America, Inc.,",
"pct": 5.75
},
{
"name": "UTILITIES",
"pct": 0.9
},
{
"name": "OVER-THE-COUNTER",
"pct": 81.1
},
{
"name": "Abanca Corp. Bancaria SA,",
"pct": 6.0
},
{
"name": "Banco BPM SpA,",
"pct": 6.25
},
{
"name": "Banco de Sabadell SA,",
"pct": 6.5
},
{
"name": "Banco Santander SA,",
"pct": 4.75
},
{
"name": "Bank of America Corp.,",
"pct": 6.25
},
{
"name": "Bank of Montreal,",
"pct": 7.7
},
{
"name": "Bank of Nova Scotia,",
"pct": 7.35
},
{
"name": "Value BNP Paribas SA,",
"pct": 7.75
},
{
"name": "BNP Paribas SA,",
"pct": 8.5
},
{
"name": "Canadian Imperial Bank of Commerce,",
"pct": 7.0
},
{
"name": "Charles Schwab Corp.,",
"pct": 4.0
},
{
"name": "Citigroup, Inc.,",
"pct": 6.25
},
{
"name": "ACB,",
"pct": 6.25
},
{
"name": "Commerzbank AG,",
"pct": 7.5
},
{
"name": "Coventry Building Society,",
"pct": 8.75
},
{
"name": "Credit Agricole SA,",
"pct": 7.25
},
{
"name": "Credit Suisse Group AG,",
"pct": 7.5
},
{
"name": "Erste Group Bank AG,",
"pct": 7.0
},
{
"name": "Farm Credit Bank of Texas,",
"pct": 5.7
},
{
"name": "First Horizon Bank,",
"pct": 5.44
},
{
"name": "Floor",
"pct": 3.75
},
{
"name": "Goldman Sachs Group, Inc.,",
"pct": 7.5
},
{
"name": "PLC,",
"pct": 6.0
},
{
"name": "ING Groep NV,",
"pct": 5.75
},
{
"name": "Intesa Sanpaolo SpA,",
"pct": 7.7
},
{
"name": "Julius Baer Group Ltd.,",
"pct": 7.5
},
{
"name": "Landesbank Baden-Wuerttemberg,",
"pct": 6.75
},
{
"name": "Bank Corp.,",
"pct": 5.4
},
{
"name": "Nationwide Building Society,",
"pct": 7.5
},
{
"name": "Piraeus Financial Holdings SA,",
"pct": 6.75
},
{
"name": "PNC Financial Services Group, Inc.,",
"pct": 6.0
},
{
"name": "Royal Bank of Canada,",
"pct": 6.75
},
{
"name": "Societe Generale SA,",
"pct": 6.75
},
{
"name": "State Street Corp.,",
"pct": 6.7
},
{
"name": "Swedbank AB,",
"pct": 7.75
},
{
"name": "Toronto-Dominion Bank,",
"pct": 7.25
},
{
"name": "Truist Financial Corp.,",
"pct": 5.23
},
{
"name": "UBS Group AG,",
"pct": 6.85
},
{
"name": "Wells Fargo & Co.,",
"pct": 3.9
},
{
"name": "CONSUMER DISCRETIONARY PRODUCTS",
"pct": 0.6
},
{
"name": "Volkswagen International Finance NV,",
"pct": 7.5
},
{
"name": "ENERGY",
"pct": 0.6
},
{
"name": "OMV AG,",
"pct": 4.37
},
{
"name": "SARL,",
"pct": 4.5
},
{
"name": "Capital DAC/AerCap Global Aviation Trust,",
"pct": 6.95
},
{
"name": "Ally Financial, Inc.,",
"pct": 4.7
},
{
"name": "ILFC E-Capital Trust I,",
"pct": 6.43
},
{
"name": "Nomura Holdings, Inc.,",
"pct": 7.0
},
{
"name": "HEALTH CARE",
"pct": 0.8
},
{
"name": "CVS Health Corp.,",
"pct": 7.0
},
{
"name": "Allianz SE,",
"pct": 3.5
}
],
"buckets": [
{
"name": "Commodities",
"value": 3352730714.0,
"pct": 98.51567674738132
},
{
"name": "Equity (US)",
"value": 50515170.0,
"pct": 1.4843232526186756
}
],
"top": [
{
"text": "(Identified cost\u2014$1,701,622,942)",
"value": 1701622942.0,
"cat": "WEC Energy Group, Inc.,"
},
{
"text": "(Identified cost\u2014$1,395,998,797)",
"value": 1395998797.0,
"cat": "NextEra Energy Capital Holdings, Inc.,"
},
{
"text": "(Identified cost\u2014$249,101,966)",
"value": 249101966.0,
"cat": "WEC Energy Group, Inc.,"
},
{
"text": "cost\u2014$50,515,170)",
"value": 50515170.0,
"cat": "Reinsurance Group of America, Inc.,"
},
{
"text": "(Identified cost\u2014$6,007,009)",
"value": 6007009.0,
"cat": "WEC Energy Group, Inc.,"
}
]
}