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.
151 lines
5.2 KiB
JSON
151 lines
5.2 KiB
JSON
{
|
|
"mbxix": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/0001355064/000175272424272710/catalyst-nqs.htm",
|
|
"filed": "2024-11-27"
|
|
},
|
|
"atrfx": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/0001355064/000091047226008781/catalyst_combined-nqs.htm",
|
|
"filed": "2026-06-01"
|
|
},
|
|
"cvsix": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/0000826732/000141036826034378/NPORT_CVXM_73904120_0126.htm",
|
|
"filed": "2026-03-31"
|
|
},
|
|
"jlpsx": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/0001217286/000207169126012768/JPMUSLCCPF.htm",
|
|
"filed": "2026-05-29"
|
|
},
|
|
"pmaix": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/0002042316/000094040026007873/AAPI030AMU123125.htm",
|
|
"filed": "2026-02-25"
|
|
},
|
|
"pmorx": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/0001005942/000207169126008603/PMOF.htm",
|
|
"filed": "2026-04-23"
|
|
},
|
|
"qspnx": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/1444822/000207169126010957/primary-document.htm",
|
|
"filed": "2026-05-22"
|
|
},
|
|
"svarx": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/0001556505/000091047226011625/spectrum_nport.htm",
|
|
"filed": "2026-08-14"
|
|
},
|
|
"cosix": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/0000773757/000141036826076621/NPORT_652000_94123773_0526.htm",
|
|
"filed": "2026-07-29"
|
|
},
|
|
"eagmx": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/0001493214/000141036825012467/NPORT_FS8A_89608502_0725.htm",
|
|
"filed": "2025-09-26"
|
|
},
|
|
"lcorx": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/0001511699/000089418926004505/core-etf.htm",
|
|
"filed": "2026-02-24"
|
|
},
|
|
"lamhx": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/0000887194/000141036826041319/NPORT_FDC7_25625056_0226.htm",
|
|
"filed": "2026-04-28"
|
|
},
|
|
"pmfkx": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/0002042316/000094040026007873/AAPI030AMU123125.htm",
|
|
"filed": "2026-02-25"
|
|
},
|
|
"lcrix": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/0001511699/000089418926004505/core-etf.htm",
|
|
"filed": "2026-02-24"
|
|
},
|
|
"egrsx": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/0001493214/000141036825012467/NPORT_FS8A_89608502_0725.htm",
|
|
"filed": "2025-09-26"
|
|
},
|
|
"atesx": {
|
|
"url": "https://anchor-capital.com/wp-content/uploads/2024/10/anchor-soi-5.31.26.pdf",
|
|
"filed": "2026-05-31",
|
|
"note": "Schedule of Investments (unaudited) from the adviser's website; the fund's own recent EDGAR N-PORTs cover only the Income fund. Composition: QQQ 65.2% + SPY 29.3% + MMF 0.6%; 'other assets in excess of liabilities' 4.9% indicates an options overlay."
|
|
},
|
|
"hmezx": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/1354917/000204825126004762/primary_doc.xml",
|
|
"filed": "2026-06-01"
|
|
},
|
|
"egrix": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/745463/000141036826064358/primary_doc.xml",
|
|
"filed": "2026-06-24"
|
|
},
|
|
"hicox": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/810744/000119312526247714/primary_doc.xml",
|
|
"filed": "2026-05-29"
|
|
},
|
|
"scfzx": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/887991/000094040026034728/primary_doc.xml",
|
|
"filed": "2026-08-26"
|
|
},
|
|
"etsix": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/745463/000141036826064371/primary_doc.xml",
|
|
"filed": "2026-06-24"
|
|
},
|
|
"wmnux": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/1545440/000091047226009666/primary_doc.xml",
|
|
"filed": "2026-06-25"
|
|
},
|
|
"coiax": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/804239/000204825126004571/primary_doc.xml",
|
|
"filed": "2026-05-29"
|
|
},
|
|
"fhcox": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/1707560/000170756026000148/primary_doc.xml",
|
|
"filed": "2026-07-27"
|
|
},
|
|
"rctix": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/1516523/000206657826001957/primary_doc.xml",
|
|
"filed": "2026-05-29"
|
|
},
|
|
"aflix": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/1552947/000091047226010046/primary_doc.xml",
|
|
"filed": "2026-06-29"
|
|
},
|
|
"fhmix": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/1707560/000170756026000149/primary_doc.xml",
|
|
"filed": "2026-07-27"
|
|
},
|
|
"dultx": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/230173/000094040026034423/primary_doc.xml",
|
|
"filed": "2026-08-26"
|
|
},
|
|
"usmsx": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/1659326/000207169126017013/primary_doc.xml",
|
|
"filed": "2026-07-28"
|
|
},
|
|
"btmix": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/1282693/000119312526351309/primary_doc.xml",
|
|
"filed": "2026-08-14"
|
|
},
|
|
"safex": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/1257927/000100472626004071/primary_doc.xml",
|
|
"filed": "2026-05-28"
|
|
},
|
|
"mervx": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/1208133/000094040026022206/primary_doc.xml",
|
|
"filed": "2026-05-29"
|
|
},
|
|
"aguax": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/809593/000141036826067719/primary_doc.xml",
|
|
"filed": "2026-06-26"
|
|
},
|
|
"dmszx": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/1688680/000100371526002697/primary_doc.xml",
|
|
"filed": "2026-07-20"
|
|
},
|
|
"anglx": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/1612930/000119312526285138/primary_doc.xml",
|
|
"filed": "2026-06-26"
|
|
},
|
|
"femdx": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/1124459/000207169126014416/primary_doc.xml",
|
|
"filed": "2026-06-24"
|
|
},
|
|
"lpxax": {
|
|
"url": "https://www.sec.gov/Archives/edgar/data/1652200/000141036826065480/primary_doc.xml",
|
|
"filed": "2026-06-24"
|
|
}
|
|
} |