Ch. 26 livré et validé (compilation isolée, tests, fusion des registres)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
16 changed files +430 −32
modified
analysis/python/cases/ch25_terrain.py
+29 −7
@@ -10,7 +10,7 @@ Imprime tous les chiffres cités dans le chapitre 25 : | ||
| 10 | 10 | * technique résiduelle du terrain sur le cas 3 (RNE de traite.cas3 ; taux déclarés) et sensibilité ; |
| 11 | 11 | * lotissement (développement actualisé) d'un site de 10 000 m² en 12 terrains (traite.finance.van) ; |
| 12 | 12 | * capitalisation d'une rente foncière (emphytéose) ; |
| 13 | − * synthèse des indications et valeur de terrain retenue pour le sujet du cas 1 (reprise par les ch. 20, 24, 45). | |
| 13 | + * rapprochement avec la valeur extraite par le ch. 24 (ch24_depreciation.py) et valeur de terrain retenue pour le sujet du cas 1 (ch. 20, 45). | |
| 14 | 14 | |
| 15 | 15 | Usage (racine du dépôt) : PYTHONPATH=analysis/python python3 analysis/python/cases/ch25_terrain.py |
| 16 | 16 | Toutes les fonctions financières proviennent de analysis/python/traite (aucune réécriture).""" |
@@ -302,13 +302,31 @@ def rente_fonciere(rente: float = 11_000.0, R_L: float = 0.05, g: float = 0.02, | ||
| 302 | 302 | va_rev = valeur_reversion / (1 + R_L) ** n |
| 303 | 303 | return {"perpetuelle": perp, "gordon": gordon, "bail_n": va_rentes + va_rev, "va_rentes": va_rentes, "va_reversion": va_rev, "n": n} |
| 304 | 304 | |
| 305 | −# ----------------------------------------------------------------------------- 8. synthèse et valeur retenue | |
| 305 | +# ----------------------------------------------------------------------------- 8. rapprochement avec le ch. 24, synthèse et valeur retenue | |
| 306 | +def extraction_recente_ch24(cas: dict | None = None) -> dict: | |
| 307 | + """Valeur du terrain extraite par le ch. 24 (analysis/python/cases/ch24_depreciation.py) : médiane de V_L = P_adj − C_N(1 − âge/60) | |
| 308 | + sur les ventes récentes (≤ 10 ans) du secteur Hull, prix ramenés à la date d'évaluation. Appel direct du module du ch. 24 (cohérence).""" | |
| 309 | + import ch24_depreciation as c24 | |
| 310 | + cas = cas or cas1.tout() | |
| 311 | + w, vl = c24.extraction(cas["ventes"], cas["modele"], C_N_SUJET) | |
| 312 | + r = c24.valeur_terrain_retenue(vl, "Hull") | |
| 313 | + return {"retenue": float(r["retenue"]), "mediane": float(r["mediane"]), "n": int(r["n"]), "part": float(r["part"]), | |
| 314 | + "vl_par_m2": float(vl.loc["Hull", "vl_par_m2"]), "table": vl} | |
| 315 | + | |
| 306 | 316 | def synthese() -> dict: |
| 307 | 317 | df = charger_terrains(); comp = comparaison(df); cas = cas1.tout(); extr = extraction_cas1(cas); allo = allocation_cas1(cas, extr) |
| 308 | − t3 = cas3.tout(); res = residuelle_cas3(t3=t3); lot = lotissement(comp["modele"]); rf = rente_fonciere() | |
| 309 | − retenue = round(comp["reconciliation"]["valeur_ponderee"] / 5000) * 5000 | |
| 310 | − return {"comparaison": comp, "cas1": cas, "extraction": extr, "allocation": allo, "cas3": t3, "residuelle": res, "lotissement": lot, | |
| 311 | − "rente": rf, "valeur_retenue": retenue, "part_retenue_grille": retenue / allo["P_grille"], "part_retenue_hed": retenue / allo["P_hed"]} | |
| 318 | + t3 = cas3.tout(); res = residuelle_cas3(t3=t3); lot = lotissement(comp["modele"]); rf = rente_fonciere(); c24 = extraction_recente_ch24(cas) | |
| 319 | + V_comp = comp["reconciliation"]["valeur_ponderee"]; se_comp = comp["reconciliation"]["ecart_type_pondere"] | |
| 320 | + indications = {"comparaison": V_comp, "extraction_ch24": c24["retenue"], "allocation_grille": allo["sur_grille"]} | |
| 321 | + mediane_trois = float(np.median(list(indications.values()))) | |
| 322 | + # Valeur retenue : celle du ch. 24 (277 000 $), confirmée si elle se situe à moins de deux écarts-types pondérés de la comparaison directe | |
| 323 | + retenue = c24["retenue"] if abs(c24["retenue"] - V_comp) <= 2 * se_comp else round(V_comp / 1000) * 1000 | |
| 324 | + rapproch = {"ecart_comp_pct": V_comp / retenue - 1, "ecart_alloc_pct": allo["sur_grille"] / retenue - 1, "ecart_extr_marche_pct": extr["indication_marche"] / retenue - 1, | |
| 325 | + "ecart_hed_pct": comp["prediction_hedonique"] / retenue - 1, "z_comp": (c24["retenue"] - V_comp) / se_comp, "mediane_trois": mediane_trois, | |
| 326 | + "confirmee": retenue == c24["retenue"]} | |
| 327 | + return {"comparaison": comp, "cas1": cas, "extraction": extr, "allocation": allo, "cas3": t3, "residuelle": res, "lotissement": lot, "rente": rf, | |
| 328 | + "ch24": c24, "indications": indications, "rapprochement": rapproch, "valeur_retenue": retenue, | |
| 329 | + "part_retenue_grille": retenue / allo["P_grille"], "part_retenue_hed": retenue / allo["P_hed"]} | |
| 312 | 330 | |
| 313 | 331 | def _d(x): return f"{x:,.0f} $".replace(",", " ") |
| 314 | 332 | |
@@ -354,9 +372,13 @@ def main() -> dict: | ||
| 354 | 372 | if k != "base": print(k, {kk: round(vv) for kk, vv in v.items()}) |
| 355 | 373 | print("\n=== 8. Rente foncière ===") |
| 356 | 374 | print({k: round(v, 0) if isinstance(v, float) else v for k, v in S["rente"].items()}) |
| 357 | − print("\n=== 9. Synthèse — sujet du cas 1 ===") | |
| 375 | + print("\n=== 9. Rapprochement avec le ch. 24 et synthèse — sujet du cas 1 ===") | |
| 376 | + c24 = S["ch24"]; rp = S["rapprochement"] | |
| 377 | + print(f"Ch. 24 (extraction, {c24['n']} ventes récentes de Hull, âge-vie 60) : médiane {_d(c24['mediane'])} → retenue {_d(c24['retenue'])} ; part médiane {c24['part']*100:.1f} % ; {c24['vl_par_m2']:.0f} $/m² (terrain médian)") | |
| 358 | 378 | print(f"Comparaison (terrains) {_d(r['valeur_ponderee'])} ; extraction (marché) {_d(e['indication_marche'])} ; extraction (âge-vie 60) {_d(e['indication_agevie'])} ; " |
| 359 | 379 | f"allocation (grille) {_d(a['sur_grille'])} ; allocation (hédonique) {_d(a['sur_hedonique'])}") |
| 380 | + print(f"Écarts à la valeur du ch. 24 : comparaison {rp['ecart_comp_pct']*100:+.1f} % ({rp['z_comp']:.2f} écart-type pondéré) ; allocation {rp['ecart_alloc_pct']*100:+.1f} % ; " | |
| 381 | + f"extraction marché {rp['ecart_extr_marche_pct']*100:+.1f} % ; hédonique terrains {rp['ecart_hed_pct']*100:+.1f} % ; médiane des trois indications {_d(rp['mediane_trois'])} ; confirmée : {rp['confirmee']}") | |
| 360 | 382 | print(f"VALEUR DU TERRAIN RETENUE : {_d(S['valeur_retenue'])} ({S['valeur_retenue']/620:.0f} $/m²) ; part de la grille {S['part_retenue_grille']*100:.1f} % ; part de la prédiction hédonique {S['part_retenue_hed']*100:.1f} %") |
| 361 | 383 | return S |
| 362 | 384 | |
modified
analysis/python/tests/test_ch25.py
+13 −5
@@ -173,12 +173,20 @@ class TestRenteEtSynthese: | ||
| 173 | 173 | assert r["bail_n"] == pytest.approx(294_278, abs=1) and r["va_reversion"] == pytest.approx(42_614, abs=1) and r["va_rentes"] == pytest.approx(251_664, abs=1) |
| 174 | 174 | assert r["gordon"] == pytest.approx(11_000 / (0.05 - 0.02), rel=1e-12) |
| 175 | 175 | |
| 176 | + def test_rapprochement_ch24(self, S): | |
| 177 | + c = S["ch24"]; rp = S["rapprochement"] | |
| 178 | + assert c["n"] == 13 and c["retenue"] == 277_000 and c["mediane"] == pytest.approx(276_954, abs=1) and c["part"] == pytest.approx(0.505, abs=5e-4) | |
| 179 | + assert rp["ecart_comp_pct"] == pytest.approx(-0.035, abs=1e-3) and rp["ecart_alloc_pct"] == pytest.approx(0.012, abs=1e-3) | |
| 180 | + assert rp["ecart_extr_marche_pct"] == pytest.approx(-0.124, abs=1e-3) and rp["ecart_hed_pct"] == pytest.approx(-0.085, abs=1e-3) | |
| 181 | + assert abs(rp["z_comp"]) < 2 and rp["z_comp"] == pytest.approx(0.60, abs=0.01) and rp["confirmee"] | |
| 182 | + assert rp["mediane_trois"] == pytest.approx(277_000, abs=0.01) | |
| 183 | + | |
| 176 | 184 | def test_valeur_retenue(self, S): |
| 177 | − assert S["valeur_retenue"] == 265_000 | |
| 178 | − assert S["valeur_retenue"] / 620 == pytest.approx(427.4, abs=0.1) | |
| 179 | − assert S["part_retenue_grille"] == pytest.approx(0.456, abs=5e-4) and S["part_retenue_hed"] == pytest.approx(0.415, abs=5e-4) | |
| 180 | − # cohérence : la valeur retenue est encadrée par les indications d'extraction (marché) et d'allocation (grille) | |
| 181 | − assert S["extraction"]["indication_marche"] < S["valeur_retenue"] < S["allocation"]["sur_grille"] | |
| 185 | + assert S["valeur_retenue"] == 277_000 and S["valeur_retenue"] == S["ch24"]["retenue"] | |
| 186 | + assert S["valeur_retenue"] / 620 == pytest.approx(446.8, abs=0.1) | |
| 187 | + assert S["part_retenue_grille"] == pytest.approx(0.476, abs=5e-4) and S["part_retenue_hed"] == pytest.approx(0.434, abs=5e-4) | |
| 188 | + # cohérence : la valeur retenue est encadrée par la comparaison directe et l'allocation sur la grille | |
| 189 | + assert S["comparaison"]["reconciliation"]["valeur_ponderee"] < S["valeur_retenue"] < S["allocation"]["sur_grille"] | |
| 182 | 190 | |
| 183 | 191 | |
| 184 | 192 | class TestExercices: |
added
analysis/python/traite/geo.py
+143 −0
@@ -0,0 +1,143 @@ | ||
| 1 | +"""Outils géospatiaux génériques du traité (chapitre 38 ; réutilisables aux chapitres 43 et 48). | |
| 2 | +Fonctions pures NumPy, sans dépendance à geopandas : distances (haversine, équirectangulaire locale), facteur d'échelle | |
| 3 | +d'une projection transverse de Mercator, point dans polygone (lancer de rayon), interpolation par l'inverse de la | |
| 4 | +distance, grille hexagonale, classification des cartes choroplèthes (intervalles égaux, quantiles, Fisher–Jenks, GVF), | |
| 5 | +accessibilité gravitaire, conversion d'une probabilité sur 25 ans en probabilité annuelle, effet minimal détectable. | |
| 6 | +Tests : analysis/python/tests/test_ch38.py. Ajouté le 2026-10-31 ; n'altère aucune fonction existante.""" | |
| 7 | +from __future__ import annotations | |
| 8 | +import numpy as np | |
| 9 | + | |
| 10 | +R_TERRE_KM = 6371.0088 # rayon moyen de la Terre (IUGG, rayon volumétrique), km | |
| 11 | +MTM_K0 = 0.9999 # facteur d'échelle au méridien central des zones MTM du Québec (EPSG 32187-32189) | |
| 12 | +UTM_K0 = 0.9996 | |
| 13 | + | |
| 14 | + | |
| 15 | +def haversine_km(lat1, lon1, lat2, lon2, rayon: float = R_TERRE_KM) -> np.ndarray: | |
| 16 | + """Distance orthodromique (formule du haversine) sur une sphère de rayon `rayon`, en km. Entrées en degrés.""" | |
| 17 | + p1, p2 = np.radians(np.asarray(lat1, float)), np.radians(np.asarray(lat2, float)) | |
| 18 | + dphi = p2 - p1; dlam = np.radians(np.asarray(lon2, float) - np.asarray(lon1, float)) | |
| 19 | + a = np.sin(dphi / 2) ** 2 + np.cos(p1) * np.cos(p2) * np.sin(dlam / 2) ** 2 | |
| 20 | + return 2 * rayon * np.arcsin(np.sqrt(np.clip(a, 0.0, 1.0))) | |
| 21 | + | |
| 22 | + | |
| 23 | +def equirectangulaire_km(lat, lon, lat0: float, lon0: float) -> np.ndarray: | |
| 24 | + """Projection équirectangulaire locale autour de (lat0, lon0) : x = R cos(lat0) Δλ, y = R Δφ (km). Même rayon que | |
| 25 | + haversine_km, de sorte que les deux mesures coïncident au premier ordre autour du point de référence.""" | |
| 26 | + lat = np.radians(np.asarray(lat, float)); lon = np.radians(np.asarray(lon, float)) | |
| 27 | + x = R_TERRE_KM * np.cos(np.radians(lat0)) * (lon - np.radians(lon0)); y = R_TERRE_KM * (lat - np.radians(lat0)) | |
| 28 | + return np.column_stack([x, y]) | |
| 29 | + | |
| 30 | + | |
| 31 | +def facteur_echelle_tm(lat, lon, lon0: float, k0: float = MTM_K0) -> np.ndarray: | |
| 32 | + """Facteur d'échelle ponctuel d'une projection transverse de Mercator (approximation sphérique au second ordre) : | |
| 33 | + k ≈ k0 [1 + ½ (Δλ cos φ)²], Δλ en radians. Une distance au sol de 1 km est représentée par k km sur la carte.""" | |
| 34 | + dl = np.radians(np.asarray(lon, float) - lon0); phi = np.radians(np.asarray(lat, float)) | |
| 35 | + return k0 * (1.0 + 0.5 * (dl * np.cos(phi)) ** 2) | |
| 36 | + | |
| 37 | + | |
| 38 | +def point_dans_polygone(points: np.ndarray, polygone: np.ndarray) -> np.ndarray: | |
| 39 | + """Test point-dans-polygone par lancer de rayon (parité du nombre de croisements d'une demi-droite horizontale). | |
| 40 | + points : (m, 2) ; polygone : (n, 2) sommets ordonnés (fermeture implicite). Retourne un tableau booléen (m,).""" | |
| 41 | + P = np.asarray(points, float); V = np.asarray(polygone, float) | |
| 42 | + x, y = P[:, 0], P[:, 1]; n = len(V); dedans = np.zeros(len(P), bool) | |
| 43 | + for i in range(n): | |
| 44 | + x1, y1 = V[i]; x2, y2 = V[(i + 1) % n] | |
| 45 | + croise = (y1 > y) != (y2 > y) | |
| 46 | + with np.errstate(divide="ignore", invalid="ignore"): | |
| 47 | + xi = x1 + (y - y1) * (x2 - x1) / (y2 - y1) | |
| 48 | + dedans ^= croise & (x < xi) | |
| 49 | + return dedans | |
| 50 | + | |
| 51 | + | |
| 52 | +def idw(coords_obs: np.ndarray, z: np.ndarray, coords_cibles: np.ndarray, puissance: float = 2.0, voisins: int | None = None) -> np.ndarray: | |
| 53 | + """Interpolation par l'inverse de la distance : ẑ(s0) = Σ w_i z_i / Σ w_i, w_i = d_i^(−p) (valeur exacte si d_i = 0).""" | |
| 54 | + co = np.asarray(coords_obs, float); z = np.asarray(z, float); ct = np.asarray(coords_cibles, float) | |
| 55 | + d = np.sqrt(((ct[:, None, :] - co[None, :, :]) ** 2).sum(-1)); out = np.zeros(len(ct)) | |
| 56 | + for i in range(len(ct)): | |
| 57 | + idx = np.argsort(d[i])[:voisins] if voisins else np.arange(len(co)) | |
| 58 | + di = d[i, idx] | |
| 59 | + if di.min() == 0: | |
| 60 | + out[i] = z[idx][di.argmin()]; continue | |
| 61 | + w = di ** (-puissance); out[i] = (w @ z[idx]) / w.sum() | |
| 62 | + return out | |
| 63 | + | |
| 64 | + | |
| 65 | +def grille_hexagonale(xmin: float, ymin: float, xmax: float, ymax: float, rayon: float) -> list[np.ndarray]: | |
| 66 | + """Pavage hexagonal (hexagones « pointe en haut » de rayon circonscrit `rayon`) couvrant la boîte englobante. | |
| 67 | + Retourne la liste des sommets (6, 2) de chaque cellule ; aire d'une cellule = (3√3/2) rayon².""" | |
| 68 | + w = np.sqrt(3) * rayon; hstep = 1.5 * rayon; cells = [] | |
| 69 | + ang = np.radians(np.arange(30, 390, 60)) | |
| 70 | + j = 0; y = ymin | |
| 71 | + while y <= ymax + rayon: | |
| 72 | + off = (w / 2) if (j % 2) else 0.0; x = xmin + off | |
| 73 | + while x <= xmax + w: | |
| 74 | + cells.append(np.column_stack([x + rayon * np.cos(ang), y + rayon * np.sin(ang)])); x += w | |
| 75 | + y += hstep; j += 1 | |
| 76 | + return cells | |
| 77 | + | |
| 78 | + | |
| 79 | +def bornes_intervalles_egaux(z, k: int) -> np.ndarray: | |
| 80 | + z = np.asarray(z, float); return np.linspace(z.min(), z.max(), k + 1) | |
| 81 | + | |
| 82 | + | |
| 83 | +def bornes_quantiles(z, k: int) -> np.ndarray: | |
| 84 | + z = np.asarray(z, float); return np.quantile(z, np.linspace(0, 1, k + 1)) | |
| 85 | + | |
| 86 | + | |
| 87 | +def bornes_jenks(z, k: int) -> np.ndarray: | |
| 88 | + """Classification de Fisher–Jenks (programmation dynamique exacte) : minimise la somme intra-classe des carrés des écarts. | |
| 89 | + Retourne k + 1 bornes (min, ruptures, max).""" | |
| 90 | + z = np.sort(np.asarray(z, float)); n = len(z) | |
| 91 | + if k >= n: | |
| 92 | + return np.concatenate([[z[0]], z[1:], [z[-1]]]) | |
| 93 | + cs = np.concatenate([[0.0], np.cumsum(z)]); cs2 = np.concatenate([[0.0], np.cumsum(z ** 2)]) | |
| 94 | + def ssd(i, j): # somme des carrés des écarts de z[i:j] | |
| 95 | + m = j - i; s = cs[j] - cs[i]; return (cs2[j] - cs2[i]) - s * s / m | |
| 96 | + INF = np.inf | |
| 97 | + cout = np.full((k + 1, n + 1), INF); arg = np.zeros((k + 1, n + 1), int); cout[0, 0] = 0.0 | |
| 98 | + for c in range(1, k + 1): | |
| 99 | + for j in range(c, n + 1): | |
| 100 | + best, bi = INF, -1 | |
| 101 | + for i in range(c - 1, j): | |
| 102 | + v = cout[c - 1, i] + ssd(i, j) | |
| 103 | + if v < best: | |
| 104 | + best, bi = v, i | |
| 105 | + cout[c, j] = best; arg[c, j] = bi | |
| 106 | + bornes = [z[-1]]; j = n | |
| 107 | + for c in range(k, 0, -1): | |
| 108 | + i = arg[c, j]; bornes.append(z[i]); j = i | |
| 109 | + return np.array(bornes[::-1]) | |
| 110 | + | |
| 111 | + | |
| 112 | +def gvf(z, bornes) -> float: | |
| 113 | + """Goodness of variance fit = 1 − SDCM/SDAM (somme des carrés intra-classe / somme totale des carrés).""" | |
| 114 | + z = np.asarray(z, float); b = np.asarray(bornes, float) | |
| 115 | + cl = np.clip(np.searchsorted(b, z, side="right") - 1, 0, len(b) - 2) | |
| 116 | + sdcm = sum(((z[cl == c] - z[cl == c].mean()) ** 2).sum() for c in range(len(b) - 1) if (cl == c).any()) | |
| 117 | + return 1.0 - sdcm / ((z - z.mean()) ** 2).sum() | |
| 118 | + | |
| 119 | + | |
| 120 | +def classer(z, bornes) -> np.ndarray: | |
| 121 | + """Indice de classe (0 … k−1) de chaque valeur selon des bornes croissantes ; la dernière borne est incluse.""" | |
| 122 | + z = np.asarray(z, float); b = np.asarray(bornes, float) | |
| 123 | + return np.clip(np.searchsorted(b, z, side="right") - 1, 0, len(b) - 2) | |
| 124 | + | |
| 125 | + | |
| 126 | +def accessibilite_gravitaire(coords: np.ndarray, coords_poles: np.ndarray, masses, friction: float, forme: str = "exp") -> np.ndarray: | |
| 127 | + """Indice de Hansen A_i = Σ_k E_k f(d_ik), f(d) = exp(−λ d) (forme « exp ») ou d^(−λ) (forme « puissance », d en km, d ≥ 0,1).""" | |
| 128 | + c = np.asarray(coords, float); p = np.asarray(coords_poles, float); E = np.asarray(masses, float) | |
| 129 | + d = np.sqrt(((c[:, None, :] - p[None, :, :]) ** 2).sum(-1)) | |
| 130 | + f = np.exp(-friction * d) if forme == "exp" else np.maximum(d, 0.1) ** (-friction) | |
| 131 | + return f @ E | |
| 132 | + | |
| 133 | + | |
| 134 | +def probabilite_annuelle(p_horizon: float, horizon: int = 25) -> float: | |
| 135 | + """Probabilité annuelle d'au moins une occurrence équivalente à une probabilité p sur `horizon` années (événements indépendants) : | |
| 136 | + p_1 = 1 − (1 − p)^(1/horizon).""" | |
| 137 | + return 1.0 - (1.0 - p_horizon) ** (1.0 / horizon) | |
| 138 | + | |
| 139 | + | |
| 140 | +def effet_minimal_detectable(se: float, alpha: float = 0.05, puissance: float = 0.80) -> float: | |
| 141 | + """Effet minimal détectable (bilatéral) : (z_{1−α/2} + z_{puissance}) · se.""" | |
| 142 | + from scipy.stats import norm | |
| 143 | + return float((norm.ppf(1 - alpha / 2) + norm.ppf(puissance)) * se) | |
modified
analysis/python/traite/panel.py
+3 −3
@@ -167,10 +167,10 @@ def callaway_santanna(df: pd.DataFrame, y: str, unite: str, temps: str, g: str, | ||
| 167 | 167 | taille = post.groupby("g")["n_g"].first() |
| 168 | 168 | globale = float((par_cohorte * taille).sum() / taille.sum()) |
| 169 | 169 | dyn = tab.groupby("k").apply(lambda d: float((d["att"] * d["n_g"]).sum() / d["n_g"].sum()), include_groups=False) |
| 170 | − return par_cohorte, globale, dyn | |
| 170 | + return par_cohorte, globale, dyn, taille | |
| 171 | 171 | |
| 172 | 172 | tab = _att_table(W, G, S) |
| 173 | − par_cohorte, globale, dyn = _agreger(tab) | |
| 173 | + par_cohorte, globale, dyn, taille = _agreger(tab) | |
| 174 | 174 | rng = np.random.default_rng(graine) |
| 175 | 175 | boot_c, boot_g, boot_d = [], [], [] |
| 176 | 176 | unites = np.array(W.index) |
@@ -183,7 +183,7 @@ def callaway_santanna(df: pd.DataFrame, y: str, unite: str, temps: str, g: str, | ||
| 183 | 183 | Wb = W.loc[idx].reset_index(drop=True); Gb = G.loc[idx].reset_index(drop=True); Sb = S.loc[idx].reset_index(drop=True) if S is not None else None |
| 184 | 184 | Wb.index = range(len(Wb)); Gb.index = range(len(Gb)) |
| 185 | 185 | if Sb is not None: Sb.index = range(len(Sb)) |
| 186 | − tb = _att_table(Wb, Gb, Sb); pc, gl, dn = _agreger(tb) | |
| 186 | + tb = _att_table(Wb, Gb, Sb); pc, gl, dn, _ = _agreger(tb) | |
| 187 | 187 | boot_c.append(pc.reindex(par_cohorte.index).values); boot_g.append(gl); boot_d.append(dn.reindex(dyn.index).values) |
| 188 | 188 | boot_c = np.array(boot_c); boot_d = np.array(boot_d) |
| 189 | 189 | cohortes_df = pd.DataFrame({"att": par_cohorte, "se_boot": boot_c.std(axis=0, ddof=1), "n_g": taille}) |
modified
assets/figures/ch25/ch25-fig-carte-terrains.pdf
+0 −0
Binary file not shown.
modified
assets/figures/ch25/ch25-fig-lotissement.pdf
+0 −0
Binary file not shown.
modified
assets/figures/ch25/ch25-fig-residuelle-sensibilite.pdf
+0 −0
Binary file not shown.
modified
assets/figures/ch25/ch25-fig-valeur-unitaire-superficie.pdf
+0 −0
Binary file not shown.
renamed
manuscript/_wrap_ch28.tex → manuscript/_wrap_ch25.tex
+4 −4
@@ -3,10 +3,10 @@ | ||
| 3 | 3 | \newif\ifLogoAutorise\LogoAutorisefalse\def\PALETTE{uqo} |
| 4 | 4 | \usepackage{traite-qc} |
| 5 | 5 | \input{../manuscript/frontmatter/metadata.tex} |
| 6 | −\input{/Users/simon-pierreboucher/Desktop/UQO/Traite-Evaluation-QC/build/ch28/_labels.tex} | |
| 6 | +\input{/Users/simon-pierreboucher/Desktop/UQO/Traite-Evaluation-QC/build/ch25/_labels.tex} | |
| 7 | 7 | \begin{document} |
| 8 | −\setcounter{chapter}{27} | |
| 9 | −\input{chapters/ch28.tex} | |
| 10 | −\appendix\chapter{Solutions du chapitre}\input{../solutions/ch28.tex} | |
| 8 | +\setcounter{chapter}{24} | |
| 9 | +\input{chapters/ch25.tex} | |
| 10 | +\appendix\chapter{Solutions du chapitre}\input{../solutions/ch25.tex} | |
| 11 | 11 | \printbibliography |
| 12 | 12 | \end{document} |
modified
manuscript/chapters/ch25.tex
+11 −10
@@ -1,6 +1,6 @@ | ||
| 1 | 1 | \chapter{Évaluation du terrain}\label{ch:25} |
| 2 | 2 | |
| 3 | −La méthode du coût exige que l'on sache ce que vaut le terrain, et la méthode de comparaison le suppose sans le dire : quand deux maisons se vendent à des prix différents, une part de l'écart tient au sol qui les porte. Pourtant, le terrain d'une propriété bâtie ne s'échange jamais seul, et l'évaluateur doit estimer une composante qu'aucune transaction n'observe directement. Le présent chapitre clôt la partie consacrée au coût en traitant cette composante, la valeur du terrain $V_L$ de l'identité $\hat V = V_L + C_N - D$ établie au \cref{ch:21}. Il décrit d'abord pourquoi le terrain est évalué séparément et comme s'il était vacant, puis les unités dans lesquelles les terrains se comparent, les six méthodes dont dispose l'évaluateur (comparaison directe, allocation, extraction, technique résiduelle, lotissement actualisé et capitalisation de la rente foncière), la grille des ajustements propres aux terrains et le cas particulier des terrains intercalaires voués à la densification. L'exemple intégral établit la valeur du terrain de la maison du cas 1 à Gatineau, que les \cref{ch:20,ch:24,ch:45} reprendront ; la technique résiduelle est illustrée sur l'immeuble de douze logements du cas 3, et le lotissement actualisé sur un site fictif de un hectare. Le \cref{ch:41} prolonge ces outils vers l'analyse de la plus haute et meilleure utilisation et vers l'évaluation des terrains de développement proprement dits. | |
| 3 | +La méthode du coût exige que l'on sache ce que vaut le terrain, et la méthode de comparaison le suppose sans le dire : quand deux maisons se vendent à des prix différents, une part de l'écart tient au sol qui les porte. Pourtant, le terrain d'une propriété bâtie ne s'échange jamais seul, et l'évaluateur doit estimer une composante qu'aucune transaction n'observe directement. Le présent chapitre clôt la partie consacrée au coût en traitant cette composante, la valeur du terrain $V_L$ de l'identité $\hat V = V_L + C_N - D$ établie au \cref{ch:21}. Il décrit d'abord pourquoi le terrain est évalué séparément et comme s'il était vacant, puis les unités dans lesquelles les terrains se comparent, les six méthodes dont dispose l'évaluateur (comparaison directe, allocation, extraction, technique résiduelle, lotissement actualisé et capitalisation de la rente foncière), la grille des ajustements propres aux terrains et le cas particulier des terrains intercalaires voués à la densification. L'exemple intégral établit la valeur du terrain de la maison du cas 1 à Gatineau, la confronte à celle que le \cref{ch:24} a extraite et fixe la valeur que les \cref{ch:20,ch:45} reprendront ; la technique résiduelle est illustrée sur l'immeuble de douze logements du cas 3, et le lotissement actualisé sur un site fictif de un hectare. Le \cref{ch:41} prolonge ces outils vers l'analyse de la plus haute et meilleure utilisation et vers l'évaluation des terrains de développement proprement dits. | |
| 4 | 4 | |
| 5 | 5 | \begin{objectifs} |
| 6 | 6 | À la fin de ce chapitre, le lecteur sait : |
@@ -132,7 +132,7 @@ L'extraction (en anglais \emph{extraction} ou \emph{abstraction}) obtient la val | ||
| 132 | 132 | \begin{equation}\label{eq:25:extraction} |
| 133 | 133 | \hat V_{L,j} = P_j - C_{N,j}\,(1 - \delta_j), |
| 134 | 134 | \end{equation} |
| 135 | −où $\delta_j$ est le taux de dépréciation totale du bâtiment $j$. Appliquée à plusieurs ventes d'un secteur, elle produit des valeurs de terrain qui sont ensuite ramenées à l'unité de comparaison et ajustées vers le sujet comme des ventes de terrains. C'est l'identité de la méthode du coût lue à l'envers, et elle en hérite les conventions : le coût neuf est le coût de remplacement, estimé selon le \cref{ch:21} ; la dépréciation est celle du \cref{ch:24}, dont la convention retenue doit être déclarée. La méthode est d'autant plus fiable que $\delta_j$ est petit, c'est-à-dire que les bâtiments vendus sont récents, et elle devient hasardeuse pour des bâtiments anciens où $\delta_j$ atteint la moitié du coût neuf et où une erreur de dix points sur $\delta_j$ déplace le terrain de 5 \% du coût neuf. Une dépréciation dérivée du marché lui-même, par exemple le profil d'âge d'un modèle hédonique, est préférable à une règle âge-vie posée a priori, parce qu'elle est cohérente avec les prix dont on part ; l'exemple intégral compare les deux. Dans les marchés déprimés où les prix tombent sous le coût de construction, l'extraction donne des terrains de valeur nulle ou négative : ce n'est pas un échec de la méthode mais un fait économique, celui des villes en déclin où le logement durable se vend sous son coût de remplacement \parencite{glaeserGyourko2005}, et le \cref{ch:24} le traite comme une désuétude externe. | |
| 135 | +où $\delta_j$ est le taux de dépréciation totale du bâtiment $j$. Appliquée à plusieurs ventes d'un secteur, elle produit des valeurs de terrain qui sont ensuite ramenées à l'unité de comparaison et ajustées vers le sujet comme des ventes de terrains. C'est l'identité de la méthode du coût lue à l'envers, et elle en hérite les conventions : le coût neuf est le coût de remplacement, estimé selon le \cref{ch:21} ; la dépréciation est celle du \cref{ch:24}, dont la convention retenue doit être déclarée. La méthode est d'autant plus fiable que $\delta_j$ est petit, c'est-à-dire que les bâtiments vendus sont récents, et elle devient hasardeuse pour des bâtiments anciens où $\delta_j$ atteint la moitié du coût neuf et où une erreur de dix points sur $\delta_j$ déplace le terrain de 5 \% du coût neuf. Une dépréciation dérivée du marché lui-même, par exemple le profil d'âge d'un modèle hédonique, est préférable à une règle âge-vie posée a priori, parce qu'elle est cohérente avec les prix dont on part ; l'exemple intégral compare les deux, et c'est en restreignant l'extraction aux ventes récentes que le \cref{ch:24} en tire la valeur de terrain du cas 1. Dans les marchés déprimés où les prix tombent sous le coût de construction, l'extraction donne des terrains de valeur nulle ou négative : ce n'est pas un échec de la méthode mais un fait économique, celui des villes en déclin où le logement durable se vend sous son coût de remplacement \parencite{glaeserGyourko2005}, et le \cref{ch:24} le traite comme une désuétude externe. | |
| 136 | 136 | |
| 137 | 137 | \subsection{La technique résiduelle du terrain} |
| 138 | 138 | |
@@ -248,11 +248,11 @@ avec un écart-type pondéré des prix ajustés de \dollars{16085} et une étend | ||
| 248 | 248 | |
| 249 | 249 | \emph{Étape 4 : extraction sur les cinq comparables bâtis.} Le \cref{tab:25:extraction} applique l'\cref{eq:25:extraction} aux cinq comparables du \cref{ch:16}. Le coût neuf de chacun est transposé depuis celui du sujet par l'élasticité de taille du \cref{ch:21}, $C_{N,j} = \dollars{397567} \times (S_j/165)^{0{,}90}$, et corrigé de 10 \% par classe de qualité, hypothèse déclarée ; il va de \dollars{340196} pour G0575 (\msq{156}, qualité 2) à \dollars{489469} pour G0468 (\msq{187}, qualité 4). Deux conventions de dépréciation sont comparées. La première est une règle âge-vie linéaire sur soixante ans : la dépréciation va de 21,7 \% (13 ans) à 50 \% (30 ans), et les valeurs de terrain extraites, de \dollars{247013} à \dollars{398517}, soit de \parmsq{498} à \parmsq{742}, sont élevées et dispersées. La seconde est la dépréciation implicite du marché lui-même : le profil d'âge du modèle hédonique du cas 1 (coefficients de l'âge et de son carré) donne le rapport entre le prix observé et le prix qu'aurait la même maison neuve, de sorte que $P_{\text{neuf},j} = P_j / \exp(\beta_a a_j + \beta_{a^2} a_j^2/100)$, et la perte de valeur $P_{\text{neuf},j} - P_j$, imputée en entier au bâtiment puisque le sol ne vieillit pas, est la dépréciation. L'\cref{eq:25:extraction} se réduit alors à $\hat V_{L,j} = P_{\text{neuf},j} - C_{N,j}$ : ce que vaudrait la maison neuve, moins ce qu'elle coûte à construire. Les taux de dépréciation implicites vont de 9,6 \% (13 ans) à 20,7 \% (30 ans), soit 0,7 à 0,8 \% par année, dans l'ordre de grandeur que la littérature trouve pour le logement entretenu \parencite{malpezziOzanneThibodeau1987,hardingRosenthalSirmans2007}, et les valeurs de terrain extraites, de \dollars{174883} à \dollars{281458} (\parmsq{325} à \parmsq{619}), sont plus basses et plus cohérentes avec le marché des terrains. Transposées au terrain de \msq{620} du sujet avec l'élasticité de superficie de 0,50 du marché des terrains, elles ont une médiane de \dollars{242545} ; sous la règle âge-vie, la médiane transposée est de \dollars{354826}, supérieure de 46 \%. L'écart entre les deux conventions, \dollars{112000} sur le terrain, est exactement l'écart de dépréciation imputé au bâtiment : c'est le levier de la \cref{sec:25:pourquoi}, et il dit pourquoi une extraction n'a de sens qu'avec une dépréciation cohérente avec les prix dont elle part. Pour le sujet lui-même, le profil d'âge donne un facteur de 0,885 à 28 ans, soit une dépréciation implicite de 20,8 \% du coût neuf, repère que le \cref{ch:24} confrontera à ses propres mesures. |
| 250 | 250 | |
| 251 | −\emph{Synthèse.} Le \cref{tab:25:synthese} rassemble les indications. La comparaison directe (\dollars{267388}), l'extraction avec dépréciation de marché (\dollars{242545}) et l'allocation sur la grille du \cref{ch:17} (\dollars{280412}) encadrent une fourchette de \dollars{240000} à \dollars{280000} ; l'allocation sur la prédiction hédonique (\dollars{307584}) et l'extraction âge-vie (\dollars{354826}) s'en écartent pour des raisons identifiées, la première parce qu'elle hérite de l'écart entre deux indications de la maison, la seconde parce que sa dépréciation est incompatible avec les prix observés. La comparaison directe est la méthode privilégiée et la mieux documentée ; la valeur retenue pour le terrain du sujet est | |
| 251 | +\emph{Synthèse et rapprochement avec le \cref{ch:24}.} Le \cref{tab:25:synthese} rassemble les indications. La comparaison directe (\dollars{267388}), l'extraction avec dépréciation de marché (\dollars{242545}) et l'allocation sur la grille du \cref{ch:17} (\dollars{280412}) encadrent une fourchette de \dollars{240000} à \dollars{285000} ; l'allocation sur la prédiction hédonique (\dollars{307584}) et l'extraction âge-vie sur les cinq comparables (\dollars{354826}) s'en écartent pour des raisons identifiées, la première parce qu'elle hérite de l'écart entre deux indications de la maison, la seconde parce que sa dépréciation est incompatible avec les prix de maisons de 23 à 30 ans. Le \cref{ch:24}, de son côté, a extrait la valeur du terrain d'une autre façon : sur les treize ventes récentes (bâtiments de dix ans ou moins) du secteur Hull, prix ramenés à la date d'évaluation par la tendance hédonique et coût neuf transposé du sujet, avec une dépréciation âge-vie sur soixante ans, il obtient une médiane de \dollars{276954}, arrondie à \dollars{277000}, et une part du terrain de 50,5 \% dans le prix de ces maisons récentes. Les deux extractions ne se contredisent pas : sur des bâtiments de moins de dix ans, la dépréciation âge-vie ne dépasse pas 17 \% et la convention importe peu, de sorte que l'extraction est fiable ; sur les maisons de 23 à 30 ans des cinq comparables, la même règle impute au bâtiment une dépréciation de 38 à 50 \% que les prix démentent, et l'extraction s'effondre ou s'envole selon la convention. C'est la leçon de la \cref{sec:25:methodes} : l'extraction se fait sur des bâtiments récents. La valeur du \cref{ch:24} se situe à 3,5 \% au-dessus de la comparaison directe, soit 0,6 écart-type pondéré des prix ajustés (\dollars{16085}), à 1,2 \% sous l'allocation sur la grille et à 8,5 \% au-dessus de la prédiction hédonique du marché des terrains ; elle est la médiane des trois indications concordantes (comparaison, extraction récente, allocation). Le présent chapitre la confirme donc et retient pour le terrain du sujet | |
| 252 | 252 | \begin{equation}\label{eq:25:retenue} |
| 253 | −V_L = \dollars{265000} \quad (\parmsq{427}), | |
| 253 | +V_L = \dollars{277000} \quad (\parmsq{447}), | |
| 254 | 254 | \end{equation} |
| 255 | −arrondie au \dollars{5000} près, avec une fourchette raisonnable de \dollars{240000} à \dollars{285000}. Elle représente 45,6 \% de l'indication par la grille du \cref{ch:17} et 41,5 \% de la prédiction hédonique, parts conformes au ratio médian du secteur. Cette valeur est celle que le \cref{ch:24} utilisera pour extraire la dépréciation du marché, que le \cref{ch:20} intégrera à la réconciliation par le coût et que le \cref{ch:45} reprendra dans le dossier complet. | |
| 255 | +avec une fourchette raisonnable de \dollars{240000} à \dollars{285000}. Elle représente 47,6 \% de l'indication par la grille du \cref{ch:17} et 43,4 \% de la prédiction hédonique, parts conformes à la distribution du secteur (médiane 48,2 \%, interquartile 42,4 à 54,3 \%). Si l'on avait retenu la seule comparaison directe, arrondie à \dollars{265000}, l'indication par le coût du \cref{ch:24} aurait reculé de \dollars{12000}, de \dollars{580000} à \dollars{568000}, écart de 2 \% sans conséquence sur la réconciliation du \cref{ch:20} mais qu'il valait mieux trancher ici : une seule valeur de terrain circule désormais dans l'ouvrage, celle que le \cref{ch:45} reprendra. | |
| 256 | 256 | \end{exemple} |
| 257 | 257 | |
| 258 | 258 | \begin{table}[htbp] |
@@ -285,7 +285,7 @@ Mois depuis juillet 2024 & 0.0028 & 0.0005 & 0.3 & tendance mensuelle \\ | ||
| 285 | 285 | \begin{figure}[htbp] |
| 286 | 286 | \centering |
| 287 | 287 | \includegraphics[width=\linewidth]{ch25/ch25-fig-valeur-unitaire-superficie.pdf} |
| 288 | −\caption{Prix par mètre carré des 200 ventes synthétiques de terrains selon la superficie (échelle logarithmique), pour les terrains desservis et non desservis, avec les courbes du modèle hédonique pour un terrain plat, régulier, unifamilial, à Hull, en juillet 2024. La valeur unitaire décroît comme $T^{\,\varepsilon_T - 1}$ avec $\varepsilon_T = 0{,}53$ ; l'étoile situe le terrain du sujet à la valeur retenue de \parmsq{427}.}\label{fig:25:unitaire} | |
| 288 | +\caption{Prix par mètre carré des 200 ventes synthétiques de terrains selon la superficie (échelle logarithmique), pour les terrains desservis et non desservis, avec les courbes du modèle hédonique pour un terrain plat, régulier, unifamilial, à Hull, en juillet 2024. La valeur unitaire décroît comme $T^{\,\varepsilon_T - 1}$ avec $\varepsilon_T = 0{,}53$ ; l'étoile situe le terrain du sujet à la valeur retenue de \parmsq{447}.}\label{fig:25:unitaire} | |
| 289 | 289 | \figsource{\synth{script \texttt{analysis/python/figures/ch25\_figures.py}, graine 20261031}.} |
| 290 | 290 | \end{figure} |
| 291 | 291 | |
@@ -369,11 +369,12 @@ Méthode & {Indication (\$)} & {\$/m\textsuperscript{2}} & Appréciation \\ | ||
| 369 | 369 | Comparaison directe, cinq terrains, pondération inverse du brut & 267388 & 431 & privilégiée ; étendue 23,5 \% \\ |
| 370 | 370 | Prédiction hédonique directe (200 terrains) & 253412 & 409 & recoupement de la comparaison \\ |
| 371 | 371 | Extraction, dépréciation de marché (médiane des cinq) & 242545 & 391 & cohérente avec les prix ; levier élevé \\ |
| 372 | +Extraction du ch.~24, 13 ventes récentes de Hull (âge-vie 60 ans) & 277000 & 447 & fiable sur bâtiments récents ; part médiane 50,5 \% \\ | |
| 372 | 373 | Allocation, ratio 48,2 \% sur la grille du ch.~17 & 280412 & 452 & grossière ; hérite de l'indication de la maison \\ |
| 373 | 374 | Allocation, ratio 48,2 \% sur la prédiction hédonique & 307584 & 496 & idem ; écart maison non résolu (ch.~20) \\ |
| 374 | 375 | Extraction, âge-vie 60 ans (médiane des cinq) & 354826 & 572 & dépréciation incompatible avec les prix \\ |
| 375 | 376 | \midrule |
| 376 | −Valeur retenue & 265000 & 427 & fourchette \dollars{240000} -- \dollars{285000} \\ | |
| 377 | +Valeur retenue (confirme le ch.~24) & 277000 & 447 & fourchette \dollars{240000} -- \dollars{285000} \\ | |
| 377 | 378 | \bottomrule |
| 378 | 379 | \end{tabularx} |
| 379 | 380 | \tabsource{\synth{\texttt{analysis/python/cases/ch25\_terrain.py}, fonction \texttt{synthese}}.} |
@@ -492,7 +493,7 @@ Les trois exemples du chapitre mesurent, chacun à sa manière, le même phénom | ||
| 492 | 493 | \begin{erreurs} |
| 493 | 494 | \begin{itemize} |
| 494 | 495 | \item \emph{Multiplier la superficie par un prix au mètre carré sans borner la taille.} La valeur unitaire décroît avec la superficie ; appliquer le prix unitaire de petits terrains à un grand terrain le surestime, et l'inverse le sous-estime. L'élasticité de superficie doit être estimée ou, à défaut, les comparables choisis de taille voisine. |
| 495 | −\item \emph{Prendre le prix implicite marginal d'un modèle hédonique pour la valeur du terrain.} Le coefficient de la superficie du terrain dans un modèle de prix de maisons mesure le dernier mètre carré de cour (\parmsq{96} pour le sujet du cas 1), non le terrain (\parmsq{427}). | |
| 496 | +\item \emph{Prendre le prix implicite marginal d'un modèle hédonique pour la valeur du terrain.} Le coefficient de la superficie du terrain dans un modèle de prix de maisons mesure le dernier mètre carré de cour (\parmsq{96} pour le sujet du cas 1), non le terrain (\parmsq{447}). | |
| 496 | 497 | \item \emph{Extraire le terrain avec une dépréciation incohérente avec les prix.} Une règle âge-vie posée a priori sur des maisons anciennes transfère au terrain tout ce qu'elle exagère sur le bâtiment ; la dépréciation doit venir du marché dont on part (\cref{ch:24}). |
| 497 | 498 | \item \emph{Compter deux fois les services.} Un terrain évalué par comparaison avec des terrains viabilisés inclut les raccordements ; ils ne doivent pas réapparaître dans le coût neuf du bâtiment (\cref{ch:21}). |
| 498 | 499 | \item \emph{Appliquer la technique résiduelle à un bâtiment ancien et en présenter le résultat comme une valeur.} Elle teste la cohérence des hypothèses ; elle ne les remplace pas. Une valeur négative signale des hypothèses incompatibles, non un terrain sans valeur. |
@@ -504,7 +505,7 @@ Les trois exemples du chapitre mesurent, chacun à sa manière, le même phénom | ||
| 504 | 505 | |
| 505 | 506 | \begin{limites} |
| 506 | 507 | \begin{itemize} |
| 507 | −\item Les 200 ventes de terrains du chapitre sont synthétiques et leur prix de référence (\dollars{225000} pour \msq{560} à Hull en juillet 2024) est une hypothèse de cohérence interne avec le cas 1, non une mesure du marché de Gatineau ; les élasticités et les décotes (services, topographie, forme, densité) sont des hypothèses de génération vraisemblables, non des estimations sur données réelles. La valeur de \dollars{265000} retenue pour le terrain du sujet est une valeur du monde synthétique du traité. | |
| 508 | +\item Les 200 ventes de terrains du chapitre sont synthétiques et leur prix de référence (\dollars{225000} pour \msq{560} à Hull en juillet 2024) est une hypothèse de cohérence interne avec le cas 1, non une mesure du marché de Gatineau ; les élasticités et les décotes (services, topographie, forme, densité) sont des hypothèses de génération vraisemblables, non des estimations sur données réelles. La valeur de \dollars{277000} retenue pour le terrain du sujet est une valeur du monde synthétique du traité, commune aux \cref{ch:24,ch:25,ch:45}. | |
| 508 | 509 | \item Les hypothèses du cas 3 pour la technique résiduelle (coût neuf de \parmsq{2500}, superficie brute de \msq{950}, dépréciation de 52 \%, vie restante de 40 ans, taux du terrain de 3,75 \%) ne reposent sur aucune source publique ; aucune fourchette publique de coût de construction du multilogement n'a été trouvée (\texttt{sources/notes-E.md}). |
| 509 | 510 | \item Les paramètres du lotissement (coût de viabilisation, honoraires, frais de vente, profit, absorption, taux) sont des choix de l'auteur ; dans un mandat réel, chacun exige une source (soumissions, projets comparables, entretiens avec des promoteurs). |
| 510 | 511 | \item La façade du sujet (\qty{20}{\metre}) et le coût neuf des comparables bâtis (transposé par une élasticité de 0,90 et une correction de 10 \% par classe de qualité) sont des hypothèses de l'exemple. |
@@ -519,7 +520,7 @@ Les trois exemples du chapitre mesurent, chacun à sa manière, le même phénom | ||
| 519 | 520 | \item La valeur unitaire d'un terrain décroît avec la superficie ($P_L \propto T^{\varepsilon_T}$, $\varepsilon_T < 1$, estimé à 0,53 dans l'exemple) ; l'unité de comparaison (m², façade, logement constructible, lot) doit refléter ce que l'acheteur achète. |
| 520 | 521 | \item Six méthodes : la comparaison directe est privilégiée parce qu'elle seule échappe au levier ; l'allocation sert de contrôle ; l'extraction exige une dépréciation cohérente avec les prix ; la technique résiduelle $V_L = (\NOI - R_B C_B)/R_L$ n'est probante que pour un bâtiment neuf ; le lotissement actualisé évalue les terrains de développement ; la capitalisation de la rente s'applique aux terrains loués. |
| 521 | 522 | \item Les ajustements de terrain portent sur le marché, la localisation, la superficie, la façade, la forme, les services, la topographie, le zonage et les contraintes ; les décotes de services et de topographie se vérifient par le coût des travaux qu'elles évitent. |
| 522 | −\item Pour le sujet du cas 1 : comparaison \dollars{267388}, extraction de marché \dollars{242545}, allocation \dollars{280412} ; valeur retenue \dollars{265000} (\parmsq{427}), soit 45,6 \% de l'indication de la grille du \cref{ch:17}. | |
| 523 | +\item Pour le sujet du cas 1 : comparaison \dollars{267388}, extraction de marché \dollars{242545}, allocation \dollars{280412}, extraction du \cref{ch:24} sur ventes récentes \dollars{277000} ; valeur retenue \dollars{277000} (\parmsq{447}), soit 47,6 \% de l'indication de la grille du \cref{ch:17}, confirmant le \cref{ch:24}. | |
| 523 | 524 | \item Toute valeur de terrain obtenue par différence amplifie l'erreur du terme soustrait : dix points de dépréciation valent 15 \% du terrain dans l'extraction du cas 1, cinquante points de base valent 39 \% dans la technique résiduelle du cas 3, 10 \% sur le prix des lots valent 17 \% du site brut dans le lotissement. Conclure une fourchette. |
| 524 | 525 | \end{itemize} |
| 525 | 526 | \end{synthese} |
modified
manuscript/chapters/ch28.tex
+2 −2
@@ -386,8 +386,8 @@ Le cas~2 est un triplex fictif de 1948 dans Limoilou, à Québec, de \msq{262} h | ||
| 386 | 386 | \caption{Cas~2 : dépenses d'exploitation normalisées et revenu net du triplex de Limoilou (première année, dollars courants).} |
| 387 | 387 | \label{tab:28:cas2} |
| 388 | 388 | \centering |
| 389 | −\small | |
| 390 | −\begin{tabular}{L{56mm}S[table-format=5.2]S[table-format=2.1]L{46mm}} | |
| 389 | +\footnotesize\setlength{\tabcolsep}{4pt} | |
| 390 | +\begin{tabular}{L{50mm}S[table-format=5.2]S[table-format=2.1]L{44mm}} | |
| 391 | 391 | \toprule |
| 392 | 392 | Poste & {Montant (\$)} & {\% RBE} & Base \\ |
| 393 | 393 | \midrule |
modified
manuscript/chapters/ch35.tex
+97 −0
@@ -117,3 +117,100 @@ La proposition dit où se situe la différence entre les constructions : uniquem | ||
| 117 | 117 | \subsection{Ce que la spécification fait à l'indice} |
| 118 | 118 | |
| 119 | 119 | Un indice hédonique hérite de toutes les hypothèses du modèle sous-jacent, et le \cref{ch:18} en a dressé la liste. Deux conséquences propres aux indices méritent d'être soulignées. La première concerne les variables omises : si une caractéristique qui contribue au prix et dont la fréquence change au fil du temps est absente du modèle, sa contribution est absorbée par les indicatrices temporelles, et l'indice mesure en partie la composition qu'il prétend neutraliser. Un indice construit sans variable de localisation fine, sur un marché où les ventes se déplacent vers les quartiers centraux, surestime la hausse des prix. La seconde concerne l'âge. Dans un modèle estimé sur plusieurs années, l'âge de chaque logement à sa vente et la date de la vente sont presque colinéaires pour un logement donné ; sur l'ensemble des ventes, la colinéarité n'est pas parfaite parce que les années de construction diffèrent, mais \textcite{clappGiaccotto1998} ont montré que la façon dont l'âge est spécifié affecte directement les effets temporels estimés. L'indice à indicatrices mesure la variation du prix \emph{à âge constant}, ce qui est bien ce que l'on veut pour l'ajustement d'un comparable que l'on ramène à la date d'évaluation sans le vieillir ; l'indice de ventes répétées, lui, laisse l'immeuble vieillir entre ses deux ventes, et la \cref{sec:35:repetees} dit comment en tenir compte. |
| 120 | + | |
| 121 | +\section{Les indices de ventes répétées}\label{sec:35:repetees} | |
| 122 | + | |
| 123 | +\subsection{L'estimateur de Bailey, Muth et Nourse} | |
| 124 | + | |
| 125 | +La méthode des \motcle{ventes répétées} (en anglais \emph{repeat sales}) renonce à mesurer les caractéristiques et ne retient que les immeubles vendus au moins deux fois dans la fenêtre d'étude. Si l'immeuble $j$ s'est vendu $P_{j1}$ à la période $t_{j1}$ et $P_{j2}$ à la période $t_{j2} > t_{j1}$, et si ses caractéristiques n'ont pas changé entre les deux ventes, le modèle semi-logarithmique donne, par différence, | |
| 126 | +\begin{equation}\label{eq:35:bmn} | |
| 127 | +y_j \equiv \ln \frac{P_{j2}}{P_{j1}} = \tau_{t_{j2}} - \tau_{t_{j1}} + \eta_j = \sum_{t=1}^{T} \tau_t\, D_{jt} + \eta_j, \qquad D_{jt} = \begin{cases} +1 & \text{si } t = t_{j2}, \\ -1 & \text{si } t = t_{j1}, \\ 0 & \text{sinon}, \end{cases} | |
| 128 | +\end{equation} | |
| 129 | +où $\eta_j = \varepsilon_{j2} - \varepsilon_{j1}$ et où la période $0$ est omise pour fixer $\tau_0 = 0$. La constante $\alpha$ et le terme $\mathbf{x}_j\T\boldsymbol\beta$ ont disparu : c'est tout l'intérêt de la méthode, qui n'exige de connaître ni les caractéristiques ni leurs prix implicites. \textcite{baileyMuthNourse1963} ont proposé d'estimer les $\tau_t$ par les moindres carrés ordinaires de $y_j$ sur les colonnes de la matrice $\mathbf{D}$ ($n$ paires $\times$ $T$ périodes), sans constante : | |
| 130 | +\begin{equation}\label{eq:35:bmn-mco} | |
| 131 | +\hat{\boldsymbol\tau} = (\mathbf{D}\T\mathbf{D})^{-1}\mathbf{D}\T\mathbf{y}, \qquad \hat I_t = 100\exp(\hat\tau_t). | |
| 132 | +\end{equation} | |
| 133 | +La matrice $\mathbf{D}\T\mathbf{D}$ a une structure parlante : son élément diagonal $(t,t)$ est le nombre de paires dont l'une des ventes a eu lieu à la période $t$, et son élément $(s,t)$ est l'opposé du nombre de paires reliant les périodes $s$ et $t$. L'estimateur n'est défini que si cette matrice est inversible, c'est-à-dire si le graphe dont les sommets sont les périodes et les arêtes les paires de ventes est connexe : une période qu'aucune revente ne relie aux autres n'a pas d'indice. La fonction \texttt{ventes\_repetees\_bmn} du module \texttt{traite.hedonique} construit $\mathbf{D}$ et résout le système. | |
| 134 | + | |
| 135 | +\begin{proposition}{Propriétés de l'estimateur BMN}{bmn} | |
| 136 | +Sous le modèle \eqref{eq:35:bmn}, si les caractéristiques de chaque immeuble sont constantes entre ses deux ventes et si $\E[\eta_j \mid \mathbf{D}] = 0$, l'estimateur \eqref{eq:35:bmn-mco} est sans biais pour $\boldsymbol\tau$. Si de plus les $\eta_j$ sont indépendants et de variance commune $\sigma_\eta^2 = 2\sigma^2$, sa matrice de covariance est $\sigma_\eta^2(\mathbf{D}\T\mathbf{D})^{-1}$. Dans le cas de deux périodes où toutes les paires relient la période $0$ à la période $1$, $\exp(\hat\tau_1)$ est la moyenne géométrique des rapports de prix $P_{j2}/P_{j1}$. | |
| 137 | +\end{proposition} | |
| 138 | +\begin{proof} | |
| 139 | +L'absence de biais et la covariance sont les propriétés usuelles des moindres carrés, $\hat{\boldsymbol\tau} = \boldsymbol\tau + (\mathbf{D}\T\mathbf{D})^{-1}\mathbf{D}\T\boldsymbol\eta$ ; la variance $2\sigma^2$ de $\eta_j$ résulte de l'indépendance des deux bruits de transaction d'écart-type $\sigma$. Dans le cas de deux périodes, $\mathbf{D}$ est une colonne de $n$ uns, $\mathbf{D}\T\mathbf{D} = n$ et $\hat\tau_1 = \frac{1}{n}\sum_j \ln(P_{j2}/P_{j1})$, dont l'exponentielle est la moyenne géométrique des rapports. | |
| 140 | +\end{proof} | |
| 141 | + | |
| 142 | +Deux remarques prolongent la proposition. Premièrement, le logarithme fait de l'indice une moyenne \emph{géométrique} des variations individuelles ; \textcite{shiller1991} a proposé des estimateurs \emph{arithmétiques}, qui pondèrent chaque immeuble par sa valeur et répondent à la question « de combien la valeur d'un portefeuille de maisons a-t-elle varié ? », pertinente pour un indice financier, alors que la version géométrique répond à la question de la maison type. Les deux diffèrent d'un terme de l'ordre de la demi-variance des variations individuelles, par l'inégalité de Jensen, et l'\cref{ex:35:8} en mesure l'écart. Deuxièmement, la variance de l'estimateur dépend du nombre de paires reliant chaque période aux autres, non du nombre total de ventes ; sur un marché où une maison sur vingt se revend chaque année, la méthode n'utilise qu'une fraction des transactions, et \textcite{goetzmann1992} a montré que, dans les petits échantillons, les indices de ventes répétées sont bruités au point que la valeur de la période la plus récente peut être dominée par l'erreur d'estimation ; il a proposé un estimateur bayésien qui rétrécit les variations vers une tendance, ce que la \cref{sec:35:sensibilite} illustre par la taille de l'échantillon. | |
| 143 | + | |
| 144 | +\subsection{L'estimateur pondéré de Case et Shiller} | |
| 145 | + | |
| 146 | +\textcite{caseShiller1987,caseShiller1989} ont relevé que l'hypothèse de variance constante de $\eta_j$ est intenable : plus l'intervalle entre les deux ventes est long, plus la valeur de l'immeuble a eu le temps de s'écarter de la trajectoire du marché, par des rénovations, un entretien négligé, un changement du voisinage. Ils modélisent le logarithme du prix comme la somme de l'indice, d'une marche aléatoire propre à l'immeuble, de variance $\delta^2$ par unité de temps, et d'un bruit de transaction $\varepsilon$ de variance $\sigma^2$. La variance de la différence des logarithmes devient | |
| 147 | +\begin{equation}\label{eq:35:cs-variance} | |
| 148 | +\Var[\eta_j] = 2\sigma^2 + \delta^2\,\Delta_j, \qquad \Delta_j = t_{j2} - t_{j1}, | |
| 149 | +\end{equation} | |
| 150 | +une fonction linéaire croissante de l'intervalle. Les moindres carrés ordinaires restent sans biais mais ne sont plus efficaces, et les erreurs-types usuelles sont fausses. L'estimateur \motcle{Case--Shiller pondéré} (en anglais \emph{weighted repeat sales}, WRS) procède en trois étapes. On estime d'abord l'\cref{eq:35:bmn} par MCO et l'on en retient les résidus $\hat\eta_j$ ; on régresse ensuite leurs carrés sur l'intervalle, | |
| 151 | +\begin{equation}\label{eq:35:cs-poids} | |
| 152 | +\hat\eta_j^{2} = a_0 + a_1\,\Delta_j + u_j, \qquad \hat w_j = \frac{1}{\sqrt{\hat a_0 + \hat a_1\,\Delta_j}}, | |
| 153 | +\end{equation} | |
| 154 | +ce qui estime $2\sigma^2$ par $\hat a_0$ et $\delta^2$ par $\hat a_1$ ; on réestime enfin l'\cref{eq:35:bmn} par les moindres carrés pondérés, en multipliant chaque ligne de $\mathbf{D}$ et de $\mathbf{y}$ par $\hat w_j$ : | |
| 155 | +\begin{equation}\label{eq:35:cs-mcp} | |
| 156 | +\hat{\boldsymbol\tau}^{\,CS} = (\mathbf{D}\T\mathbf{W}\mathbf{D})^{-1}\mathbf{D}\T\mathbf{W}\mathbf{y}, \qquad \mathbf{W} = \operatorname{diag}(\hat w_j^{2}) = \operatorname{diag}\!\left(\frac{1}{\hat a_0 + \hat a_1\Delta_j}\right). | |
| 157 | +\end{equation} | |
| 158 | +Les paires séparées par un long intervalle, dont la variation contient plus de bruit idiosyncrasique, reçoivent moins de poids. La fonction \texttt{ventes\_repetees\_case\_shiller} enchaîne les trois étapes. Trois précisions pratiques. La deuxième étape est elle-même une régression bruitée, surtout avec quelques centaines de paires ; sa pente peut sortir négative si des paires de court intervalle présentent de fortes variations, ce qui est le symptôme de reventes rapides après rénovation et non d'une marche aléatoire négative, et l'exemple intégral en montre un cas. La pondération ne corrige pas un biais ; elle améliore l'efficacité et rend les erreurs-types correctes. Enfin, lorsque $\hat a_1$ est petit devant $\hat a_0$, les poids sont presque uniformes et l'estimateur pondéré se confond avec celui de BMN. | |
| 159 | + | |
| 160 | +\subsection{Les biais de sélection des reventes} | |
| 161 | + | |
| 162 | +Le modèle \eqref{eq:35:bmn} repose sur deux hypothèses que la réalité malmène. La première est la constance des caractéristiques entre les deux ventes. Un immeuble rénové entre ses ventes affiche une variation de prix qui mélange l'évolution du marché et la valeur des travaux ; un immeuble laissé à l'abandon affiche l'inverse. Si les rénovations sont plus fréquentes que les dégradations, ce qui est le cas des immeubles que l'on revend, l'indice est biaisé vers le haut. La dépréciation est le cas symétrique et systématique : tout immeuble vieillit entre ses deux ventes, de sorte que l'indice de ventes répétées mesure la variation du prix d'un immeuble \emph{qui vieillit}, et sous-estime donc la variation à âge constant d'un montant égal à la dépréciation sur l'intervalle. \textcite{knightSirmans1996} et surtout \textcite{hardingRosenthalSirmans2007} ont estimé, à partir de données de ventes répétées enrichies d'informations sur l'entretien, que la dépréciation nette d'entretien atteint de l'ordre de 2 \% à 3 \% par année aux États-Unis, ce qui n'est pas négligeable devant une variation de prix de 4 \% ; les producteurs d'indices traitent ce problème en écartant les paires dont la variation est anormale plutôt qu'en modélisant la dépréciation. La seconde hypothèse est l'absence de sélection : les immeubles qui se revendent devraient être représentatifs du parc. Or ils ne le sont pas. Les reventes rapides sont souvent des opérations de rénovation-revente (en anglais \emph{flips}) ou des ventes contraintes ; les immeubles qui se revendent souvent sont plus petits, plus récents, plus proches des centres que la moyenne ; et \textcite{clappGiaccotto1992}, en comparant un indice de ventes répétées à un indice fondé sur les valeurs au rôle sur un même territoire, ont montré que l'échantillon des reventes diffère systématiquement du parc et que l'écart entre les deux indices est en partie attribuable à cette sélection. \textcite{englundQuigleyRedfearn1998} ont documenté, sur des données suédoises exhaustives, à quel point le choix des filtres d'épuration des paires modifie l'indice. | |
| 163 | + | |
| 164 | +Les réponses pratiques sont de trois ordres. On \emph{filtre} : les paires dont l'intervalle est trop court, dont la variation de prix est extrême ou dont le type de propriété a changé sont écartées, ce que fait explicitement la méthodologie publiée de l'indice Teranet--Banque Nationale (\cref{sec:35:canada}). On \emph{pondère} : la variance croissante de l'\cref{eq:35:cs-variance} donne moins de poids aux longs intervalles. On \emph{hybride} : \textcite{quigley1995} a proposé un modèle qui combine, dans une même estimation par moindres carrés généralisés, les ventes uniques avec leurs caractéristiques et les ventes répétées sans elles, ce qui utilise toute l'information et atténue la sélection ; les modèles hybrides restent peu diffusés parce qu'ils exigent les deux types de données. Plus récemment, \textcite{contatLarson2024} ont proposé une construction fondée sur des agrégats de ventes répétées qui autorise des fréquences, des géographies et des filtres flexibles sans réestimer l'ensemble des paires. | |
| 165 | + | |
| 166 | +\subsection{La révision} | |
| 167 | + | |
| 168 | +Un indice de ventes répétées a une propriété déroutante pour l'utilisateur : ses valeurs passées changent à chaque publication. La raison est mécanique. Une vente conclue aujourd'hui est la seconde vente d'une paire dont la première a eu lieu il y a deux, cinq ou dix ans ; en l'ajoutant, on ajoute une ligne à $\mathbf{D}$ qui relie la période courante à une période ancienne, et la résolution de l'\cref{eq:35:bmn-mco} redistribue l'information sur toute la chaîne des périodes intermédiaires. Les valeurs les plus révisées sont les plus récentes, parce que peu de paires les relient encore aux autres ; \textcite{silverstein2014} a mesuré, pour les grands indices américains, des révisions de l'ordre du point de pourcentage sur les variations mensuelles récentes, de signe systématique lorsque les reventes rapides, surreprésentées dans les premières publications, diffèrent du reste du parc. Les indices hédoniques à indicatrices sont révisés eux aussi, par la réestimation des prix implicites ; les indices chaînés et l'IPLN de Statistique Canada ne le sont pas, par construction ou par convention. Pour l'évaluateur, la révision a une conséquence précise : l'ajustement de conditions du marché fondé sur la dernière valeur publiée d'un indice de ventes répétées est fondé sur sa valeur la moins fiable, et le rapport doit indiquer la date de publication de l'indice utilisé, non seulement la période qu'il couvre. | |
| 169 | + | |
| 170 | +\subsection{L'indice SPAR} | |
| 171 | + | |
| 172 | +La méthode du \motcle{rapport prix sur valeur} (en anglais \emph{sale price appraisal ratio}, SPAR) part d'une observation simple : au Québec comme dans la plupart des juridictions, chaque immeuble possède une valeur d'évaluation foncière $A_i$ établie à une date de référence commune, et cette valeur est une estimation, bruitée mais sans biais systématique à l'échelle d'un secteur, de son prix à cette date. Le rapport $P_{it}/A_i$ d'un immeuble vendu à la période $t$ mesure alors la variation de son prix depuis la date de référence, à la qualité de l'évaluation près. \textcite{bourassaHoesliSun2006} ont formalisé l'indice, utilisé en Nouvelle-Zélande, aux Pays-Bas et ailleurs, sous la forme d'un rapport de rapports : | |
| 173 | +\begin{equation}\label{eq:35:spar} | |
| 174 | +\hat I^{\,\text{SPAR}}_t = 100 \times \frac{\sum_{i \in t} P_{it} \big/ \sum_{i \in t} A_i}{\sum_{i \in 0} P_{i0} \big/ \sum_{i \in 0} A_i}, | |
| 175 | +\end{equation} | |
| 176 | +la version géométrique remplaçant les rapports de sommes par l'exponentielle de la moyenne des logarithmes de $P_{it}/A_i$. L'indice utilise toutes les ventes, n'exige aucune caractéristique et n'est pas révisé ; sa précision tient à ce que la dispersion de $\ln(P/A)$, qui mesure l'uniformité du rôle, est en général plus faible que celle des résidus d'un modèle hédonique estimé sans les informations dont dispose l'évaluateur municipal. Ses conditions de validité sont celles du rôle : le ratio $P/A$ ne doit pas dépendre des caractéristiques, faute de quoi la composition réapparaît par le biais vertical du rôle (le PRD et le PRB du \cref{ch:18}), et la valeur $A_i$ doit rester celle d'une même date de référence pour toutes les ventes de la série. Au dépôt d'un nouveau rôle, la série doit être rechaînée, puisque les $A_i$ changent de date. \textcite{clappGiaccotto1992} avaient déjà proposé d'utiliser les valeurs au rôle comme substitut des caractéristiques, ce qui est l'idée de la méthode, et l'exemple intégral la met en œuvre avec la valeur au rôle fictive du cas 1. | |
| 177 | + | |
| 178 | +\section{Les indices au Canada et au Québec}\label{sec:35:canada} | |
| 179 | + | |
| 180 | +\subsection{Quatre sources, quatre objets} | |
| 181 | + | |
| 182 | +Le \cref{ch:04} a présenté les sources de prix québécoises ; le \cref{tab:35:canada} les reprend sous l'angle de la méthode, en précisant pour chacune ce qu'un évaluateur peut et ne peut pas en tirer pour un ajustement de conditions du marché. | |
| 183 | + | |
| 184 | +\begin{table}[htbp] | |
| 185 | +\caption{Indices et séries de prix résidentiels disponibles au Canada et au Québec : nature, méthode publiée, périmètre et limites pour l'ajustement de conditions du marché}\label{tab:35:canada} | |
| 186 | +\centering\footnotesize | |
| 187 | +\begin{tabularx}{\textwidth}{@{}L{27mm}YYY@{}} | |
| 188 | +\toprule | |
| 189 | +Série & Nature et méthode & Périmètre, base, fréquence, révision & Limites pour l'évaluateur \\ | |
| 190 | +\midrule | |
| 191 | +Teranet--Banque Nationale (indice composite et par RMR) & Indice de ventes répétées : « properties with at least two sales » ; exclusion des ventes non sincères, des changements de type (rénovations), des erreurs de données et des rotations « biannual or higher » ; valeur de septembre 2026 : composite 294,94, Montréal 310,62, Québec 327,56 & Onze RMR dont Montréal et Québec ; juin 2005 = 100 ; mensuel ; variation mensuelle désaisonnalisée ; révisé à mesure que des paires s'ajoutent & Toutes catégories confondues ; pas de Gatineau, Sherbrooke ni Trois-Rivières ; pas de ventilation infra-métropolitaine publique ; dernières valeurs révisables \\ | |
| 192 | +Statistique Canada, IPLN (18-10-0205-01) & Indice de prix à qualité constante des maisons neuves des constructeurs : prix relevés « lorsque les spécifications détaillées de chaque maison demeurent les mêmes pendant deux périodes consécutives », ajustés des changements de qualité ; composantes maison et terrain & Canada, provinces, RMR dont Montréal, Québec, Ottawa-Gatineau (partie du Québec), Sherbrooke, Trois-Rivières ; déc. 2016 = 100 ; mensuel ; « n'est pas révisé et n'est pas désaisonnalisé » & Logements neufs seulement (maisons individuelles, jumelées, en rangée) ; prix demandés par les constructeurs ; ne mesure pas la revente \\ | |
| 193 | +APCIQ, statistiques Centris & Prix médians et nombre de ventes conclues par courtier, par catégorie (unifamiliale, copropriété, plex) ; T3 2026 : unifamiliale \dollars{500000} (province), \dollars{480000} (RMR de Gatineau) & Province, RMR, secteurs ; mensuel et trimestriel ; date d'acceptation de la promesse ; non révisé & Médiane : biais de composition ; ventes par courtier seulement ; conditions d'utilisation de l'APCIQ \\ | |
| 194 | +JLR (Equifax), rapport mensuel & Prix médians de toutes les ventes publiées au Registre foncier, après exclusions (ventes liées, reprises, moins de \dollars{5000}) ; seuil de 30 transactions ; douze mois à septembre 2026 : unifamiliale \dollars{483000}, plex \dollars{622000} & Province, RMR, régions administratives ; mensuel ; date de l'acte & Médiane ; date de l'acte postérieure à la promesse ; pas d'indice à qualité constante publié \\ | |
| 195 | +Rôle d'évaluation foncière (MEFQ, partie 3A) & Taux de variation du marché mesurés par l'évaluateur municipal entre deux dates de référence, pour l'équilibration et les études de ratios & Chaque municipalité ; triennal ; non publié sous forme d'indice & Méthode interne ; disponible indirectement par les facteurs comparatifs et les proportions médianes (\cref{ch:09}) \\ | |
| 196 | +\bottomrule | |
| 197 | +\end{tabularx} | |
| 198 | +\tabsource{\textcite{teranet202609} et page de méthodologie de Teranet--Banque Nationale (housepriceindex.ca, consultée le 31 octobre 2026) ; \textcite{statcanipln} et fiche de l'enquête 2310 de Statistique Canada (consultée le 31 octobre 2026) ; \textcite{apciqt32026,apciqgatineaut32026,apciqconditions} ; \textcite{jlr202609} ; \textcite{mefqpartie3}. Chiffres cités avec attribution ; aucun tableau reproduit.} | |
| 199 | +\end{table} | |
| 200 | + | |
| 201 | +L'\motcle{indice Teranet--Banque Nationale} est le seul indice de prix de revente à qualité constante publié au Canada. Sa méthodologie publiée est explicitement celle des ventes répétées : l'indice « is estimated by tracking the observed or registered home prices over time », les immeubles vendus au moins deux fois forment des paires, et les paires affectées par des facteurs endogènes sont écartées, à savoir les ventes non sincères, les changements de type de propriété « for example after renovations », les erreurs de données et les rotations fréquentes, « biannual or higher »\footnote{Teranet et Banque Nationale du Canada, « Our Methodology », housepriceindex.ca/about/our-methodology/, consultée le 31 octobre 2026. Les citations sont reproduites dans la langue de la page, qui ne précise ni l'estimateur exact, ni les seuils numériques des filtres, ni la politique de révision ; la description complète est annoncée comme téléchargeable sans l'être depuis la page.}. En septembre 2026, l'indice composite des onze régions métropolitaines s'établissait à 294,94 (juin 2005 = 100), en hausse de 0,1 \% sur un mois en données désaisonnalisées, en baisse de 3,5 \% sur un an et à 8,1 \% sous son sommet d'avril 2022 ; celui de Montréal à 310,62, en hausse de 1,4 \% sur un an, et celui de Québec à 327,56, en hausse de 7,7 \% sur un an et à son sommet \parencite{teranet202609}. Pour l'évaluateur québécois, l'indice a trois limites : il ne couvre que Montréal et Québec, il agrège toutes les catégories de propriétés, et sa valeur la plus récente est, par construction, sujette à révision. | |
| 202 | + | |
| 203 | +L'\motcle{Indice des prix des logements neufs} mesure autre chose. D'après la fiche de l'enquête, c'est « une série mensuelle qui mesure les variations au fil du temps des prix de vente des maisons résidentielles neuves établis par les entrepreneurs lorsque les spécifications détaillées de chaque maison demeurent les mêmes pendant deux périodes consécutives » ; lorsque les spécifications changent, les prix déclarés « sont ajustés afin de tenir compte des variations de la qualité, de sorte que l'IPLN mesure la variation “pure” des prix au fil du temps » ; l'indice « n'est pas révisé et n'est pas désaisonnalisé »\footnote{Statistique Canada, « Indice des prix des logements neufs (IPLN) », fiche de l'enquête n\textsuperscript{o} 2310 de la Base de métadonnées intégrée, consultée le 31 octobre 2026 ; la fiche renvoie à la méthodologie détaillée de la Série analytique des prix (62F0014M). Population cible : maisons individuelles, jumelées et en rangée neuves ; collecte sur dix jours à partir du 15 du mois ; base décembre 2016 = 100.}. C'est donc un indice à qualité constante par appariement de modèles, proche dans l'esprit d'un indice hédonique dont les caractéristiques seraient tenues constantes par le constructeur lui-même, mais il porte sur les prix demandés pour des maisons neuves, non sur les prix de revente, et il ne couvre, au Québec, que cinq régions métropolitaines. La \cref{fig:35:ipln} en présente la variation sur douze mois : la hausse annuelle a culminé à 21,9 \% à Montréal en septembre 2021 et à 14,3 \% à Québec en mai 2021, contre 12,2 \% pour le Canada en août 2021 et seulement 6,7 \% à Gatineau en décembre 2020 ; en septembre 2026, elle n'était plus que de 1,2 \% à Montréal, 1,9 \% à Québec, 0,3 \% à Gatineau, 1,2 \% à Sherbrooke et 3,0 \% à Trois-Rivières, et l'indice canadien reculait de 2,0 \% \parencite{statcanipln}. Pour un ajustement de conditions du marché sur une revente, l'IPLN est au mieux un indicateur de direction ; il ne doit pas servir de taux. | |
| 204 | + | |
| 205 | +\begin{figure}[htbp] | |
| 206 | +\centering | |
| 207 | +\includegraphics[width=\textwidth]{ch35/ch35-fig-ipln-variation.pdf} | |
| 208 | +\caption{Indice des prix des logements neufs, variation sur douze mois (en pourcentage), janvier 2011 à septembre 2026, pour les cinq régions métropolitaines québécoises couvertes et pour le Canada. L'épisode pandémique (bande grisée) porte la hausse annuelle à 21,9 \% à Montréal et à 14,3 \% à Québec, alors que Gatineau ne dépasse pas 6,7 \% ; en 2026, les hausses québécoises se sont ramenées entre 0,3 \% et 3,0 \% tandis que l'indice canadien recule. La divergence régionale interdit d'appliquer un indice national ou métropolitain à un marché local.}\label{fig:35:ipln} | |
| 209 | +\figsource{Statistique Canada, tableau 18-10-0205-01, total maison et terrain (vecteurs v111955484, v111955475, v111955487, v111955478, v111955481, v111955442), diffusé le 22 octobre 2026, consulté le 31 octobre 2026, licence ouverte ; fichier brut \texttt{data/raw/statcan\_18100205/18100205.csv} ; script \texttt{analysis/python/figures/ch35\_figures.py} ; calculs de l'auteur.} | |
| 210 | +\end{figure} | |
| 211 | + | |
| 212 | +Les \motcle{médianes} de l'APCIQ et de JLR ne sont pas des indices, et leurs producteurs ne les présentent pas comme tels. Elles ont pourtant un avantage que les indices n'ont pas : une granularité géographique et par catégorie bien plus fine, qui permet de suivre le marché des unifamiliales du secteur de Hull ou des plex de Limoilou, là où Teranet--Banque Nationale ne publie qu'un chiffre par région métropolitaine. L'évaluateur qui s'en sert pour un ajustement de conditions du marché doit le faire en connaissance de cause : sur un trimestre ou deux, la variation d'une médiane de quelques centaines de ventes est dominée par la composition et par le bruit, comme la \cref{sec:35:exemple} le montre ; sur un an ou plus, avec une catégorie homogène et un secteur stable, elle approche la variation à qualité constante. Les règles pratiques sont de ne jamais lire une variation de médiane sur moins de quatre trimestres, de préférer les douze mois glissants que JLR publie, et de la confronter à l'indice de ventes répétées lorsqu'il existe pour le territoire. Le \cref{ch:13} a fait le même constat sur les trois mesures disponibles pour la région de Québec au troisième trimestre de 2026, qui ne se contredisent pas mais ne mesurent pas la même chose. | |
| 213 | + | |
| 214 | +\begin{quebec}[Les indices de prix et l'évaluation foncière] | |
| 215 | +Le Manuel d'évaluation foncière du Québec consacre la partie 3A de son édition 2026 à la mesure des \emph{taux de variation du marché}, c'est-à-dire des indices que l'évaluateur municipal construit lui-même pour ramener les prix de vente à la date de référence du rôle, pour l'équilibration (partie 3B) et pour les études de ratios \parencite{mefqpartie3}. Le Règlement sur la proportion médiane du rôle d'évaluation foncière prévoit que les prix des ventes qui ne sont pas contemporaines de la date de référence sont rajustés aux conditions du marché à cette date avant le calcul des ratios \parencite[art.~11--12]{reglpropmed}, ce qui suppose un indice par municipalité et par catégorie ; ces indices ne sont pas publiés, mais la proportion médiane et le facteur comparatif de chaque rôle (art.~264 de la Loi sur la fiscalité municipale) en sont la trace visible, comme le \cref{ch:09} l'a montré pour Gatineau. L'indice SPAR de la \cref{sec:35:repetees} est, de ce point de vue, l'indice naturel du système québécois : il utilise les valeurs au rôle, publiques depuis l'ouverture des données du MAMH, comme dénominateur de chaque prix de vente, et il mesure la dérive du marché depuis la date de référence du rôle, qui est exactement ce que la proportion médiane résume en un seul chiffre. Sa validité dépend de l'uniformité du rôle, que les statistiques de ratio du \cref{ch:18} mesurent. Textes consultés sur LégisQuébec et Québec.ca le 31 octobre 2026. | |
| 216 | +\end{quebec} | |
modified
solutions/ch33.tex
+30 −1
@@ -1 +1,30 @@ | ||
| 1 | −% Solutions du chapitre 33 — Immeubles de six logements et plus | |
| 1 | +% Solutions du chapitre 33 — Immeubles de six logements et plus (données synthétiques des cas 3 et 4) | |
| 2 | +% Tous les chiffres proviennent de analysis/python/cases/ch33_six_logements.py (fonction exercices) ; tests : analysis/python/tests/test_ch33.py | |
| 3 | + | |
| 4 | +\begin{solution}{ex:33:1}{Trois unités pour un immeuble de seize logements} | |
| 5 | +Les prix unitaires du sujet du cas~3 sont de \dollars{171666.67} par logement, \dollars{2496.97} par mètre carré et \dollars{93636.36} par chambre. Appliqués au comparable, ils donnent $16 \times \dollars{171666.67} = \dollars{2746667}$, $1040 \times \dollars{2496.97} = \dollars{2596848}$ et $26 \times \dollars{93636.36} = \dollars{2434545}$ : l'écart entre l'indication la plus haute et la plus basse est de \pct{12.8}. La raison tient à la composition, que l'\cref{eq:33:composition} rend explicite : le comparable a des logements plus petits que le sujet (\msq{65} contre \msq{68.75} en moyenne) et moins de chambres par logement (\num{1.625} contre \num{1.83}). Le prix par logement, qui ignore ces différences, suppose implicitement que chaque logement du comparable vaut autant qu'un logement du sujet, ce qui le surévalue ; le prix par chambre, qui compte des unités plus petites, le sous-évalue si les logements d'une chambre valent plus que la moitié d'un logement de deux chambres, ce qui est généralement le cas. Le prix par mètre carré est le plus défendable lorsque la superficie locative est fiable, parce qu'il normalise la dimension qui varie le plus ; mais lui aussi ignore le nombre de logements, et donc le nombre de cuisines et de salles de bain, qui coûtent et se louent plus que les mètres carrés de séjour. En pratique, l'évaluateur retient l'unité dont la dispersion entre comparables est la plus faible et ajuste les autres caractéristiques, ou, mieux, passe par le revenu : c'est le loyer de chaque logement qui capitalise correctement sa taille et son nombre de pièces. | |
| 6 | +\end{solution} | |
| 7 | + | |
| 8 | +\begin{solution}{ex:33:2}{Le sixième logement et la taxe foncière à Québec} | |
| 9 | +Pour l'immeuble de cinq logements, la taxe foncière générale est de $\dollars{1800000} \times \num{0.007464} = \dollars{13435.20}$ et les tarifs de $5 \times (\dollars{386} + \dollars{195}) = \dollars{2905}$, soit \dollars{16340.20}. Pour l'immeuble de six logements, la taxe est de $\dollars{1800000} \times \num{0.007697} = \dollars{13854.60}$ et les tarifs de $6 \times \dollars{581} = \dollars{3486}$, soit \dollars{17340.60}. L'écart attribuable au seul taux est de $\dollars{1800000} \times (\num{0.007697} - \num{0.007464}) = \dollars{419.40}$ ; l'écart total, tarifs compris, est de \dollars{1000.40}, dont \dollars{581} proviennent simplement du logement supplémentaire, qui génère aussi un loyer. Capitalisé à \pct{5.5}, l'écart de taux représente $\dollars{419.40} / \num{0.055} = \dollars{7625}$ de valeur, soit environ \pct{0.4} de la valeur au rôle : le changement de catégorie a un effet réel mais modeste, bien inférieur à celui d'un point d'inoccupation ou de dix points de base de taux. L'important pour l'évaluateur est de ne pas l'oublier : un compte de taxes reporté de l'année précédente, ou un immeuble de six logements normalisé au taux des « 1 à 5 logements », surestime le revenu net d'un montant qui, capitalisé, dépasse plusieurs milliers de dollars ; et, à l'inverse, un sextuplex dont un logement serait supprimé pour en faire un cinq logements changerait de catégorie, ce qui entre dans l'analyse de la plus haute et meilleure utilisation. | |
| 10 | +\end{solution} | |
| 11 | + | |
| 12 | +\begin{solution}{ex:33:3}{Effet de taille selon le cas 3} | |
| 13 | +Le taux prédit pour trente-six logements est $R_{36} = \pct{4.567} - 24 \times \qty{2.27}{\pb} = \pct{4.021}$, soit un écart de $-54{,}6$~points de base par rapport au douze logements. Avec un revenu net de \dollars{7496.31} par logement, la valeur par logement passe de $\dollars{7496.31} / \num{0.04567} = \dollars{164141}$ à $\dollars{7496.31} / \num{0.04021} = \dollars{186426}$, soit une prime de taille de \pct{13.6}. La régression du cas~4 prédit, pour un doublement de la taille, une baisse du taux de \pct{2.16} de sa valeur, soit environ 10 à 12~points de base à un taux de 4,6 à \pct{5.5}, et pour le triplement de douze à trente-six logements une baisse de $3^{-0{,}0315} - 1 = -\pct{3.4}$, soit une quinzaine de points de base à Montréal : la prime de taille du cas~4 est trois à quatre fois plus faible que celle extrapolée du cas~3. L'extrapolation du cas~3 est fragile pour trois raisons. D'abord, l'échantillon ne contient aucun immeuble de plus de trente logements : la pente linéaire est estimée sur la tranche de 6 à 30 et rien ne garantit qu'elle se maintienne au-delà ; une relation linéaire en $n$ finirait d'ailleurs par donner des taux absurdes pour les grands immeubles, alors qu'une relation en $\ln n$, comme dans le cas~4, s'aplatit naturellement. Ensuite, la pente du cas~3 est estimée sur quarante observations avec une précision limitée, et la régression du \cref{ch:47} signale que l'effet d'état n'y est pas statistiquement distinguable de zéro. Enfin, l'effet de taille dans le cas~3 est en partie un effet de quartier et de qualité : les grands immeubles de l'échantillon sont surtout situés au Plateau et à Ahuntsic, où les taux sont plus bas pour d'autres raisons. La leçon est que la prime de taille existe, qu'elle est faible et qu'elle doit être estimée dans la tranche de taille du sujet. | |
| 14 | +\end{solution} | |
| 15 | + | |
| 16 | +\begin{solution}{ex:33:4}{Le mauvais marché} | |
| 17 | +Au taux montréalais de \pct{4.415}, la valeur serait $\dollars{366800} / \num{0.04415} = \dollars{8308041}$, contre \dollars{6716534} au taux de régression : l'erreur est de \dollars{1591507}, soit \pct{23.7} de l'indication correcte, ou \dollars{44209} par logement. La décomposition de l'\cref{eq:33:decomposition} part d'un immeuble montréalais de douze logements ayant l'état (2) et l'âge (72 ans) du sujet, dont le taux prédit est de \pct{4.726} ; le passage à trente-six logements multiplie le taux par $3^{-0{,}0315} = \num{0.9659}$, soit $-16{,}1$~points de base, et le passage à Gatineau le multiplie par $e^{0{,}1792} = \num{1.1962}$, soit $+89{,}6$~points de base ; le produit redonne \pct{5.461}. L'effet de région explique donc la totalité de l'erreur, et au-delà : la taille joue dans l'autre sens et réduit l'écart, de sorte que si l'évaluateur avait au moins ajusté le taux montréalais pour la taille, il aurait aggravé son erreur. On remarquera que le taux montréalais de départ (\pct{4.415}, médiane du cas~3) et le taux prédit par la régression du cas~4 pour un immeuble montréalais de douze logements d'état 2 et de 72 ans (\pct{4.726}) diffèrent de 31~points de base : le premier correspond à un immeuble d'état moyen de 1962 dans un échantillon de ventes de 6 à 30 logements, le second à un immeuble en état inférieur et plus vieux dans un autre jeu de données ; cette différence rappelle que les taux ne se transposent pas d'un dossier à l'autre sans contrôle de l'état et de l'âge, même à l'intérieur d'une région. | |
| 18 | +\end{solution} | |
| 19 | + | |
| 20 | +\begin{solution}{ex:33:5}{État locatif et baux} | |
| 21 | +Le revenu brut potentiel est surévalué de $4 \times \dollars{120} \times 12 = \dollars{5760}$. Après la provision pour inoccupation de \pct{3.8} et les frais de gestion de \pct{4} du revenu brut effectif, le revenu net est surévalué de $\dollars{5760} \times (1 - \num{0.038}) \times (1 - \num{0.04}) = \dollars{5319.48}$, et la valeur, au taux de \pct{5.461}, de $\dollars{5319.48} / \num{0.05461} = \dollars{97406}$, soit \pct{1.45} de l'indication de \dollars{6716534} : chaque dollar de loyer mensuel surévalué vaut ici \dollars{203} de valeur, conformément à l'\cref{eq:33:erreur-loyer}. L'ordre de grandeur est modeste pour quatre baux, mais la découverte de quatre écarts sur trente-six change la nature du dossier : l'état locatif remis par le vendeur n'est plus une pièce fiable, et l'évaluateur doit soit vérifier les trente-deux autres baux un à un (ce qu'il aurait dû faire de toute façon pour un immeuble de six logements et plus, en l'absence de formulaire de déclarations du vendeur), soit, s'il ne peut les obtenir, déclarer une hypothèse extraordinaire sur l'exactitude des loyers restants et en chiffrer l'incidence. Le rapport doit mentionner les écarts constatés, la source retenue pour le revenu (les baux, non l'état locatif) et la limite à l'étendue du travail s'il en subsiste une ; la Norme de pratique~2 de l'OEAQ et les CUSPAP l'exigent. L'écart révèle aussi un risque de litige : des loyers supérieurs à ceux des baux signés peuvent correspondre à des augmentations non acceptées, dont le Tribunal pourrait ordonner le remboursement. | |
| 22 | +\end{solution} | |
| 23 | + | |
| 24 | +\begin{solution}{ex:33:6}{Primes régionales et incertitude} | |
| 25 | +Pour un immeuble de vingt-quatre logements, d'état 3, de quarante-cinq ans et sans risque, le vecteur de caractéristiques est $(1,\ 0,\ \ln 2,\ 0,\ 0,\ -0{,}5,\ \text{indicatrice de région})$ et la prédiction, corrigée du facteur de Duan (\num{1.0011}), donne \pct{4.52} à Montréal, \pct{5.74} à Québec, \pct{5.41} à Gatineau, \pct{5.67} à Sherbrooke, \pct{6.34} à Trois-Rivières et \pct{6.01} au Saguenay. Les effets régionaux ponctuels, $e^{\hat\gamma} - 1$, sont de +\pct{26.8}, +\pct{19.6}, +\pct{25.3}, +\pct{40.2} et +\pct{32.9} respectivement, et les intervalles à \pct{95} construits avec les erreurs-types HC1 ($e^{\hat\gamma \pm 1{,}96 s} - 1$) sont approximativement de \pct{21.8} à \pct{32.1} pour Québec, de \pct{14.1} à \pct{25.4} pour Gatineau, de \pct{18.7} à \pct{32.1} pour Sherbrooke, de \pct{32.1} à \pct{48.8} pour Trois-Rivières et de \pct{23.7} à \pct{42.7} pour le Saguenay ($R^2 = \num{0.883}$, $n = 48$). Ces intervalles ont deux lectures. La première est rassurante : même avec six à huit immeubles par région, la prime régionale est estimée à une dizaine de points de pourcentage du taux près, soit quelque 50~points de base, parce que les autres caractéristiques (état, taille, âge, risques) sont contrôlées et que la dispersion résiduelle du jeu synthétique est faible. La seconde est une mise en garde : 50~points de base représentent près de \pct{10} de la valeur à un taux de \pct{5.5}, et dans un marché réel la dispersion résiduelle serait bien plus forte, les ventes vérifiables plus rares, et les caractéristiques des immeubles moins bien mesurées. L'évaluateur qui ne dispose que de quelques ventes locales ne doit donc pas espérer un taux régional « au point de base » ; il doit établir un intervalle, le documenter (ventes vérifiées, publications pour les régions voisines, raisonnement sur les loyers, l'inoccupation et la croissance), choisir un taux central justifié et rapporter la sensibilité de la valeur aux bornes de l'intervalle, comme le fait le \cref{tab:33:sensibilite}. La régression sur un échantillon interrégional, lorsqu'elle est possible, est précisément l'outil qui permet d'emprunter l'information des autres régions pour préciser la sienne, à condition que la forme fonctionnelle soit plausible et déclarée. | |
| 26 | +\end{solution} | |
| 27 | + | |
| 28 | +\begin{solution}{ex:33:7}{Immeuble neuf : coût et revenu} | |
| 29 | +(a) Le coût de construction indexé est $\dollars{6400000} \times \num{1.092} = \dollars{6988800}$ ; avec le terrain, le coût total est de \dollars{8088800}, soit \dollars{337033} par logement. (b) Le revenu brut potentiel est de $24 \times \dollars{1975} \times 12 = \dollars{568800}$ ; le revenu brut effectif, après une inoccupation de \pct{5.6}, de \dollars{536947} ; le revenu net, après \pct{32} de dépenses et de réserve, de \dollars{365124}. Capitalisé à \pct{4.50}, il donne \dollars{8113869} ; à \pct{4.75}, \dollars{7686823}. (c) Le taux global implicite du coût total est de $\dollars{365124} / \dollars{8088800} = \pct{4.51}$, exactement au bas de la fourchette des taux publiés pour la construction neuve. Trois conséquences. Sur la faisabilité : le projet ne dégage une marge de promoteur que si le marché accepte le bas de la fourchette ; au haut de la fourchette, la valeur est inférieure au coût de \dollars{402000}, et c'est le signe d'un marché où les coûts de construction, qui ont augmenté de \pct{9.2} en un an, ont rattrapé les valeurs ; le \cref{ch:41} montre comment ce rapport entre coût et valeur détermine la décision de construire. Sur la valeur marchande : la méthode du coût borne l'indication (un acheteur ne paiera pas durablement plus que le coût de reproduire l'immeuble, et un promoteur ne construira pas pour moins), mais c'est la méthode du revenu qui la fixe, parce que l'acheteur d'un immeuble neuf achète un revenu stabilisé ; l'évaluateur retient une valeur dans la fourchette de \dollars{7.69} à \dollars{8.11} millions et motive la pondération, le coût recevant un poids d'appoint justifié par la nouveauté de l'immeuble et la connaissance précise du coût. Il vérifie en outre que le revenu est stabilisé : une inoccupation de \pct{5.6} est celle du parc récent de l'île, mais un immeuble en cours de mise en location peut en être loin, et l'exclusion de la fixation pendant cinq ans (art.~1955 C.c.Q.) ne vaut que si les baux la prévoient et indiquent le loyer maximal. Sur la valeur assurable : elle est de l'ordre du coût de reconstruction du bâtiment, \dollars{6988800} hors terrain, selon les termes de la police (\cref{eq:33:assurable}), et non de la valeur marchande moins le terrain, qui serait de \dollars{6.59} à \dollars{7.01} millions selon le taux retenu ; ici les deux sont proches parce que l'immeuble est neuf, mais elles divergeraient avec l'âge. | |
| 30 | +\end{solution} | |
added
verification/chapters/ch26.md
+45 −0
@@ -0,0 +1,45 @@ | ||
| 1 | +# Chapitre 26 — Baux et loyers : bilan de rédaction (2026-10-31) | |
| 2 | + | |
| 3 | +## Livrables | |
| 4 | +| Fichier | Contenu | | |
| 5 | +|---|---| | |
| 6 | +| `manuscript/chapters/ch26.tex` | ≈ 12 200 mots de prose ; 9 sections (26.1 bail de logement, 26.2 loyer contractuel / marché / effectif / économique, 26.3 état locatif et indicateurs, 26.4 reconduction–fixation–rotation (déterminants juridiques : cession Loi 31, reprise/éviction, moratoire Loi 65, indemnité 1965), 26.5 services inclus et normalisation (tarif D), 26.6 vente de l'immeuble (1937), hypothèque des loyers, sous-location, cohabitation, 26.7 baux commerciaux (bases), 26.8 exemple intégral cas 3 + cas 2, 26.9 sensibilité) ; encadrés `synthetique`, `quebec` ×2, `pratique`, `erreurs`, `limites`, `synthese` ; 3 définitions, 1 proposition avec démonstration, 1 exemple | | |
| 7 | +| `analysis/python/cases/ch26_etat_locatif.py` | tous les chiffres du chapitre et des solutions (`calculer()`, `exercices()`) : indicateurs d'état locatif, survie/durée espérée, VA de l'écart par logement (formule du ch. 2), loyer économique, tarif D, calendrier des avis, art. 1955, loyer net commercial, cas 2 ; revenus par `traite.cas3`/`traite.cas2`, actualisation par `traite.finance` | | |
| 8 | +| `analysis/python/figures/ch26_figures.py` | 4 figures → `assets/figures/ch26/ch26-fig-{contrat-marche,anciennete,va-ecart,normalisation}.pdf` ; + 1 schéma TikZ (chronologie des avis) dans le `.tex` | | |
| 9 | +| `analysis/python/tests/test_ch26.py` | 12 tests : formule fermée = série, survie et E[n] = 1/ρ, cohérence avec le ch. 2 (102 188 $ ; 525 244 $ ; 19 697 $), identité loyer économique sur V = RNE/R, structure du tarif D, calendrier, valeurs citées (état locatif, VA, sensibilité, économique, normalisation, cas 2), exercices, présence des figures | | |
| 10 | +| `solutions/ch26.tex` | 7 solutions détaillées (ex. 26.1 → 26.7) | | |
| 11 | +| `verification/chapters/ch26-{figures,calculations,claims,registry}.csv`, `references/lib-ch26.bib` | 5 figures, 15 calculs, 30 affirmations, 18 lignes de rattachement de sources ; aucune nouvelle entrée bib (clés existantes seulement) | | |
| 12 | + | |
| 13 | +## Compteurs | |
| 14 | +- Mots (prose, hors macros/tableaux) : ≈ 12 217 — figures : 5 (4 PDF Matplotlib + 1 TikZ) — tableaux : 8 — équations numérotées : 13 — exercices : 7 (niveaux 1, 1, 2, 2, 2, 3, 3) — définitions : 3 — proposition : 1 (avec démonstration). | |
| 15 | + | |
| 16 | +## Contrôles | |
| 17 | +- `tools/compile_chapter.sh 26` → `OK ch26 : 43 pages, 0 references/citations non definies, 0 overfull hbox` (solutions et bibliographie du chapitre incluses). | |
| 18 | +- `python3 -m pytest -q analysis/python/tests/test_ch26.py` → 12 passed ; `test_cas3.py` + `test_cas2_cas4.py` toujours verts (15 passed au total). | |
| 19 | +- `python3 tools/check_manuscript.py --no-log` → 14 problèmes, tous relatifs aux figures des ch. 28, 32 et 33 non inscrites dans `verification/figures.csv` (hors périmètre) ; aucun pour ch26. | |
| 20 | +- Inspection visuelle (`pdftoppm`) : page de chapitre, tableaux 26.1-26.8, figures 26.1-26.5 (chronologie TikZ corrigée : plus de chevauchement de boîtes), encadrés, exercices, solutions, bibliographie. | |
| 21 | +- `\cref` : 43 occurrences, toutes précédées de l'article/préposition ; aucun renvoi fin vers un autre chapitre (les équations du ch. 2 sont restituées avec leurs propres étiquettes `eq:26:*` et déclarées identiques). | |
| 22 | + | |
| 23 | +## Chiffres clés (coïncident avec `traite.cas3.revenus` utilisé par les ch. 2, 27, 29, 30, 47) | |
| 24 | +RBP 165 540 $ ; marché 186 036 $ ; écart 20 496 $ (δ̄ 11,02 %, κ̄ 0,890, moyenne simple des ratios 0,884) ; 8 / 6 / 2 baux à > 5 / 10 / 20 % sous le marché ; concentration 44,2 % (103, 302, 102) ; ancienneté 6,33 / 6,5 / 18 ans ; E[n] = 11,8 / 10,6 / 6,7 ans pour ρ = 8,5 / 9,4 / 15 % ; VA agrégée de l'écart 156 977 / 146 128 / 102 188 $ (525 244 $ sans rotation) ; logement 103 : 29 318 / 27 292 / 19 085 $ ; loyer économique sur le rôle (R 4,415 %) 1 203,59 $/mois vs contrat 1 149,58 vs marché 1 291,92 ; tarif D : 1 073,34 $/an, 89,45 $/mois, loyer nu 1 360,55 $ ; calendrier : avis 30 déc. 2026 → 30 mars 2027, reprise ≤ 30 déc. 2026, nouveau locataire 11 juillet / 1er sept. 2027 ; cas 2 : 41 832 / 49 332 / 7 500 $ (15,2 %). | |
| 25 | + | |
| 26 | +## Données réelles utilisées (citées, non reproduites en tableau) | |
| 27 | +- SCHL oct. 2025 : loyers moyens RMR Montréal et zone Rosemont, inoccupation ; **taux de rotation** lus directement dans les fichiers Excel du dépôt (`data/raw/schl_rml_2025/rmr-montreal-2025-fr.xlsx`, tableaux 1.1.6 et 1.3.4 ; `rmr-quebec-2025-fr.xlsx`, tableau 1.1.6) : Montréal 9,4 % (11,1 % en 2024), 6-19 log. 8,5 %, par taille 14,2 / 9,6 / 9,2 / 6,9 % ; Québec 13,0 % ; Sherbrooke 12,0 % ; Trois-Rivières 10,1 % ; Saguenay 12,6 %. | |
| 28 | +- Hydro-Québec tarif D (1er avril 2026) et Régie D-2026-033 ; TAL 3,1 % / 4,5 % ; C.c.Q. (texte intégral HTML relu le 2026-10-31 pour les art. 1877-1880, 1896, 1904, 1906, 1936-1938, 1941-1953, 1955, 1960-1965, 1970, 1978.1-1978.4). | |
| 29 | + | |
| 30 | +## Points non vérifiés ou à confirmer | |
| 31 | +1. Facture moyenne d'électricité d'un logement : aucune statistique officielle (notes-E point 7) → profil de 12 000 kWh/an et loyer du comparable (1 450 $) déclarés comme hypothèses de travail (CLM-26-025, `non_verifie`) ; taxes de vente exclues ; hausse 2027 appliquée uniformément. | |
| 32 | +2. Appellation « section G » : d'usage, confirmée indirectement par un résumé TAL ; « clause F » non vérifiée et non employée (CLM-26-006, `partiellement_verifie`). | |
| 33 | +3. Jour du déménagement : historique tiré d'une source secondaire (Encyclopédie canadienne, CLM-26-026). | |
| 34 | +4. Sens de « economic rent » dans la littérature d'évaluation : paraphrase des ouvrages de référence, non recontrôlée page à page (CLM-26-027) ; le chapitre déclare sa propre convention (loyer de faisabilité). | |
| 35 | +5. Pourcentage de base TAL 2027 non publié ; moratoire Loi 65 à revérifier avant le 6 juin 2027. | |
| 36 | +6. Dates du calendrier : décompte en mois civils (30 déc. / 30 mars) ; le TAL présente usuellement « 1er janvier – 31 mars » — différence signalée dans le texte et la solution 26.1. | |
| 37 | +7. Aucun loyer commercial de marché avancé (aucune source publique) ; la section 26.7 reste qualitative + un exercice avec données d'énoncé. | |
| 38 | + | |
| 39 | +## Remarques pour l'harmonisation / la bibliothèque | |
| 40 | +- La formule fermée VA = Δ₁/(r − g + ρ(1+g)) est codée dans `ch26_etat_locatif.py` (`va_ecart`) et probablement aussi dans `ch02_droits.py` ; si elle sert aussi aux ch. 27, 30, 34, 40, la déplacer dans `traite/finance.py` (p. ex. `va_ecart_rotation`) avec test, sans changer les résultats. | |
| 41 | +- `ch47.tex` §47.4 et `ch02.tex` reproduisent déjà l'état locatif du cas 3 ; le tableau 26.3 est volontairement orienté ancienneté/écart/stationnement (colonne échéance retirée, mentionnée en source) pour limiter la redondance. | |
| 42 | +- Le `\cent` de siunitx n'est pas déclaré dans `styles/traite-qc.sty` ; le chapitre écrit `\num{46.154}~¢`. À déclarer (`\DeclareSIUnit{\cent}{¢}`) si d'autres chapitres en ont besoin (ch. 28, 44). | |
| 43 | +- Les tableaux `S` : les lignes « Total » exigent des `table-format` dimensionnés sur le total, sinon overfull de 4 pt par cellule — à noter dans CONVENTIONS §7. | |
| 44 | +- `tools/check_manuscript.py` : les figures des ch. 28, 32, 33 ne sont pas dans `verification/figures.csv` (fusion des CSV par chapitre à faire par l'orchestrateur). | |
| 45 | +- Ch. 34 (stub) devra reprendre : six critères et formule 3.1 détaillés, outil de calcul, scénarios de trajectoire ; ch. 27 : rotation SCHL par taille d'immeuble (8,5 %) déjà citée ici ; ch. 32 : reprise art. 1957-1958 pour l'acheteur occupant (renvoi posé). | |
added
verification/chapters/ch32-claims.csv
+27 −0
@@ -0,0 +1,27 @@ | ||
| 1 | +id,chapitre,affirmation,source_id,verification,date,statut,notes | |
| 2 | +CLM-32-001,32,"Recensement 2021 : 269 415 ménages privés du Québec occupent un appartement ou plain-pied dans un duplex (7,2 % de 3 749 035) ; appartements < 5 étages 1 242 980 ; le Recensement classe les logements, non les immeubles",SRC-E-022;SRC-C-051,sources/notes-E.md §ch. 4 (tableau 98-10-0240-01),2026-10-31,verifie,"Le tableau 98-10-0041-01 (SRC-C-050) donne 271 240 ; écart signalé en note de bas de page" | |
| 3 | +CLM-32-002,32,"Taux de propriété Québec 59,9 % vs Canada 66,5 % ; locataires RMR Montréal 45,6 %, RMR Québec 41,7 % (2021)",SRC-E-022;SRC-E-023;SRC-E-024,sources/notes-E.md §ch. 4,2026-10-31,verifie,"Parts de locataires calculées par l'auteur (calc.) à partir des effectifs" | |
| 4 | +CLM-32-003,32,"APCIQ T3 2026, plex 2-5 logements : province 699 000 $ (+8 %), RMR Montréal 860 500 $ (+3 %), île 900 000 $, RMR Québec 600 000 $ (+17 %), agglomération 618 500 $, RMR Gatineau 617 500 $, Sherbrooke 544 500 $, Trois-Rivières 420 000 $, Saguenay 373 500 $ ; unifamiliale RMR Québec 463 500 $, RMR Montréal 645 500 $",SRC-E-001;SRC-C-053,sources/notes-E.md §ch. 4 et notes-C §4.8,2026-10-31,verifie,"Ventes par courtier (Centris) ; attribution APCIQ obligatoire ; aucun tableau reproduit (figure 32.1 = barres de chiffres cités)" | |
| 5 | +CLM-32-004,32,"Secteur La Cité–Basse-Ville et Limoilou T3 2026 : plex 647 500 $ (+13 %), 12 mois 613 500 $ ; 107 ventes résidentielles dans le secteur",SRC-E-003,sources/notes-E.md §ch. 15 et §ch. 46,2026-10-31,verifie, | |
| 6 | +CLM-32-005,32,"JLR août 2026 : plex RMR Québec 590 000 $ (+17 %)",SRC-E-066,sources/notes-E.md §ch. 46,2026-10-31,partiellement_verifie,"Chiffre relevé dans les notes E ; le rapport JLR d'août 2026 est inscrit au registre pour la RMR d'Ottawa-Gatineau — à confirmer dans la fiche RMR de Québec du même rapport" | |
| 7 | +CLM-32-006,32,"Définition OEAQ de la valeur marchande (prix sincère le plus probable, marché libre et ouvert, parties bien informées) ; règle 2.3 éléments 8 et 10 (raisonnement, rejet d'une méthode)",SRC-C-001,sources/notes-C.md §1.1 et §2.1,2026-10-31,verifie,"Citation ≤ 25 mots" | |
| 8 | +CLM-32-007,32,"C.c.Q. : art. 1937 (aliénation ne résilie pas le bail), 1941 (reconduction), 1942 (avis 3 à 6 mois), 1945 et 1947 (refus, fixation), 1896 et 1950 (loyer le plus bas des 12 mois, fixation par le nouveau locataire)",SRC-A-001,sources/notes-A.md §4,2026-10-31,verifie,"Texte refondu à jour au 15 octobre 2026" | |
| 9 | +CLM-32-008,32,"Fixation des loyers depuis le 1er janvier 2026 (D. 1455-2025) : six critères (art. 3), pourcentage de base = moyenne de 3 ans de l'IPC (art. 3.1), 5 % des immobilisations ; pourcentages de base 3,1 % (2026) et 4,5 % (2025)",SRC-A-003;SRC-A-004;SRC-A-005,sources/notes-A.md §6.2,2026-10-31,verifie, | |
| 10 | +CLM-32-009,32,"La valeur locative de marché n'est pas un critère de fixation du loyer",SRC-A-001;SRC-A-003,"sources/notes-A.md §6.2 (critères limitatifs de l'art. 3) et §6.3 (résumé TAL Société de financement alouette inc. c. A., 2022)",2026-10-31,partiellement_verifie,"Résumé officiel du TAL sans référence neutre ; la liste limitative des critères du règlement suffit à l'affirmation" | |
| 11 | +CLM-32-010,32,"Reprise de logement : art. 1957 (personne physique ; ascendants/descendants au 1er degré ; parent ou allié dont il est le principal soutien ; ex-conjoint) ; art. 1958 (indivision : seulement si l'unique autre propriétaire est le conjoint) ; art. 1959.1 (65 ans ou plus, 10 ans d'occupation, revenu ≤ 125 % du seuil HLM, protection contre reprise et éviction) ; art. 1968 (bonne foi, dommages punitifs) ; art. 1959 (éviction) ; art. 1965 (indemnité 3 à 24 mois, Loi 31)",SRC-A-001;SRC-A-040,sources/notes-A.md §5,2026-10-31,verifie,"Seuils 65 ans / 125 % introduits par la Loi 65 (L.Q. 2024, c. 23)" | |
| 12 | +CLM-32-011,32,"Moratoire de la Loi 65 : aucune éviction aux fins de l'art. 1959 avant le 6 juin 2027 ; ne vise pas la reprise de l'art. 1957 ; fin anticipée possible si le taux d'inoccupation SCHL atteint 3 % (art. 11) ; aucun avis repéré au 31 octobre 2026",SRC-A-040,sources/notes-A.md §5 (L.Q. 2024, c. 23, art. 1, 2, 8, 11),2026-10-31,verifie,"À revérifier au 6 juin 2027" | |
| 13 | +CLM-32-012,32,"Délai d'avis de reprise (art. 1960 C.c.Q.)",SRC-A-001,"non relu dans les notes ; cité sans détail dans le texte et signalé dans limites",2026-10-31,non_verifie,"À vérifier : six mois avant la fin d'un bail de plus de six mois (de mémoire, non confirmé)" | |
| 14 | +CLM-32-013,32,"Vente d'un immeuble résidentiel de moins de 5 logements : contrat de courtage résidentiel sur formulaire obligatoire (LCI art. 23) ; formulaire DV obligatoire depuis juillet 2012 pour la vente par une personne physique, section D2.6 (loyers, avis, dossiers TAL) ; la DV (V24 06/2022) mentionne encore 70 ans alors que l'art. 1959.1 vise 65 ans",SRC-A-024;SRC-A-026;SRC-A-028,sources/notes-A.md §2.4,2026-10-31,verifie,"Version du formulaire postérieure à 06/2022 non consultée (site OACIQ protégé)" | |
| 15 | +CLM-32-014,32,"Finances Canada (en vigueur le 15 décembre 2024) : plafond du prix assurable 1,5 M$ ; mise de fonds 5 % jusqu'à 500 000 $ et 10 % de 500 000 $ à 1,5 M$ ; amortissement 30 ans pour les premiers acheteurs et les constructions neuves",SRC-C-038,sources/notes-C.md §4.3,2026-10-31,verifie,"Amortissement de 25 ans par défaut : règle antérieure, non relue (pratique courante)" | |
| 16 | +CLM-32-015,32,"BSIF : taux admissible minimal des prêts non assurés = max(contrat + 2 %, 5,25 %), revu au moins une fois l'an ; limites LTI (4,5 × le revenu, propres à chaque institution, depuis l'exercice 2025) ; B-20 principe 4 (évaluations réalistes, étayées, défendables, évaluateurs indépendants)",SRC-C-035;SRC-C-036;SRC-C-034,sources/notes-C.md §4.2,2026-10-31,verifie,"Le TAM est appliqué ‘par analogie’ au prêt assuré dans l'exemple ; la règle fédérale propre aux prêts assurés n'a pas été vérifiée" | |
| 17 | +CLM-32-016,32,"Loi sur l'intérêt, art. 6 : taux hypothécaire exprimé calculé annuellement ou semestriellement, non d'avance (composition semestrielle)",SRC-O-001,references/library.bib (loiInteret) ; annexe des conventions de calcul,2026-10-31,verifie, | |
| 18 | +CLM-32-017,32,"Taux des fonds avancés (BdC, août 2026) : assuré fixe ≥ 5 ans 4,12 %, non assuré 4,58 % ; taux conventionnel 5 ans affiché 6,19 % (28 oct. 2026) ; obligation GdC 5 ans 3,58 % (29 oct. 2026)",SRC-E-012;SRC-E-011;SRC-E-010,sources/notes-C.md §4.1 ; data/raw/bdc_valet,2026-10-31,verifie, | |
| 19 | +CLM-32-018,32,"Part des loyers des logements loués admise par les prêteurs dans la qualification de l'emprunteur (ajout au revenu ou compensation du paiement)",—,"aucun texte public vérifié au dépôt",2026-10-31,non_verifie,"Le chapitre n'avance aucun pourcentage ; signalé dans limites et dans le tableau 32.2" | |
| 20 | +CLM-32-019,32,"CBRE T3 2026 : multirésidentiel basse hauteur de catégorie B à Québec 5,00-6,00 % (opinion d'industrie, immeubles plus grands que les plex)",SRC-E-045,sources/notes-E.md §ch. 29,2026-10-31,verifie,"Utilisé seulement comme R* illustratif de la décomposition prix = investissement + rattrapage + prime" | |
| 21 | +CLM-32-020,32,"SCHL oct. 2025 : RMR Québec inoccupation 2,4 % (0,9 % en 2024), loyer 2 ch. 1 277 $, tous 1 227 $ ; zone Basse-Ville 1 139 $ (+5,3 %), inoccupation 2,7 % (page Ville de Québec reprenant la SCHL) ; l'enquête couvre les immeubles de 3 logements et plus",SRC-E-007;SRC-E-008,sources/notes-E.md §ch. 4, 15 et 46 ; notes-C §4.5,2026-10-31,partiellement_verifie,"Chiffres RMR officiels ; chiffres de zone repris d'une page municipale [P] ; appartenance exacte de Limoilou à la zone Basse-Ville à confirmer" | |
| 22 | +CLM-32-021,32,"Ville de Québec 2026 : taxe foncière 0,7464 $/100 $ (1-5 logements), 386 $/logement aqueduc-égout, 195 $/logement matières résiduelles → 5 438 $ sur une valeur au rôle de 495 000 $ (calc.)",SRC-B-025;SRC-E-027,sources/notes-E.md §ch. 28 ; calcul 495 000 × 0,7464 % + 3 × 581,2026-10-31,verifie,"Le dossier synthétique conserve 5 900 $ ; normalisation poste par poste au ch. 46" | |
| 23 | +CLM-32-022,32,"Rôle d'évaluation 2025-2027 de Québec : date de référence 1er juillet 2023, en vigueur le 1er janvier 2025 ; variation moyenne +23,5 % en trois ans → 7,29 %/an composé (calc.)",SRC-E-059,sources/notes-E.md §ch. 46 (Noovo 2024-09-05 [P] ; Ville de Québec [O] pour les dates),2026-10-31,partiellement_verifie,"La variation moyenne des plex au rôle n'est pas publiée ; le taux annuel sert uniquement à indexer des prix synthétiques" | |
| 24 | +CLM-32-023,32,"Loi sur le TAL, art. 51 à 54.13 : conversion en copropriété divise soumise à l'autorisation du Tribunal, interdite dans l'agglomération de Montréal sauf dérogation, droit de préemption du locataire",SRC-A-002,sources/notes-A.md §6.1,2026-10-31,verifie, | |
| 25 | +CLM-32-024,32,"Aucune étude arbitrée récente n'isole l'effet du régime québécois de fixation des loyers sur le prix des plex ; références canadiennes disponibles : Smith (1988, Ontario), Fallis & Smith (1985, Toronto)",—,sources/notes-D.md (entrées non vérifiées : « Études arbitrées sur le contrôle des loyers au Québec »),2026-10-31,verifie,"Affirmation d'absence, fondée sur la recherche documentaire du lot D" | |
| 26 | +CLM-32-025,32,"Références scientifiques citées : Isakson 1986, Vandell 1991, Fisher & Martin 2007, Shilling–Sirmans–Dombrow 1991, Kestens–Thériault–Des Rosiers 2006, Smith 1988, Diamond–McQuade–Qian 2019, Kholodilin 2024, Arnott 1995, Poterba 1984, Himmelberg–Mayer–Sinai 2005, Geltner et al. 2014, Appraisal Institute 2026, éd. canadienne 2010",SRC-D-001;SRC-D-003;SRC-D-009,references/library.bib (clés existantes, lot D),2026-10-31,verifie,"Aucune nouvelle entrée bibliographique ; lib-ch32.bib vide de nouvelles clés" | |
| 27 | +CLM-32-026,32,"Le jeu synthétique du cas 2 est normalisé à la médiane APCIQ Limoilou à la date de référence du rôle (2024-07-01) puis indexé ; les prix fictifs de 2026 excèdent la médiane T3 2026 publiée",—,analysis/python/traite/synth.py (cas2_quebec : ref_mois = 2024-07-01) ; data/synthetic/README.md,2026-10-31,verifie,"Déclaré dans limites ; point à signaler à l'harmonisation (ch. 26, 27, 46)" | |
modified
verification/claims.csv
+26 −0
@@ -716,3 +716,29 @@ CLM-26-027,26,« Economic rent » comme synonyme désuet de loyer de marché dan | ||
| 716 | 716 | CLM-26-028,26,"Régimes de contrôle des loyers de 2e génération (Arnott 1995) ; dispersion croissante des loyers et mauvaise allocation (Kholodilin 2024 ; Glaeser-Luttmer 2003) ; Sims 2007, Autor-Palmer-Pathak 2014, Diamond-McQuade-Qian 2019 ; Smith 1988, Fallis-Smith 1985",,references/library.bib (DOI vérifiés par le lot D) ; résumés qualitatifs,2026-10-31,verifie,Aucun chiffre repris de ces articles |
| 717 | 717 | CLM-26-029,26,"LFM art. 45.1 : valeur réelle au rôle établie comme si le vendeur détenait les droits du locataire (mod. 2025, c. 33)",SRC-B-001,repris du ch. 2 (encadré Québec) ; notes-B,2026-10-31,verifie,Cité par renvoi au ch. 2 et 9 |
| 718 | 718 | CLM-26-030,26,"Formules : δ̄ ; π(s) ; loyer effectif ; loyer économique (chaîne RNE*→RBE*→RBP*) ; S(t) = (1−ρ)^t, E[n] = 1/ρ ; VA = Δ₁/(r−g+ρ(1+g)) ; ḡ = (Lmax/L0)^(1/5) − 1 ; normalisation additive ; tarif D ; indemnité ; loyer net",,dérivations dans ch26.tex ; identités testées dans test_ch26.py,2026-10-31,verifie,Formule VA identique à l'éq. rotation-va du ch. 2 (même convention : premier écart certain) |
| 719 | +CLM-32-001,32,"Recensement 2021 : 269 415 ménages privés du Québec occupent un appartement ou plain-pied dans un duplex (7,2 % de 3 749 035) ; appartements < 5 étages 1 242 980 ; le Recensement classe les logements, non les immeubles",SRC-E-022;SRC-C-051,sources/notes-E.md §ch. 4 (tableau 98-10-0240-01),2026-10-31,verifie,Le tableau 98-10-0041-01 (SRC-C-050) donne 271 240 ; écart signalé en note de bas de page | |
| 720 | +CLM-32-002,32,"Taux de propriété Québec 59,9 % vs Canada 66,5 % ; locataires RMR Montréal 45,6 %, RMR Québec 41,7 % (2021)",SRC-E-022;SRC-E-023;SRC-E-024,sources/notes-E.md §ch. 4,2026-10-31,verifie,Parts de locataires calculées par l'auteur (calc.) à partir des effectifs | |
| 721 | +CLM-32-003,32,"APCIQ T3 2026, plex 2-5 logements : province 699 000 $ (+8 %), RMR Montréal 860 500 $ (+3 %), île 900 000 $, RMR Québec 600 000 $ (+17 %), agglomération 618 500 $, RMR Gatineau 617 500 $, Sherbrooke 544 500 $, Trois-Rivières 420 000 $, Saguenay 373 500 $ ; unifamiliale RMR Québec 463 500 $, RMR Montréal 645 500 $",SRC-E-001;SRC-C-053,sources/notes-E.md §ch. 4 et notes-C §4.8,2026-10-31,verifie,Ventes par courtier (Centris) ; attribution APCIQ obligatoire ; aucun tableau reproduit (figure 32.1 = barres de chiffres cités) | |
| 722 | +CLM-32-004,32,"Secteur La Cité–Basse-Ville et Limoilou T3 2026 : plex 647 500 $ (+13 %), 12 mois 613 500 $ ; 107 ventes résidentielles dans le secteur",SRC-E-003,sources/notes-E.md §ch. 15 et §ch. 46,2026-10-31,verifie, | |
| 723 | +CLM-32-005,32,JLR août 2026 : plex RMR Québec 590 000 $ (+17 %),SRC-E-066,sources/notes-E.md §ch. 46,2026-10-31,partiellement_verifie,Chiffre relevé dans les notes E ; le rapport JLR d'août 2026 est inscrit au registre pour la RMR d'Ottawa-Gatineau — à confirmer dans la fiche RMR de Québec du même rapport | |
| 724 | +CLM-32-006,32,"Définition OEAQ de la valeur marchande (prix sincère le plus probable, marché libre et ouvert, parties bien informées) ; règle 2.3 éléments 8 et 10 (raisonnement, rejet d'une méthode)",SRC-C-001,sources/notes-C.md §1.1 et §2.1,2026-10-31,verifie,Citation ≤ 25 mots | |
| 725 | +CLM-32-007,32,"C.c.Q. : art. 1937 (aliénation ne résilie pas le bail), 1941 (reconduction), 1942 (avis 3 à 6 mois), 1945 et 1947 (refus, fixation), 1896 et 1950 (loyer le plus bas des 12 mois, fixation par le nouveau locataire)",SRC-A-001,sources/notes-A.md §4,2026-10-31,verifie,Texte refondu à jour au 15 octobre 2026 | |
| 726 | +CLM-32-008,32,"Fixation des loyers depuis le 1er janvier 2026 (D. 1455-2025) : six critères (art. 3), pourcentage de base = moyenne de 3 ans de l'IPC (art. 3.1), 5 % des immobilisations ; pourcentages de base 3,1 % (2026) et 4,5 % (2025)",SRC-A-003;SRC-A-004;SRC-A-005,sources/notes-A.md §6.2,2026-10-31,verifie, | |
| 727 | +CLM-32-009,32,La valeur locative de marché n'est pas un critère de fixation du loyer,SRC-A-001;SRC-A-003,"sources/notes-A.md §6.2 (critères limitatifs de l'art. 3) et §6.3 (résumé TAL Société de financement alouette inc. c. A., 2022)",2026-10-31,partiellement_verifie,Résumé officiel du TAL sans référence neutre ; la liste limitative des critères du règlement suffit à l'affirmation | |
| 728 | +CLM-32-010,32,"Reprise de logement : art. 1957 (personne physique ; ascendants/descendants au 1er degré ; parent ou allié dont il est le principal soutien ; ex-conjoint) ; art. 1958 (indivision : seulement si l'unique autre propriétaire est le conjoint) ; art. 1959.1 (65 ans ou plus, 10 ans d'occupation, revenu ≤ 125 % du seuil HLM, protection contre reprise et éviction) ; art. 1968 (bonne foi, dommages punitifs) ; art. 1959 (éviction) ; art. 1965 (indemnité 3 à 24 mois, Loi 31)",SRC-A-001;SRC-A-040,sources/notes-A.md §5,2026-10-31,verifie,"Seuils 65 ans / 125 % introduits par la Loi 65 (L.Q. 2024, c. 23)" | |
| 729 | +CLM-32-011,32,Moratoire de la Loi 65 : aucune éviction aux fins de l'art. 1959 avant le 6 juin 2027 ; ne vise pas la reprise de l'art. 1957 ; fin anticipée possible si le taux d'inoccupation SCHL atteint 3 % (art. 11) ; aucun avis repéré au 31 octobre 2026,SRC-A-040,sources/notes-A.md §5 (L.Q. 2024,c. 23,art. 1,2 | |
| 730 | +CLM-32-012,32,Délai d'avis de reprise (art. 1960 C.c.Q.),SRC-A-001,non relu dans les notes ; cité sans détail dans le texte et signalé dans limites,2026-10-31,non_verifie,"À vérifier : six mois avant la fin d'un bail de plus de six mois (de mémoire, non confirmé)" | |
| 731 | +CLM-32-013,32,"Vente d'un immeuble résidentiel de moins de 5 logements : contrat de courtage résidentiel sur formulaire obligatoire (LCI art. 23) ; formulaire DV obligatoire depuis juillet 2012 pour la vente par une personne physique, section D2.6 (loyers, avis, dossiers TAL) ; la DV (V24 06/2022) mentionne encore 70 ans alors que l'art. 1959.1 vise 65 ans",SRC-A-024;SRC-A-026;SRC-A-028,sources/notes-A.md §2.4,2026-10-31,verifie,Version du formulaire postérieure à 06/2022 non consultée (site OACIQ protégé) | |
| 732 | +CLM-32-014,32,"Finances Canada (en vigueur le 15 décembre 2024) : plafond du prix assurable 1,5 M$ ; mise de fonds 5 % jusqu'à 500 000 $ et 10 % de 500 000 $ à 1,5 M$ ; amortissement 30 ans pour les premiers acheteurs et les constructions neuves",SRC-C-038,sources/notes-C.md §4.3,2026-10-31,verifie,"Amortissement de 25 ans par défaut : règle antérieure, non relue (pratique courante)" | |
| 733 | +CLM-32-015,32,"BSIF : taux admissible minimal des prêts non assurés = max(contrat + 2 %, 5,25 %), revu au moins une fois l'an ; limites LTI (4,5 × le revenu, propres à chaque institution, depuis l'exercice 2025) ; B-20 principe 4 (évaluations réalistes, étayées, défendables, évaluateurs indépendants)",SRC-C-035;SRC-C-036;SRC-C-034,sources/notes-C.md §4.2,2026-10-31,verifie,Le TAM est appliqué ‘par analogie’ au prêt assuré dans l'exemple ; la règle fédérale propre aux prêts assurés n'a pas été vérifiée | |
| 734 | +CLM-32-016,32,"Loi sur l'intérêt, art. 6 : taux hypothécaire exprimé calculé annuellement ou semestriellement, non d'avance (composition semestrielle)",SRC-O-001,references/library.bib (loiInteret) ; annexe des conventions de calcul,2026-10-31,verifie, | |
| 735 | +CLM-32-017,32,"Taux des fonds avancés (BdC, août 2026) : assuré fixe ≥ 5 ans 4,12 %, non assuré 4,58 % ; taux conventionnel 5 ans affiché 6,19 % (28 oct. 2026) ; obligation GdC 5 ans 3,58 % (29 oct. 2026)",SRC-E-012;SRC-E-011;SRC-E-010,sources/notes-C.md §4.1 ; data/raw/bdc_valet,2026-10-31,verifie, | |
| 736 | +CLM-32-018,32,Part des loyers des logements loués admise par les prêteurs dans la qualification de l'emprunteur (ajout au revenu ou compensation du paiement),—,aucun texte public vérifié au dépôt,2026-10-31,non_verifie,Le chapitre n'avance aucun pourcentage ; signalé dans limites et dans le tableau 32.2 | |
| 737 | +CLM-32-019,32,"CBRE T3 2026 : multirésidentiel basse hauteur de catégorie B à Québec 5,00-6,00 % (opinion d'industrie, immeubles plus grands que les plex)",SRC-E-045,sources/notes-E.md §ch. 29,2026-10-31,verifie,Utilisé seulement comme R* illustratif de la décomposition prix = investissement + rattrapage + prime | |
| 738 | +CLM-32-020,32,"SCHL oct. 2025 : RMR Québec inoccupation 2,4 % (0,9 % en 2024), loyer 2 ch. 1 277 $, tous 1 227 $ ; zone Basse-Ville 1 139 $ (+5,3 %), inoccupation 2,7 % (page Ville de Québec reprenant la SCHL) ; l'enquête couvre les immeubles de 3 logements et plus",SRC-E-007;SRC-E-008,sources/notes-E.md §ch. 4,15 et 46 ; notes-C §4.5,2026-10-31,partiellement_verifie | |
| 739 | +CLM-32-021,32,"Ville de Québec 2026 : taxe foncière 0,7464 $/100 $ (1-5 logements), 386 $/logement aqueduc-égout, 195 $/logement matières résiduelles → 5 438 $ sur une valeur au rôle de 495 000 $ (calc.)",SRC-B-025;SRC-E-027,sources/notes-E.md §ch. 28 ; calcul 495 000 × 0,7464 % + 3 × 581,2026-10-31,verifie | |
| 740 | +CLM-32-022,32,"Rôle d'évaluation 2025-2027 de Québec : date de référence 1er juillet 2023, en vigueur le 1er janvier 2025 ; variation moyenne +23,5 % en trois ans → 7,29 %/an composé (calc.)",SRC-E-059,sources/notes-E.md §ch. 46 (Noovo 2024-09-05 [P] ; Ville de Québec [O] pour les dates),2026-10-31,partiellement_verifie,La variation moyenne des plex au rôle n'est pas publiée ; le taux annuel sert uniquement à indexer des prix synthétiques | |
| 741 | +CLM-32-023,32,"Loi sur le TAL, art. 51 à 54.13 : conversion en copropriété divise soumise à l'autorisation du Tribunal, interdite dans l'agglomération de Montréal sauf dérogation, droit de préemption du locataire",SRC-A-002,sources/notes-A.md §6.1,2026-10-31,verifie, | |
| 742 | +CLM-32-024,32,"Aucune étude arbitrée récente n'isole l'effet du régime québécois de fixation des loyers sur le prix des plex ; références canadiennes disponibles : Smith (1988, Ontario), Fallis & Smith (1985, Toronto)",—,sources/notes-D.md (entrées non vérifiées : « Études arbitrées sur le contrôle des loyers au Québec »),2026-10-31,verifie,"Affirmation d'absence, fondée sur la recherche documentaire du lot D" | |
| 743 | +CLM-32-025,32,"Références scientifiques citées : Isakson 1986, Vandell 1991, Fisher & Martin 2007, Shilling–Sirmans–Dombrow 1991, Kestens–Thériault–Des Rosiers 2006, Smith 1988, Diamond–McQuade–Qian 2019, Kholodilin 2024, Arnott 1995, Poterba 1984, Himmelberg–Mayer–Sinai 2005, Geltner et al. 2014, Appraisal Institute 2026, éd. canadienne 2010",SRC-D-001;SRC-D-003;SRC-D-009,references/library.bib (clés existantes,lot D),2026-10-31,verifie | |
| 744 | +CLM-32-026,32,Le jeu synthétique du cas 2 est normalisé à la médiane APCIQ Limoilou à la date de référence du rôle (2024-07-01) puis indexé ; les prix fictifs de 2026 excèdent la médiane T3 2026 publiée,—,analysis/python/traite/synth.py (cas2_quebec : ref_mois = 2024-07-01) ; data/synthetic/README.md,2026-10-31,verifie,"Déclaré dans limites ; point à signaler à l'harmonisation (ch. 26, 27, 46)" | |
| 719 | 745 | |