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
527 B
JSON
1 line
527 B
JSON
{"sym": "KYN", "cik": 1293613, "name": "Kayne Anderson Energy Infrastructure Fund, Inc.", "bdc": false, "n_tender": 29, "ticker": "KYN", "report_filed": "2026-07-21", "ncols": 4, "nav_beg": [13.79, 15.03, 10.51, 10.64], "nav_end": [15.7, 13.79, 15.03, 10.51], "mkt_end": [], "dist_tot": [0.51, 0.96, 0.98, 0.83], "divs": [0.51, 0.74, 0.98, 0.83], "gains": [0.0, 0.0, 0.0, 0.0], "roc": [0.0, 0.22, 0.0, 0.0], "ops": [2.42, -0.28, 5.5, 0.71], "share_div": 0.9329268292682926, "share_gains": 0.0, "share_roc": 0.06707317073170731} |