*********** simulation des impôts manquants *********** choix de l'année de simulation dans do_appel_parametres *********** Choix du répertoire racine dans do_appel_parametres (à exécuter en premier) clear set mem 500m set more off /******** appel des paramètres*/ do Programmes/do_appel_parametres /******** appel des variables*/ use Fichiers/indiv_demo_$annee, clear keep id_indiv pondv age public sort id_indiv merge id_indiv using Fichiers/indiv_logt_$annee gen loyer=0 replace loyer=loyer_verse if loyer_verse~=. replace loyer=loyer_fictif if loyer_fictif~=. keep id_indiv pondv public loyer sort id_indiv merge id_indiv using Fichiers/indiv_revcap_$annee keep id_indiv pondv public loyer yk_cn k_cn is tf csk pl rfin_cn rfon_cn rfin_dist_cn rfin_nondist_cn rfin_int_cn sort id_indiv merge id_indiv using Fichiers/indiv_cotsoc_$annee keep id_indiv pondv public loyer ya_cn yr_cn yk_cn k_cn cs cs_contr ts is tf csk pl rfin_cn rfon_cn rfin_dist_cn rfin_nondist_cn rfin_int_cn sort id_indiv merge id_indiv using Fichiers/indiv_nouvel_ir_$annee keep id_indiv pondv public loyer ya_cn yr_cn yk_cn k_cn cs cs_contr ts is tf csk pl rfin_cn rfon_cn rfin_dist_cn rfin_nondist_cn rfin_int_cn y ya yk yr ir ir_trav ir_cap ir_remp ira ira_trav ira_cap ira_remp sort id_indiv merge id_indiv using Fichiers/indiv_irpp_$annee keep id_indiv pondv public loyer ya_cn yr_cn yk_cn k_cn cs cs_contr ts is tf csk pl rfin_cn rfon_cn rfin_dist_cn rfin_nondist_cn rfin_int_cn y ya yk yr ir ir_trav ir_cap ir_remp ira ira_trav ira_cap ira_remp rfr_irpp nbp sort id_indiv merge id_indiv using Fichiers/indiv_transferts_$annee keep id_indiv pondv public loyer ya_cn yr_cn yk_cn k_cn cs cs_contr ts is tf csk pl rfin_cn rfon_cn rfin_dist_cn rfin_nondist_cn rfin_int_cn y ya yk yr ir ir_trav ir_cap ir_remp ira ira_trav ira_cap ira_remp rfr_irpp nbp yt sort id_indiv merge id_indiv using Fichiers/indiv_nouv_transferts_$annee keep id_indiv pondv public loyer ya_cn yr_cn yk_cn k_cn cs cs_contr ts is tf csk pl rfin_cn rfon_cn rfin_dist_cn rfin_nondist_cn rfin_int_cn y ya yk yr ir ir_trav ir_cap ir_remp ira ira_trav ira_cap ira_remp rfr_irpp nbp yt ytn sort id_indiv merge id_indiv using Fichiers/indiv_isf_$annee keep id_indiv pondv public loyer ya_cn yr_cn yk_cn k_cn cs cs_contr ts is tf csk pl rfin_cn rfon_cn rfin_dist_cn rfin_nondist_cn rfin_int_cn y ya yk yr ir ir_trav ir_cap ir_remp ira ira_trav ira_cap ira_remp rfr_irpp nbp yt ytn isf bouclier /**********************************phase 1: simulation de la TH*/ egen masse_loyer_conso=total(loyer*pondv/1000000000) gen th=loyer*$masse_th_cn/masse_loyer_conso replace th=0 if rfr_irpp<$seuil_exo_th+2*(nbp-1)*$seuil_exo_th_demipart egen masse_th_sim=total(th*pondv/1000000000) replace th=th*$masse_th_cn/masse_th_sim /*********************************phase 2: simulation des DMTG*/ /*** xtile pk=k_cn [w=pondv], nq(100)*/ /*** cumul plus rapide que xtile, mais attention pond non entier*/ cap gen pondvr=round(100*pondv) cumul k_cn [w=pondvr], gen(pk) replace pk=100*pk egen seuil_topk=max(k_cn*cond(pk<95,1,0)) egen masse_topk=total((k_cn-seuil_topk)*cond(pk>95,1,0)*pondv/1000000000) gen dmtg=0 replace dmtg=(k_cn-seuil_topk)*$masse_dmtg_cn/masse_topk if pk>95 /*********************************phase 3: simulation de l'ISF (méthode grossière)*/ gen isf2=0 replace isf2=(k_cn-seuil_topk)*$masse_isf_cn/masse_topk if pk>95 /*******************************phase 4: simulation de TVA et TP, part incidence facteurs*/ gen ya_cn_priv=ya_cn replace ya_cn_priv=0 if public==1 egen masse_ya_cn_priv=total(ya_cn_priv*pondv/1000000000) egen masse_rfin_dist_cn=total(rfin_dist_cn*pondv/1000000000) gen ratio_yk_profits=($masse_profit_dist_cn+$masse_is_cn)/masse_rfin_dist_cn gen tva_fact_trav=ya_cn_priv*(1-$alpha_tva)*$masse_tva_cn/(masse_ya_cn_priv+$masse_profit_dist_cn+$masse_is_cn) gen tva_fact_cap=ratio_yk_profits*rfin_dist_cn*(1-$alpha_tva)*$masse_tva_cn/(masse_ya_cn_priv+$masse_profit_dist_cn+$masse_is_cn) gen tp_fact_trav=ya_cn_priv*(1-$alpha_tp)*$masse_tp_cn/(masse_ya_cn_priv+$masse_profit_dist_cn+$masse_is_cn) gen tp_fact_cap=ratio_yk_profits*rfin_dist_cn*(1-$alpha_tp)*$masse_tp_cn/(masse_ya_cn_priv+$masse_profit_dist_cn+$masse_is_cn) gen tva_fact=tva_fact_trav+tva_fact_cap gen tp_fact=tp_fact_trav+tp_fact_cap gen ya_cn_fact=ya_cn+tva_fact_trav+tp_fact_trav gen yk_cn_fact=yk_cn+tva_fact_cap+tp_fact_cap gen y_cn_fact=ya_cn_fact+yk_cn_fact /*******************************phase 5: simulation de TVA et TP, incidence prix à la conso (avec nouvel IR, et sans bouclier fiscal)*/ /*********************phase 5-1: revenu disponible, épargne et consommation*/ /**calcul du taux d'épargne*/ gen y_disp=y_cn_fact-cs-ts-is-tf-csk-th-isf-dmtg-ir-tva_fact-tp_fact-rfin_nondist_cn+yr+ytn egen masse_y_disp=total(y_disp*pondv/1000000000) /** xtile py=y_disp [w=pondv], nq(1000) */ /** replace py=py/1000 */ /** cumul plus rapide than xtile*/ cumul y_disp [w=pondvr], gen(py) gen epargne=$landa_epargne*py*y_disp egen seuil_topydisp=max(y_disp*cond(py<0.95,1,0)) replace epargne=epargne+$landa_epargne*py*(y_disp-seuil_topydisp) if py>0.95 egen masse_epargne_sim=total(epargne*pondv/1000000000) replace epargne=epargne+y_disp*($masse_epargne_men_cn-masse_epargne_sim)/masse_y_disp /**ajustement pour conso<0*/ gen conso=y_disp-epargne-loyer replace epargne=epargne+conso if conso<0 replace conso=0 if conso<0 egen masse_epargne_sim2=total(epargne*pondv/1000000000) egen masse_conso_sim=total(conso*pondv/1000000000) replace epargne=epargne+conso*($masse_epargne_men_cn-masse_epargne_sim2)/masse_conso_sim replace conso=max(y_disp-epargne-loyer,0) /**********************phase 5-2: calcul de TVA et TP payés sur la conso*/ egen masse_conso=total(conso*pondv/1000000000) gen tva_conso=conso*$alpha_tva*$masse_tva_cn/masse_conso gen tp_conso=conso*$alpha_tp*$masse_tp_cn/masse_conso /*********************phase 5-3: attribution aux facteurs de TVA et TP payés sur la conso*/ /*** attribution de TH*/ gen th_trav=th*ya/y gen th_cap=th*yk/y gen th_remp=th*yr/y /*** attribution de TVA et TP payés sur conso*/ gen ya_disp=ya_cn_fact-cs-ts-th_trav-ir_trav-tva_fact_trav-tp_fact_trav gen yk_disp=yk_cn_fact-is-tf-csk-th_cap-isf-dmtg-ir_cap-tva_fact_cap-tp_fact_cap-rfin_nondist_cn gen yr_disp=yr-th_remp-ir_remp gen yt_disp=ytn replace y_disp=0.0001 if y_disp==0 gen tva_conso_trav=tva_conso*ya_disp/y_disp gen tp_conso_trav=tp_conso*ya_disp/y_disp gen tva_conso_cap=tva_conso*yk_disp/y_disp gen tp_conso_cap=tp_conso*yk_disp/y_disp gen tva_conso_remp=tva_conso*yr_disp/y_disp gen tp_conso_remp=tp_conso*yr_disp/y_disp gen tva_conso_tran=tva_conso*yt_disp/y_disp gen tp_conso_tran=tp_conso*yt_disp/y_disp replace y_disp=y_disp+rfin_nondist_cn /*******************phase 5-4: calcul des revenus primaires et impôts totaux sur revenus primaires*/ gen ya_prim=ya_cn_fact+tva_conso_trav+tp_conso_trav gen yk_prim=yk_cn_fact+tva_conso_cap+tp_conso_cap gen y_prim=ya_prim+yk_prim gen impot_trav=cs+ts+ir_trav+th_trav+tva_fact_trav+tp_fact_trav+tva_conso_trav+tp_conso_trav gen impot_cap=is+tf+csk+isf+dmtg+ir_cap+th_cap+tva_fact_cap+tp_fact_cap+tva_conso_cap+tp_conso_cap gen impot_prim=impot_trav+impot_cap gen irf=ir_trav+ir_cap gen thf=th_trav+th_cap gen tva_trav=tva_fact_trav+tva_conso_trav gen tva_cap=tva_fact_cap+tva_conso_cap gen tvaf=tva_trav+tva_cap gen tva=tvaf+tva_conso_remp+tva_conso_tran gen tp_trav=tp_fact_trav+tp_conso_trav gen tp_cap=tp_fact_cap+tp_conso_cap gen tpf=tp_trav+tp_cap gen tp=tpf+tp_conso_remp+tp_conso_tran gen impot_remp=ir_remp+th_remp+tva_conso_remp+tp_conso_remp gen impot_tran=tva_conso_tran+tp_conso_tran gen impot=impot_prim+impot_remp+impot_tran gen yr_prim=yr+tva_conso_remp+tp_conso_remp gen yt_prim=ytn+tva_conso_tran+tp_conso_tran egen masse_cs_contr=total(cs_contr*pondv/1000000000) egen masse_yr_prim=total(yr_prim*pondv/1000000000) gen y_sec=y_prim-cs_contr+yr_prim*masse_cs_contr/masse_yr_prim gen impot_sec=impot_prim-cs_contr+impot_remp*masse_cs_contr/masse_yr_prim /*******************************phase 6: imputation de TVA et TP, incidence prix à la conso (avec IR actuel, et avec bouclier fiscal)*/ /*******************phase 6-1: revenu disponible, épargne et consommation*/ /**calcul du taux d'épargne*/ gen y_dispa=y_cn_fact-cs-ts-is-tf-csk-th-isf+bouclier-dmtg-ira-tva_fact-tp_fact-rfin_nondist_cn+yr+yt egen masse_y_dispa=total(y_dispa*pondv/1000000000) drop py /** xtile py=y_dispa [w=pondv], nq(1000) */ /** replace py=py/1000 */ /** cumul plus rapide que xtile*/ cumul y_dispa [w=pondvr], gen(py) gen epargnea=$landa_epargne*py*y_dispa egen seuil_topydispa=max(y_dispa*cond(py<0.95,1,0)) replace epargnea=epargnea+$landa_epargne*py*(y_dispa-seuil_topydispa) if py>0.95 egen masse_epargne_sima=total(epargnea*pondv/1000000000) replace epargnea=epargnea+y_dispa*($masse_epargne_men_cn-masse_epargne_sima)/masse_y_dispa /**ajustement pour conso<0*/ gen consoa=y_dispa-epargnea-loyer replace epargnea=epargnea+consoa if consoa<0 replace consoa=0 if consoa<0 egen masse_epargne_sima2=total(epargnea*pondv/1000000000) egen masse_conso_sima=total(consoa*pondv/1000000000) replace epargnea=epargnea+consoa*($masse_epargne_men_cn-masse_epargne_sima2)/masse_conso_sima replace consoa=max(y_dispa-epargnea-loyer,0) /*****************phase 6-2: calcul de TVA et TP payés sur la conso*/ egen masse_consoa=total(consoa*pondv/1000000000) gen tva_consoa=consoa*$alpha_tva*$masse_tva_cn/masse_consoa gen tp_consoa=consoa*$alpha_tp*$masse_tp_cn/masse_consoa /*****************phase 6-3: attribution aux facteurs de TVA et TP payés sur la conso*/ gen ya_dispa=ya_cn_fact-cs-ts-th_trav-ira_trav-tva_fact_trav-tp_fact_trav gen yk_dispa=yk_cn_fact-is-tf-csk-th_cap-isf+bouclier-dmtg-ira_cap-tva_fact_cap-tp_fact_cap-rfin_nondist_cn gen yr_dispa=yr-th_remp-ira_remp gen yt_dispa=yt replace y_dispa=0.0001 if y_dispa==0 gen tva_consoa_trav=tva_consoa*ya_dispa/y_dispa gen tp_consoa_trav=tp_consoa*ya_dispa/y_dispa gen tva_consoa_cap=tva_consoa*yk_dispa/y_dispa gen tp_consoa_cap=tp_consoa*yk_dispa/y_dispa gen tva_consoa_remp=tva_consoa*yr_dispa/y_dispa gen tp_consoa_remp=tp_consoa*yr_dispa/y_dispa gen tva_consoa_tran=tva_consoa*yt_dispa/y_dispa gen tp_consoa_tran=tp_consoa*yt_dispa/y_dispa replace y_dispa=y_dispa+rfin_nondist_cn /****************phase 6-4: calcul des revenus primaires et impôts totaux sur revenus primaires*/ gen ya_prima=ya_cn_fact+tva_consoa_trav+tp_consoa_trav gen yk_prima=yk_cn_fact+tva_consoa_cap+tp_consoa_cap gen y_prima=ya_prima+yk_prima gen impota_trav=cs+ts+ira_trav+th_trav+tva_fact_trav+tp_fact_trav+tva_consoa_trav+tp_consoa_trav gen impota_cap=is+tf+csk+isf-bouclier+dmtg+ira_cap+th_cap+tva_fact_cap+tp_fact_cap+tva_consoa_cap+tp_consoa_cap gen impota_prim=impota_trav+impota_cap gen iraf=ira_trav+ira_cap gen tvaa_trav=tva_fact_trav+tva_consoa_trav gen tvaa_cap=tva_fact_cap+tva_consoa_cap gen tvaaf=tvaa_trav+tvaa_cap gen tvaa=tvaaf+tva_consoa_remp+tva_consoa_tran gen tpa_trav=tp_fact_trav+tp_consoa_trav gen tpa_cap=tp_fact_cap+tp_consoa_cap gen tpaf=tpa_trav+tpa_cap gen tpa=tpaf+tp_consoa_remp+tp_consoa_tran gen impota_remp=ira_remp+th_remp+tva_consoa_remp+tp_consoa_remp gen impota_tran=tva_consoa_tran+tp_consoa_tran gen impota=impota_prim+impota_remp+impota_tran gen yr_prima=yr+tva_consoa_remp+tp_consoa_remp gen yt_prima=yt+tva_consoa_tran+tp_consoa_tran egen masse_yr_prima=total(yr_prima*pondv/1000000000) gen y_seca=y_prima-cs_contr+yr_prima*masse_cs_contr/masse_yr_prima gen impota_sec=impota_prim-cs_contr+impota_remp*masse_cs_contr/masse_yr_prima /*******************************phase 7: sauvegarde d'un fichier simulé*/ keep id_indiv pondv th dmtg isf bouclier isf2 y_cn_fact ya_cn_fact yk_cn_fact tva_fact tp_fact tva_fact_trav tva_fact_cap tp_fact_trav tp_fact_cap y_disp loyer conso epargne tva_conso tp_conso tva_conso_trav tp_conso_trav tva_conso_cap tp_conso_cap tva_conso_remp tp_conso_remp tva_conso_tran tp_conso_tran y_prim ya_prim yk_prim impot_prim impot_trav impot_cap irf thf th_trav th_cap th_remp tva_trav tva_cap tvaf tva tp_trav tp_cap tpf tp impot_remp impot_tran impot y_sec impot_sec y_dispa consoa epargnea tva_consoa tp_consoa tva_consoa_trav tp_consoa_trav tva_consoa_cap tp_consoa_cap tva_consoa_remp tp_consoa_remp tva_consoa_tran tp_consoa_tran y_prima ya_prima yk_prima impota_prim impota_trav impota_cap iraf tvaa_trav tvaa_cap tvaaf tvaa tpa_trav tpa_cap tpaf tpa impota_remp impota_tran impota y_seca impota_sec yr_prim yt_prim yr_prima yt_prima compress sort id_indiv save Fichiers/indiv_aut_impots_$annee, replace keep id_indiv pondv th_trav th_cap th_remp y_cn_fact ya_cn_fact yk_cn_fact tva_fact tp_fact tva_fact_trav tva_fact_cap tp_fact_trav tp_fact_cap tva_conso tp_conso tva_conso_trav tp_conso_trav tva_conso_cap tp_conso_cap tva_conso_remp tp_conso_remp tva_conso_tran tp_conso_tran tva_trav tva_cap tp_trav tp_cap tva_consoa tp_consoa tva_consoa_trav tp_consoa_trav tva_consoa_cap tp_consoa_cap tva_consoa_remp tp_consoa_remp tva_consoa_tran tp_consoa_tran tvaa_trav tvaa_cap tpa_trav tpa_cap yr_prim yt_prim yr_prima yt_prima sort id_indiv save Fichiers/indiv_aut_impots_sup_$annee, replace use Fichiers/indiv_aut_impots_$annee, clear keep id_indiv pondv th dmtg isf bouclier isf2 y_disp loyer conso epargne y_prim ya_prim yk_prim impot_prim impot_trav impot_cap irf thf tvaf tva tpf tp impot_remp impot_tran impot y_sec impot_sec y_dispa consoa epargnea y_prima ya_prima yk_prima impota_prim impota_trav impota_cap iraf tvaaf tvaa tpaf tpa impota_remp impota_tran impota y_seca impota_sec sort id_indiv save Fichiers/indiv_aut_impots_$annee, replace