pac_weights: Solve a Polynomial Adjustment Cost (PAC) Equation

View source: R/pac-equations.R

pac_weightsR Documentation

Solve a Polynomial Adjustment Cost (PAC) Equation

Description

Computes the reduced-form lag coefficients and forward-looking weights implied by a polynomial adjustment-cost problem, as used in the FRB/US model. Given a discount factor and the adjustment-cost parameters on the first m differences of the choice variable, the function factors the Euler equation's characteristic polynomial and returns the resulting PAC representation.

Usage

pac_weights(beta, d, horizon = 60L)

Arguments

beta

Numeric discount factor in (0, 1].

d

Numeric vector of adjustment-cost parameters (d_1, \ldots, d_m) on the first m differences. All entries must be non-negative and at least one must be positive. length(d) sets the order m.

horizon

Integer. Number of forward weights w_j to return. Default 60.

Details

Special cases worth knowing

  • m = 1 has the closed form \phi = the stable root of d\beta z^2 - (1 + d + d\beta) z + d = 0, giving y_t = \phi y_{t-1} + (1-\phi)(1-\beta\phi)\sum_j (\beta\phi)^j E_t y^*_{t+j}.

  • As d \to 0 adjustment is costless, \phi \to 0 and the solution collapses to y_t = y^*_t.

  • As d \to \infty adjustment becomes prohibitively costly and \phi \to 1.

Value

An object of class "dsge_pac" with elements:

roots

The m stable roots \phi_k.

lag_coef

Length-m vector a_k of coefficients on y_{t-k}.

fwd_weight

Length-horizon+1 vector of the scaled forward weights c\,w_j on E_t y^*_{t+j}, starting at j = 0.

scale

The normalising constant c.

homogeneity

\sum_k a_k + \sum_j c w_j, which equals 1 up to the truncation error in horizon.

beta, d, m

Inputs.

References

Tinsley, P.A. (1993). Fitting both data and theories: Polynomial adjustment costs and error-correction decision rules. Federal Reserve Board FEDS working paper 93-21.

Brayton, F., Davis, M. and Tulip, P. (2000). Polynomial adjustment costs in FRB/US. Federal Reserve Board.

See Also

pac_target_loading to collapse the infinite forward sum when the target follows a linear state process, and pac_simulate to simulate a PAC equation along a given target path.

Examples

# First-order adjustment costs
p <- pac_weights(beta = 0.99, d = 1.5)
p$roots
p$lag_coef
head(p$fwd_weight)
p$homogeneity          # 1 up to truncation

# Second-order costs give richer lag dynamics
p2 <- pac_weights(beta = 0.99, d = c(1.0, 0.5))
p2$lag_coef


dsge documentation built on Sept. 25, 2026, 5:08 p.m.