$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;