- 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
567 B
JSON
1 line
567 B
JSON
{"sym": "PFD", "cik": 868578, "name": "FLAHERTY & CRUMRINE PREFERRED & INCOME FUND INC", "bdc": false, "n_tender": 7, "ticker": "PFD", "report_filed": "2026-02-04", "ncols": 5, "nav_beg": [12.46, 10.96, 11.49, 14.62, 14.43], "nav_end": [12.65, 12.46, 10.96, 11.49, 14.62], "mkt_end": [11.85, 11.39, 9.81, 11.33, 17.22], "dist_tot": [0.77, 0.69, 0.69, 0.91, 1.02], "divs": [0.77, 0.69, 0.69, 0.91, 1.02], "gains": [0.0, 0.0, 0.0, 0.0, 0.0], "roc": [0.0, 0.0, 0.0, 0.0, 0.0], "ops": [0.96, 2.19, 0.16, -2.3, 1.1], "share_div": 1.0, "share_gains": 0.0, "share_roc": 0.0} |