- cef_universe_run.py: resumable batch over all 295 CEFs -> cef_annual_all.json (241 parsed, actual per-share character). - cef_rank_all.json: 239-fund ranking, actual char x (t5 + 0.4 vol5); surfaces FXBY and DPG beyond the original shortlist. - share fractions now use the component sum as denominator (always sum to 1); dist_tot remains the validity gate. Fixes CEE-style 111% sums when the NAV-identity fallback total is short. - server watchdog + app CEF tab; RESEARCH.md updated.
1 line
510 B
JSON
1 line
510 B
JSON
{"sym": "MFM", "cik": 801961, "name": "ABERDEEN MUNICIPAL INCOME FUND", "bdc": false, "n_tender": 5, "ticker": "MFM", "report_filed": "2025-12-29", "ncols": 5, "nav_beg": [6.16, 5.26, 5.45, 7.37, 7.09], "nav_end": [6.02, 6.16, 5.26, 5.45, 7.37], "mkt_end": [], "dist_tot": [0.27, 0.24, 0.22, 0.26, 0.31], "divs": [0.27, 0.24, 0.22, 0.26, 0.31], "gains": [0.0, 0.0, 0.0, 0.0, 0.0], "roc": [0.0, 0.0, 0.0, 0.0, 0.0], "ops": [0.13, 1.14, 0.03, -1.66, 0.59], "share_div": 1.0, "share_gains": 0.0, "share_roc": 0.0} |