- 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
555 B
JSON
1 line
555 B
JSON
{"sym": "JHS", "cik": 759866, "name": "JOHN HANCOCK INCOME SECURITIES TRUST", "bdc": false, "n_tender": 1, "ticker": "JHS", "report_filed": "2025-12-22", "ncols": 5, "nav_beg": [12.12, 10.96, 11.35, 15.9, 15.95], "nav_end": [12.45, 12.12, 10.96, 11.35, 15.9], "mkt_end": [], "dist_tot": [0.62, 0.47, 0.41, 0.92, 0.88], "divs": [0.62, 0.47, 0.41, 0.7, 0.84], "gains": [0.0, 0.0, 0.0, 0.22, 0.04], "roc": [0.0, 0.0, 0.0, 0.0, 0.0], "ops": [0.95, 1.63, 0.02, -3.63, 0.83], "share_div": 0.9212121212121211, "share_gains": 0.0787878787878788, "share_roc": 0.0} |