View source: R/features_08_claim_inflation.R
claim_payment_inflation | R Documentation |
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.
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
)
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 |
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 by
1 - 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 using set_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 exceeding 0.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 relevant
time_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 exceeding ref_claim
in dollar values as of t = 0
,
the payment time superimposed inflation is nil. The rate of inflation
varies linearly between claim sizes of zero and ref_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.
# 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]]
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.