- 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
568 B
JSON
1 line
568 B
JSON
{"sym": "VGM", "cik": 880892, "name": "Invesco Trust for Investment Grade Municipals", "bdc": false, "n_tender": 8, "ticker": "VGM", "report_filed": "2026-05-07", "ncols": 5, "nav_beg": [11.06, 11.38, 10.94, 13.2, 13.89], "nav_end": [10.59, 11.06, 11.38, 10.94, 13.2], "mkt_end": [], "dist_tot": [0.78, 0.7, 0.43, 0.55, 0.65], "divs": [0.47, 0.43, 0.42, 0.51, 0.65], "gains": [0.0, 0.0, 0.0, 0.0, 0.0], "roc": [0.31, 0.27, 0.01, 0.04, 0.0], "ops": [0.31, 0.38, 0.87, -1.71, -0.04], "share_div": 0.7974276527331189, "share_gains": 0.0, "share_roc": 0.20257234726688106} |