In previous simulations, I investigated the effects of manipulating house prices through pricing velocity. While that is , no doubt, a factor in maintaining high prices, here I study only the effect of keeping the supply of houses below the demand. In other words, restricting the supply to the higher end of the market.
High pricing velocity requires the supposition of unseen financial forces which can only be guessed at.
Reduced housing supply, on the other hand, only requires some reflection on the best interests of the housing industry.
Interests of the Housing Industry
The housing industry is, after all, the original housing speculator. In the interest of profitablity, the housing industry seeks to maintain the period of high prices for as long as possible. It is always more profitable to aim to build the highest priced housing possible. It is not in the builder's interest for the market to reach equilibrium. Once equilibrium is reached, housing demand falls in line with the normal growth of the economy. Bubble profits are then gone.
This figure shows the progression of the housing sector under normal circumstances. The housing price is in line with the supply. The first houses to be built are very expensive. (In a city nearby to me, the oldest houses in town are mansions built by lumber barons during the lumber boom of the 1870s)
Prices gradually decline through the income strata of the population, and, with growing wages, the market reaches an equilibrium in about 30 years where half the employed population are home owners and the other half are renters.
The cost differential between owning a house and renting is shown by the difference between the green house price line and the hatched renter line.
At year 75, the government institutes a stimulus program to increase home ownership and make housing more affordable. This causes the house prices in the market to instantly decline. At the same time, the equilibrium home ownership percentage increases form 50% to 70%.
Remember, in an natural market D = 1 – 2*c , where c = H/LT , H = number of Houses,
LT = total number of employed households for the entire economy.
In a stimulated housing market, D = 1 – 2*c +stimH. In this study, stimH is assumed to be 0.4
The market is in equilibrium when D, the demand for new houses is zero. For this study, c = 0.7, meaning the market is in equilibrium when 70% of the employed households own houses, after market stimulation.
This figure shows the rent ratio (the housing cost of owners/renters), along with the real house price
(house price/general wage level), and percentage home ownership c for the unmanipulated assumptions.
Next, I studied the effect of reducing the supply velocity of houses. I assumed that the housing industry only built housing that was most profitable, ie larger houses for the higher end of the market.
The housing supply velocity is given by the formula k*CF/tau_HQ. Here, tau_HQ is the supply lag time, CF is the demand metric = 1-2*c + stimH, and k is the supply velocity coefficient.
In the previous case, k = 1 throughout.
For the case shown below, I assumed for 0 < k ="1" k =" 0.25*(1+">
where k declines linearly from a little less than 0.5 to 0.25. After 60 years, k is constant at 0.25
This figure shows the effect on the housing sector of reduced housing supply. The housing boom, the period of high prices, is considerably extended. The market comes into equilibrium at about t = 70. This is followed by a housing stimulus at t = 75 and the house price level is then brought down to a low multiple of the rents. At this point, demand is then very low and the effect of supply restriction unimportant.
Under the reducing supply regime, real house prices decline much more gradually. The housing stimulus at t = 75 greatly reduces real house prices as well. The credit crunch for 100
The home ownership percentage grows to 70% at about t = 85
I include an annotated SciLab code
z0=[100;100;0;0;1;1;1;300;0;0;0;100;20;20;1;1;1;1;2;1];
t=0:1:150;
clf()
function dx = keeninterm(t,x)
rL=.05
rD=.03
s=.3
v=5;
HV=5.2
tauS=.25
tauW=1/(26-HV)
tau_Q=1;tau_L=1
tau_H=1
tau_pi=1,tau_piH=1
tau_HQ=1;tau_HL=1;
sH=0.3;tausH=.25;tauWH=1/HV;
if t> 100 then
fac=.5;
else fac=1;
end
if t>120 then
fac=1
end
tauL=7*fac
tauR=1/fac
tauM=20/fac
tauMH=20/fac
tauB=1.25;tauBH=5
tauP=1
alpha=.015;alphaH=.015;
bta=.01
gma=.01;gmaH=.01
stimH=0
if t > 75 then
stimH=0.4
end
//FL=x(1);FD=x(2);WD=x(3);BD=x(4);P=x(5);wages=x(6);a=x(7);N=x(8);BR=x(9);K=x(10);
//Q=x(11); L=x(12)
//HL=x(13); HD=x(14); PH=x(15); aH=x(16);KH=x(17); H=x(18); LH=x(19); R=x(20)
A=rL*x(1); B=A; C=rD*x(2);D=(1-s)/tauS*x(2);E=rD*x(3);F=x(3)/tauW;G=x(4)/tauB;
H=x(1)/tauL;
I=x(9)*x(2)/((x(2)+x(14))*tauR);
J=x(2)/tauM;
HA=rL*x(13);HB=HA;HC=rD*x(14);HD=(1-sH)/tausH*x(14);HF=x(3)/tauWH;HH=x(13)/tauL;HI=x(9)*x(14)/((x(2)+x(14))*tauR);HJ=x(14)/tauMH
HG=x(4)/tauBH;LT=x(12)+x(19);c=x(18)/LT;DH=HV*x(3);DHR=x(3)*HV;HK=x(14)/tausH
CF=1-2*c+stimH
function GE=genexp(x,xv,yv,s,m)
GE=(yv-m)*exp(s/(yv-m)*(x-xv))
endfunction
lamda=(x(12)+x(19))./x(8)
Ph=genexp(lamda,.96,0,1,-.04)
dx(1)=A-B-H+I+J// dFL/dt
dx(2)=-B+C-D+F+G-H+I+J// dFD/dt
dx(3)=D+E-F+HD-HF// dWD/dt
dx(4)=B-C-E-G+HB-HC-HG// dBD/dt
dx(5)=-1/tauP*(x(5)-x(6)./((1-s)*x(7)))// dP/dt general price level
dx(6)=Ph*x(6)// dw/dt general wage level
dx(7)=alpha*x(7)// da/dt productivity
dx(8)=bta*x(8)// dN/dt population
dx(9)=H-I-HI+HH// dBR/dt bank reserves
dx(10)=x(2)/tau_pi-gma*x(10) // dK/dt das Kapital
dx(11)=-1/tau_Q*(x(11)-x(10)/(v*x(5)))// dQ/dt real output
dx(12)=-1/tau_L*(x(12)-x(11)/x(7))// dL/dt number of employed workers (households)
Profit=x(5)*x(11)-x(6)*x(12)-A+C
ProfitH=x(15)*x(18)-x(6)*x(19)-HA+HC
dx(13)=HA-HB-HH+HI+HJ
dx(14)=-HB+HC-HD+HF+HG-HH+HI+HJ
k=1 // PH velocity coefficient
k_H=1// H quantity velocity coefficient
if t>10 then
k_H=0.25*(1+(60-t)/60)
end
if k_H<.25 then
k_H=.25
end
dx(15)=-k/tauP*(x(15)-HK*(1-c)/x(18)) // dPH/dt House prices
dx(16)=x(16)*alphaH// housing sector productivity
dx(17)=x(14)/tauS-gma*x(17)// dKH/dt Housing Capital
dx(18)=-k_H*CF/tau_HQ*(x(18)*exp(.691/70)-HK/(x(15)))// dH/dt Housing supply
dx(19)=-1/tau_L*(x(19)-x(18)/x(16))// dL/dt employed housing workers
dx(20)=-1/tauP*(x(20)-HK*(1-c)/LT)// dR/dt Rents
endfunction
z=ode(z0,0,t,keeninterm);
c=z(18,:)./(z(19,:)+z(12,:));
Profit=z(5,:).*z(11,:)-z(6,:).*z(12,:)+.03*z(2,:)-.05*z(1,:);
lamda=(z(12,:)+z(19,:))./z(8,:);
unemp=1-lamda;
u=z(1:12,:);
uu=z(13:20,:);
plot2d(t',u',[1 2 3 4 5 6 7 -1 -2 -3 -4 -5 ],logflag="nl",rect=[0,.01,150,10^7]);
legends(['LoanF';'DepositF';'WD';'BD';'Price';'Wages';'a=prod.';'N';'BReserves';'K';'Q';'L'],[1 2 3 4 5 6 7 -1 -2 -3 -4 -5]);
halt
plot2d(t',[Profit;unemp]',logflag="nl");
legends(['Profit';'Unemployment'],[1 2],"ur");
halt
clf()
plot2d(t',uu',[1 2 3 4 5 6 7 -1],logflag="nl",rect=[0,.01,150,10^7])
legends(['HLoan';'HFirm';'H Price';'aH';'KH';'QH';'LH';'Rent'],[1 2 3 4 5 6 7 -1],"ul");
halt
rentratio=z(15,:)./z(20,:);
clf()
plot2d(t',[rentratio;z(15,:)./z(6,:);c]',style=[2 1 5],logflag="nl")
legends(['rent ratio';'real house prices';'c=H/LT'],[2 1 5],"ur");