- 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
562 B
JSON
1 line
562 B
JSON
{"sym": "HPF", "cik": 1189740, "name": "JOHN HANCOCK PREFERRED INCOME FUND II", "bdc": false, "n_tender": 1, "ticker": "HPF", "report_filed": "2025-10-02", "ncols": 5, "nav_beg": [16.0, 15.18, 17.82, 20.55, 18.12], "nav_end": [15.88, 16.0, 15.18, 17.82, 20.55], "mkt_end": [], "dist_tot": [1.48, 1.48, 1.48, 1.48, 1.48], "divs": [1.15, 1.19, 1.21, 1.35, 1.35], "gains": [0.0, 0.0, 0.0, 0.0, 0.0], "roc": [0.33, 0.29, 0.27, 0.13, 0.13], "ops": [1.36, 2.3, -1.16, -1.25, 3.91], "share_div": 0.8445945945945945, "share_gains": 0.0, "share_roc": 0.15540540540540537} |