最终生成中间表 prem_srv—叫做 计算保费参数表

关键字段及其计算

死亡率 (qx)

即:某个年龄的死亡率

  1. qx = IF(B14<=105,VLOOKUP(B14,MORT_10_13,IF(Sex="M",2,3)),0)*MortRatio_Prem_0*(A14<=BPP)

当 年龄在保险对应的有效年龄内 (i.e., 小于105岁时)
,首先确认此人年龄 (设为A岁)
,然后确认此人性别:
如果是男性,去MORT10_13表的第二列、根据A岁找到对应死亡率;
如果是女性,去MORT_10_13表的第三列、根据A岁找到对应死亡率;
最终结果乘以bpp
,确认在保单有效期内;
相反,如果年龄大于保险有效年龄,直接把qx置为0—表示无效字段

  1. select
  2. if(tb_origin.age<=150, (if(tb_origin.sex='M', m.CL1, m.CL2)), 0) * i.MortRatio_Prem_0 * tb_origin.bpp_ as qx
  3. from table0 as tb_origin
  4. join MORT_10_13 as m on tb_origin.age = m.age
  5. join INPUT as i on tb_origin.age = i.age

残疾率 (qx_ci)

  1. qx_ci = VLOOKUP(B14,DD_TABLE,IF(Sex="M",2,3))*(A14<=BPP)

确认此人保险仍在保单有效期内
,首先确认此人年龄 (设为A岁)
,然后确认此人性别:
如果是男性,去CI_TABLE表 (i.e., 行业25种重疾发生率 表) 的第二列、根据A岁找到对应残疾率;
如果是女性,去CI_TABLE表的第三列、根据A岁找到对应残疾率;

  1. select
  2. if(tb_origin.sex='M', ci_tb.Male, ci_tb.Female) * tb_origin.bpp_ as qx_ci
  3. from table0 as tb_origin
  4. join dd_table as ci_tb on tb_origin.age = ci_tb.age

有效保单数 (lx)

  1. lx =