Last chance! 50% off unlimited learning
Sale ends in
A canonical dynamic macroeconomic general equilibrium model in time-circle form (see Torres, 2016, Table 2.1 and 2.2).
gemCanonicalDynamicMacroeconomic_TimeCircle_2_2(
alpha.firm = rep(1, 3),
es.prod.lab.firm = 1,
beta.prod.firm = 0.35,
depreciation.rate = 0.06,
eis = 1,
Gamma.beta = 0.97,
beta.prod.consumer = 0.4,
es.prod.lab.consumer = 1,
gr = 0,
wage.payment = "post",
...
)
A general equilibrium (see sdm2
).
a positive vector, indicating the efficiency parameters of the firm for each economic period. The number of economic periods will be set to length(alpha.firm) .
the elasticity of substitution between product and labor in the production function of the firm.
the share parameter of the product in the production function.
the physical depreciation rate of capital stock.
the elasticity of intertemporal substitution of the consumer.
the subjective discount factor of the consumer.
the share parameter of the product in the period utility function.
the elasticity of substitution between product and labor in the CES-type period utility function of the consumer.
the growth rate of the labor supply.
a character string specifying the wage payment method, must be one of "pre" or "post".
arguments to be passed to the function sdm2.
Torres, Jose L. (2016, ISBN: 9781622730452) Introduction to Dynamic Macroeconomic General Equilibrium Models (Second Edition). Vernon Press.
gemCanonicalDynamicMacroeconomic_Timeline_2_2
,
gemCanonicalDynamicMacroeconomic_Sequential_3_2
,
gemCanonicalDynamicMacroeconomic_Sequential_WagePostpayment_4_3
.
# \donttest{
#### Take the wage postpayment assumption.
ge <- gemCanonicalDynamicMacroeconomic_TimeCircle_2_2()
np <- 3
eis <- 1
Gamma.beta <- 0.97
gr <- 0
ge$p
growth_rate(ge$p[1:np])
1 / (1 + sserr(eis = eis, Gamma.beta = Gamma.beta, gr = gr)) - 1
ge$z
growth_rate(ge$z[1:np])
ge$D
ge$S
## Take the wage postpayment assumption.
eis <- 0.8
Gamma.beta <- 0.97
gr <- 0.03
ge <- gemCanonicalDynamicMacroeconomic_TimeCircle_2_2(
es.prod.lab.firm = 0.8,
eis = eis, Gamma.beta = Gamma.beta, es.prod.lab.consumer = 0.8,
gr = gr
)
ge$p
growth_rate(ge$p[1:np])
1 / (1 + sserr(eis = eis, Gamma.beta = Gamma.beta, gr = gr)) - 1
ge$z
growth_rate(ge$z[1:np])
ge$D
ge$S
#### an anticipated technology shock.
## Warning: Running the program below takes about 4 minutes.
# np <- 120
# alpha.firm <- rep(1, np)
# alpha.firm[40] <- 1.05
# ge <- gemCanonicalDynamicMacroeconomic_TimeCircle_2_2(alpha.firm = alpha.firm)
## The steady state product supply is 343.92.
## the (economic) time series of product supply
# plot(ge$z[1:np] / 343.92 - 1, type = "o", pch = 20)
## The steady state product consumption is 57.27.
## the (economic) time series of product consumption
# plot(ge$D[2:np, np + 1] / 57.27 - 1, type = "o", pch = 20)
#### Take the wage prepayment assumption.
ge <- gemCanonicalDynamicMacroeconomic_TimeCircle_2_2(wage.payment = "pre")
np <- 3
eis <- 1
Gamma.beta <- 0.97
gr <- 0
ge$p
growth_rate(ge$p[1:np])
1 / (1 + sserr(eis = eis, Gamma.beta = Gamma.beta, gr = gr)) - 1
ge$z
growth_rate(ge$z[1:np])
ge$D
ge$S
## Take the wage prepayment assumption.
eis <- 0.8
Gamma.beta <- 0.97
gr <- 0.03
ge <- gemCanonicalDynamicMacroeconomic_TimeCircle_2_2(
es.prod.lab.firm = 0.8,
eis = eis, es.prod.lab.consumer = 0.8,
Gamma.beta = Gamma.beta, gr = gr,
wage.payment = "pre"
)
ge$p
growth_rate(ge$p[1:np])
1 / (1 + sserr(eis = eis, Gamma.beta = Gamma.beta, gr = gr)) - 1
ge$z
growth_rate(ge$z[1:np])
ge$D
ge$S
# }
Run the code above in your browser using DataLab