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
565 B
JSON
1 line
565 B
JSON
{"sym": "EDF", "cik": 1501103, "name": "Virtus Stone Harbor Emerging Markets Income Fund", "bdc": false, "n_tender": 0, "ticker": "EDF", "report_filed": "2026-02-06", "ncols": 5, "nav_beg": [8.51, 8.45, 8.94, 11.67, 12.55], "nav_end": [8.29, 8.51, 8.45, 8.94, 11.67], "mkt_end": [], "dist_tot": [0.96, 0.96, 0.96, 0.96, 1.08], "divs": [0.49, 0.45, 0.41, 0.46, 0.52], "gains": [0.0, 0.0, 0.0, 0.0, 0.0], "roc": [0.47, 0.51, 0.55, 0.5, 0.56], "ops": [0.74, 1.02, 0.47, -1.77, 0.2], "share_div": 0.4735772357723577, "share_gains": 0.0, "share_roc": 0.5264227642276423} |