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
520 B
JSON
1 line
520 B
JSON
{"sym": "ASA", "cik": 1230869, "name": "ASA Gold & Precious Metals Ltd", "bdc": false, "n_tender": 0, "ticker": "ASA", "report_filed": "2026-02-06", "ncols": 5, "nav_beg": [23.36, 17.36, 16.88, 24.98, 24.05], "nav_end": [58.54, 23.36, 17.36, 16.88, 24.98], "mkt_end": [], "dist_tot": [0.06, 0.04, 0.02, 0.02, 0.02], "divs": [0.06, 0.04, 0.02, 0.02, 0.02], "gains": [0.0, 0.0, 0.0, 0.0, 0.0], "roc": [0.0, 0.0, 0.0, 0.0, 0.0], "ops": [35.19, 6.0, 0.5, -8.08, 0.95], "share_div": 1.0, "share_gains": 0.0, "share_roc": 0.0} |