claim_payment_inflation {SynthETIC} | R Documentation |
Size of Partial Payments (With Inflation)
Description
Converts the (compound) list of constant-dollar-value payment sizes to a
(compound) list of inflated payment sizes by applying inflation rates on a
continuous time scale.
Compare with claim_payment_size()
which generates the constant dollar
amount of partial payment sizes. Note that the constant dollar values are as
of time 0.
Usage
claim_payment_inflation(
frequency_vector,
payment_size_list,
payment_time_list,
occurrence_list,
claim_size_list,
base_inflation_vector,
si_occurrence_function,
si_payment_funtion
)
Arguments
frequency_vector |
a vector of claim frequencies for all the occurrence periods. |
payment_size_list |
(compound) list of payment size pattern (without inflation). |
payment_time_list |
(compound) list of payment times on a continuous time scale. |
occurrence_list |
(compound) list of occurrence times on a continuous time scale. |
claim_size_list |
list of claim sizes. |
base_inflation_vector |
vector showing quarterly base inflation rates (quarterly effective) for all the periods under consideration (default at nil base inflation). |
si_occurrence_function |
function of |
si_payment_funtion |
function of |
Details
Returns a compound list structure such that the j
th component
of the i
th sub-list gives the inflated payment pattern (as a
vector) for the j
th claim of occurrence period i
.
By default we assume
Nil base inflation.
No superimposed inflation by (continuous) occurrence time for the first 20 quarters (converted to the relevant
time_unit
); beyond 20 quarters, the inflation index is given by1 - 0.4 max(0, 1 - claim_size/(0.25 * ref_claim))
where
ref_claim
is a package-wise global variable that user is required to define at the top of their code usingset_parameters
. The interpretation is that, due to some external change to the insurance scheme at the end of occurrence quarter 20, the smallest claims will reduce by up to 40% in size. This change will not impact claims exceeding0.25*ref_claim
in size. The reduction varies linearly between these claim sizes.Superimposed inflation by (continuous) payment time operates at a period rate of
\gamma * max(0, 1 - claim_size/ref_claim)
where
\gamma
is equivalent to a 30% p.a. inflation rate (converted to the relevanttime_unit
). The interpretation is that, for claims of small size the payment time superimposed inflation tends to be very high (30% p.a.); whereas for claims exceedingref_claim
in dollar values as oft = 0
, the payment time superimposed inflation is nil. The rate of inflation varies linearly between claim sizes of zero andref_claim
.
Remark on continuous inflation: We note that SynthETIC
works with
exact transaction times, so time has been measured continuously throughout
the program. This allows us to apply inflation on a continous time scale too.
For example, we asked the users to provide base inflation as a vector of
quarterly base inflation rates, quarterly effective for all the periods under
consideration. This data is generally available online (e.g. the Australian
quarterly inflation is available on RBA's website - see
link). We
then interpolate the quarterly inflation rates to compute the addition of
inflation by exact times. In the case of above, if we observed quarterly
inflation rates of 0.6%, 0.5%, 0.7% and 0.3% for one particular year, then
the base inflation applied to a payment at time t = 1.82
quarters will
be 1.006 * 1.005^{0.82}
.
Remark on out-of-bound payment times: This function includes adjustment for out-of-bound transaction dates, by forcing payments that were projected to fall out of the maximum development period to be paid at the exact end of the maximum development period allowed. For example, if we consider 40 periods of development and a claim incurred in the interval (20, 21] was projected to have a payment at time 62.498210, then we would treat such a payment as if it occurred at time 60 for the purpose of inflation.
Examples
# remove SI occurrence and SI payment
SI_occurrence <- function(occurrence_time, claim_size) {1}
SI_payment <- function(payment_time, claim_size) {1}
# base inflation constant at 0.02 p.a. effective
# (length is 80 to cover the maximum time period)
base_inflation_vector <- rep((1 + 0.02)^(1/4) - 1, times = 80)
attach(test_claims_object)
payment_inflated_list <- claim_payment_inflation(
frequency_vector, payment_size_list, payment_time_list,
occurrence_list, claim_size_list, base_inflation_vector,
SI_occurrence, SI_payment
)
detach(test_claims_object) # undo the attach
# inflated payments for claim 1 of occurrence period 1
payment_inflated_list[[1]][[1]]