$include model\presim.def
?
? In the presim.def file several taxes and benefits "CAT" are specified
? as well as the used ages. "PC" "QP" "QC" "FY" and "LY"
? and sum definitions for catagories "EXT" and "RET" and ages "PA"
?
? ---------------- PARAMETERS --------------------
?
? this statement defines the parameters for the distribution of taxes and benefits over the cohorts/individuals
? note: in an inputfile the parameters get the actual value from a datafile
?
?
?
?
param   prof_REV_PC    0;
param   prof_EXP_PC    0;
param   bprof_REW_PC   0;
param   bprof_EXD_PC   0;
?
param   switch_xedu    1;
param   switch_xltc    0;
param   switch_xdis    0;
param   switch_pt      0;
param   switch_iz      0;
param   switch_if      0;
param   switch_it      0;
param   switch_in      0;
?
?
? age profile wage dependent
ident prof_REW_PC =  bprof_REW_PC * lfp_PC ;
?
? age profile switchable year independent/year dependent
ident prof_EXD_PC = if(switch_EXD <= 0.5) then  bprof_EXD_PC
                                          else  tprof_EXD_PC ;
?
?
?
? Taxes sensitivity analysis
?
ident  rwgd  = if(switch_pt <= 0.5)  then  rwgd_base
                                     else  rwgd_sens  ;
?
ident  rwgi  = if(switch_pt <= 0.5)  then  rwgi_base
                                     else  rwgi_sens  ;
?
ident  rpnsd  = if(switch_pt <= 0.5) then  rpnsd_base
                                      else   rpnsd_sens  ;
?
ident  rdisd  = if(switch_pt <= 0.5) then  rdisd_base
                                      else   rdisd_sens  ;
?
ident  ruemd  = if(switch_pt <= 0.5) then  ruemd_base
                                      else  ruemd_sens  ;
?
ident  rcapd  = if(switch_pt <= 0.5) then  rcapd_base
                                      else  rcapd_sens  ;
?
ident  rothd  = if(switch_pt <= 0.5) then  rothd_base
                                      else  rothd_sens  ;
?
ident  rpnsi  = if(switch_pt <= 0.5) then  rpnsi_base
                                      else  rpnsi_sens  ;
?
ident  rdisi  = if(switch_pt <= 0.5) then  rdisi_base
                                      else  rdisi_sens  ;
?
ident  rchi  = if(switch_pt <= 0.5)  then   rchi_base
                                      else  rchi_sens  ;
?
ident  ruemi =  if(switch_pt <= 0.5) then  ruemi_base
                                      else   ruemi_sens  ;
?
ident  rcapi =  if(switch_pt <= 0.5) then  rcapi_base
                                      else  rcapi_sens  ;
?
ident  rothi =  if(switch_pt <= 0.5) then  rothi_base
                                      else  rothi_sens  ;
?
ident  rcor =  if(switch_pt <= 0.5) then  rcor_base
                                     else  rcor_sens  ;
?
ident  rcap =  if(switch_pt <= 0.5) then  rcap_base
                                     else  rcap_sens  ;
?
?
?
?  Interest rate sensitivity analysys 0 %
? iz means zero nominal rate, if means 4% interest rate, it means 3% interest rate, in means 0 real interest rate
?
ident  xgen =       if(switch_iz >  0.5 & switch_if <= 0.5 & switch_it <= 0.5 & switch_in <= 0.5 )       then  xgen_sens_0
               else if(switch_iz <= 0.5 & switch_if >  0.5 & switch_it <= 0.5 & switch_in <= 0.5 )       then  xgen_sens_4
               else if(switch_iz <= 0.5 & switch_if <= 0.5 & switch_it >  0.5 & switch_in <= 0.5 )       then  xgen_sens_3
               else if(switch_iz <= 0.5 & switch_if <= 0.5 & switch_it <= 0.5 & switch_in  > 0.5 )       then  xgen_sens_i
               else                                                                                      xgen_base;
?
ident  xinf =       if(switch_iz >  0.5 & switch_if <= 0.5 & switch_it <= 0.5 & switch_in <= 0.5 )       then  xinf_sens_0
               else if(switch_iz <= 0.5 & switch_if >  0.5 & switch_it <= 0.5 & switch_in <= 0.5 )       then  xinf_sens_4
               else if(switch_iz <= 0.5 & switch_if <= 0.5 & switch_it >  0.5 & switch_in <= 0.5 )       then  xinf_sens_3
               else if(switch_iz <= 0.5 & switch_if <= 0.5 & switch_it <= 0.5 & switch_in >  0.5 )       then  xinf_sens_i
               else                                                                                     xinf_base;
?
ident  xedu =       if(switch_iz >  0.5 & switch_if <= 0.5 & switch_it <= 0.5 & switch_in <= 0.5 )       then  xedu_sens_0
               else if(switch_iz <= 0.5 & switch_if >  0.5 & switch_it <= 0.5 & switch_in <= 0.5 )       then  xedu_sens_4
               else if(switch_iz <= 0.5 & switch_if <= 0.5 & switch_it >  0.5 & switch_in <= 0.5 )       then  xedu_sens_3
               else if(switch_iz <= 0.5 & switch_if <= 0.5 & switch_it <= 0.5 & switch_in >  0.5 )       then  xedu_sens_i
               else                                                                                     xedu_base;
?
?        Interest rate sensitivity analysis 4 %
? ident  xgen =  if(switch_if <= 0.5) then  xgen_base
?                                    else  xgen_sens_4  ;
?
? ident  xinf =  if(switch_if <= 0.5) then  xinf_base
?                                    else  xinf_sens_4  ;
?
?ident  xedu =  if(switch_if <= 0.5) then  xedu_base
?                                    else  xedu_sens_4  ;
?
?
?
? ---------------- MODEL EQUATIONS ---------------
?
?    aggrgate the profile over ages
ident prof_CAT_sum = {prof_CAT_PA * pop_PA}/1000000;
?
?    and split the outpays over ages using the profile and the profile-sum
ident as_CAT_PC = CAT / prof_CAT_sum * prof_CAT_PC;
?
?
?          An attempt to model the discounting of all the values
?
?          We make the values in different years comparable by multiplying it with a correction factor "disc_fact"
?             This factor has the vaue 1.0 in the base-year.
ident disc_fact = if (currentyear < baseyear) then disc_fact(+1) * (1+rente(+1))
                                              else 1.0 ;
?
?          We want to compute the benefits someone has had in the past. "p_val"
?             We asume they do not benefit from diseased cohort members.
?             Therefore the mortality rate is not relevant.
ident as_p_val_CAT_FY = as_CAT_FY;
?      ident asbn_p_val_CAT_QC = if(currentyear>firstyear) then asbn_CAT_QC + asbn_p_val_CAT_QP(-1)         * (1+rente)
?                                                          else asbn_CAT_QC + asbn_p_val_CAT_QP / (1+groei) * (1+rente);
ident as_p_val_CAT_QC = as_CAT_QC + as_p_val_CAT_QP(-1) * (1+rente);
?
?    calculate the total population
ident pop_tot  = {pop_PA};
?
?
?    finaly aggregate different cetegories to a total
ident as_p_val_xtot_PC = {as_p_val_EXT_PC};
ident as_p_val_rtot_PC = {as_p_val_RET_PC};
ident as_p_val_ntot_PC = as_p_val_xtot_PC - as_p_val_rtot_PC;
?
?          Past values "p_val" are discounted to the base-year "pdval"
ident as_pdval_CAT_PC  = as_p_val_CAT_PC  * disc_fact;
ident as_pdval_xtot_PC = as_p_val_xtot_PC * disc_fact;
ident as_pdval_rtot_PC = as_p_val_rtot_PC * disc_fact;
ident as_pdval_ntot_PC = as_p_val_ntot_PC * disc_fact;
?
?  extra equations to calculate the cohort benefits ("C" on pos 4).
ident as_c_val_CAT_FY  = as_CAT_FY * pop_FY / 1000;
ident as_c_val_CAT_QC  = as_CAT_QC * pop_QC / 1000 + as_c_val_CAT_QP(-1) * (1+rente);
ident as_c_val_xtot_PC = {as_c_val_EXT_PC};
ident as_c_val_rtot_PC = {as_c_val_RET_PC};
ident as_c_val_ntot_PC = as_c_val_xtot_PC - as_c_val_rtot_PC;
ident as_cdval_CAT_PC  = as_c_val_CAT_PC  * disc_fact;
ident as_cdval_xtot_PC = as_c_val_xtot_PC * disc_fact;
ident as_cdval_rtot_PC = as_c_val_rtot_PC * disc_fact;
ident as_cdval_ntot_PC = as_c_val_ntot_PC * disc_fact;
?
end;