TeX 55.1%
Python 44.2%
1# External house price indices — Quebec, 2021-01 → 2026-1023Purpose: publicly available price-index series used only for **external validation** of the4SHARP-HPI panel (CLAUDE.md §13). Nothing here enters the hedonic specification.5All files were produced from actually downloaded data on **2026-10-21** (UTC timestamps in6each row); no value was typed by hand. Raw downloads are kept in `raw/`, conversion scripts in7`scripts/` (run with `python3 -I scripts/<name>.py …`).89Common CSV layout (long format):10`source, series_name, geography, property_scope, frequency, period (YYYY-MM or YYYY-Qn), value, base_period, download_url, downloaded_at`.11The window kept is 2021-01 … 2026-10; the actual last available period is given per series below.1213## Files1415| File | Source | Frequency | Geographies | Period covered |16|---|---|---|---|---|17| `teranet_nb_hpi_monthly.csv` | Teranet–National Bank HPI | monthly | Composite 11 (Canada), Montréal CMA, Québec CMA, Sherbrooke CMA, Trois-Rivières CMA | 2021-01 → **2026-09** (69 obs./series) |18| `crea_mls_hpi_monthly.csv` | CREA MLS® Home Price Index | monthly | Canada aggregate, Quebec province aggregate, Montréal CMA, Québec CMA, Estrie, Mauricie, Centre-du-Québec | 2021-01 → **2026-09** (69 obs./series) |19| `statcan_18100205_nhpi_monthly.csv` | Statistics Canada, New Housing Price Index, table 18-10-0205-01 | monthly | Canada, Quebec (province), Montréal, Québec, Sherbrooke, Trois-Rivières, Ottawa-Gatineau (Quebec part) | 2021-01 → **2026-08** (68 obs./series) |20| `statcan_18100169_rppi_quarterly.csv` | Statistics Canada, Residential Property Price Index, table 18-10-0169-01 (terminated) | quarterly | Montréal CMA, six-CMA composite | **2021-Q1 → 2021-Q4 only** (4 obs./series) |2122## 1. Teranet–National Bank House Price Index (`teranet_nb_hpi_monthly.csv`)2324- **Method**: repeat-sales index estimated on property transfers recorded in provincial land25 registries (Quebec: Registre foncier), all residential property types pooled; see26 https://housepriceindex.ca/about/our-methodology/. Not a hedonic or benchmark method; no27 property-type breakdown is published.28- **Geography**: census metropolitan areas (CMA). `Québec City` on the site = Québec CMA.29 Composite 11 = weighted composite of 11 CMAs (Montréal weight and Québec City weight are in the30 `profiles` block of the raw JSON). Sherbrooke and Trois-Rivières are also published monthly;31 Saguenay has no index series in the public feed.32- **Base period**: June 2005 = 100.33- **Series kept** (3 per market): `not seasonally adjusted` (NSA index), `seasonally adjusted`34 (SA index), `sales pair count` (number of repeat-sale pairs used that month; count, not an index).35- **Vintage**: release of **2026-10-20** (September 2026 data; next releases 2026-11-18, 2026-12-1736 per `raw/teranet_indx_data_releases_2026-10-21.json`). Teranet revises the whole history at each37 release, so this is the current-vintage series, **not** a real-time vintage.38- **Download**: the site offers an official form at `https://cloud.connect.teranet.ca/hpi-download-en`39 (asks for name/e-mail/company, iframe on https://housepriceindex.ca/index-history/). That form was40 **not** used. The series were taken from the public JSON feed that drives the site's charts:41 `https://housepriceindex.ca/_data/indx_data.json?d=4e4005dc` (downloaded 2026-10-21T05:14:13Z,42 copy in `raw/teranet_indx_data_2026-10-21.json`). Values in that feed are lightly obfuscated: the43 site's `hpi.js` (v1.9.0-2, function `unmunge`) recovers them as44 `real = round((v − round(frac(v)·100))·100)/100`, and sales-pair counts are multiplied by 10.45 `scripts/teranet_to_csv.py` applies exactly that rule. Month `i` of each array = start_date46 1990-06 + i months (436 values → 2026-09).47- **Verification**: decoded September 2026 values match the site's displayed values and the48 press release `raw/Teranet_E_261020.pdf` to the last digit: Composite 11 = 294.94 (−1.4 % m/m49 NSA, +0.1 % m/m SA, −3.5 % y/y); Montréal = 310.62 (−2.1 % m/m, +1.4 % y/y);50 Québec City = 327.56 (+7.7 % y/y); Sherbrooke = 364.30; Trois-Rivières = 370.15.51- **Caveats**: repeat-sales only (properties sold at least twice, no new construction in a pair);52 the site displays the SA series only from December 2021 (`SA_START_DATE` in hpi.js) although the53 feed contains SA values earlier — treat SA values before 2021-12 with caution; sales-pair counts54 for the last months are provisional. Use is subject to Teranet's Terms of Use55 (https://housepriceindex.ca/terms-and-conditions/): research use with attribution.5657## 2. CREA MLS® Home Price Index (`crea_mls_hpi_monthly.csv`)5859- **Method**: hedonic **benchmark** model estimated on MLS® (Centris in Quebec) brokered resale60 listings; the HPI is the index of the benchmark (typical) home price for each property type;61 see https://www.crea.ca/housing-market-stats/mls-home-price-index/about-hpi/. Composite,62 Single-family, One-storey, Two-storey, Townhouse, Apartment; both the index (`*_HPI`) and the63 benchmark price in CAD (`*_Benchmark`) are kept, NSA and SA.64- **Geography**: `MONTREAL_CMA`, `QUEBEC_CMA` (CMA boundaries as defined by the Quebec boards),65 `QUEBEC` = province-level aggregate of the boards participating in the MLS HPI, `ESTRIE`,66 `MAURICIE`, `CENTRE_DU_QUEBEC` (board/region areas), `AGGREGATE` = Canada aggregate.67 Gatineau is not a separate sheet (Ottawa board sheet `OTTAWA` is Ontario-centred and was not kept).68- **Base period**: January 2005 = 100.69- **Vintage**: `MLS_HPI_Oct_2026.zip`, workbooks dated 2026-10-01 inside the archive, last month70 2026-09 (September 2026 release). CREA revises the history at each monthly release and performs71 an annual methodology/benchmark review (see `Briefing-on-changes-to-HPI-methodology-ENG.pdf`72 linked from the tool page), so again this is a current-vintage series.73- **Download**: the full-history Excel did **not** require a login:74 `https://www.crea.ca/files/mls-hpi-data/MLS_HPI_Oct_2026.zip` (linked from75 https://www.crea.ca/housing-market-stats/mls-home-price-index/hpi-tool/, downloaded76 2026-10-21T05:17:40Z, copy in `raw/`). Converted with `scripts/crea_to_csv.py` from77 `Not Seasonally Adjusted (M).xlsx` and `Seasonally Adjusted (M).xlsx`. Quarterly and annual78 workbooks are in the zip but were not converted.79- **Caveats**: covers brokered resales only (Centris); the benchmark home definition and model are80 CREA's; the Quebec province aggregate reflects participating boards only, not all municipalities;81 CREA terms of use apply (https://www.crea.ca/terms-of-use/), attribution required.8283## 3. Statistics Canada NHPI, table 18-10-0205-01 (`statcan_18100205_nhpi_monthly.csv`)8485- **Method**: matched-model price index of builders' selling prices for **new** single, semi-detached86 and row houses (contractors' prices, constant specifications); survey 2310. Components:87 Total (house and land), House only, Land only. **Not a resale index** — lower priority for validating88 a transaction-based index; useful for the new-construction segment.89- **Geography**: Canada, Quebec (provincial aggregate = included Quebec CMAs), Québec, Montréal,90 Sherbrooke, Trois-Rivières, Ottawa-Gatineau (Quebec part). Series names contain the StatCan vector91 id (e.g. Montréal total = v111955484 — see `series_name`).92- **Base period**: December 2016 = 100.93- **Vintage**: release 2026-09-17 08:30 (August 2026 data); last period 2026-08.94- **Download**: WDS `getFullTableDownloadCSV/18100205/en` → `https://www150.statcan.gc.ca/n1/tbl/csv/18100205-eng.zip`,95 downloaded 2026-10-21T05:16:30Z (copy + cube metadata JSON in `raw/`). Converted with96 `scripts/statcan_to_csv.py`. Open Government Licence – Canada.97- **Caveats**: 'E' quality flags are in the raw CSV `STATUS` column, not carried into this file;98 the Quebec aggregate includes Ottawa-Gatineau (Quebec part) since Dec 2016 (table note 5).99100## 4. Statistics Canada RPPI, table 18-10-0169-01 (`statcan_18100169_rppi_quarterly.csv`)101102- **Method**: Residential Property Price Index (survey 5303), 2017 = 100, quarterly, by103 building type (House, Condominium apartment, Total) × construction type (New build, Resale, Total).104 The **resale** component was produced by Teranet/NBC with a methodology customised for StatCan105 (table note 5); the new-house component is the quarterly average of the NHPI; the new condo106 component is the NCAPI (now table 18-10-0273-01).107- **Geography**: only six CMAs — Montréal, Ottawa-Gatineau (Ontario part), Toronto, Vancouver,108 Victoria, Calgary — plus the six-CMA composite. **Québec CMA is not covered.** Kept: Montréal and109 the composite.110- **Status**: **terminated after 2021-Q4** (table note 8), archived 2022-05-04. Only 2021-Q1…2021-Q4111 fall in the study window; useful at most as a four-quarter anchor for Montréal resale vs new.112- **Download**: `https://www150.statcan.gc.ca/n1/tbl/csv/18100169-eng.zip` (WDS), 2026-10-21T05:16:30Z.113114## What could not be obtained, and why115116- **StatCan 18-10-0276-01** (as given in the task) is *not* the RPPI: WDS metadata identifies it as117 "Building construction price indexes, by type of building and division, inactive". The quarterly118 RPPI is 18-10-0169-01 and it was discontinued after 2021-Q4; Statistics Canada currently publishes119 **no resale house price index** for Montréal/Québec. A WDS search of all cube titles120 (`getAllCubesListLite`, 2026-10-21) found no other active "property/house price" table besides the121 NHPI (18-10-0205/0210) and the NCAPI (18-10-0273).122- **Teranet official download form** (`cloud.connect.teranet.ca/hpi-download-en`): requires123 submitting a personal-data form; not used. The public JSON feed gave the same data (verified124 against the press release). The Composite 6 (C6) is no longer public (site notice).125- **Teranet Saguenay**: listed in the site's profiles but with no series in the public feed.126- **CREA board-level pages on stats.crea.ca**: not needed (full Excel obtained); the site's HPI127 chart is a Tableau Public embed with no CSV endpoint.128- **APCIQ / Centris median prices (Baromètre résidentiel)**: no CSV/XLSX is published. The data129 exist only as monthly PDF reports by RMR (province, Montréal, Québec, Gatineau, Sherbrooke,130 Trois-Rivières, Saguenay, Drummondville) at `https://com.apciq.ca/sam/pdf/bar/YYYY/YYYYMM-bar-<rmr>[-fr].pdf`131 (naming is inconsistent — `-fr`, `_fr`, CDN host — and the index page lists only 2024-01 … 2026-03;132 guessed URLs for 2021-01, 2025-09 and 2026-09 returned 404). Building a 2021–2026 monthly series133 would require scraping ~70 PDFs per region with no guaranteed layout; not done. Note also that134 APCIQ publishes *medians*, not a quality-adjusted index, so it would serve only as a composition-135 sensitive comparator.136- **Nothing covers October 2026**: Teranet and CREA end in 2026-09, NHPI in 2026-08. The October137 2026 cell of the SHARP-HPI panel therefore has no external comparator at this time.138139## Harmonisation notes for §13 of the paper140141- Base periods differ (Teranet 2005-06, CREA 2005-01, NHPI 2016-12, RPPI 2017): rebase every series142 to the 2021 annual average = 100 before comparison, and compare log changes, not levels.143- Scope differs: Teranet = all registered transfers with a prior sale (repeat-sales, no new builds in144 pairs); CREA = brokered resales, benchmark home; NHPI = new houses only; SHARP-HPI = all registered145 arm's-length sales in the Vrai Prix extract. Composition and coverage differences are expected146 to show up in level and in month-to-month volatility.147- Geography: CMA definitions (Teranet, StatCan) vs board areas (CREA) vs SDA municipalities148 (SHARP-HPI); build CMA aggregates from the SDA crosswalk before comparing.149- Vintage: all external series are the 2026-10 current vintage; compare with the retrospective150 SHARP-HPI series, not with the real-time vintages.151