SPB Git

spb/qwhpi Public

QHPI — Quebec Housing Price Index: quality-adjusted, hierarchically pooled housing price indexes.

Python 63.9% TypeScript 25.4% CSS 5.5% TeX 3.5% SQL 0.8% Makefile 0.5% Dockerfile 0.5%
4.9 KB · 85 lines markdown
Rendered Raw Blame History
1<!--2=============================================================================3QWHPI — Quebec Weekly Housing Price Index4Author  : Simon-Pierre Boucher5Contact : contact@spboucher.ai6File    : outputs/reports/methodology_v2_research.md7Purpose : Web-researched design record for the v2 (monthly, robust) index.8=============================================================================9-->1011# QHPI v2 — monthly, robust: research record and design decisions1213## Why revisit v11415The v1 weekly index estimated ONE pooled hedonic over 2021–2026 (fixed16coefficients for 5.5 years) and published weekly points whose thin-cell noise17had to be repaired by heavy shrinkage. Two structural weaknesses:18191. **Fixed hedonic coefficients over the full pool.** The implicit prices of20   floor area, age and location are not constant across a boom, a rate-hike21   correction and a recovery. The literature flags the fixed-parameter22   restriction as the main drawback of the full-pool time-dummy method.232. **Full-sample estimation revises history on every run** — each refresh24   re-estimates every β, so past index points move.2526## What the literature recommends2728- **Rolling-Time-Dummy (RTD)**: estimate the time-dummy hedonic on a rolling29  window of recent periods only, then link (splice) each new estimate onto30  the existing series. Used by official HPIs; requires less data, adapts to31  parameter drift, and is "well suited for computing higher frequency HPIs".32  Hill, Scholz, Shimizu & Steurer (2022, *Journal of Official Statistics*33  38(1):127–151) treat the three design choices: window length, linking34  variant (movement / window / half / **mean splice**), and low-volume35  robustness.36- **Chained/spliced time dummies produce a revision-free series** and relax37  the fixed-parameter assumption (Eurostat/IMF/OECD *RPPI Handbook*, ch. 5).38- **Mean splice** (geometric mean over all feasible link positions) is the39  robust default in the splicing literature (Diewert & Fox 2021 for40  multilateral updating): no single anomalous overlap period drives the link.41- **Robust estimation**: OLS hedonics chase influential observations;42  M-estimation (Huber weights) or documented influence-trimming is standard43  practice for official filters (cf. IMF WP/16/213, MNB HPI outlier44  procedures).45- **Monthly frequency**: weekly cells below the metro level are too thin for46  publication-grade points without aggressive shrinkage; monthly multiplies47  cell counts ~4.3× and is the modal frequency of official HPIs.4849Sources:50- Hill, Scholz, Shimizu & Steurer (2022) — https://journals.sagepub.com/doi/abs/10.2478/jos-2022-000751- Eurostat et al., Handbook on Residential Property Prices Indices — https://www.oecd.org/content/dam/oecd/en/publications/reports/2013/04/handbook-on-residential-property-price-indices_g1g2e251/9789264197183-en.pdf52- RPPI Handbook ch.5 (hedonic methods) — https://www.elibrary.imf.org/display/book/9789279259845/ch005.xml53- IMF WP/16/213, "How to Better Measure Hedonic RPPIs" — https://www.imf.org/external/pubs/ft/wp/2016/wp16213.pdf54- IMF RPPI Practical Guide — https://www.imf.org/-/media/files/data/guides/rppi/rppi-guide.pdf5556## v2 design (implemented)57581. **Frequency: monthly** (labels `YYYY-MM`, continuous grid, trailing month59   flagged partial while registrations arrive).602. **Stage 1 — RTD, 13-month rolling windows, monthly step.** Within each61   window: hedonic `log P ~ log_fa + fa_missing + age bins + building type62   | FSA FE + (month × type) FE`, estimated by **iteratively reweighted least63   squares with Huber weights** (k = 1.345 on MAD-standardized residuals,64   2 reweighting passes) — outliers are downweighted inside the regression65   instead of silently trimmed. A 13-month window spans every calendar month66   once (seasonal balance) and holds ~120k transactions.673. **Linking: mean splice.** For each new window the province path per type68   is extended by the geometric mean of the growth implied at every feasible69   overlap position. Movement and window splices are computed as published70   sensitivity diagnostics. The published history never revises.714. **Stage 2 — unchanged hierarchy, monthly grid.** Each transaction's72   quality-adjusted residual comes from the window in which its month is the73   NEWEST month (fully real-time, β local in time). Cell deviations74   (region → municipality) follow the heteroskedastic local-level Kalman75   model; thin months shrink toward the parent path.765. **Growth horizons**: 1m, 3m, 6m, 12m (YoY). Reliability grades77   recalibrated by a monthly downsampling experiment.786. **New diagnostics**: hedonic coefficient drift across windows (the79   empirical justification for RTD), RTD vs full-pool comparison, splice80   variant sensitivity.817. Cleaning screens, geography, `indéterminé` exclusion, fixed-share "all"82   composition, assessment-gap module: unchanged from v1 (already validated).8384Author: Simon-Pierre Boucher — contact@spboucher.ai85