Skip to content

add cyber fm terms#1852

Merged
sambles merged 6 commits intomainfrom
feature/cyber_fm_support
Feb 2, 2026
Merged

add cyber fm terms#1852
sambles merged 6 commits intomainfrom
feature/cyber_fm_support

Conversation

@sstruzik
Copy link
Copy Markdown
Contributor

@sstruzik sstruzik commented Jan 29, 2026

support for cyber risk financial module

This PR adds support for cyber risk financial module (FM) terms to the OasisLMF framework, enabling the modeling of cyber insurance policies.

Added policy-level deductible and limit terms for 10 new cyber coverage types:

  • NPBI (CoverageTypeID: 7) - Non-Physical Business Interruption
  • CBI (CoverageTypeID: 8) - Contingent Business Interruption
  • DIAS (CoverageTypeID: 9) - Data & Information Asset Security
  • EXT (CoverageTypeID: 10) - Extortion
  • FIN (CoverageTypeID: 11) - Financial
  • INRE (CoverageTypeID: 12) - Incident Response
  • LIA (CoverageTypeID: 13) - Liability
  • REG (CoverageTypeID: 14) - Regulatory
  • ENO (CoverageTypeID: 15) - Errors & Omissions
  • CYB (CoverageTypeID: 16) - General Cyber

Updated exposure run logic to handle use cases without location files (e.g., cyber, marine), where exposures are defined at account level only.

Bug Fixes

  • oasislmf/computation/generate/files.py: Convert damage_group_id_cols and hazard_group_id_cols to lists to avoid tuple mutation issues
  • oasislmf/preparation/il_inputs.py: Handle missing fm_peril_field in source columns gracefully

Tests (tests/fm/test_fmpy.py)

Added two new FM acceptance tests for cyber:

  • test_cyber - Single peril (CSB)
  • test_cyber_2_subperils - Two perils (CC1)

@sstruzik sstruzik requested review from benhayes21 and vinulw January 29, 2026 12:20
@sstruzik sstruzik self-assigned this Jan 29, 2026
@sstruzik sstruzik added the feature A main feature, captured on the backlog label Jan 29, 2026
@sstruzik sstruzik moved this to Waiting for Review in Oasis Dev Team Tasks Jan 29, 2026
@sstruzik sstruzik linked an issue Jan 29, 2026 that may be closed by this pull request
@sstruzik sstruzik force-pushed the feature/cyber_fm_support branch from 657a1c6 to f6c8ea9 Compare January 29, 2026 14:36
"FMTermGroupID": 12,
"ProfileType": "Acc"
},
"PolDedLIA": {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor: In OEDExposureDataSpec v4.0.0 the code for this is LIAB. Might be worth changing to match

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as far as i can tell there is no test for CYB coverages (i.e. coverage_id). may be worth adding to test the grouped cyber?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree, I try to add the combine cyber, but as the column doesn't exist yet the test fails if I add it.

@sambles sambles merged commit ab0902b into main Feb 2, 2026
26 checks passed
@github-project-automation github-project-automation bot moved this from Waiting for Review to Done in Oasis Dev Team Tasks Feb 2, 2026
@sambles sambles deleted the feature/cyber_fm_support branch February 2, 2026 15:23
sambles pushed a commit that referenced this pull request Feb 5, 2026
* add cyber fm terms

* add cyber tests

* set CYB as all coverage for cyber

* fixup

* fix tests

* change LIA to LIAB => no support in OED 3for this column
@awsbuild awsbuild modified the milestones: 2.5.0, 2.4.12 Feb 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature A main feature, captured on the backlog LTS - 2.4 LTS - 2.5

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Cyber FM fields not accounted for in oasis lmf profiles

5 participants