J'essaie de formuler une équation qui peut calculer le outstanding_balance
en une seule fois en utilisant python. C'est assez simple en utilisant le processus itératif. Par exemple:Python CashFlow Calculator
for month in range(1, self.amortMonths + 1):
# Calculate intial and future interest payments
interest = self.originalPrin * self.rate/12
# Calculate intial and future principal payments
principal_pmt = self.pmt - interest
# Outstanding balance is reduced by the principal_pmt
self.originalPrin = self.originalPrin - principal_pmt
Alors self.amortMonths
est essentiellement la durée mensuelle au cours de laquelle le prêt doit être payé au large et avec self.rate
, ils détermineront la variable self.pmt
qui est le montant mensuel de l'emprunteur doit payer afinde réduire la self.oringalPrin
valeur à 0
à la fin de self.amortMonths
.
Exemple:
Disons que j'ai un prêt de 1000 $ (OutstandingPrin) avec un taux d'intérêt de 10% alors mon paiement d'intérêts pour le premier mois est de 1000 * 10% = 100 $. Afin de trouver le montant self.pmt
, j'ai utilisé une fonction numpy.pmt
qui prend le outstandingPrin, taux, amortMonths en tant que paramètres pour générer une valeur de paiement mensuel qui permettra de réduire le OutstandingPrin à 0 à la fin de l'amortMonths. Disons que self.pmt = $120
puis le principal_pmt = 120 - 100 = $20
. Donc, l'encours du mois prochain est 1000-20=$980
. Alors cela devient juste un processus itératif.
J'ai donc vraiment besoin d'aide pour déterminer une équation qui peut le faire en une fois sans avoir besoin d'un processus itératif. Apparemment, je dois utiliser l'algèbre linéaire, mais je ne viens pas d'une formation en mathématiques, donc je me demandais si quelqu'un avait des idées?
EDIT:
donc quelque chose comme ceci:
Balance_i = Balance_i-1 - (pmt - Balance_i-1 * Rate)
.
Avant de répondre, je suis tombé sur une nouvelle solution que j'essaie. Fondamentalement, en utilisant numpy, je suis en train de résoudre un tas d'équations du système. Pour chaque terme, il y a une équation. Je l'ai mis en format matriciel et utilise numpy pour le résoudre. A X = B. Mais j'apprécie vraiment votre solution et votre temps. – anderish