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
561 B
JSON
1 line
561 B
JSON
{"sym": "BXSY", "cik": 1059213, "name": "BEXIL INVESTMENT TRUST", "bdc": false, "n_tender": 0, "ticker": "BXSY", "report_filed": "2026-03-05", "ncols": 5, "nav_beg": [19.6, 18.88, 16.56, 20.25, 16.16], "nav_end": [23.66, 19.6, 18.88, 16.56, 20.25], "mkt_end": [], "dist_tot": [1.0, 1.07, 1.0, 1.0, 1.32], "divs": [0.0, 0.16, 0.06, 0.2, 0.29], "gains": [1.0, 0.91, 0.94, 0.75, 0.98], "roc": [0.0, 0.0, 0.0, 0.05, 0.05], "ops": [5.07, 1.85, 3.35, -2.66, 5.45], "share_div": 0.13172541743970315, "share_gains": 0.8497217068645639, "share_roc": 0.01855287569573284} |