- 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
556 B
JSON
1 line
556 B
JSON
{"sym": "FMY", "cik": 1319183, "name": "FIRST TRUST MORTGAGE INCOME FUND", "bdc": false, "n_tender": 0, "ticker": "FMY", "report_filed": "2026-01-09", "ncols": 5, "nav_beg": [12.67, 11.72, 12.09, 13.92, 14.45], "nav_end": [12.88, 12.67, 11.72, 12.09, 13.92], "mkt_end": [], "dist_tot": [0.87, 0.96, 0.68, 0.66, 0.72], "divs": [0.57, 0.88, 0.68, 0.43, 0.35], "gains": [0.0, 0.0, 0.0, 0.0, 0.0], "roc": [0.3, 0.08, 0.0, 0.23, 0.37], "ops": [1.08, 1.91, 0.31, -1.17, 0.19], "share_div": 0.7480719794344474, "share_gains": 0.0, "share_roc": 0.2519280205655527} |