/**************************************************************/ /* This program obtains all the Bayesian Nash Equilibria to */ /* generate Figure 1b of Diego Escobari "Imperfect Detection */ /* of Tax Evasion in a Corrupt Tax Administration" (Public */ /* Organization Review). The calibration values are the ones */ /* in Table 1. The other results in the paper can be obtained */ /* by modifying of this code. The code requires the nlsys */ /* Gauss library. */ /**************************************************************/ library nlsys; #include nlsys.ext; _nlitnum = 200; nlset; tot=zeros(27,1); grid=100; min=1.28; max=5; i=1; do while i le grid; s=i*(max-min)/grid+min; /* probability of audit */ p0=0.1; /* perceived audit probability, using Camerer and Ho (1994) */ p=1-(1-p0)^0.56/(p0^0.56+(1-p0)^0.56)^(1/0.56); /* income */ y=100; /* coefficient of relative risk aversion taxpayer */ be=2; /* coefficient of relative risk aversion auditor */ al=2; /* outside money income of auditor */ M=30; /* tax rate */ t=0.25; /* fine rate */ /* s=3; */ /* corruption rate */ k=0.4; /* lambda: concavity of the phi function */ l=1; /* share of the evaded tax that tax agency pays to auditor */ h=0.1; /* marginal cost of effort */ mc=0.0012; proc fsys(x); local d, b, ac, ah, v, phi, dphidD, dphidac, rho, drhodD, drhodah, dDdb, dGdb, dGdD, dDdac, dDdah, dGdac, dGdah, f1, f2, f3, f4; /* Compliance Coefficient */ d=x[1]; /* Bribe rate */ b=x[2]; /* Effort exerted by corrupt auditor */ ac=x[3]; /* Effort exerted by honest auditor */ ah=x[4]; v=zeros(4,1); phi=d+((y-d)*ac)/(1-l/2)-0.5*((y-d)*l*ac^2)/(1-l/2); dphidD=1-ac/(1-l/2)+0.5*(l*ac^2)/(1-l/2); dphidac=(y-d)/(1-l/2)-((y-d)*l*ac)/(1-l/2); rho=d+((y-d)*ah)/(1-l/2)-0.5*((y-d)*l*ah^2)/(1-l/2); drhodD=1-ah/(1-l/2)+0.5*(l*ah^2)/(1-l/2); drhodah=(y-d)/(1-l/2)-((y-d)*l*ah)/(1-l/2); dGdb=p*k*(-be)*(y-t*d-b*s*t*(phi-d))^(-be-1)*(-t-b*s*t*dphidD)*(-s*t*(phi-d))+p*k*(y-t*d-b*s*t*(phi-d))^(-be)*(-s*t*dphidD+s*t); dGdD=(1-p)*(-be)*(y-t*d)^(-be-1)*t^2+p*k*(-be)*(y-t*d-b*s*t*(phi-d))^(-be-1)*(-t-b*s*t*dphidD+b*s*t)^2+p*(1-k)*(-be)*(y-t*d-s*t*(rho-d))^(-be-1)*(-t-s*t*drhodD+s*t)^2; dGdac=p*k*(-be)*(y-t*d-b*s*t*(phi-d))^(-be-1)*(-t-b*s*t*dphidD+b*s*t)*(-b*s*t*dphidac); dGdah=p*(1-k)*(-be)*(y-t*d-s*t*(rho-d))^(-be-1)*(-t-s*t*drhodD+s*t)*(-s*t*drhodah); /* Implicit Function Theorem */ dDdb=-dGdb/dGdD; dDdac=-dGdac/dGdD; dDdah=-dGdah/dGdD; f1=((1-p)*(y-t*d)^(-be)*(-t)+p*k*(y-t*d-b*s*t*(phi-d))^(-be)*(-t-b*s*t*dphidD+b*s*t)+p*(1-k)*(y-t*d-s*t*(rho-d))^(-be)*(-t-s*t*drhodD+s*t)); f2=(s*t*b*(phi-d)+M)^(-al)*(s*t*(phi-d)+s*t*b*(dphidD*dDdb-dDdb)); f3=(s*t*b*(phi-d)+M)^(-al)*(s*t*b*(dphidD*dDdac+dphidac-dDdac))-mc; f4=(s*t*h*(rho-d)+M)^(-al)*(s*t*h*(drhodD*dDdah+drhodah+dDdah))-mc; retp(f1|f2|f3|f4); endp; /* Initial values */ x0 = { 62.40, 0.62, 0.89, 0.82 }; _nlalgr = 1; __altnam = { Decl , bribe , ac, ah }; __title = "Corruption and Tax Evasion"; __output = 1; output file = n14.out reset; { x, f, g, tcode } = nlprt(nlsys(&fsys,x0)); output off; /* Additional output files*/ phi0=x[1]+((y-x[1])*x[3])/(1-l/2)-0.5*((y-x[1])*l*x[3]^2)/(1-l/2); rho0=x[1]+((y-x[1])*x[4])/(1-l/2)-0.5*((y-x[1])*l*x[4]^2)/(1-l/2); /* Expected utility */ eu=(1-p)*(y-t*x[1])^(1-be)/(1-be)+p*k*(y-t*x[1]-x[2]*s*t*(phi0-x[1]))^(1-be)/(1-be)+p*(1-k)*(y-t*x[1]-s*t*(rho0-x[1]))^(1-be)/(1-be); /* Utility corrupt auditor */ vc=(s*t*x[2]*(phi0-x[1])+M)^(1-al)/(1-al)-mc; /* Utility honest auditor */ vh=(s*t*h*(rho0-x[1])+M)^(1-al)/(1-al)-mc; /* Compliance coefficient */ cc=x[1]/y; /* Bribe*/ bc=x[2]*s*t*(phi0-x[1])/y; fc=s*t*(rho0-x[1])/y; cphi=phi0/y; crho=rho0/y; re=0; re=(p0|y|be|al|m|t|s|k|l|h|mc|cphi|crho|eu|vc|vh|cc|bc|fc|x0|x); tot=tot~re; i=i+1; endo;