Reinsurance Tool
About this app
A tool to determine maximum participation for the PVI binder until 23.08.2023
Reinsurance Tool Reinsurance Tool to Determine Maximum Participation for the PVI Binder Until 23.08.2023 Reinsurance Limit (USD): Desired Participation (USD): Calculate Total Maximum Participation: Individual Participations:
Related apps
Put this on your site
Source
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Reinsurance Tool</title>
<meta name="description" content="A tool to determine maximum participation for the PVI binder until 23.08.2023">
<meta name="keywords" content="Reinsurance, Tool, PVI Binder, Maximum Participation">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<script type="text/javascript">
try {
class Reinsurer {
constructor(name, max_capacity, limit_percentage=1.0) {
this.name = name;
this.max_capacity = max_capacity;
this.limit_percentage = limit_percentage;
}
max_participation(reinsurance_limit) {
return Math.min(this.max_capacity, this.limit_percentage * reinsurance_limit);
}
}
function calculate_total_max_participation(reinsurance_limit, reinsurers) {
return reinsurers.reduce((sum, r) => sum + r.max_participation(reinsurance_limit), 0);
}
function calculate_individual_participation(desired_capacity, reinsurance_limit, reinsurers) {
let max_participations = reinsurers.map(r => r.max_participation(reinsurance_limit));
let total_max_capacity = max_participations.reduce((sum, mp) => sum + mp, 0);
let real_participations = (desired_capacity <= total_max_capacity)
? max_participations.map(mp => desired_capacity * (mp / total_max_capacity))
: max_participations;
return real_participations;
}
document.addEventListener("DOMContentLoaded", function() {
let reinsurers = [
new Reinsurer("Halyk", 500000),
new Reinsurer("Uzbekinvest", 1500000, 0.10),
new Reinsurer("Nomad", 500000, 0.10)
];
$('#calculate').click(function() {
let reinsurance_limit = parseFloat($('#reinsurance-limit').val());
let desired_capacity = parseFloat($('#desired-participation').val());
let total_max_participation = calculate_total_max_participation(reinsurance_limit, reinsurers);
$('#max-participation').text(`USD ${total_max_participation.toFixed(2)}`);
let participations = calculate_individual_participation(desired_capacity, reinsurance_limit, reinsurers);
$('#individual-participations').empty();
participations.forEach((participation, index) => {
$('#individual-participations').append(`<li>${reinsurers[index].name}: USD ${participation.toFixed(2)}</li>`);
});
});
});
} catch (error) {
throw error;
}
</script>
<style>
body {
background-color: #f5f5f5;
font-family: 'Comic Sans MS', cursive, sans-serif;
}
.container {
margin-top: 50px;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<h2>Reinsurance Tool to Determine Maximum Participation for the PVI Binder Until 23.08.2023</h2>
<hr/>
<div class="form-group">
<label for="reinsurance-limit">Reinsurance Limit (USD):</label>
<input type="number" id="reinsurance-limit" class="form-control" min="0">
</div>
<div class="form-group">
<label for="desired-participation">Desired Participation (USD):</label>
<input type="number" id="desired-participation" class="form-control" min="0">
</div>
<button id="calculate" class="btn btn-primary mt-3">Calculate</button>
<hr/>
<h4>Total Maximum Participation: <span id="max-participation"></span></h4>
<hr/>
<h4>Individual Participations:</h4>
<ul id="individual-participations"></ul>
</div>
</body>
</html>
NEW APPS
These are apps made by the community!