1<!-- Author: Simon-Pierre Boucher — simon-pierre.boucher@uqo.ca -->2# 🏠 The Endogenous Housing Liquidity Premium34**UQO Working Paper No. 19** — *Search Frictions, Seller Urgency, and Price Discovery*56[-b31b1b?logo=latex&logoColor=white)](paper/main.pdf)7[](requirements.txt)8[](data/raw/README.md)9[](Makefile)10[](https://uqo.ca)11[](mailto:simon-pierre.boucher@uqo.ca)1213> **TL;DR** — A continuous-time search model of a local housing market with free entry of buyers, a continuous distribution of14> seller carrying costs (urgency), Nash bargaining, withdrawals, and a financing-contingency extension (cash vs mortgage buyers).15> Eight propositions (urgency discount, arrival rate with an exact Pareto counterexample, free entry, liquidity shocks without16> fundamentals, dispersion, sale selection in price indices with a distribution-dependent sign, the cash–mortgage gap in three17> terms, posted prices) and twelve pre-registered numerical experiments. Baseline: 2.2 months on market, 5.6 % urgency discount,18> 3.5 % price dispersion among identical houses; halving matching efficiency lowers prices 4.8 % and raises time on market to19> 3.4 months; the composition (selection) term of the observed index is ≤ 0.15 log-% against 2–10 % within-type effects.20> Theoretical paper: **no data are used**.2122---2324## 📌 Status2526| Item | Value |27|---|---|28| Version | 1.0 (October 2026) |29| SSRN | not yet submitted |30| Journal | — |31| Code & data | fully reproducible from `config/baseline.yaml` (see Quick start); no data |3233## 🎯 What this paper does3435The paper asks how market tightness, heterogeneous seller reservation values, financing frictions, time-on-market costs and36bargaining power jointly determine an endogenous housing liquidity discount, transaction prices, sale hazards and price37dispersion, and under which conditions a liquidity shock propagates when housing-service values are unchanged.3839Sellers of type $c$ (carrying cost) solve40```41(r+δ) V(c) = −c + δ w0 + Λ_s β H(V(c)+U), H(v) = E[(w−v)^+], Λ_s = φ A θ^α42```43with free entry of buyers ($U=k$), sale hazard $η(c)=Λ_s[1−G(V(c)+U)]$, Nash price $p=(1−β)V−βU+βw$, and stocks44$n(c)=s f(c)/(η(c)+δ)$. The urgency discount is $D(c)=1−\bar p(c)/\bar p(c_L)$; the Walrasian free-entry price $p^*$ solves $H(p^*)=rk$.4546## 🏆 Headline results4748| Object | Value (baseline, model-generated) |49|---|---|50| Tightness θ*, contact rates Λ_s / Λ_b | 4.39 buyers per listing; 8.0 / 1.8 per year |51| Time on market of sales; buyer search | 2.2 months; 10.8 months |52| Urgency discount, most urgent / transaction-weighted | 5.6 % / 2.0 % |53| Price s.d. among identical houses; between-type share | 3.5 %; 13 % |54| Halving matching efficiency (GE vs PE) | price −4.8 % vs −4.3 %; TOM 3.4 vs 3.2 months; θ 3.73 |55| Entry amplification d ln Λ_s / d ln φ | 1.10 |56| Transition, permanent −20 % A | price −1.46 % on impact; sales −13 % → −1.4 %; inventory +13 % (half-life 1.9 months) |57| Index composition term (selection) | ≤ 0.15 log-%; dampens for truncated normal/Weibull, amplifies for exponential/Pareto |58| Cash–mortgage gap (extension) | 1.73 % = 0.49 (delay-bargaining) + 1.61 (outside option) − 0.37 (selection); 1.1 % patient → 3.0 % urgent |59| Welfare-maximising β (flow criterion) | 0.55 (Hosios 0.50); planner gain 0.30 % |6061## 🗂 Repository layout6263```64endogenous-housing-liquidity-premium/ (spbgit: wp19_uqo.git)65├── CLAUDE.md # research brief and execution protocol66├── config/baseline.yaml # the only input: parameters with units and justifications67├── src/68│ ├── model.py # distributions (truncnorm, exponential, Pareto, Weibull), type grid, Params69│ ├── solver.py # seller block, free-entry equilibrium, posted prices, financing extension, planner, transition70│ ├── simulation.py # the 12 pre-registered experiments → results/processed, results/raw (hypothesis + env + hash)71│ ├── diagnostics.py # Monte Carlo cross-check, residuals, bounds → results/logs/validation.json72│ ├── calibration.py # illustrative-parameterisation report (no data)73│ ├── plotting.py # 14 figures (PDF + PNG) → results/figures, paper/figures74│ ├── tables.py # 23 LaTeX fragments + numbers.tex macros → results/tables, paper/tables75│ └── literature.py # merges the verified literature parts, cross-checks Crossref JSON, writes references.bib76├── tests/ # 24 pytest tests (closed forms, propositions, boundary cases, equilibrium, convergence)77├── research/ # wp_style_audit, literature_matrix.csv (132 refs), literature_review, novelty_matrix,78│ # model_specification, proofs, validation, results_audit, limitations, progress, verification/79├── results/{raw,processed,figures,tables,logs}/80├── data/raw/README.md # no data81└── paper/ # main.tex + sections/ + appendix/ + tables/ + figures/ + references.bib → main.pdf82```8384## 🚀 Quick start8586```bash87python3 -m pip install -r requirements.txt88make test # pytest (24 tests, ~20 s)89make simulate # 12 experiments (~6 min on an Apple-silicon laptop)90make diagnostics # Monte Carlo validation (~3 min)91make tables # LaTeX fragments + numbers.tex92make figures # 14 figures93make paper # cd paper && latexmk → main.pdf94```95`python -m src.simulation --exp 3,9` runs a subset. Every result file carries the configuration hash (`0a165f317815d76c`),96seed (20261020), software versions and the pre-registered hypothesis.9798## 🗃 Data99100None. The parameterisation is illustrative (Table 1 of the paper, `config/baseline.yaml`); see `data/raw/README.md`.101102## 🔬 Methodology1031041. Seller value by Brent's method on the strictly decreasing Φ(V) (`solver.seller_value`).1052. Free-entry tightness by sign scan + Brent, multiplicity reported (`solver.solve_equilibrium`).1063. Posted prices (`solve_equilibrium_posted`), financing extension as a 3-equation root (`solve_equilibrium_financing`),107 planner's flow optimum (`planner_optimum`), transition by backward HJB / forward KFE / pointwise free entry (`transition`).1084. Experiments E1–E12 (`simulation.py`), Monte Carlo validation (`diagnostics.py`), figures and tables from stored CSVs only.109110## 🖼 Figures & tables inventory111112| Figure | Content |113|---|---|114| `fig01_equilibrium_matching` | free-entry residual and matching rates |115| `fig02_urgency_reservation_price`, `fig03_urgency_sale_hazard` | urgency gradients for five arrival rates |116| `fig04_liquidity_discount_vs_arrivals` | discount, price and Γ sign change |117| `fig05_financing_counterfactual` | cash–mortgage gap decomposition, φ_m and delay |118| `fig06_volume_vs_price`, `fig07_tom_survival`, `fig08_seller_type_price_distributions` | comovement, survival, mixture density |119| `fig09_observed_vs_latent_index` | index decomposition by G family and the h_G·M sign condition |120| `fig10_shock_impulse_responses` | transition paths |121| `fig11_welfare_friction_contours`, `fig12_sensitivity_tornado`, `fig13_numerical_convergence`, `fig14_posted_vs_nash` | welfare, sensitivity, convergence, protocols |122123Tables: `tab01_parameters`, `tab02_baseline_moments`, `tab02b_baseline_types`, `tab03_comparative_statics`, `tab04a–e` (financing),124`tab05`, `tab05b` (heterogeneity), `tab06`, `tab06b` (selection, dynamics), `tab07`, `tab07b–f` (robustness, convergence, entry,125uniqueness), `tab08`, `tab08b` (welfare, planner), `tab09_protocols`, `numbers.tex` (macros).126127## ⚠️ Limitations128129Theoretical, stationary, local; permanent nonnegative urgency; complete information; buyers never exit (financing extension130inadmissible for φ_m ≤ 0.6); flow welfare criterion; unanticipated shocks with instantaneous entry; no data. See131`research/limitations.md` and Section 10 of the paper.132133## 📖 Citation134135```bibtex136@techreport{boucher2026liquidity,137 author = {Boucher, Simon-Pierre},138 title = {The Endogenous Housing Liquidity Premium: Search Frictions, Seller Urgency, and Price Discovery},139 institution = {Universit\'e du Qu\'ebec en Outaouais, D\'epartement des sciences administratives},140 type = {UQO Working Paper},141 number = {19},142 year = {2026},143 month = {October}144}145```146147## 👤 Author & contact148149Simon-Pierre Boucher — simon-pierre.boucher@uqo.ca — Département des sciences administratives, Université du Québec en Outaouais.150151## 📝 Notes152153- Deviations from the series standard: theoretical paper (no Data section; a numerical-solution section instead); extended amsthm154 environments; `src/*.py` + `Makefile` + `config/` instead of numbered `scripts/`; `research/` directory kept in git.155- Pushed to spbgit `wp19_uqo.git` on 2026-10-20 (`origin`, branch `main`).156- Process record: `research/progress.md`; novelty audit: `research/novelty_matrix.csv`; claim audit: `research/results_audit.md`.157