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
491 B
JSON
1 line
491 B
JSON
{"sym": "CSQ", "cik": 1275214, "name": "CALAMOS STRATEGIC TOTAL RETURN FUND", "bdc": false, "n_tender": 5, "ticker": "CSQ", "report_filed": "2025-06-27", "ncols": 3, "nav_beg": [10.04, 8.99, 10.26], "nav_end": [9.32, 10.04, 8.99], "mkt_end": [], "dist_tot": [0.58, 1.14, 1.14], "divs": [0.48, 0.42, 0.15], "gains": [0.1, 0.21, 0.99], "roc": [0.0, 0.51, 0.0], "ops": [-0.16, 2.19, -0.13], "share_div": 0.36713286713286714, "share_gains": 0.45454545454545464, "share_roc": 0.17832167832167836} |