Aller au contenu

Calcul financier

Arrondis

Toutes les valeurs financières sont sotckées et/ou calculées avec un certain niveau de précision régit par quatres variables :

  • lease4_monetary_amount : Pour toutes les sommes d'argent
  • lease4_rate : Pour tous les taux
  • lease4_coef : Pour tous les coefficients
  • lease4_margin : Pour toutes les marges

Par défaut ces variables sont positionnées sur 2 décimales, mais elles sont paramétrables par instance.

Variables

Le nom entre parenthèses correspond au nom de la variable dans le code à l'intention des développeurs

  • i = Investissement (investment_amount) -> €
  • maf = Montant à financer (amount_to_be_financed) -> €
  • ml = Marge loueur (margin_captive) -> %
  • mf = Marge fournisseur (margin_supplier) -> %
  • mrd = Montant restant dû dans le cadre d'un "Annule et remplace" (cr_due_amount) -> €
  • evl = Montant de l'enveloppe dans le cadre d'un contrat enveloppe (envelope_amount) -> €
  • t = Taux du contrat (contract_rate) -> %
  • vr = Valeur résiduelle (contract_rv) -> €
  • pyr = Ratio annuel de la périodicité (contract_periodicity_id.year_ratio) -> mensuel : 12, trimestriel : 4, biannuel : 2, et annuel : 1
  • ech = Échéancier. Liste du montant du loyer de chaque échéance, on ajoute à la fin de cette liste le montant de la valeur vr -> [loyer 1, loyer 2, loyer 3, ..., loyer n, vr]
  • ta = Taux annuel exprimé en décimale -> \(ta = \frac{t}{100}*\frac{1}{pyr}\)

Investissement : i (investment_amount)

Arrondi avec lease4_monetary_amount

\(i = \frac{maf}{1 + \frac{(ml + mf)}{100}} - mrd - evl\)

Marge loueur : ml (margin_captive)

Arrondi avec lease4_margin

\(ml = (\frac{maf}{i} - 1 - \frac{mf}{100}) * 100\)

Taux du contrat : t (contract_rate)

Arrondi avec lease4_rate

  • np.irr() = Ce calcul fait intervenir la fonction financière irr de la librairie numpy financial. C'est l'équivalent de la fonction Excel TRI.
  • l = Échéancier ech où l'on retire du premier loyer le montant à financer maf -> \(l = [loyer 1 - maf, loyer 2, loyer 3, ..., loyer n, vr]\)

\(t = np.irr(l) * pyr * 100\)

Taux global du contrat (global_rate)

Arrondi avec lease4_rate

Le taux global du contrat est calculé de la même manière que le taux du contrat. La seule différence se situe au niveau de l où l'on ne tire pas le montant à financer maf mais l'investissement i, ainsi:

  • l = Échéancier ech où l'on retire du premier loyer l'investissement i -> \(l = [loyer 1 - i, loyer 2, loyer 3, ..., loyer n, vr]\)

Montant à financer : maf (amount_to_be_financed)

Arrondi avec lease4_monetary_amount

Le montant à financer maf est calculé de deux manières en fonction de quelle est la valeur calculée dans la calculatrice financière :

  • Cas 1 : La valeur calculée est l'investissement i ou la marge loueur ml alors le montant à financer sera calculé à partir de l'échancier
  • Cas 2 : La valeur calculée est le loyer ou le taux du contrat t alors le montant à financer sera calculé à partir des "données financières"

Variables :

  • np.npv() = Ce calcul fait intervenir la fonction financière npv de la librairie numpy financial. C'est l'équivalent de la fonction Excel VAN.
  • pl = Premier loyer

Cas 1

Si on est en terme à échoir

\(maf = pl + \frac{np.npv(ta, ech)}{1 + ta} + mrd + evl\)

Si on est en terme échu

\(maf = \frac{np.npv(ta, ech)}{1 + ta} + mrd + evl\)

Cas 2

\(maf = i * (1 + \frac{(ml + mf)}{100}) + mrd + evl\)

Loyers dans l'échancier

Arrondi avec lease4_monetary_amount

Lorsque la valeur calculé dans la calculatrice financière est le loyer, le loyer de la dernière ligne de l'échéancier s'ajuste automatiquement selon 3 modes : Linéaire, Non-linéaire et Premier loyer majoré.

  • np.pmt() = Ce calcul fait intervenir la fonction financière pmt de la librairie numpy financial. C'est l'équivalent de la fonction Excel VPM.
  • llr = Loyer de la dernière ligne de l'échéancier
  • nbEch = Nombre d'échéances du contrat
  • nbEchR = Nombre d'échéances de la dernnière ligne de l'échéancier
  • terme = Terme échu / Terme à échoir

Linéaire

\(llr = -np.pmt(ta, nbEch, maf, -vr, terme)\)

Non-linéaire

  • ttl = Chaine des loyers -> \(-np.pmt(ta, nb_ech, maf, -vr, terme) * nbEch\)
  • ttpl = Somme des loyers avant la dernière ligne de l'échéancier. Valeurs renseignées à la main par l'utilisateur

\(llr = \frac{ttl - ttpl}{nbEchR}\)

Premier loyer majoré

  • np.npv() = Ce calcul fait intervenir la fonction financière fv de la librairie numpy financial. C'est l'équivalent de la fonction Excel VC.
  • pl = Premier loyer

\(llr = -np.pmt(ta, nbEchR, -np.fv(ta, 1, -pl, maf, terme), -vr, terme)\)

Coefficient

Arrondi avec lease4_coef

Dans l'échéancier

Un coefficient est calculé pour chaque ligne de l'échéancier en fonction de la valeur du loyer de chaque ligne.

  • l = Loyer de la ligne d'échéancier
  • coef = Coeeficient de la ligne d'échéancier

\(coef = \frac{l}{i} * 1000\)

Coefficient global

Un coefficient global est présent sur la calculatrice financière, il est le résultat de la moyenne pondéré des coeficients des lignes des l'échancier.

  • numpy.average() = Ce calcul fait intervenir la fonction financière average de la librairie numpy.
  • coef = Coeeficient global
  • lstCoef = Liste des coeffience de chaque ligne de l'échéancier [45.30, 12.15, ..., 10.00]
  • lstEch = Liste du nombre d'échénace de chaque ligne de l'échéancier [1, 10, ..., 9]

\(coef = numpy.average(lstCoef, weights=lstEch)\)

Loyer unitaire des lignes du contrat

Arrondi avec lease4_monetary_amount

Le loyer d'une ligne de contrat peut être calculer de plusieurs façon différentes. Il y a la méthode par défaut, la méthode d'un contrat enveloppe, si c'est une ligne d'assurance, voir une méthode personnalisé peut être mise en place au travers du produit de loyer associé à la ligne de contrat.

  • l = Loyer unitaire d'une ligne de contrat pour une échéance donnée
  • coef = Coeficient d'une échéance
  • up = Prix unitaire de la ligne de contrat

Par défaut

\(l = up * \frac{coef}{1000}\)

Ligne de produit sur contrat enveloppe

  • evlCoef = Coeficient de l'enveloppe associé à la catégorie du produit

\(l = up * \frac{evlCoef}{1000}\)

Ligne d'assurance (Si le loyer n'est pas fixé)

Cout annuel

Un premier calcul est fait pour calculer le coût annuel de l'assurance pour chaque ligne de produit associé à la ligne d'assurance

  • sumRent = Somme de la totalité des loyers de la ligne de produit associé à la ligne d'assurance
  • sellRate = Taux de revente de l'assurance
  • cal = Cout annuel d'une ligne de produit

\(cal = \frac{seelRate}{100} * sumRent\)

Le coût annuel ca de la ligne d'assurance n'est autre que la somme du coût annuel de chaque ligne de produit cal associé à la ligne d'assurance plus les frais fixes

  • ca = Cout annuel
  • lstCal = Liste du coût annuel de chaque ligne de produit associé à la ligne d'assurance
  • lstFrais = Frais fixe de chaque categories de produit d'assurance associé aux ligne de produits de la ligne d'assurance

\(ca = sum(lstCal) + sum(lstFrais)\)

Loyer

\(l = \frac{ca}{pyr}\)