SPB Git
2.3 KB · 35 lines python
1#!/usr/bin/env python32"""Figure ch06 — emphytéose sur un immeuble locatif dont le RNE est celui du cas 3 (DONNÉES SYNTHÉTIQUES, hypothèses déclarées) :3décomposition de la valeur de la pleine propriété entre le droit de l'emphytéote et le droit du propriétaire (rentes + reprise)4selon la durée restante, avec les seuils de 40 ans (D-15.1, art. 1) et de 50 ans (art. 1040 C.c.Q.).5Sortie : assets/figures/ch06/ch06-fig-emphyteose.pdf"""6import sys, pathlib7ROOT = pathlib.Path(__file__).resolve().parents[3]8sys.path.insert(0, str(ROOT / "analysis/python")); sys.path.insert(0, str(ROOT / "analysis/python/cases"))9import numpy as np, matplotlib.pyplot as plt10from traite.style import setup, palette, savefig, LARGEUR, fmt_dollars11import ch06_demembrements as cas121314def main():15    setup()16    noi = cas.rne_cas3()17    n = np.arange(1, 101)18    res = [cas.emphyteose(noi, cas.RENTE_EMPH, int(k)) for k in n]19    emph = np.array([r["V_emph"] for r in res]) / 1e6; rentes = np.array([r["V_rentes"] for r in res]) / 1e620    reprise = np.array([r["V_reprise"] for r in res]) / 1e6; V = res[0]["V_pleine"] / 1e621    fig, ax = plt.subplots(figsize=(LARGEUR, 3.5))22    ax.stackplot(n, emph, rentes, reprise, colors=[palette.cat[0], palette.cat[1], palette.cat[2]], alpha=0.85,23                 labels=["droit de l'emphytéote (RNE − rente)", "propriétaire : rentes actualisées", "propriétaire : reprise de l'immeuble au terme"])24    ax.axhline(V, color=palette.ink, lw=0.8); ax.text(99, V + 0.03, f"pleine propriété {fmt_dollars(V*1e6)}", ha="right", va="bottom", fontsize=7.5)25    ax.axvline(40, color=palette.ink2, ls=":", lw=1); ax.text(39, 0.42, "40 ans : bail assimilé\nà un transfert (D-15.1, art. 1)", fontsize=7, color=palette.ink, ha="right", va="bottom")26    ax.axvline(50, color=palette.ink2, ls=":", lw=1); ax.text(51, 0.12, "50 ans : copropriété divise\npossible (art. 1040 C.c.Q.)", fontsize=7, color=palette.ink, ha="left", va="bottom")27    ax.set_xlabel("Durée restante de l'emphytéose (années)"); ax.set_ylabel("Valeur (millions de $)"); ax.set_xlim(1, 100); ax.set_ylim(0, V * 1.12)28    ax.legend(loc="upper center", fontsize=7.5, ncol=3, bbox_to_anchor=(0.5, -0.2)); ax.grid(axis="x", visible=False)29    fig.tight_layout()30    out = savefig(fig, "ch06/ch06-fig-emphyteose.pdf"); print("OK", out)313233if __name__ == "__main__":34    main()35
Files · 960e587174484ddf8cb3579ab544c4d47de3ba3c
Menu

Theme