Standard amortizing-loan monthly payment formula. Free, cited, MIT.
Project description
calcfi-mortgage-payment
Standard amortizing-loan monthly payment formula. Free, cited, MIT.
CalcFi Mortgage Payment Calculator — a single-purpose, MIT-licensed helper for Compute the monthly principal and interest payment for a fixed-rate mortgage using the standard amortization formula P × [r(1+r)^n] / [(1+r)^n − 1]. Rates sourced from Freddie Mac PMMS via FRED MORTGAGE30US.
What this does
Compute the monthly principal and interest payment for a fixed-rate mortgage using the standard amortization formula P × [r(1+r)^n] / [(1+r)^n − 1]. Rates sourced from Freddie Mac PMMS via FRED MORTGAGE30US.
Formula — Standard amortizing-loan formula:
M = P × [r(1+r)^n] / [(1+r)^n − 1]
Primary source: Freddie Mac PMMS via FRED MORTGAGE30US
Install
pip install calcfi-mortgage-payment
Usage
from calcfi_mortgage_payment import monthly_payment, total_interest
# $400,000 loan at 6.5% for 30 years
m = monthly_payment(400_000, 0.065, 30)
# 2528.27
ti = total_interest(400_000, 0.065, 30)
# ~510,180
Live calculator
Try the interactive web calculator with full UI at https://calcfi.app/calculators/mortgage-payment — no signup required.
Why this package exists
Most personal-finance calculators are buried in advertising-heavy lead-generation sites. The math is freely published by federal agencies and textbooks, but the implementations are wrapped in proprietary opaque code. CalcFi publishes these utility libraries to make every formula:
- Reproducible — show the math
- Cited — link to primary sources
- Free — MIT license, no paid tier
- Auditable — every line of code is open source
The math here is undergraduate-level. The contribution is the citation discipline and the open distribution.
Part of the CalcFi ecosystem
This package is one of 8 single-purpose helper utilities. Cross-mesh:
Sibling Python packages
- calcfi-compound-interest — Compound interest with periodic contributions. Future value, present value, time-to-target. Free, MIT.
- calcfi-rule-of-72 — Rule of 72 — approximate years to double an investment at a given rate. Plus exact ln(2) version. MIT.
- calcfi-apr-apy — Convert between APR (simple annual rate) and APY (effective annual yield including compounding). MIT.
- calcfi-real-return — Inflation-adjusted (real) return from nominal return. Formula: real = (1+nominal)/(1+inflation) − 1. MIT.
- calcfi-amortization — Generate a full amortization schedule for a fixed-rate loan: payment, principal, interest, balance per period. MIT.
- calcfi-tax-bracket — US federal income tax bracket math — marginal rate, effective rate, total tax owed. 2024-2026 brackets per IRS Rev. Proc. MIT.
- calcfi-debt-payoff — Snowball vs avalanche debt payoff strategies. Compute months and total interest. MIT.
Sibling npm packages
- calcfi-compound-interest — Compound interest with periodic contributions. Future value, present value, time-to-target. Free, MIT.
- calcfi-rule-of-72 — Rule of 72 — approximate years to double an investment at a given rate. Plus exact ln(2) version. MIT.
- calcfi-apr-apy — Convert between APR (simple annual rate) and APY (effective annual yield including compounding). MIT.
- calcfi-real-return — Inflation-adjusted (real) return from nominal return. Formula: real = (1+nominal)/(1+inflation) − 1. MIT.
- calcfi-amortization — Generate a full amortization schedule for a fixed-rate loan: payment, principal, interest, balance per period. MIT.
- calcfi-tax-bracket — US federal income tax bracket math — marginal rate, effective rate, total tax owed. 2024-2026 brackets per IRS Rev. Proc. MIT.
- calcfi-debt-payoff — Snowball vs avalanche debt payoff strategies. Compute months and total interest. MIT.
Companion data
The mortgage rate, inflation, Treasury yield, and macro data used to validate these calculators are published as CalcFi Open Data — 34 free CC BY 4.0 time series, 117,956 observations, 5 permanent DOIs.
- CalcFi Open Data on Hugging Face
- Python
calcfidataSDK - npm
calcfidataSDK - Live SQL endpoint (Datasette)
- DOI 10.6084/m9.figshare.32332290
Calculators on CalcFi (free, no signup)
Every formula in these packages has a live web calculator at calcfi.app:
- Mortgage Payment
- Compound Interest
- Tax Bracket
- Amortization Schedule
- APR vs APY
- Rule of 72
- Inflation-Adjusted Return
- Debt Payoff
License
MIT. Author: Jere Salmisto (ORCID 0009-0000-0916-8684), founder of CalcFi. Based in Helsinki, Finland.
Citation
If you cite this package in research:
Salmisto, J. (2026). calcfi-mortgage-payment: CalcFi Mortgage Payment Calculator.
DOI: 10.6084/m9.figshare.32332290 (parent CalcFi Open Data dataset).
Available: https://calcfi.app/calculators/mortgage-payment
Or use the CITATION.cff on the parent dataset for the BibTeX entry.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file calcfi_mortgage_payment-0.1.0.tar.gz.
File metadata
- Download URL: calcfi_mortgage_payment-0.1.0.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c6935579127c89193e0b760975b76a83977d94db69fa4cee41ab487e099a95d
|
|
| MD5 |
2ae058f964eebdc02343b9798189ccb6
|
|
| BLAKE2b-256 |
edd17976e01149af6d5bca828c4ad3135b887edf9df913b44de3d066615f2fca
|
File details
Details for the file calcfi_mortgage_payment-0.1.0-py3-none-any.whl.
File metadata
- Download URL: calcfi_mortgage_payment-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8d9efba008ef4a883c9a1581b68255bc78caabd8b45034cdc1e52947d509a21
|
|
| MD5 |
3177d7632a1a2c11f4a784238ae3b927
|
|
| BLAKE2b-256 |
ac994f1ab902c908ea87a3541071bacce46e1bd20859cc7799226cecf9e66988
|