f/fundlab/roc_cache
Greg Pomerantz 620e2499ac RIC-vs-pass-through verification + return-of-capital detector
fundlab/rocdetect.py: for a fund's latest N-CSR annual report,
parses the per-share "Financial Highlights" distribution table
(NII / gains / (tax) return of capital / total), with
whitespace normalization, dollar-basis and fiscal-year-column
rejection, per-column arithmetic placement of short rows
(NII+gains+ROC==total), and family-report disambiguation by
current-NAV match. SEC 503 backoff, per-fund cache in roc_cache/.

Verified over the 38 core funds:
- HMEZX: 18.3% of 5y distributions were return of capital
  (0.62 + 0.37 per share in 2 of 5 fiscal years) - reinforces
  the IRA placement.
- 17 funds verified zero ROC (AFLIX, ANGLX, ATESX, BTMIX, the EV
  macro funds, FHCOX/FHMIX, LCORX/LCRIX, PMAIX/PMFKX, SVARX,
  WMNUX).
- 14 unverified (non-standard report layouts - prototype parser),
  PMORX/QCMMRX tickers not EDGAR-resolvable.

Also verified (form-type history on EDGAR): CVSIX, QSPNX, MBXIX,
ATRFX, ATESX, EAGMX, PBAIX, WISEX, EBSAX all file NPORT-P + N-CSR
+ 497 -> registered RICs, not pass-throughs; the whole 497-filer
universe is registered, so no candidate can pass through capital
losses. Proof case for ROC: PGSIX per-share table shows a tax
return-of-capital line and NAV eroded 11.87 -> 7.88 (-34%) over
5 fiscal years while paying out every year.

RESEARCH.md: full write-up. No app change (analysis artifact).
2026-08-27 16:04:59 -04:00
..
aflix.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
aguax.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
anglx.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
atesx.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
atrfx.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
btmix.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
coiax.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
cosix.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
cvsix.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
dmszx.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
dultx.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
eagmx.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
egrix.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
egrsx.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
etsix.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
femdx.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
fhcox.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
fhmix.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
hicox.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
hmezx.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
jlpsx.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
lamhx.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
lcorx.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
lcrix.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
lpxax.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
mbxix.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
mervx.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
pmaix.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
pmfkx.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
qspnx.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
rctix.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
safex.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
scfzx.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
svarx.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
usmsx.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00
wmnux.json RIC-vs-pass-through verification + return-of-capital detector 2026-08-27 16:04:59 -04:00