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
555 B
JSON
1 line
555 B
JSON
{"sym": "LTCFX", "cik": 1496254, "name": "Alternative Strategies Income Fund", "bdc": false, "n_tender": 60, "ticker": "LTAFX", "report_filed": "2025-09-08", "ncols": 5, "nav_beg": [15.09, 19.4, 20.4, 25.8, 19.12], "nav_end": [14.57, 15.09, 19.4, 20.4, 25.8], "mkt_end": [], "dist_tot": [2.83, 2.93, 2.2, 1.68, 1.52], "divs": [2.83, 2.77, 2.04, 1.0, 0.08], "gains": [0.0, 0.0, 0.0, 0.0, 0.0], "roc": [0.0, 0.16, 0.16, 0.68, 1.44], "ops": [2.31, -1.38, 1.2, -3.72, 8.2], "share_div": 0.7813620071684588, "share_gains": 0.0, "share_roc": 0.2186379928315412} |