OasisLMF/OasisPiWind

How can we generate location level loss for PI wind? like if my one location had TIV of 2000$ then how can I generate loss only particular to that loc?

Closed this issue ยท 16 comments

How can we generate location level loss for PI wind? like if my one location had TIV of 2000$ then how can I generate loss only particular to that loc?

I assume you mean ground up loss (GUL)? What tool are you using to run PiWind, the MDK (oasislmf Python package) or Flamingo? If you want losses only for a specific set of locations then it seems that you can just define a source loc. file (source exposure file) containing only those locations and pass that file.

The MDK, and also Flamingo (as far as I know), doesn't allow you to generate losses for a subset of the source exposure. Losses are generated for all items in the exposure.

Thanks for the quick response.

Yes, for GUL only. We are using Oasis python package(MDK). We are getting only aggregated loss in the output file. There is no location based output which is getting generated. We went through the documentation to search for the methods to define location based output, but no luck so far. What changes we require to do in the loc file or any other json config files to get location level output.

Any help would be much appreciated.

It's best to ask @mpinkerton-oasis or @benhayes21 about this.

The GUL items that you see in the items file are grouped using location ID (in the most recent version of MDK, 2.0.0), but the MDK doesn't have any control over the format of the outputs that are generated for these inputs, for which ktools is responsible. So there are two parts to MDK - the Python layer/component which generates the input files, and ktools which generates the output files from the input files (and other assets).

Hi @sr-murthy,Hi @mpinkerton-oasis,Hi @benhayes21
As far I could figure out, the summary set is created in gulsummaryxref and that controls the level of output which we get. For one summarysetID it would generate one set of result. So, can we control this summarysetID in gulsummaryxref file using any keywords, MDK python settings. Or Is this option available with Flamingo setup?

OK, so the summary set column is set to 1 currently, and can't be customised. I suppose we could look at this as a feature in a future release.

You can see here (in the GUL items generation code) that summary ID and summaryset ID are hardcoded to 1.

https://github.com/OasisLMF/OasisLMF/blob/master/oasislmf/exposures/manager.py#L867

Would you want this to be set to loc. ID or item ID or something else?

I note that there is a section of the PiWind analysis settings file with the key gul_summaries and subkey id set to 1. If this is something that could be used during the run then we could easily update the GUL items generation code to use that value for summaryset ID. I don't know this differs from the summary ID column.

Thank you very much.

Can we get result aggregated on different geo-levels? e.g on basis of county, state etc.

Regards,

If you mean via the summaryset ID (in the MDK) then yes it could be, but it would require changes in the GUL items generation code and/or the gulsummaryxref file writer. Again, this is something that could be done in a future release. I don't know about Flamingo. Best to ask @benhayes21 about that.

Thanks a lot.

@shivamspj BTW I would recommend using the latest version 1.2.0 of MDK. There is some MDK documentation at https://oasislmf.github.io/docs/oasis_mdk.html, but a much improved version will be published soon.

Thanks a lot.
Just a request. Please provide full json configuration file with description in next release.
Thanks a lot for the prompt help.

@shivamspj on your more general question, we are actually pretty flexible as to the output groupings. Our execution kernel will run any groupings of items (location-peril-coverages) so this could be locations, policies, geographies, LoBs etc or even combinations of these. Our user interface, Flamingo, supports commonly used groupings. This is done via logic in the app database.

However, this will all be moved into the MDK shortly as all business logic is being consolidated into Python and SQL server based logic deprecated. The current plan will be release this in the next couple of months.

Thanks a lot.