Per-share financial-highlights parser (cef_annual.py) now reconciles divs+gains+ROC==distributions and the full NAV chain per column for 48 of 50 shortlist funds, from three layout families (inline, transposed, + repair rules for footnotes/split-decimals/sign- magnitude/combined-rows). DXYZ is a correct zero-distribution result; STEW is a documented columnar-stream exception. cef_merged.json character column now uses actual data. 123/123 tests.
1 line
550 B
JSON
1 line
550 B
JSON
{"sym": "MPV", "cik": 831655, "name": "BARINGS PARTICIPATION INVESTORS", "bdc": false, "n_tender": 0, "ticker": "MPV", "report_filed": "2026-03-09", "ncols": 5, "nav_beg": [15.46, 15.41, 14.99, 15.19, 13.6], "nav_end": [15.23, 15.46, 15.41, 15.05, 15.19], "mkt_end": [], "dist_tot": [1.46, 1.57, 1.29, 0.86, 0.8], "divs": [1.48, 1.57, 1.29, 0.83, 0.8], "gains": [0.0, 0.0, 0.0, 0.03, 0.0], "roc": [0.0, 0.0, 0.0, 0.0, 0.0], "ops": [1.23, 1.62, 1.71, 0.66, 2.39], "share_div": 0.9983277591973243, "share_gains": 0.005016722408026755, "share_roc": 0.0} |