predetermined: Declare a Predetermined (Backward-Looking) State Variable

View source: R/predetermined.R

predeterminedR Documentation

Declare a Predetermined (Backward-Looking) State Variable

Description

Thin alias for state(formula, shock = FALSE) that names the role of the variable explicitly, matching Dynare's predetermined_variables command. Use whenever you want a state-like variable whose current value is fully determined by past values (no contemporaneous shock channel).

Usage

predetermined(formula)

Arguments

formula

A formula of the form variable ~ expression. The right-hand side gives the law of motion – typically references to other states or controls.

Details

Mapping to Dynare

Dynare declares var k; predetermined_variables k; so that references to k inside the model block mean the predetermined (period-t) value, with k(+1) referring to the forward value. The equivalent in our framework is predetermined(k ~ <law of motion>), which contributes a row to the state transition with no shock column attached. This is identical to state(k ~ <law of motion>, shock = FALSE) – the two declarations are interchangeable.

Common uses

  • Lagged controls: predetermined(c_lag ~ c) makes c_lag carry the previous period's consumption into the next period.

  • Capital accumulation: predetermined(k ~ (1 - delta) * k + inv).

  • Stocks of any kind that evolve via accounting identities.

Value

A dsge_equation of state type with shock = FALSE.

See Also

state, obs, unobs, dsge_model.

Examples

# AR(1) with a lagged-output term in the observation equation
m <- dsge_model(
  obs(y ~ rho * y_lag + e),
  predetermined(y_lag ~ y),
  state(e ~ phi * e),
  fixed = list(rho = 0.5, phi = 0.5))
sol <- solve_dsge(m, params = c(rho = 0.5, phi = 0.5),
                  shock_sd = c(e = 1))
sol$stable


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