Technical Reference & Strategy Overview
A plain-language and mathematical explanation of the Vasicek stochastic rate model, amortization engine, and mortgage strategy comparison framework — for both technical users and senior management.
The Mortgage Rate Strategy Analyser is an Asset-Liability Management (ALM) tool that helps borrowers, financial advisors, and treasury teams make an evidence-based decision between a fixed-rate and a variable-rate mortgage — or a hybrid of both.
The core question it answers is: "Given uncertainty about future interest rates, which mortgage strategy minimises total interest cost, and what is the cost of that certainty?"
It answers this through four analytical layers:
Every analysis compares four scenarios side-by-side:
| Strategy | Payment Used | Rate Used | Lump Sum | Purpose |
|---|---|---|---|---|
| Fixed Baseline | Fixed payment \(M_f\) | Fixed rate \(r_f\) throughout | \(\$L\) at period \(k\) | Certainty benchmark — locks in known cost |
| Standard Variable | Lower variable payment \(M_v\) | Variable rate \(r_v\) (flat assumption) | \(\$L\) at period \(k\) | Lower cost if rates stay flat or fall |
| Hedged Variable | Fixed payment \(M_f\) at variable rate | Variable rate \(r_v\) | \(\$L\) at period \(k\) | Best of both: variable rate, fixed-rate discipline, accelerated paydown |
| Stress (+2%) | Stressed payment | \(r_v + 2\%\) throughout | None | Regulatory / affordability stress test |
The standard per-period payment \(M\) for a loan of principal \(P\), annual nominal rate \(r\), over \(n\) total amortization periods, with \(f\) payment periods per year, is:
where \(r_p = r / f\) is the per-period rate. The tool supports three payment frequencies: monthly (\(f = 12\)), bi-weekly (\(f = 26\)), and weekly (\(f = 52\)). All amortization calculations and Monte Carlo simulations automatically scale to the selected frequency.
At each period \(t\), the payment splits into:
where \(B_t\) is the outstanding balance after payment \(t\). The balance declines slowly in early periods (most of \(M\) is interest) and accelerates toward zero as the loan matures — the characteristic convex amortization profile visible in the Balance Trajectories chart. Higher-frequency payments (bi-weekly, weekly) reduce the balance slightly faster because interest accrues over a shorter period between payments.
When a prepayment \(L\) is applied at period \(k\), it reduces the balance after the regular payment for that period:
The lump-sum month entered by the user (e.g. month 12) is automatically converted to the equivalent period index for non-monthly frequencies. Because the reduced balance compounds for the remaining \(n - k\) periods, the interest saving from a prepayment is highly non-linear (see §8 Convexity).
A fixed-rate mortgage eliminates rate uncertainty entirely, but at a cost premium. A variable-rate mortgage exposes the borrower to future rate movements. To quantify that exposure, we need a stochastic model of how rates evolve over time.
The Vasicek (1977) model is one of the most widely used equilibrium short-rate models in fixed-income risk management. It captures two empirically observed features of interest rates:
The Vasicek model defines the instantaneous change in the short rate \(r_t\) as:
| Symbol | Name | Interpretation | Typical Value |
|---|---|---|---|
κ (kappa) | Mean-reversion speed | How quickly rates snap back to \(\theta\). Higher \(\kappa\) = faster reversion. | 0.10 – 0.50 |
θ (theta) | Long-run equilibrium | The rate level rates are attracted to over time. Calibrated to central bank targets. | 2.5% – 4.5% |
σ (sigma) | Instantaneous volatility | Magnitude of random shocks. Higher \(\sigma\) = wider fan chart bands. | 0.8% – 1.5% |
| \(dW_t\) | Brownian increment | Random shock: \(dW_t \sim \mathcal{N}(0, dt)\) | — |
The Vasicek model has a closed-form solution. Conditional on \(r_0\), the rate at time \(T\) is normally distributed:
The mean reverts exponentially from \(r_0\) toward \(\theta\) at speed \(\kappa\). The variance grows initially and saturates at \(\sigma^2 / (2\kappa)\) — which is why the fan chart widens and then stabilises.
To simulate thousands of rate paths on a computer, the continuous SDE is discretised to period steps \(\Delta t = \tfrac{1}{f}\) (where \(f\) is the number of payment periods per year: 12 monthly, 26 bi-weekly, or 52 weekly) using the Euler–Maruyama scheme:
where \(Z_t \sim \mathcal{N}(0,1)\) is a standard normal random draw, independent across time and paths.
All \(N\) paths (default 2,000) are simulated simultaneously in a matrix of shape \((\text{periods} \times N)\). At each time step \(t\), the update is:
where bold denotes the \(N\)-dimensional vector of all paths. NumPy broadcasts this across all paths in a single operation, making 10,000 paths feasible in under 2 seconds.
The fan chart plots cross-sectional percentiles across all simulated paths at each period:
The MC histogram tab shows the resulting distribution of total interest paid over the term — the quantity that directly affects the borrower's out-of-pocket cost.
Choosing the variable rate frees up the per-period payment delta \(\delta = M_f - M_v\) each period. The invest-the-difference model asks: what if this saving were invested in equities instead of used to pay down the mortgage faster?
If the equity portfolio compounds at CAGR \(g\), the per-period growth factor is:
The portfolio value at period \(t\) evolves as:
where \(c_t\) is the total per-period contribution (payment delta plus any lump sum at period \(k\)). The terminal value is compared against the interest savings of the Hedged strategy to determine which creates more wealth.
A nominal mortgage rate \(i\) can be decomposed into a real cost of borrowing \(r\) and an inflation compensation component \(\pi\) via the Fisher Equation:
Setting \(r = 0\) gives the break-even inflation rate \(\hat{\pi}\):
This is the inflation rate at which the real cost of the debt is zero. If actual inflation exceeds \(\hat{\pi}\), the borrower is being paid (in real terms) to hold debt — a strong argument for locking in a fixed rate for as long as possible. If inflation is below \(\hat{\pi}\), the real burden of debt is positive.
The interest saving from a prepayment \(L\) is a convex, non-linear function of \(L\). Let \(I(L)\) denote total interest paid over the term as a function of lump-sum size. Then:
In the discrete approximation (sweeping \(L\) in $5,000 increments):
Positive convexity means each additional dollar prepaid saves more than the previous dollar. In practice, convexity is highest for prepayments made early in the amortization period because the balance is still large and there are many compounding months ahead for the saving to accumulate.
| Parameter | Symbol | Default | Description |
|---|---|---|---|
| Principal | \(P\) | $750,000 | Initial outstanding mortgage balance (CAD) |
| Amortization | \(n\) | 25 years (300 months) | Full loan repayment horizon |
| Payment Frequency | \(f\) | Monthly (12/yr) | Payment cadence: Monthly (12), Bi-Weekly (26), or Weekly (52) periods per year |
| Term | — | 60 months | Evaluation / renewal window (typically 5 years in Canada) |
| Fixed rate | \(r_f\) | 4.10% | Annual nominal rate for fixed-rate mortgage |
| Variable rate start | \(r_v\) | 3.35% | Initial annual variable rate (Bank of Canada prime-linked) |
| Lump-sum amount | \(L\) | $20,000 | One-time prepayment applied at period \(k\) |
| Lump-sum month | \(k\) | 12 | Month in which the lump sum is applied; auto-converted to the equivalent period for non-monthly frequencies |
| Mean reversion speed | \(\kappa\) | 0.35 | Vasicek mean-reversion speed toward \(\theta\) |
| Long-run rate | \(\theta\) | 3.5% | Vasicek equilibrium rate (calibrated to BoC neutral rate) |
| Rate volatility | \(\sigma\) | 1.2% | Vasicek instantaneous volatility of rate changes |
| Rate floor | \(r_{\text{floor}}\) | 2.25% | Hard lower bound on simulated rates (effective lower bound) |
| Equity CAGR | \(g\) | 7.0% | Assumed long-run equity portfolio growth (opportunity cost) |
| Simulations | \(N\) | 2,000 | Number of Monte Carlo rate paths |
The following section is written for clients and senior management who need to understand the strategic implications without the mathematical detail.
When you choose a fixed-rate mortgage, you are purchasing certainty. You know exactly what your payment will be for the full term, regardless of what happens to interest rates. That certainty has a price: fixed rates are typically higher than variable rates at the time of signing.
A variable-rate mortgage starts cheaper, but your payments — and total interest cost — can rise if the Bank of Canada increases rates. You are accepting some risk in exchange for a lower starting cost.
The most powerful strategy in this tool is the Hedged Variable. Here, you take the variable rate (lower interest cost) but continue making the higher fixed-rate payment voluntarily. The difference does not go to the bank as interest — it attacks your principal directly.
This means you pay down your mortgage faster than either the pure fixed or pure variable borrower, while also benefiting from the lower rate. Adding a one-time lump-sum payment amplifies this further, because every dollar off the principal today eliminates all future interest on that dollar.
Rather than assuming rates will stay flat, the fan chart shows thousands of plausible rate paths — high, low, and everything in between — consistent with how rates have historically behaved. The histogram shows the distribution of what your total interest bill would be across all those scenarios.
If the bulk of that distribution is still below the fixed-rate total, variable wins even in most adverse scenarios. If it overlaps significantly with — or exceeds — the fixed-rate line, the certainty of a fixed rate becomes more attractive.
One legitimate alternative to prepaying your mortgage is to invest the savings. If equity markets return more than your mortgage rate (after tax), you are better off letting the cheap debt run and growing your wealth elsewhere. The Opportunity Cost chart quantifies this trade-off directly.