Source code for oasislmf.utils.oed

# --- Ktools constants --------------------------------------------------------- #
[docs] DEDUCTIBLE_AND_LIMIT_CALCRULE_ID = 1
[docs] FRANCHISE_DEDUCTIBLE_AND_LIMIT_CALCRULE_ID = 3
[docs] DEDUCTIBLE_ONLY_CALCRULE_ID = 12
[docs] DEDUCTIBLE_AS_A_CAP_ON_THE_RETENTION_OF_INPUT_LOSSES_CALCRULE_ID = 10
[docs] DEDUCTIBLE_AS_A_FLOOR_ON_THE_RETENTION_OF_INPUT_LOSSES_CALCRULE_ID = 11
[docs] DEDUCTIBLE_LIMIT_AND_SHARE_CALCRULE_ID = 2
[docs] DEDUCTIBLE_AND_LIMIT_AS_A_PROPORTION_OF_LOSS_CALCRUKE_ID = 5
[docs] DEDUCTIBLE_WITH_LIMIT_AS_A_PROPORTION_OF_LOSS_CALCRUKE_ID = 9
[docs] LIMIT_ONLY_CALCRULE_ID = 14
[docs] LIMIT_AS_A_PROPORTION_OF_LOSS_CALCRULE_ID = 15
[docs] DEDUCTIBLE_AS_A_PROPORTION_OF_LOSS_CALCRULE_ID = 16
[docs] CALCRULE_ID_DEDUCTIBLE_AND_LIMIT = 1
[docs] CALCRULE_ID_DEDUCTIBLE_ATTACHMENT_LIMIT_AND_SHARE = 2
[docs] CALCRULE_ID_FRANCHISE_DEDUCTIBLE_AND_LIMIT = 3
[docs] CALCRULE_ID_DEDUCTIBLE_AND_LIMIT_PERCENT_TIV = 4
[docs] CALCRULE_ID_DEDUCTIBLE_AND_LIMIT_PERCENT_LOSS = 5
[docs] CALCRULE_ID_DEDUCTIBLE_PERCENT_TIV = 6
[docs] CALCRULE_ID_LIMIT_AND_MAX_DEDUCTIBLE = 7
[docs] CALCRULE_ID_LIMIT_AND_MIN_DEDUCTIBLE = 8
[docs] CALCRULE_ID_LIMIT_WITH_DEDUCTIBLE_PERCENT_LIMIT = 9
[docs] CALCRULE_ID_MAX_DEDUCTIBLE = 10
[docs] CALCRULE_ID_MIN_DEDUCTIBLE = 11
[docs] CALCRULE_ID_DEDUCTIBLE_ONLY = 12
[docs] CALCRULE_ID_MAIN_AND_MAX_DEDUCTIBLE = 13
[docs] CALCRULE_ID_LIMIT_ONLY = 14
[docs] CALCRULE_ID_LIMIT_PERCENT_LOSS = 15
[docs] CALCRULE_ID_DEDUCTIBLE_PERCENT_LOSS = 16
[docs] CALCRULE_ID_DEDUCTIBLE_PERCENT_LOSS_ATTACHMENT_LIMIT_AND_SHARE = 17
[docs] CALCRULE_ID_DEDUCTIBLE_PERCENT_TIV_ATTACHMENT_LIMIT_AND_SHARE = 18
[docs] CALCRULE_ID_DEDUCTIBLE_PERCENT_LOSS_WITH_MIN_AND_MAX = 19
[docs] CALCRULE_ID_REVERSE_FRANCHISE_DEDUCTIBLE = 20
[docs] CALCRULE_ID_SHARE_AND_LIMIT = 21
[docs] CALCRULE_ID_QUOTA_SHARE = 22
[docs] CALCRULE_ID_OCCURRENCE_LIMIT_AND_SHARE = 23
[docs] CALCRULE_ID_OCCURRENCE_CATASTROPHE_EXCESS_OF_LOSS = 24
[docs] CALCRULE_ID_FACULTATIVE_WITH_POLICY_SHARE = 25
[docs] NO_ALLOCATION_ALLOC_ID = 0
[docs] ALLOCATE_TO_ITEMS_BY_GUL_ALLOC_ID = 1
[docs] ALLOCATE_TO_ITEMS_BY_PREVIOUS_LEVEL_ALLOC_ID = 2
[docs] BUILDING_COVERAGE_TYPE_ID = 1
[docs] OTHER_BUILDING_COVERAGE_TYPE_ID = 2
[docs] CONTENTS_COVERAGE_TYPE_ID = 3
[docs] TIME_COVERAGE_TYPE_ID = 4
[docs] COVERAGE_TYPES = [ BUILDING_COVERAGE_TYPE_ID, OTHER_BUILDING_COVERAGE_TYPE_ID, CONTENTS_COVERAGE_TYPE_ID, TIME_COVERAGE_TYPE_ID]
[docs] PERIL_WIND = 1
[docs] PERILS = [PERIL_WIND]
[docs] GUL_INPUTS_FILES = [ 'coverages', 'gulsummaryxref', 'items']
[docs] IL_INPUTS_FILES = [ 'fm_policytc', 'fm_profile', 'fm_programme', 'fm_xref', 'fmsummaryxref']
[docs] OPTIONAL_INPUTS_FILES = [ 'events']
[docs] CONVERSION_TOOLS = { 'coverages': 'coveragetobin', 'events': 'evetobin', 'fm_policytc': 'fmpolicytctobin', 'fm_profile': 'fmprofiletobin', 'fm_programme': 'fmprogrammetobin', 'fm_xref': 'fmxreftobin', 'fmsummaryxref': 'fmsummaryxreftobin', 'gulsummaryxref': 'gulsummaryxreftobin', 'items': "itemtobin"}
[docs] NOT_SET_ID = -1
[docs] LARGE_VALUE = 9999999999999
# --- OED constants --------------------------------------------------------- #
[docs] RI_INFO_REQUIRED_COLS = [ 'ReinsNumber', 'PlacedPercent', 'InuringPriority', 'ReinsType', 'RiskLevel', 'ReinsCurrency' ]
[docs] RI_SCOPE_REQUIRED_COLS = { 'ReinsNumber', }
[docs] RI_INFO_DTYPES = { 'ReinsNumber': "int", 'CededPercent': "float", 'RiskLimit': "float", 'RiskAttachment': "float", 'OccLimit': "float", 'OccAttachment': "float", 'InuringPriority': "int", 'ReinsType': "str", 'RiskLevel': "str", 'PlacedPercent': "float", 'TreatyShare': "float", 'ReinsCurrency': 'str' }
[docs] RI_SCOPE_DTYPES = { 'ReinsNumber': "int", 'PortNumber': "str", 'AccNumber': "str", 'LocGroup': "str", 'PolNumber': "str", 'LocNumber': "str", 'CedantName': "str", 'ProducerName': "str", 'LOB': "str", 'CountryCode': "str", 'ReinsTag': "str", 'CededPercent': "float" }
[docs] POLICYITEM_LEVEL = 0
[docs] LOCATION_LEVEL = 1
[docs] POLICY_LEVEL = 2
[docs] ACCOUNT_LEVEL = 3
[docs] OCCURRENCE_LEVEL = 4
[docs] PASSTHROUGH_NODE_TYPE = 1
[docs] NOLOSS_NODE_TYPE = 1
[docs] REINS_TYPE_FAC = "FAC"
[docs] REINS_TYPE_QUOTA_SHARE = "QS"
[docs] REINS_TYPE_SURPLUS_SHARE = "SS"
[docs] REINS_TYPE_PER_RISK = "PR"
[docs] REINS_TYPE_CAT_XL = "CXL"
[docs] REINS_TYPE_AGG_XL = "AXL"
[docs] REINS_TYPES = [ REINS_TYPE_FAC, REINS_TYPE_QUOTA_SHARE, REINS_TYPE_SURPLUS_SHARE, REINS_TYPE_PER_RISK, REINS_TYPE_CAT_XL ]
[docs] REINS_RISK_LEVEL_PORTFOLIO = "SEL"
[docs] REINS_RISK_LEVEL_LOCATION = "LOC"
[docs] REINS_RISK_LEVEL_LOCATION_GROUP = "LGR"
[docs] REINS_RISK_LEVEL_POLICY = "POL"
[docs] REINS_RISK_LEVEL_ACCOUNT = "ACC"
[docs] REINS_RISK_LEVELS = [ REINS_RISK_LEVEL_LOCATION, REINS_RISK_LEVEL_LOCATION_GROUP, REINS_RISK_LEVEL_POLICY, REINS_RISK_LEVEL_ACCOUNT, REINS_RISK_LEVEL_PORTFOLIO, ]
[docs] SUPPORTED_RISK_LEVELS = { REINS_TYPE_FAC: [REINS_RISK_LEVEL_LOCATION, REINS_RISK_LEVEL_LOCATION_GROUP, REINS_RISK_LEVEL_POLICY, REINS_RISK_LEVEL_ACCOUNT], REINS_TYPE_SURPLUS_SHARE: [REINS_RISK_LEVEL_LOCATION, REINS_RISK_LEVEL_LOCATION_GROUP, REINS_RISK_LEVEL_POLICY, REINS_RISK_LEVEL_ACCOUNT], REINS_TYPE_PER_RISK: [REINS_RISK_LEVEL_LOCATION, REINS_RISK_LEVEL_LOCATION_GROUP, REINS_RISK_LEVEL_POLICY, REINS_RISK_LEVEL_ACCOUNT], REINS_TYPE_CAT_XL: [REINS_RISK_LEVEL_PORTFOLIO], REINS_TYPE_QUOTA_SHARE: REINS_RISK_LEVELS }
# Subset of the fields that are currently used
[docs] OED_ACCOUNT_FIELDS = [ 'PortNumber', 'AccNumber', 'PolNumber', 'AccPeril', 'AccDed6All', 'AccLimit6All' ]
[docs] OED_LOCATION_FIELDS = [ 'AccNumber', 'LocGroup', 'LocNumber', 'LocDed6All', 'LocLimit6All', 'BuildingTIV', 'OtherTIV', 'ContentsTIV', 'BITIV' ]
[docs] OED_REINS_INFO_FIELDS = [ 'ReinsNumber', 'CededPercent', 'RiskLimit', 'RiskAttachment', 'OccLimit', 'OccAttachment', 'InuringPriority', 'ReinsType', 'RiskLevel', 'PlacedPercent', 'TreatyShare', 'ReinsCurrency', ]
[docs] OED_REINS_SCOPE_FIELDS = [ 'ReinsNumber', 'PortNumber', 'AccNumber', 'PolNumber', 'LocGroup', 'LocNumber', 'CedantName', 'ProducerName', 'LOB', 'CountryCode', 'ReinsTag', 'CededPercent' ]