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
638 B
JSON
1 line
638 B
JSON
{"sym": "AIO", "cik": 1778114, "name": "Virtus Artificial Intelligence & Technology Opportunities Fund", "bdc": false, "n_tender": 0, "ticker": "AIO", "report_filed": "2026-04-09", "ncols": 6, "nav_beg": [23.52, 20.61, 19.92, 24.18, 29.2, 19.89], "nav_end": [24.86, 23.52, 20.61, 19.92, 24.18, 29.2], "mkt_end": [], "dist_tot": [2.99, 1.8, 1.8, 1.8, 4.85, 2.49], "divs": [0.89, 1.07, 0.5, 1.39, 1.4, 0.0], "gains": [2.1, 0.73, 0.0, 0.0, 3.45, 2.49], "roc": [0.0, 0.0, 1.3, 0.41, 0.0, 0.0], "ops": [4.33, 4.71, 2.49, -2.46, -0.17, 11.8], "share_div": 0.3337571519389701, "share_gains": 0.5575333757151939, "share_roc": 0.10870947234583597} |