SPB Git
1.5 KB · 32 lines python
1#!/usr/bin/env python32"""Figure ch13 — biais relatif de l'ajustement de conditions du marché lorsqu'une vente est datée à l'acte notarié plutôt qu'à la3promesse d'achat : b(g, δ) = (1+g)^(δ/12) − 1, pour plusieurs croissances annuelles g et un délai δ de 0 à 6 mois.4Calcul analytique (aucune donnée) ; la plage de g est illustrative (ordres de grandeur des variations annuelles APCIQ/Teranet 2024-2026).5Sortie : assets/figures/ch13/ch13-fig-biais-datation.pdf"""6import sys, pathlib7ROOT = pathlib.Path(__file__).resolve().parents[3]8sys.path.insert(0, str(ROOT / "analysis/python"))9import numpy as np, matplotlib.pyplot as plt10from traite.style import setup, palette, savefig, LARGEUR111213def main():14    setup()15    d = np.linspace(0, 6, 121)16    fig, ax = plt.subplots(figsize=(LARGEUR, 2.7))17    for i, g in enumerate((-3, 3, 6, 10, 15)):18        b = ((1 + g / 100) ** (d / 12) - 1) * 10019        ax.plot(d, b, color=palette.cat[i], lw=1.6)20        ax.annotate(f"g = {g:+d} %/an".replace("+", "+").replace("-", "−"), xy=(6, b[-1]), xytext=(4, 0), textcoords="offset points", fontsize=7.5, va="center", color=palette.ink)21    ax.axhline(0, color=palette.ink2, lw=0.6)22    for m in (1, 2, 3):23        ax.axvline(m, color=palette.grid, lw=0.8, ls=":")24    ax.set_xlim(0, 7.6); ax.set_xlabel("Délai entre la promesse d'achat et l'acte, δ (mois)")25    ax.set_ylabel("Biais sur le prix daté à l'acte (%)")26    ax.set_xticks([0, 1, 2, 3, 4, 5, 6])27    out = savefig(fig, "ch13/ch13-fig-biais-datation.pdf"); print("OK", out)282930if __name__ == "__main__":31    main()32
Files · 2fa255cfbe38460cb046bb32c81cf4f586081ba2
Menu

Theme