Comments (4)
What Joh's specified is well defined, but I would like to clarify this point: "LocGroup is assumed to be unique across portfolios and accounts", as when I read it I find it can be ambiguous. LocGroup values would be repeated, i.e. the same value, say 'LocGroup1! would appear on multiple rows in loc file. Also, some rows can be blank in LocGroup field. It's just another field to group multiple locations in a group and allowing to filter the data in the easiest way possible. If several locations are tagged with the same LocGroup, say "LocGroup1", then it does not matter if they come from the same account or even the same portfolio, they all should be filtered for the reinsurance scope purposes.
Any filtering field (LocGroup, ReinsTag, CountryCode, CedantName, ProducerName, LOB) can have blanks on some rows in acc or loc file, so the logic should be able to handle this.
Any of the fields can be used in conjunction with one another, whether the field sits in acc or loc file. So you can easily get reinsurance scope specified as, say CedantName AND CountryCode or any other combination.
There is no limit in how many filtering fields are selected on one row, so in theory, you can end up with something like PortNumber AND LocGroup AND ReinsTag AND CountryCode AND CedantName AND ProducerName AND LOB. It's quite unlikely, but do not limit the logic in how many fields can be used.
from oasislmf.
Comments on the input files:
- add combinations of several fields in order to test.
- currently most fields has a unique value per row, which in reality would not be the case. In reality, most will behave like LOB is specified, i.e. the same value will occur multiple times.
- add blanks for each field on some rows
from oasislmf.
More detail copied from #148
Implemented filters:
PortNumber
PortNumber, AccNumber
PortNumber, AccNumber, PolNumber
PortNumber, AccNumber, LocNumber
To do:
LocGroup
ReinsTag
CountryCode
CedantName
ProducerName
LOB
The above fields are used to 'scope' treaties, which means to specify which subset of locations in the location file the reinsurance contract should apply to, with reference to the matching fields and values found in oed location and account.
LocGroup, ReinsTag and CountryCode are found in the location file and filtering is applied to locations, whereas CedantName, ProducerName, LOB are found in the account file and filtering is applied to accounts (and all locations under the account meeting the criteria will be in scope of the treaty).
The 'to do' filter fields above may all be used individually as filters, independently of PortNumber, AccNumber, LocNumber, PolNumber. LocGroup may be specified without reference to a PortNumber and AccNumber. (This is different to LocNumber which must also have PortNumber and AccNumber specified because LocNumber is not unique to a Portfolio and Account. LocGroup is assumed to be unique across portfolios and accounts)
All scope filter fields may be used in combination.
The use of multiple scope fields within a row in ri scope are interpreted as AND logical statements
Example: say LocGroup and PortNumber were both specified in one row for ReinsNumber=1, then only the locations with both the LocGroup specified value and the PortNumber specified value would be in scope of the treaty. A location must meet all conditions to be in scope.
The use of multiple scope fields across multiple rows in ri scope for the same ReinsNumber are interpreted as OR logical statements to define treaty scope.
Example: say LocGroup was specified in the first row for ReinsNumber=1, and PortNumber and CountryCode was specified in the second row for ReinsNumber=1, then all locations meeting either the LocGroup criteria OR the PortNumber AND CountryCode criteria are under the scope of the treaty. A location must meet the conditions of at least one row to be in scope.
Final note
How a treaty is scoped may be unrelated to the RiskLevel specified for the treaty. For example, a Per Risk treaty with RiskLevel = LOC does not have to have each LocNumber listed in scope on separate rows. The RiskLevel only indicates how risk attachment/limits will be applied to the losses in scope. (The exception is ReinsType=SS where each risk ,as defined by RiskLevel, must have a PercentCeded specified in the scope file with one 'Risk' on each row.)
from oasislmf.
from oasislmf.
Related Issues (20)
- Add a guard which 'fast fails' runs using more than 9 summary groups + summarycalc
- acc_idx read as category type from input/accounts.csv
- Add support for Occurrence Attachment in a Per Risk XL ReinsType
- df_engine not pased to get_vulns() in gulmc
- vulnerability filter performance
- Oasis Dynamic Model
- Add summary descriptions to output files
- Output Calc Python Rewrite
- Short flags unexpectedly changed in 2.3.6
- API client names the downloaded output file .tar instead of .tar.gz
- Allow keys files with both amplification_id and model_data columns
- Time and Memory performance issue for RI contract
- Very high memory usage when running both ground-up and gross PLTs HOT 2
- dynamic footprint - slow performance for large hazard case HOT 1
- Running full_correlation + gulmc causes an execution to hang. HOT 2
- Update OED validation guidelines and fm terms supported in docs for OED v4
- Build worker image for cyber model HOT 1
- Intensity Adjustments in gulmc for dynamic footprints
- Fiona package vulnerability issue
- Occurrence file not found when requesting output from ktools component alt_meanonly
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from oasislmf.