Assets

À l’aide de plusieurs classes et fonctions, ce module gère tous les actifs: régimes de retraite, épargne individuelle (enregistrée et non enregistrée), logement, entreprises. Il utilise les cotisations et l’espace entrés comme inputs ainsi que les rendements générés dans le module Macro. Il met à jour toutes les variables reliées aux actifs à mesure que la simulation progresse.

class CPR.assets.ContributionRoom(init_room_rrsp, init_room_tfsa)

Cette classe gère l’espace de cotisation aux CELI et aux REER.

Tous les montants sont nominaux.

Paramètres
  • init_room_rrsp (float) – espace de cotisation REER initialement disponible

  • init_room_tfsa (float) – espace de cotisation CELI initialement disponible

compute_contributions(p, year, common, prices)

Fonction qui met à jour l’espace de cotisation pour les REER et les CELI, en utilisant les 2 autres fonctions ci-dessous (qui elles-mêmes appellent les autres fonctions de la classe).

Paramètres
  • p (Person) – instance de la classe Person

  • year (int) – année

  • common (Common) – instance de la classe Common

  • prices (Prices) – instance de la classe Prices

update_rrsp_room(p, year, common)

Fonction qui met à jour l’espace de cotisation REER.

Paramètres
  • p (Person) – instance de la classe Person

  • year (int) – année

  • common (Common) – instance de la classe Common

update_tfsa_room(p, year, common)

Fonction qui met à jour l’espace de cotisation CELI.

Paramètres
  • p (Person) – instance de la classe Person

  • year (int) – année

  • common (Common) – instance de la classe Common

adjust_db_contributions(p, year, common)

Fonction qui ajuste l’espace de cotisation REER en fonction des cotisations aux RPA à PD.

Paramètres
  • p (Person) – instance de la classe Person

  • year (int) – année

  • common (Common) – instance de la classe Common

adjust_dc_contributions(p, year)

Fonction qui ajuste l’espace de cotisation REER en fonction des cotisations aux RPA à CD.

Si l’espace de cotisation est insuffisant pour les cotisations REER prévues / planifiées, les cotisations « excédentaires » sont dirigées vers le CELI.

Paramètres
  • p (Person) – instance de la classe Person

  • year (int) – année

adjust_employees_contributions(p)

Fonction qui calcule les cotisations d’employé aux RPA à CD (utilisées plus tard afin de calculer les impôts).

Paramètres

p (Person) – instance de la classe Person

adjust_rrsp_contributions(acc, p, year)

Fonction qui ajuste l’espace de cotisation REER en fonction des cotisations autres qu’à des RPA.

Si l’espace de cotisation est insuffisant pour les cotisations REER prévues / planifiées, les cotisations « excédentaires » sont dirigées vers le CELI.

Paramètres
  • acc (str) – type de compte

  • p (Person) – instance de la classe Person

  • year (int) – année

adjust_tfsa_contributions(p, year, common, prices)

Fonction qui ajuste l’espace de cotisation CELI en fonction des cotisations CELI (y compris les cotisations « excédentaires » aux REER et aux RPA à CD).

Si l’espace de cotisation est insuffisant pour les cotisations CELI prévues / planifiées, les cotisations « excédentaires » sont dirigées vers des comptes non enregistrés.

Paramètres
  • p (Person) – instance de la classe Person

  • year (int) – année

  • common (Common) – instance de la classe Common

  • prices (Prices) – instance de la classe Prices

adjust_rrif(p, year, common, prices)

Fonction qui ajuste les comptes REER et RPA à CD en fonction des retraits obligatoires aux FERR (les FERR ne sont pas modélisés séparément dans cette version).

Paramètres
  • p (Person) – instance de la classe Person

  • year (int) – année

  • common (Common) – instance de la classe Common

  • prices (Prices) – instance de la classe Prices

Renvoie

Montant nominal qui doit être retiré.

Type renvoyé

float

adjust_unreg_contributions(p, year)

Fonction qui ajuste les cotisations aux comptes non enregistrés en fonction des cotisations CELI « excédentaires » qui sont dirigées vers eux.

Paramètres
  • p (Person) – instance de la classe Person

  • year (int) – année

reset()

Remet les espaces de cotisation REER et CELI à leurs valeurs initiales.

class CPR.assets.FinAsset(p, hh, acc)

Cette classe gère les comptes enregistrés. Tous les montants sont nominaux.

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – ménage

  • acc (str) – type de compte

update(d_returns, year, common, prices)

Fonction qui met à jour le solde pour tenir compte des cotisations, des retraits et des rendements.

Paramètres
  • d_returns (dict) – dictionnaire de rendements

  • year (int) – année

  • common (Common) – instance de la classe Common

  • prices (Prices) – instance de la classe Prices

rate(d_returns, year)

Fonction qui calcule le taux de rendement étant donné la composition des actifs dans le compte.

Paramètres
  • d_returns (dict) – dictionnaire de rendements

  • year (int) – année

Renvoie

Taux de rendement (net de frais).

Type renvoyé

float

rrif_withdrawal(p, common)

Fonction gérant les retraits obligatoires aux FERR.

Paramètres
  • p (Person) – instance de la classe Person

  • common (Common) – instance de la classe Common

Renvoie

Montant du retrait obligatoire.

Type renvoyé

float

liquidate()

Fonction qui liquide le compte et met le solde, les cotisations et les retraits à zéro.

Renvoie

Montant de la liquidation (avant impôts).

Type renvoyé

float

reset()

Remet le solde et les retraits à leur valeur initiale.

class CPR.assets.UnregAsset(p, hh, prices)

Cette classe gère les comptes non enregistrés.

Tous les montants sont nominaux.

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – ménage

  • prices (Prices) – instance de la classe Prices

update(d_returns, year, common, prices)

Fonction qui met à jour le solde en fonction des cotisations, retraits et rendements.

Paramètres
  • d_returns (dict of float) – dictionnaire de rendements

  • year (int) – année

  • common (Common) – instance de la classe Common

  • prices (Prices) – instance de la classe Prices

compute_income(d_returns, year)

Fonction qui calcule les nouveaux gains en capital et le revenu imposable de dividendes et d’intérêts.

Paramètres
  • d_returns (dict of float) – dictionnaire de rendements

  • year (int) – année

rate(d_returns, year)

Fonction qui calcule le taux de rendement étant donné la composition d’actifs dans le compte.

Paramètres
  • d_returns (dict of float) – dictionnaire de rendements

  • year (int) – année

Renvoie

Taux de rendement (net de frais).

Type renvoyé

float

update_balance()

Fonction qui met à jour le solde et distingue les fonds non imposables (c.-à-d. le solde antérieur après impôts), les gains en capital, les dividendes et les intérêts.

prepare_withdrawal()

Fonction qui sépare un retrait du solde à la fin de la période et identifie séparément les fonds non imposables, les gains en capital, les dividendes et les intérêts.

adjust_income()

Fonction qui ajuste le revenu d’investissement (dividendes et intérêts) en fonction des retraits.

adjust_cap_losses(realized_cap_gains)

Fonction qui calcule les perts en capital d’années antérieures utilisées comme déduction contre des gains en capital, et ajuste en conséquence les pertes en capital réalisées.

Paramètres

realized_cap_gains (float) – gains en capital

Renvoie

Pertes en capital (à déduire).

Type renvoyé

float

adjust_final_balance()

Fonction qui ajuste le solde final en fonction des retraits, dividendes et intérêts.

liquidate()

Fonction qui liquide le compte et ajuste les pertes en capital.

reset()

Fonction qui remet à leur valeur initiale le solde, les gains en capital et les retraits.

class CPR.assets.RppDC(p, common)

Cette classe gère les RPA à CD.

Tous les montants sont nominaux.

Paramètres
  • p (Person) – instance de la classe Person

  • common (Common) – instance de la classe Common

class CPR.assets.RppDB(p)

Cette classe gère les RPA à PD.

Tous les montants sont nominaux.

Paramètres

p (Person) – instance de la classe Person

compute_benefits(p, common)

Fonction qui calcule les prestations de RPA à PD et les ajuste pour tenir compte de l’intégration au RPC/RRQ.

Si les prestations de RPA sont plus faibles que les prestations de RPC/RRQ, les prestations de RPA sont fixées à zéro une fois que débutent les prestations de retraite du RPC/RRQ.

Paramètres
  • p (Person) – instance de la classe Person

  • common (Common) – instance de la classe Common

adjust_for_penalty(p, common)

Fonction qui calcule une pénalité pour les individus débutant leurs prestations de RPA à PD de façpn « hâtive », c.-à-d. avant d’avoir accumulé le nombre maximal d’années de service, s’ils sont plus jeunes que l’âge auquel les prestations peuvent débuter sans pénalité (« l’âge de retraite anticipée »).

Par défaut, la pénalité s’applique aux individus qui débutent leurs prestations avant d’avoir atteint 35 années de service et avant 62 ans. Ces valeurs peuvent être modifiées.

Paramètres
  • p (Person) – instance de la classe Person

  • common (Common) – instance de la classe Common

compute_cpp_adjustment(p, common)

Fonction qui calcule un ajustement (une réduction) des prestations de RPA à PD pour tenir compte de l’intégration avec le RPC/RRQ.

Paramètres
  • p (Person) – instance de la classe Person

  • common (Common) – instance de la classe Common

Renvoie

Montant de l’ajustement pour l’intégration au RPC/RRQ.

Type renvoyé

float

reset()

Fonction qui remet à leur valeur initiale les prestations et taux de cotisation.

class CPR.assets.RealAsset(d_hh, resid)

Cette classe gère le logement et les résidences.

Tous les montants sont nominaux.

Paramètres
  • d_hh (dict of float) – dictionnaire contenant les valeurs des résidences

  • resid (str) – résidence principale ou secondaire

update(growth_rates, year, prices)

Fonction qui met à jour le solde (les valeurs des résidences) en fonction de la croissance du prix.

Paramètres
  • growth_rates (dict) – rendement nominal sur le logement (gains en capital)

  • year (int) – année

  • prices (Prices) – instance de la classe Prices

liquidate()

Fonction qui liquide l’actif, calcule les gains en capital si applicable, et fixe le solde à zéro.

Renvoie

Montant de la liquidation d’actif (avant impôts).

Type renvoyé

float

reset()

Fonction qui remet la valeur de la résidence à sa valeur initiale et fixe les gains en capital à zéro.

impute_rent(hh, year, common, prices)

Fonction qui calcule le loyer imputé.

Paramètres
  • hh (Hhold) – ménage

  • year (int) – année

  • prices (Prices) – instance de la classe Prices

class CPR.assets.Business(d_hh)

Cette classe gère une entreprise (comme un actif détenu par le ménage).

Tous les montants sont nominaux.

Paramètres

d_hh (dict of float) – dictionnaire contenant la valeur de l’entreprise

update(d_business_returns, year, prices)

Fonction qui met à jour le solde et les dividendes.

Paramètres
  • d_business_returns (dict) – rendements sur les actifs d’entreprise

  • year (int) – année

  • prices (Prices) – instance de la classe Prices

liquidate(common)

Fonction qui liquide le compte (actifs d’entreprise), calcule les gains en capital et fixe le solde à zéro.

Paramètres

common (Common) – instance de la classe Common

Renvoie

Prix de vente des actifs d’entreprise.

Type renvoyé

float

reset()

Remet à leur valeur initiale la valeur de l’entreprise et les gains en capital.