This is a python script for calculating an optimal student loan repayment schedule. It is called like so:
The shovel.py script reads a coniguration file, config.yaml.
The engine expects a payment you can afford per-month (startingPayment), and distributes it across the loans, weighted by the potential interest from each loan.
There is an option (rounding) to round each monthly payment to the nearest dollar, for easier check-writing. True by default.
There is an option (growth) to inflate each month’s or year’s payment by a constant rate, to track with expected salary growth over the next n years. Zero by default.
Values for startingPayment smaller than (???) cause the script to never finish. This reflects the possibility of a desired repayment schedule to never converge; that is, if the amount you pay each month is smaller than the amount of interest accumulated, you’ll never pay off the loans. This could be caught in some user-friendly way.