%This matlab file shows that EXAMPLE 2A in the article is an equilibrium of the model. %Community-schooling alternatives: %urban,public %urban,private %suburban,public %In example 2a (urban-trap equilibrium): %- Households with income 5-55 live in the urban area and use the local public school, i.e. choose urban,public %- Households with income 60-75 choose urban,private %- Households with income y=80 are just indifferent between urban,private and suburban,public. % A fraction y80ur of them chooses urban,private; the rest, y80sub, chooses suburban,public. %- Households with income 85-100 choose suburban,public. clear %parameters %utility function sigma = 1.71; delta = 0.0026; %income distribution mu = 3.663; %mean parameter sig = .82; %variance parameter I = 20; %number of discrete income classes int = 5; %size of intervals between income classes for i=1:I y(i) = (int*i); end %f (? in the paper) is the normalizing constant which assures that l(i) add up to 1. It is necessary because we use a truncated income distribution. %l(i) (l is ? in the paper) stands for the mass of households in income class i; L(i) stands for the mass of households in income class i and below. f = 1/logncdf(y(I),mu,sig); for i=1:I if i<2 l(i) = f*logncdf(y(i),mu,sig); L(i) = f*logncdf(y(i),mu,sig); else l(i) = f*logncdf(y(i),mu,sig)-f*logncdf(y(i-1),mu,sig); L(i) = f*logncdf(y(i),mu,sig); end end yp = transpose(y); %total income = mean income = ymean ymean = l*yp %size of communities Hu = 0.91 Hs = 0.09 %cost of construction ch ch = 2.5 %vector of public policies and housing prices Eu = 0.74953299819283 Es = 2.59522570994683 tu = 0.24961778562079 ts = 0.83897991133674 phu = ch phs = 3.09331090635042 pu = phu*(1+tu) ps = phs*(1+ts) %income of median voters mvu=25 mvs=90 %1/ RATIONAL CHOICES %First, we compute the utility each alternative provides to households with each level of income. %For those households who opt for private education, we also compute their demand for private education for i=1:20 vu(i) = (1/(1-sigma))*(((y(i)-pu)^(1-sigma))+(delta*(Eu^(1-sigma)))); if y(i)-ps<=0 vs(i) = -999; else vs(i) = (1/(1-sigma))*((y(i)-ps)^(1-sigma)+(delta*(Es^(1-sigma)))); end xu(i) = ((y(i)-pu)*(delta^(1/sigma)))/(1+(delta^(1/sigma))); wu(i) = (1/(1-sigma))*((y(i)-pu)^(1-sigma)*(1+delta^(1/sigma))^sigma); %Second, for each level of income, we establish the alternative which maximizes a household utility. %tolerance tol = 10^(-10); z1(i) = vu(i) - wu(i); z2(i) = vu(i) - vs(i); z3(i) = vs(i) - wu(i); absz1(i) = abs(z1(i)); absz2(i) = abs(z2(i)); absz3(i) = abs(z3(i)); if absz1(i)>tol if z1(i)>0 if absz2(i)>tol if z2(i)>0 sprintf('households with income y=%g prefer "urban,public"',y(i)) end if z2(i)<0 sprintf('households with income y=%g prefer "suburban,public"',y(i)) end else sprintf('households with income y=%g are indifferent between "urban public" and "suburban,public"',y(i)) end end if z1(i)<0 if absz3(i)>tol if z3(i)>0 sprintf('households with income y=%g prefer "suburban,public"',y(i)) end if z3(i)<0 sprintf('households with income y=%g prefer "urban,private"',y(i)) sprintf('demand for private schooling is %g',xu(i)) end else sprintf('households with income y=%g are indifferent between "suburban,public" and "urban,private"',y(i)) sprintf('demand for private schooling is %g',xu(i)) end end else if absz2(i)>tol if z2(i)>0 sprintf('households with income y=%g are indifferent between "urban,public" and "urban,private"',y(i)) sprintf('demand for private schooling is %g',xu(i)) end if z2(i)<0 sprintf('households with income y=%g prefer "suburban,public"',y(i)) end else sprintf('households with income y=%g are indifferent between "urban public", "urban,private" and "suburban,public"',y(i)) sprintf('demand for private schooling is %g',xu(i)) end end end %2/ HOUSING MARKET EQUILIBRIUM: %For housing markets to be in equilibrium, the mass of households living in each community must equal its housing capacity. %Because Hs+Hu is equal to 1, it suffices to show that Ns=Hs: %For Ns=Hs, the following conditions must hold: %Condition (2a) the mass of households with income 85-100 must be smaller than or equal to Hs. %Condition (2b) the mass of households with income 80-100 must be greater than or equal to Hs. %y80sub measures the mass of households with income 80 who choose suburbs,public. %y80ur measures the mass of households with income 80 that choose urban,private. if L(100/int)-L(80/int)<=Hs %condition 2a if L(100/int)-L(75/int)>=Hs %condition 2b sprintf('housing market in equilibrium') end end y80sub = Hs-(L(100/int)-L(80/int)); y80ur = l(80/int)-y80sub; Nu = L(75/int)+y80ur Ns = L(100/int)-L(80/int)+y80sub %3/ VOTING EQUILIBRIUM %In our setting, schooling and community choices are committed when voting takes place. Therefore, voters take the population of their community, %the distribution of students across public and private schools and the price of housing as given when they vote. Moreover, voters know %their local government budget constraint (LGBC), which establishes a one-to-one relationship among tax rates and per student expenditures. %Preferences are therefore single-peaked at the voting stage. For households choosing a private school the peak is at t = 0. %Since they do not benefit from expenditures on public education, their peak is at the tax rate which maximizes their level of disposable %income. %Households using the local public school in community j, in turn, have their peak at the tax rate, t_j, that maximizes: %u(y - phj * (1 + tj), tj * phj * Nj / nj)) %where the LGBC has been used to establish the relationship among the tax rate and the level of expenditure, Nj is the total mass of households %living in community j, and nj is the mass of students who attend the local public school in community j. Because u(b,x) is strictly concave %this problem has a unique solution and these households preferences are also single-peaked. Moreover, it can easily be shown that this peak %is increasing in income. It is given by the expressions: %urban area: tu* = (mvu-phu)/(phu+(((delta*Nu/nu)^(-1/sigma))*(phu*Nu/nu))) %suburbs: ts* = (mvs-phs)/(phs*(1+delta^(-1/sigma))) %where mvj stands for community j median voter level of income and phj is community j houring rent. Given the LGBC: %ubrban area: Eu* = tu*phu*(Nu/nu); %suburbs: Es* = ts*phs. %Given all this, suppose the median voter prefers t*. For t* to be a voting equilibrium in a community, the mass of households who would vote for this %tax rate against any strictly higher (lower) alternative tax rate satisfying the LGBC must be greater than or equal to half the size of the community. %That is to say, the mass of households in the income class which contains the median voter plus the mass of those who prefer a lower (higher) tax rate must equal Nj/2. %Thus, this is what we now check for both communities: % 3.1. Suburbs if y80sub+l(85/int)+l(90/int)>=l(95/int)+l(100/int) if l(100/int)+l(95/int)+l(90/int)>=y80sub+l(85/int) sprintf('median voter in suburbs has income 90') tscheck = (mvs-phs)/(phs*(1+delta^(-1/sigma))) escheck = tscheck*phs end end %3.2. Urban area %By Epple and Romano (1996) the "ends against the middle" property holds in a voting equilibrium in a mixed community. %That is to say, a voting equilibrium "is characterized by a balancing of a middle-income coalition preferring higher %public expenditure against a coalition of high- and low-income households preferring lower expenditure." (Epple and Romano, 1996, p. 322). if y80ur+l(60/int)+l(65/int)+l(70/int)+l(75/int)+L(25/int)>=l(30/int)+l(35/int)+l(40/int)+l(45/int)+l(50/int)+l(55/int) if l(30/int)+l(35/int)+l(40/int)+l(45/int)+l(50/int)+l(55/int)+l(25/int)>=y80ur+l(60/int)+l(65/int)+l(70/int)+l(75/int)+L(4) sprintf('median voter in urban area has income 25') nu = L(55/int) tucheck = (mvu-phu)/(phu+(((delta*Nu/nu)^(-1/sigma))*(phu*Nu/nu))) eucheck = tucheck*phu*(Nu/nu) end end