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}\)