diff options
Diffstat (limited to 'finance')
| -rw-r--r-- | finance/equal_principal.py | 17 | ||||
| -rw-r--r-- | finance/equal_principal_interest.py | 19 |
2 files changed, 36 insertions, 0 deletions
diff --git a/finance/equal_principal.py b/finance/equal_principal.py new file mode 100644 index 0000000..97af5d2 --- /dev/null +++ b/finance/equal_principal.py @@ -0,0 +1,17 @@ + + +def monthly_analysis(p, r, n): + r /= 12 + paied_p = 0 + for i in range(n): + month_pay = p/n + (p - paied_p)*r + print(i, month_pay, p/n, (p-paied_p)*r) + paied_p += p/n + + +if __name__ == '__main__': + + p = 2000000 + r = 0.055 + n = 30*12 + monthly_analysis(p, r, n) diff --git a/finance/equal_principal_interest.py b/finance/equal_principal_interest.py new file mode 100644 index 0000000..035fd8c --- /dev/null +++ b/finance/equal_principal_interest.py @@ -0,0 +1,19 @@ + + +def monthly_analysis(p, r, n): + r = r/12 + month_p_and_i = p*r*(1+r)**n/((1+r)**n - 1) + remaining_p = p + for i in range(n): + month_i = remaining_p*r + month_p = month_p_and_i - month_i + remaining_p -= month_p + print(i, month_p_and_i, month_p, month_i) + + +if __name__ == '__main__': + p = 600000 + r = 0.06 + n = 20*12 + monthly_analysis(p, r, n) + |
