$ontext
Dear GAMS users,
Can you please help me with the following problem:
I want to add a constraint to a simple MPSGE
model in which the activity level of some sector
in period t+1 depends on the activity level of
another sector in period. The idea is that this
sector ("old") is perfectly substitutable to
another sector ("new") in the production of some
good ("total"). One can interpret "old" as the
surviving portion of "total" (a simplified
vintage approach). In the counterfactual, i want
to increase the 'survival share'. The solution
should be simple: a bit more "old", a little less
"new", same "total".
Any suggestions?
$offtext
$TITLE Ramsey Model: Incorporating Extant and New Vintage Capital
SET T /0*50/
SET TL(T) /0,10,20,30,40,50/;
SET TFIRST(T), TLAST(T);
TFIRST(T) = YES$(ORD(T) EQ 1);
TLAST(T) = YES$(ORD(T) EQ CARD(T));
SCALAR
G Baseline growth rate /0.02/,
IR Baseline steady-state interest rate /0.05/,
K0 Capital-output ratio /3.00/,
DELTA Depreciation rate for new capital /0.07/,
DELTAX Depreciation rate for extant capital /0.07/,
I0 Base year investment,
L0 Base year labor input,
C0 Base year consumption,
KVS Base year capital value share;
I0 = (DELTA + G) * K0;
L0 = 1 - K0 * (DELTA + IR);
C0 = 1 - (DELTA + G) * K0;
KVS = K0 * (DELTA + IR);
PARAMETER QREF(T) Reference quantity path,
PREF(T) Reference price path;
QREF(T) = (1+G)**(ORD(T)-1);
PREF(T) = (1/(1+IR))**(ORD(T)-1);
PARAMETER ALPHA;
ALPHA(T) = ((1+G)/(1+IR))**(ORD(T)-1);
ALPHA(TLAST) = ALPHA(TLAST) / (1-(1+G)/(1+IR));
$ONTEXT
$MODEL:RAMSEY
$SECTORS:
X(T) ! Output from extant (old) vintage capital
Y(T) ! Output new vintage capital
I(T) ! Investment in new capital
K(T) ! New vintage Capital stock
$COMMODITIES:
P(T) ! Output price
RK(T) ! Return to capital
RKX(T) ! Return to extant (old) capital
PK(T) ! Capital price
PL(T) ! Wage rate
PKT ! Terminal capital
$CONSUMERS:
RA ! Representative agent
$AUXILIARY:
TK ! Post-terminal capital stock
$PROD:X(T) s:1
O:P(T) Q:1
I:PL(T) Q:L0
I:RKX(T) Q:K0 P:(DELTA+IR)
$PROD:Y(T) s:1
O:P(T) Q:1
I:PL(T) Q:L0
I:RK(T) Q:K0 P:(DELTA+IR)
$PROD:K(T)
O:PK(T+1) Q:(1-DELTA)
O:PKT$TLAST(T) Q:(1-DELTA)
O:RK(T) Q:1
I:PK(T) Q:1
$PROD:I(T)
O:PK(T+1) Q:1
O:PKT$TLAST(T) Q:1
I:P(T) Q:1
$DEMAND:RA s:1
D:P(T) Q:(QREF(T)*C0) P:PREF(T)
E:PL(T) Q:(L0*QREF(T))
E:PK(TFIRST) Q:(0.1*K0)
E:RKX(T) Q:(0.9*K0*(1-deltax)**(ord(t)-1))
E:PKT Q:-1 R:TK
$REPORT:
V:C(T) D:P(T) DEMAND:RA
$CONSTRAINT:TK
SUM(T$TLAST(T+1), I(T+1)/I(T) - Y(T+1)/Y(T)) =E= 0;
$OFFTEXT
$SYSINCLUDE mpsgeset RAMSEY
Y.L(T) = QREF(T);
X.L(T) = QREF(T);
I.L(T) = I0 * QREF(T);
K.L(T) = K0 * QREF(T);
P.L(T) = PREF(T);
RK.L(T) = PREF(T) * (DELTA+IR);
PK.L(T) = PREF(T) * (1+IR);
PL.L(T) = PREF(T);
PKT.L = SUM(TLAST, PREF(TLAST));
TK.L = K0 * (1+G)**CARD(T);
RAMSEY.ITERLIM = 1000;
$INCLUDE RAMSEY.GEN
SOLVE RAMSEY USING MCP;
PARAMETER BAU Baseline values;
BAU(T,"X") = X.L(T);
BAU(T,"Y") = Y.L(T);
BAU(T,"I") = I.L(T);
BAU(T,"K") = K.L(T);
BAU(T,"C") = C.L(T);
* Model an unanticipated permanent change
* in the depreciation rate for extant capital
* from 7% per annum to 6% per annum:
DELTAX = 0.06;
$INCLUDE RAMSEY.GEN
SOLVE RAMSEY USING MCP;
PARAMETER IMPACT Percentage changes;
IMPACT(T,"Y") = 100 * (Y.L(T)/BAU(T,"Y")-1);
IMPACT(T,"I") = 100 * (I.L(T)/BAU(T,"I")-1);
IMPACT(T,"K") = 100 * (K.L(T)/BAU(T,"K")-1);
IMPACT(T,"C") = 100 * (C.L(T)/BAU(T,"C")-1);
$SETGLOBAL DOMAIN T
$SETGLOBAL LABELS TL
$LIBINCLUDE PLOT IMPACT