Fix biweekly mortgage schedule interest basis (overstates payoff) #15

Open
opened 2026-06-06 19:58:12 +00:00 by tonym · 0 comments

Severity: high
Category: correctness
Location: mortgage.py:77-78

Problem

biweekly_payment = base/2 (half the monthly payment) is simulated at annual/26 per period, overpaying principal — a 300k/6.5%/30yr loan shows payoff ~6 years early.

Suggested fix

Compute a true biweekly amortizing payment with r=annual/26, n=years*26, or apply half the monthly rate per period to keep rate and period on the same basis.

Filed by automated code review.

**Severity:** high **Category:** correctness **Location:** `mortgage.py:77-78` ### Problem `biweekly_payment = base/2` (half the monthly payment) is simulated at `annual/26` per period, overpaying principal — a 300k/6.5%/30yr loan shows payoff ~6 years early. ### Suggested fix Compute a true biweekly amortizing payment with `r=annual/26, n=years*26`, or apply half the monthly rate per period to keep rate and period on the same basis. _Filed by automated code review._
tonym added the
correctness
severity:high
labels 2026-06-06 19:58:12 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: bonna61/Moon-Household-Budget#15
No description provided.