General declaration of profit participation rates and per-scenario overrides
Allow profit participation rates to be defined with a global (company-specific) list (indexed by year and profit class) as well as overriding past and future rates with deterministic scenarios (possibly merging observed past rates with future assumptions/scenarios, but also allowing scenarios for the past).
Issues to consider:
- Past observed rates should be used by default for the past (not overridden by the profit participation scheme's default!). The last available value should be used for the future.
- If no observed rates are available, default values from the participation scheme should be used
- If the contract or the scenario gives explicit values, these override the company-wide historic rates and the defaults.
- How can the contract or scenario override only future values, but use historic rates for the past?
It should be possible to define past rates and future rates or only future rates (and use past rates).
The conceptual difficulty is that historic rates are indexed by calendar year (i.e. absolute), while explicitly given vectors for the rates are relative to the contract's initial date. The latter currently also causes problems with dynamics that start later (the vectors need to be shifted / shortened accordingly).
One approach could be to use a default function rather than coding the company-wide historic table handling in the ProfitParticipation class. This could give the user full freedom of the past and future, while providing good defaults (historic rates and/or fixed assumptions).