]> Humopery - private/ledgerfile.git/commitdiff
Amortize one payment to function
authorErik Mackdanz <erikmack@gmail.com>
Fri, 16 Mar 2018 03:04:07 +0000 (22:04 -0500)
committerErik Mackdanz <erikmack@gmail.com>
Fri, 16 Mar 2018 03:04:07 +0000 (22:04 -0500)
amortize.py

index d2cf124f24f9ff1e03b303b4f337d8ee771e41a7..ff88d6e099ba1e0fa08ac6186a29b5d8620115eb 100644 (file)
@@ -73,26 +73,33 @@ def amortize_to_end(last_pay_date,
     return payments
 
 
-p = amortize_to_end(date(2017,12,16),
-                    14219.26,
-                    [(12,500.00),(28,200.00)],
-                    0.0525/365.0)
-# print(p)
-
 import ledger
 
-j = ledger.read_journal("ledger")
-lbal = 0
-payment_date = None
-for post in j.query("reg Liabilities:Hyundai"):
-    lbal += post.amount
-    payment_date = post.xact.date
-    # print("Posting {}".format(post.amount))
+def last_payment_balance(account):
+    j = ledger.read_journal("ledger")
+    lbal = 0
+    payment_date = None
+    for post in j.query("reg {}".format(account)):
+        lbal += post.amount
+        payment_date = post.xact.date
+        # print("Posting {}".format(post.amount))
         
-print("balance was {} on {}".format(lbal,payment_date))
-print(dir(lbal))
-p = amortize_to_end(payment_date,
-                    -lbal.to_double(),
-                    [(12,500.00),(28,200.00)],
+    # print("balance was {} on {}".format(lbal,payment_date))
+    balance = -lbal.to_double()
+    return (payment_date,balance)
+
+(payment_date,balance) = last_payment_balance("Liabilities:Hyundai")
+hyundai_payments = amortize_to_end(payment_date,
+                    balance,
+                    [(16,464.83)],
+                    0.0525/365.0)
+print(hyundai_payments)
+
+ledger.session.close_journal_files()
+
+(payment_date,balance) = last_payment_balance("Liabilities:Auto")
+colorado_payments = amortize_to_end(payment_date,
+                    balance,
+                    [(19,565.76)],
                     0.0525/365.0)
-print(p)
+print(colorado_payments)