oasislmf.pytools.fm.portfolio_complexity¶
Functions¶
|
Compute portfolio complexity metrics from Oasis static files. |
|
Return a human-readable text summary of portfolio complexity metrics. |
Module Contents¶
- oasislmf.pytools.fm.portfolio_complexity.compute_portfolio_complexity(static_path)[source]¶
Compute portfolio complexity metrics from Oasis static files.
Works for GUL-only, IL, and IL+RI portfolios.
GUL-only (no account file): only
portfolio_dimensionsand thegul_work_unitscomplexity score are populated.IL (account file present): additionally populates
ilwith the FM structure, profile complexity, and output count for the insured-loss layer.RI (reinsurance files present): additionally populates
riwith per-layer FM metrics and a total RI FM work-unit count.The two key per-event cost proxies in
complexity_scoresare:gul_work_units = num_itemsfm_work_units = il_fm_work_units + ri_fm_work_unitswhereil_fm_work_units = total_il_nodes × il_layersandri_fm_work_units = Σ(total_ri_nodes_layer_k × ri_layers_k)
Multiplying by the number of model events gives a per-dimension full-run cost proxy.
Parameters¶
- static_pathstr
Directory containing the Oasis static files. For IL this is the directory with
fm_programme.binetc. RI layer subdirectories are discovered automatically viari_layers.json.
Returns¶
dict
- oasislmf.pytools.fm.portfolio_complexity.format_complexity_report(metrics)[source]¶
Return a human-readable text summary of portfolio complexity metrics.
Parameters¶
- metricsdict
As returned by
compute_portfolio_complexity().
Returns¶
str