$TITLE Adjust Capitals Value Share 


Edward J. Balistreri
Senior Associate
Charles River Associates, Inc.

In this model the interest/discount rate is given.
This results in an over determination of the dynamic
equilibrium.  The value returned to capital and labor 
in production is adjusted.

Original Base Year Data (rectangular SAM)

	   Y	  I	|	  RA
PY	 200	-20	|	-180
RENT	 -50		|	  50
WAGE	-150		|	 150
Savings		 20	|	 -20


	Y0	Benchmark Gross Output,
	KS0	Benchmark Capital Supply,
	LS0	Benchmark Labor Supply,
	I0	Benchmark Savings,
	C0	Benchmark Consumption;

Y0	= 200;
KS0	=  50;
LS0	= 150;
I0	=  20;
C0	= 180;

*----------Setup the Dynamics----------*
Set	T		Time Periods	/2000*2100/
	TFIRST(T)	First Period	/2000/
	TLAST(T)	Terminal Period /2100/;

	R	Rate of Interest	/0.05/
	G	Growth Rate		/0.02/,
	D	Depreciation Rate	/0.02/;

	K0	Benchmark Capital Stock,
	RK0	Benchmark Return on a Unit of K
	PK0	Benchmark Price of a Unit of K
	QREF(T) Growth Path for Quantities
	PREF(T) Present Value Price Paths
	KSCAL0   Calibrated level of Value to Capital Services;

* 1) Given the interest rate Calculate PK0 and RK0

PK0	= 1/(1-r);
RK0	= (R-R*D+D)/(1-R);

* 2) Solve for the Initial Capital Stock

K0	= I0/(G+D);

* 3) Find the Calibrated Capital Supply


* 4) Adjust Social Accounts to match the new level
*     of capital services.

LS0	= LS0+(KS0 - KSCAL0);

* 5) Set the steady-state Reference Paths

QREF(T)	=	(1+G)**(ORD(T)-1);
PREF(T) =	(1-r)**(ORD(T)-1);

Display K0,RK0,R,PK0,QREF,PREF;

Parameter TAX(T) Tax Rate on Investment;
TAX(T)	=  0;



	Y(T)	! Production
	I(T)	! Investment
	K(T)	! Capital Stock
	C(T)	! Consumption Index

	PY(T)	! Price index on output
	PC(T)	! Price index on consumption
	RK(T)	! Present Value Return to capital
	PL(T)	! Present Value Wage
	PK(T)	! Price index on Capital
	PKT	! Price of Terminal Capital

	RA	! Representative agent

	TCAP	! Terminal Capital Demand

$PROD:Y(T) s:1
	O:PY(T)	Q:Y0
	I:RK(T)	Q:KS0
	I:PL(T)	Q:LS0

	O:PK(T+1)	Q:I0
	I:PY(T)		Q:I0	A:RA T:TAX(T)

	O:PKT$TLAST(T)	Q:(K0*(1-D))
	O:PK(T+1)	Q:(K0*(1-D))
	O:RK(T)		Q:KS0
	I:PK(T)		Q:K0

	O:PC(T)		Q:C0
	I:PY(T)		Q:C0

$Demand:RA s:0.5
	D:PC(T)		Q:(C0*QREF(T))	P:PREF(T)
	E:PL(T)		Q:(LS0*QREF(T))
	E:PKT		Q:(-1)		R:TCAP

	SUM(T$TLAST(T+1),C(T)*I(T+1) - I(T)*C(T+1)) =E= 0;

$sysinclude mpsgeset dyn3

* Set Steady State Level Values:
Y.L(T)	= QREF(T);
I.L(T)	= QREF(T);
K.L(T)	= QREF(T);
C.L(T)	= QREF(T);

PY.L(T) = PREF(T);
PC.L(T) = PREF(T);
RK.L(T) = PREF(T);
PL.L(T) = PREF(T);
PK.L(T) = PREF(T)*PK0;


dyn3.ITERLIM = 0;
$include dyn3.gen
solve dyn3 using mcp;

* Run a simple experiment: 10% tax on investment from 2010 on.

	SHOCK(T) Time periods under the shock /2010*2100/;

TAX(SHOCK) = 0.1;

dyn3.ITERLIM = 100;
$include dyn3.gen
solve dyn3 using mcp;

Parameter MACRO(T,*)	"% Change in Macro Variables";
MACRO(T,"INVEST")	= 100*(I.L(T)/QREF(T)-1);
MACRO(T,"CONS")		= 100*(C.L(T)/QREF(T)-1);
MACRO(T,"CAPITAL")	= 100*(K.L(T)/QREF(T)-1);
MACRO(T,"OUTPUT")	= 100*(Y.L(T)/QREF(T)-1);

*	Plotting if you have gnuplot
*$libinclude gnuplot macro

Display macro;