SPB Git forge

spb/wp18_uqo

Public
6commits 1branches 0releases
5.4 MBsize
maindefault branch
yesterdaylast push
TeX 53.2% Python 46.6%
7.5 KB · 113 lines yaml
Raw Blame History
1# WP18 — baseline configuration (Part B model, research/model_specification.md §B).2# Every parameter: value, unit, and provenance. "illustrative" = no verified Canadian/Québec3# source in research/literature_matrix.csv; "normalisation" = fixed by construction;4# "verified target" = a moment reported in a verified source (see calibration.py), used as a5# comparison, never as a fitted claim. Annual values are converted to the 5-year model period6# in src/model.py (conversion formulas recorded there and in results/data/parameters.csv).7#8# One model period = 5 years. Units of value: the average 5-year labour income of a working-age9# household at the median productivity state (E[z] = 1, mean age profile = 1) = 1.1011meta:12  name: baseline13  seed: 20261020               # numpy Generator seed for the dynasty panel (common random numbers)14  period_years: 51516demographics:17  J: 12                        # ages 1..12 = 25-29 .. 80-84 (spec B.1)18  j_retire: 9                  # first retirement age index (65-69)19  j_gift: 7                    # parent gives the inter-vivos transfer; child enters at age 120  j_estate: 7                  # child receives the parent's estate (J - j_gift + 2 = 7)2122preferences:23  beta_annual: 0.96            # illustrative (standard lifecycle value); per period = 0.96^524  gamma: 2.0                   # CRRA curvature on the composite c^(1-alpha) s^alpha; illustrative25  alpha: 0.20                  # housing-services share in the composite; illustrative (Statistics26                               # Canada shelter share of spending is ~0.3 incl. utilities; we use27                               # the lower value because owner services are gross of maintenance)28  chi: 0.0                     # ownership utility premium (s = (1+chi) h); baseline 0 (spec B.2)29  nu: 2.0                      # warm-glow weight (De Nardi 2004 form); illustrative, chosen so that mean gifts ~ 2 years of income30  x_shift: 1.0                 # luxury shift of the warm glow (transfers are a luxury); illustrative (see calibration.py)3132income:33  rho_annual: 0.95             # annual AR(1) persistence of log productivity; illustrative (standard)34  sigma_annual: 0.15           # annual innovation s.d.; illustrative (standard)35  n_z: 5                       # Rouwenhorst states36  # 5-year conversion (model.py): rho5 = rho^5; the unconditional variance of log z is kept equal37  # to the annual one, sigma5 = sqrt(var_u * (1 - rho5^2)), var_u = sigma^2/(1 - rho^2).38  age_profile: [0.70, 0.88, 1.02, 1.10, 1.15, 1.13, 1.06, 0.96]   # ages 1..8 (25-64), mean = 1; illustrative hump39  replacement_rate: 0.50       # pension = rr * ybar_8 * z_last; illustrative40  rho_intergenerational: 0.0   # correlation of child z_1 with parent z at j_gift; 0 = equal-income design41  sigma_transitory: 0.03       # s.d. of a transitory, unanticipated i.i.d. income component per period (log), realised42                               # before decisions; spreads the atoms of the cash distribution (zero-gift entrants,43                               # hand-to-mouth renters) that otherwise make excess demand discontinuous; illustrative44  dep_premium_annual: 0.0      # excess annual real return on household deposits ("renter investment return"); 0 baseline4546housing:47  h_sizes: [1.0, 1.5, 2.25, 3.4]   # owner-occupied sizes, units of housing (spec B.12)48  s_min: 0.30                  # minimum rented size; illustrative (< h_min)49  s_max: 3.4                   # maximum rented size = largest house50  m_annual: 0.01               # maintenance, share of value per year; illustrative (per period = 5x)51  kappa_b: 0.025               # buying cost, share of price; illustrative (Québec transfer duty + legal)52  kappa_s: 0.05                # selling cost, share of price; illustrative (brokerage)53  kappa_f: 0.01                # refinancing cost, share of house value; illustrative54  delta_H_annual: 0.01         # physical depreciation of the stocks per year; illustrative5556mortgage:57  N: 5                         # amortisation, periods (25 years); Canadian standard (literature_review §7)58  theta: 0.20                  # minimum down payment (max LTV 0.80); Canadian uninsured threshold; illustrative baseline59  psi: 0.39                    # payment-to-income cap at the qualifying rate; illustrative (GDS-type cap)60  stress_annual: 0.02          # qualifying-rate add-on, annual (stress test); illustrative61  contract: frm                # frm | term5 | arm — identical in the stationary equilibrium (spec B.5)62  spread_annual: 0.0           # mortgage spread over the deposit nominal rate; baseline 06364rates:65  r_annual: 0.02               # real rate per year; illustrative (small open economy, exogenous)66  pi_annual: 0.02              # steady-state CPI inflation per year; Bank of Canada 2% target (institutional)6768rental:69  phi: 0.05                    # landlord operating wedge per period (share of value); illustrative70  sigma_seg: 1.0               # segmentation (1 = fully segmented stocks, 0 = one stock); spec B.671  eta_rent: 1.0                # rent indexation to a surprise (1 = full); baseline72  eta_wage: 1.0                # wage indexation to a surprise (1 = full); baseline7374supply:75  eps: 1.0                     # long-run owner-occupied supply elasticity; ILLUSTRATIVE (no verified Canadian estimate; range 0.05-3)76  eps_r: 1.0                   # rental supply elasticity; illustrative77  H_bar: null                  # scale; null = set by normalisation p* = 1 (calibration.py)78  Hr_bar: null                 # scale; null = set by normalisation p^r* = 179  p_ref: 1.0                   # price normalisation8081government:82  tau_b: 0.0                   # transfer tax on gifts and estates, rebated lump-sum to age-1 households8384grids:85  n_a: 50                      # liquid assets, double-exponential spacing86  a_max: 15.0                  # units of average 5-year income87  n_b: 20                      # real mortgage balance per unit of house: [0, (1-theta) p_cap]88  p_cap_factor: 1.6            # balance grid covers prices up to p_cap_factor * p_ref89  n_x: 120                     # cash-on-hand grid for the rent / buy / refinance branches90  x_max: 22.091  n_B: 11                      # loan choices at origination, fractions of the LTV cap92  n_gift: 12                   # gift choices at j_gift, fractions of cash (0 .. gift_frac_max)93  gift_frac_max: 0.694  K_estate: 5                  # points of the estate lottery95  c_min: 0.01                  # consumption floor (feasibility)9697simulation:98  n_dynasties: 96000           # dynasty slots (16 000 per phase); cross-section = 2 x n_dynasties99  burn_periods: 60             # 10 generations from an arbitrary initial condition (stationary; convergence checked in tests)100101equilibrium:102  tol_excess: 5.0e-4           # relative excess demand tolerance; MC noise in excess-demand differences is ~1e-3 for 0.5 % price moves, so the equilibrium price is pinned to about +/-0.05 %103  tol_lottery: 1.0e-3          # relative change of the estate lottery points104  max_outer: 10                # lottery / rebate fixed-point rounds105  damping: 0.7                 # damping of the lottery / rebate update106107transition:108  T: 14                        # periods (70 years); residual at T reported109  tol: 1.5e-3                  # max relative excess demand along the path (single-period cross-sections of 192 000 households: noise floor ~1e-3)110  max_iter: 20111  jac_step: 0.01               # FD step in log price (averages the grid kinks)112  pi_surprise: 0.10            # unexpected cumulative CPI surprise in the shock period (10 % ~ 2 pp/yr over 5 yrs)113