Les acteurs

Les fonctions d’acteurs permettent de déclarer des profils.

class srd.Person(age=50, male=True, earn=0, rpp=0, cpp=0, net_cap_gains=0, prev_cap_losses=0, cap_gains_exempt=0, othtax=0, othntax=0, inc_rrsp=0, self_earn=0, div_elig=0, div_other_can=0, con_rrsp=0, con_non_rrsp=0, con_rpp=0, union_dues=0, donation=0, gift=0, years_can=None, disabled=False, widow=False, med_exp=0, ndays_chcare_k1=0, ndays_chcare_k2=0, asset=0, oas_years_post=0, months_cerb_cesb=0, student=False, essential_worker=False, hours_month=None, prev_inc_work=None, dep_senior=False, home_support_cost=0)

Classe pour définir une personne.

Ceci définit une personne et son profil en termes de revenus et d’actifs.

Paramètres
  • age (int) – âge de l’individu

  • male (int) – prend la valeur 1 si l’individu est un homme

  • earn (float) – revenu de travail

  • rpp (float) – revenu de régime complémentaire de retraite (RCR)

  • cpp (float) – revenu du Régime de rentes du Québec (RRQ) ou du Régime de pensions du Canada (RPC)

  • net_cap_gains (float) – gains (ou pertes si valeur négative) nets en capital réalisés dans l’année

  • prev_cap_losses (float) – pertes en capital nettes d’autres années (avec facteur d’inclusion partielle déjà appliqué)

  • cap_gains_exempt (float) – exonération des gains en capital admissibiles demandée (sur gains en capital nets); soumis à un plafond à vie

  • othtax (float) – autre revenu imposable

  • othntax (float) – autre revenu non-imposable

  • inc_rrsp (float) – revenu de REER (retrait de fonds)

  • self_earn (float) – revenu de travail autonome

  • div_elig (float) – montant réel des dividendes déterminés (canadiens)

  • div_other_can (float) – montant réel des dividendes ordinaires (canadiens)

  • con_rrsp (float) – cotisation REER

  • con_non_rrsp (float) – contisation autre que REER (p.ex. à un CELI ou à des comptes non enregistrés)

  • con_rpp (float) – cotisation à un régime de pension agréé (RPA)

  • union_dues (float) – cotisations syndicales, professionnelles ou autres

  • donation (float) – don de bienfaisance et autres dons

  • gift (float) – dons de biens culturels et écosensibles

  • years_can (int) – nombre d’années vécues au Canada lorsque la Pension de la sécurité de la vieillesse (PSV) est demandée

  • disabled (boolean) – statut d’invalidité

  • widow (boolean) – statut de veuf/veuve

  • med_exp (float) – montant des dépenses en santé admissibles

  • ndays_chcare_k1 (float) – nombre de jours de garde du premier enfant

  • ndays_chcare_k2 (float) – nombre de jours de garde du second enfant

  • asset (float) – valeur marchande des actifs (illiquides)

  • oas_years_post (int) – nombre d’années de report pour la PSV (après 65 ans)

  • months_cerb_cesb (int) – nombre de mois pour lesquels la PCU ou la PCUE est demandée

  • student (boolean) – statut d’étudiant ou fin des études après décembre 2019 (pour PCUE)

  • essential_worker (boolean) – True si travailleur essentiel (au Québec seulement)

  • hours_month (float) – nombre d’heures travaillées par mois

  • prev_inc_work (float) – revenu du travail de l’année précédente

  • dep_senior (boolean) – True si la personne aînée n’est pas autonome

  • home_support_cost (float) – coût du maintien à domicile

attach_prev_work_inc(prev_work_inc)

Fonction qui ajoute le revenu du travail de l’an passé s’il est disponible, ou l’approxime avec le revenu du travail de l’année courante sinon.

Paramètres

prev_work_inc (float) – revenu de travail de l’année précédente

attach_inc_work_month(earn, self_earn)

Fonction qui convertit le revenu de travail annuel en revenu mensuel et vice versa.

On entre le revenu de travail annuel ou mensuel (liste avec 12 éléments) et le revenu de travail annuel et mensuel deviennent des attributs de la personne.

Paramètres
  • earn (float or list) – revenu de travail salarié

  • self_earn (float or list) – revenu de travail autonome

property inc_work

Fonction qui retourne le revenu de travail.

Inclut le revenu de travail autonome.

Renvoie

Revenu de travail.

Type renvoyé

float

property inc_non_work

Fonction qui retourne le total des revenus autres que les revenus du travail.

Renvoie

Revenu provenant de sources autres que le travail.

Type renvoyé

float

property inc_tot

Fonction qui retourne le revenu total.

Ce revenu total contient les montants réels des dividendes de sociétés canadiennes (et non les montants imposables).

Renvoie

Revenu total.

Type renvoyé

float

compute_months_cerb_cesb(months_cerb_cesb, student)

Fonction qui établit le nombre de mois de PCU ou de PCUE selon le nombre de mois pour lesquels la personne demande la prestation et selon son statut d’étudiant.

Paramètres
  • months_cerb_cesb (int) – nombre de mois pour lesquels la prestation est demandée

  • student (boolean) – True si la personne est étudiante (ou l’était en décembre 2019)

copy()

Fonction qui produit une copie des attributs de la personne.

reset()

Fonction qui utilise la copie des attributs de la personne pour réinitialiser l’instance de la personne.

class srd.Dependent(age, disa=None, child_care=0, school=None, home_care=None, med_exp=0)

Classe pour définir un dépendant.

Ceci définit un dépendant et son profil.

Paramètres
  • age (int) – âge de l’individu

  • disa (boolean) – statut d’invalidité

  • child_care (float) – montant des dépenses réelles de frais de garde

  • school (float) – montant des dépenses de scolarité

  • home_care (float) – montant de l’aide à domicile

  • med_exp (float) – montant des dépenses en santé admissibles

class srd.Hhold(first, second=None, prov='qc', n_adults_in_hh=None)

Classe pour définir un ménage.

Ceci définit un ménage et son profil.

Paramètres
  • first (Person) – instance Person du 1er membre du couple

  • second (Person) – instance Person du 2e membre du couple, s’il y a lieu

  • prov (str) – province (qc = Québec)

  • n_adults_in_hh (int) – nombre d’adultes (18 ans et plus) dans le ménage

adjust_n_adults(n_adults_in_hh)

Fonction qui calcule le nombre d’adultes dans le ménage si celui-ci n’est pas fourni.

Paramètres

n_adults_in_hh (float) – nombre d’adultes dans le ménage s’il est fourni, None sinon

Renvoie

Nombre d’adultes dans le ménage.

Type renvoyé

float

property fam_inc_work

Fonction qui calcule le revenu de travail du ménage.

Renvoie

Revenu de travail du ménage.

Type renvoyé

float

fam_inc_non_work()

Fonction qui calcule le revenu familial de sources autres que le travail.

Renvoie

Revenu familial de sources autres que le travail.

Type renvoyé

float

property fam_net_inc_prov

Fonction qui calcule le revenu familial net pour l’impôt et les programmes provinciaux.

Renvoie

Revenu familial net provincial.

Type renvoyé

float

property fam_net_inc_fed

Fonction qui calcule le revenu familial net pour l’impôt et les programmes fédéraux.

Renvoie

Revenu familial net fédéral.

Type renvoyé

float

property fam_inc_tot

Fonction qui calcule le revenu familial total.

Renvoie

Revenu familial total.

Type renvoyé

float

property fam_after_tax_inc

Fonction qui calcule le revenu familial après impôts.

Renvoie

Revenu familial après impôts.

Type renvoyé

float

property fam_disp_inc

Fonction qui additionne les revenus disponibles du conjoint pour obtenir le revenu disponible familial.

Il s’agit du revenu disponible après impôts, cotisations sociales, épargne (positive ou négative) et prestations.

Renvoie

Revenu familial disponible, après impôts et cotisations.

Type renvoyé

float

property child_care_exp

Fonction qui calcule la dépense en frais de garde pour le ménage.

Renvoie

Montant total des dépenses de frais de garde.

Type renvoyé

float

add_dependent(*dependents)

Fonction pour ajouter un ou plusieurs dépendant(s).

Paramètres

dependent (Dependent) – instance de la classe Dependent ou liste d’instances de la classe Dependent

count()

Fonction pour calculer le nombre d’enfants dans différentes catégories d’âge.

compute_max_split()

Fonction qui calcule le montant maximal de revenu de pension pouvant être fractionné, et qui l’attache à chaque conjoint du ménage dans l’attribut max_split.

assess_elig_split()

Fonction qui établit si le ménage est admissible pour le fractionnement du revenu de pension, et qui l’attache au ménage dans l’attribut elig_split.

copy()

Fonction qui produit une copie des attributs du ménage et des personnes dans le ménage.

reset()

Fonction qui utilise la copie des attributs du ménage et des personnes pour réinitialiser l’instance du ménage.