The stochastic growth model is one of the workhorse models in macroeconomics, used to analyze intertemporal decision making in the presence of uncertainty. Closed form solutions are available for particular values of the parameters, often unrealistic. Three main approaches have been used to find its solutions: polynomials, first order disturbances and value function iteration. We present its solution by value function iteration (actually, iteration on the decision rule) for a general set of parameters that the user has to supply.

A stochastic growth model is characterized by the presence of
exogenous variables (the parameters supplied by the user, such as the
discount factor or the depreciation rate) and endogenous variables
(variables whose value will be determined by the model, such as savings
and consumption decisions). Moreover, among the endogenous variables,
there is a distinction to make between control variables and state
variables. Control variables are the choice variables that enter the
optimization problem, while the state variables are predetermined, and
influence the control variables. Hence, the solution to a stochastic
growth model will be a path of values for the endogenous variables,
\(c_{t}\) and \(k_{t+1}\), which depend on the value of the
state variables. There are two state variables in this simple model: the
capital level at time \(t\), \(k_{t}\) and the value of the total factor
productivity at time \(t\), \(z_{t}\). The stochastic element of the
model comes from \(z_{t}\), who follows
a stationary \(AR(1)\) process in
logarithms. This process is discretized using *Rtauchen*, a
function that turns a stationary \(AR(1)\) process into a finite state Markov
chain. The function *sgmodel* creates a grid of points for the
capital level, and a vector of states for \(z\) along with the probability transition
matrix of the Markov chain. The number of points of the capital grid and
the number of states are supplied by the user. The capital grid is built
around the nonstochastic steady state value of capital, normalized to
one. The solution is then obtained by vectorization, that represents the
optimal values of \(c_{t}\) and \(k_{t+1}\) given \(k_{t}\) and \(z_{t}\).

In economics, the concept of a utility function models people’s preferences when making decisions. The Economics literature suggested the use of some functional forms for their properties in different settings. The package includes the most known utility functions, thus allowing the user to obtain the solutions to the stochastic growth model for different preferences. The following tables lists the available utility functions for a given number of goods \(n\), a preference parameter of \(a\) and a constant \(A\):

Type | Functional form, \(n=1\) | Functional form, \(n>1\) |
---|---|---|

Cobb-Douglas | \(u\left(x\right)\equiv Ax^{a}\) | \[u\left(x\right)\equiv A\prod_{i=1}^nx_{i}^{a}\] |

log | \(u\left(x\right)\equiv Aln\left(x\right)\) | \[u\left(x\right)\equiv A\sum_{i=1}^nln(x_{i})\] |

CES | \(u\left(x\right)\equiv Ax\) | \[u\left(x\right)\equiv A(\sum_{i=1}^nx_{i}^{\frac{1}{a}})^{a}\] |

CRRA | \(u\left(x\right)\equiv A\frac{x^{1-a}}{1-a}\) | \[u\left(x\right)\equiv A\sum_{i=1}^n\frac{x_{i}^{1-a}}{1-a}\] |

CARA | \(u\left(x\right)\equiv Ae^{-ax}\) | \[u\left(x\right)\equiv A\sum_{i=1}^ne^{-ax_{i}}\] |

Since the stochastic component of the growth model is discretized through a Markov process in this package, we include a function that computes the unconditional moments of any Markov chain. The user has to supply the states vector with the associated probability transition matrix, and the expectation, variance, autocovariance and autocorrelation are computed after the stationary distribution is derived.