dle

Provides a class called DLE to convert and solve dynamic linear economics (as set out in Hansen & Sargent (2013)) as LQ problems.

class quantecon.dle.DLE(information, technology, preferences)[source]

Bases: object

This class is for analyzing dynamic linear economies, as set out in Hansen & Sargent (2013). The planner’s problem is to choose {c_t, s_t, i_t, h_t, k_t, g_t}_{t=0}^infty to maximize

max -(1/2) mathbb{E} sum_{t=0}^{infty} beta^t [(s_t - b_t).(s_t-b_t) + g_t.g_t]

subject to the linear constraints

Phi_c c_t + Phi_g g_t + Phi_i i_t = Gamma k_{t-1} + d_t k_t = Delta_k k_{t-1} + Theta_k i_t h_t = Delta_h h_{t-1} + Theta_h c_t s_t = Lambda h_{t-1} + Pi c_t

and

z_{t+1} = A_{22} z_t + C_2 w_{t+1} b_t = U_b z_t d_t = U_d z_t

where h_{-1}, k_{-1}, and z_0 are given as initial conditions.

Section 5.5 of HS2013 describes how to map these matrices into those of a LQ problem.

HS2013 sort the matrices defining the problem into three groups:

Information: A_{22}, C_2, U_b , and U_d characterize the motion of information sets and of taste and technology shocks

Technology: Phi_c, Phi_g, Phi_i, Gamma, Delta_k, and Theta_k determine the technology for producing consumption goods

Preferences: Delta_h, Theta_h, Lambda, and Pi determine the technology for producing consumption services from consumer goods. A scalar discount factor beta determines the preference ordering over consumption services.

Parameters:
Information : tuple

Information is a tuple containing the matrices A_{22}, C_2, U_b, and U_d

Technology : tuple

Technology is a tuple containing the matrices Phi_c, Phi_g, Phi_i, Gamma, Delta_k, and Theta_k

Preferences : tuple

Preferences is a tuple containing the matrices Delta_h, Theta_h, Lambda, Pi, and the scalar beta

Methods

canonical() Compute canonical preference representation Uses auxiliary problem of 9.4.2, with the preference shock process reintroduced Calculates pihat, llambdahat and ubhat for the equivalent canonical household technology
compute_sequence(x0[, ts_length, Pay]) Simulate quantities and prices for the economy
compute_steadystate([nnc]) Computes the non-stochastic steady-state of the economy.
irf([ts_length, shock]) Create Impulse Response Functions
canonical()[source]

Compute canonical preference representation Uses auxiliary problem of 9.4.2, with the preference shock process reintroduced Calculates pihat, llambdahat and ubhat for the equivalent canonical household technology

compute_sequence(x0, ts_length=None, Pay=None)[source]

Simulate quantities and prices for the economy

Parameters:
x0 : array_like(float)

The initial state

ts_length : scalar(int)

Length of the simulation

Pay : array_like(float)

Vector to price an asset whose payout is Pay*xt

compute_steadystate(nnc=2)[source]

Computes the non-stochastic steady-state of the economy.

Parameters:
nnc : array_like(float)

nnc is the location of the constant in the state vector x_t

irf(ts_length=100, shock=None)[source]

Create Impulse Response Functions

Parameters:
ts_length : scalar(int)

Number of periods to calculate IRF

Shock : array_like(float)

Vector of shocks to calculate IRF to. Default is first element of w