SONIA: The Sterling Risk-Free Rate

Published 14 October 2026 • 18 min read

This is the second post in my series on how derivatives are priced. In the first post we built up the discount factor in an imaginary world with one bank and one interest rate that never changed. I promised to start relaxing those assumptions, and the obvious one to go first is the rate that never changes.

In the real world, the interest rate that sits underneath almost every sterling derivative and bank loan is quoted fresh every single day. It's called SONIA, and you can see where it is now on my markets page.

As before, I'm writing for someone with high-school maths and no finance background.

What SONIA is

SONIA stands for the Sterling Overnight Index Average. Every business day, banks and other large financial institutions lend each other money in pounds overnight: borrow today, pay it back tomorrow. SONIA is a measure of the interest rate paid on that money.

A quick note on words. Lending money to a bank overnight is the same thing as putting it on deposit there: the same transaction, seen from the lender's side or the bank's. The Bank of England calls them deposits, so I will too.

A few details make it trustworthy:

  • It's based on real deposits, not opinions. The Bank of England collects the actual overnight, unsecured deposits of £25 million or more that took place that day.[1]
  • It's a trimmed average. The Bank sorts the deposits by rate, throws away the top and bottom quarters (weighted by size), and averages the middle half. A handful of odd deposits can't move it much.
  • It's published the next morning. Monday's SONIA is published at 9am on Tuesday. You only find out what yesterday's rate was today.
  • It's quoted as an annual rate, with the "actual days ÷ 365" day count from the last post.

Nobody chooses SONIA's level, but it is steered. It tracks the Bank of England's Bank Rate very closely, usually sitting a few hundredths of a percent below it. When the Monetary Policy Committee changes Bank Rate, SONIA moves with it from the day the new rate takes effect; because of the publication lag, you see the change in the figure published the following morning. The charts on the markets page show the two lines moving almost on top of each other, stepping up and down together.

Trying out the trimmed average

The widget below shows a day's deposits. Each bar is one deposit: its width is the amount lent and its height is the rate. The bars are lined up from the lowest rate to the highest, so trimming simply cuts the same width of volume off each end. Solid bars are kept; faint bars are trimmed away. The trimmed mean is the average height of what's left.

Try the examples and move the slider. At 0% the trimmed average is just the ordinary volume-weighted mean. As the trim gets close to 50%, only the deposit in the very middle is left, which is the median. SONIA uses 25%, somewhere in between: it ignores odd deposits at either extreme, like the median, but still takes an average of the many deposits in the middle, like the mean.

Why it replaced LIBOR

For decades, the reference rate in sterling markets was LIBOR, the London Inter-Bank Offered Rate, which was set each morning by asking a panel of banks what they thought they could borrow at. After it emerged that some of those answers had been manipulated, regulators pushed markets to move to rates based on real transactions. Sterling markets chose SONIA, and LIBOR has now stopped being published altogether.[2]

There's a second difference which matters much more for the maths. LIBOR was a term rate: on day one, you knew the rate for the next three months. SONIA is an overnight rate: on day one, you only know the rate for one night. That changes how interest is worked out, and generally adds complexity to interest calculations. Having said that, the market has converged on a standard approach to these calculations meaning that there is rarely any confusion.

Why it matters

Any contract where one side pays a floating rate of interest needs a rate that both sides can look up, that nobody involved can nudge in their own favour, and that will still be published in thirty years' time. That's what a benchmark is for. SONIA itself has been around since 1997,[3] but since LIBOR's departure it has become the benchmark for sterling: the official "risk-free rate" that the Bank of England and the industry chose for sterling markets to build on. It's considered "risk-free" because you can't easily lend money for a period of time of less than one day, and the chances of the bank you are very happy to lend to today going under by tomorrow are very slim. It also gives the Bank a clean read on how changes in Bank Rate pass through to the rates banks actually lend at.

The most familiar place to see it is a sterling bank loan. A company borrowing in pounds typically pays compounded SONIA plus a margin. The two parts do different jobs:

  • The SONIA part is floating: it goes up and down with the market, and it's the same for every borrower. It's the price of money itself, and has nothing to do with who is borrowing.
  • The margin is a fixed extra amount of interest, set for that particular loan. It reflects the risk of lending to that borrower: a riskier company pays a bigger margin.

One thing it isn't usually linked to is your mortgage. A UK tracker mortgage typically follows Bank Rate, not SONIA, although the two move together so closely that the difference rarely matters.

SONIA matters for this series for one more reason. When banks trade derivatives with each other, they usually post cash as collateral, and that cash typically earns SONIA. That makes SONIA the natural rate for discounting, so the discount curve at the end of this post is built from it.

Earning SONIA over more than one night

Suppose you have £1,000,000 and you want to earn SONIA on it for a week. You can't lock in a week's rate; you can only lend overnight. So you do what we did in stage 2 of the last post: a chain of one-period deposits.

  1. Lend £1,000,000 overnight on Monday at Monday's SONIA.
  2. On Tuesday you get it back with a day's interest. Lend all of it again overnight at Tuesday's SONIA.
  3. Repeat every day until the following Monday.

Each night you earn interest on the interest from the nights before, so this is daily compounding, exactly as before. The only change is that each link in the chain now has its own rate.

Weekends

Overnight lending only happens on business days. Money lent on a Friday comes back on Monday, three nights later, at Friday's rate. So Friday's rate counts three times. Bank holidays work the same way.

A worked example

Here's a made-up week. To make it interesting, the Monetary Policy Committee cuts Bank Rate by a quarter of a percentage point on Thursday, and SONIA drops with it. Each row is one overnight deposit of everything we've built up so far:

Day SONIA Nights Growth factor that night Balance afterwards
Mon 3.9700% 1 1.00010877 £1,000,108.77
Tue 3.9700% 1 1.00010877 £1,000,217.55
Wed 3.9600% 1 1.00010849 £1,000,326.06
Thu 3.7200% 1 1.00010192 £1,000,428.01
Fri 3.7200% 3 1.00030575 £1,000,733.90

Each night's growth is just the one-period formula from the last post, 1+r n3651 + r\,\tfrac{n}{365}, with that day's rate rr and that day's number of nights nn. Chain them together by multiplying:

Growth factor=∏i(1+ri ni365)\text{Growth factor} = \prod_{i} \left(1 + r_i \, \frac{n_i}{365}\right)

The ∏\prod symbol just means "multiply all of these together", the way ∑\sum means "add them all up". Here it comes to 1.00073390, so the week earns £733.90.

It's common to express this as a single annual rate for the whole period, by asking what simple rate over the whole period would have given the same growth:

1+Compounded SONIA×D365=Growth factorCompounded SONIA=(Growth factor−1)×365D=(1.00073390−1)×3657=3.8268%\begin{aligned} 1 + \text{Compounded SONIA} \times \frac{D}{365} &= \text{Growth factor} \\[4pt] \text{Compounded SONIA} &= \left(\text{Growth factor} - 1\right) \times \frac{365}{D} \\[4pt] &= \left(1.00073390 - 1\right) \times \frac{365}{7} = 3.8268\% \end{aligned}

where D=∑iniD = \sum_i n_i is the total number of days in the period (7 in our example).

This is called compounding in arrears: the rate for the period is built up a day at a time, and you only know it once the period is over.

"Compounded SONIA" for a period is therefore a simple interest rate, which when applied for that period, gives a final interest cash flow of the exact same amount as if the daily compounding calculation using each day's SONIA fixing was done properly.

For comparison, a plain weighted average of the five rates (counting Friday three times) is 3.8257%, which would earn £733.70. Compounding adds 20p. Over a week the effect is tiny, but on large sums over long periods it adds up, and pricing models have to get it exactly right.

Try it yourself below. Change the daily rates, or mark a day as a bank holiday and see the previous day's rate stretch to cover it.

The problem: you don't know the rate in advance

In the last post, a deposit of £1,000 at 5% for a year turned into £1,050, and we knew that on day one. That's what let us say the discount factor was 11.05\tfrac{1}{1.05} and value a future payment today.

With SONIA, if I deposit £1 today and roll it overnight for three months, I'll end up with something, but I don't know what until the three months are up. If the Bank of England cuts rates next month, I'll earn less; if it raises them, I'll earn more.

So where does a discount factor come from now?

Locking in a rate: the overnight index swap

The answer is that the market lets you swap an unknown rate for a known one. The contract that does this is called an overnight index swap, or OIS. In its simplest form:

  • You and a counterparty agree a notional amount, say £1,000,000, and a period, say three months (91 days).
  • You agree a fixed rate KK today.
  • At the end of the period, you pay the fixed interest, N×K×91365N \times K \times \tfrac{91}{365}.
  • In return, you receive the SONIA interest, compounded in arrears exactly as in the worked example above.

The £1,000,000 itself never changes hands. It only exists to scale the payments. In practice only the difference is paid: whoever owes more pays the other.

If you have money rolling overnight at SONIA, take the other side of this swap: receive the fixed rate and pay SONIA. That turns your unknown SONIA interest into a known fixed amount. Whatever happens to rates, the SONIA you earn on your deposit cancels the SONIA you hand over in the swap, and you're left with the fixed rate KK. You've locked in a three-month rate. And because the fixed rate is agreed in a busy market, KK is a price that everyone can see.

The widget below puts £1,000,000 on deposit at SONIA for three months, alongside a swap where you receive KK and pay SONIA. Each simulation draws a random path for SONIA, with the Bank of England cutting, holding or raising rates at two meetings along the way. Run it a few times: the deposit on its own earns a different amount every time, but the deposit plus the swap always earns exactly the fixed interest.

From the swap rate to a discount factor

This is where it gets neat. Let's work out what the swap is worth today, using the same "I'm indifferent" argument as the last post.

The SONIA side. Lend £1 overnight and keep rolling it. It costs £1 today, and at the end of the period it pays back Growth factor\text{Growth factor}, whatever that turns out to be. So receiving "Growth factor\text{Growth factor}" at the end is worth exactly £1 today, even though we don't know what it will be. The SONIA interest is Growth factor−1\text{Growth factor} - 1, and the "1" is just a fixed payment at the end, worth DFDF today. So, per £1 of notional:

Value of SONIA side=1−DF\text{Value of SONIA side} = 1 - DF

The fixed side. This is a known amount, KτK\tau, paid at the end, where τ=91365\tau = \tfrac{91}{365} is the day count. A known payment at the end is worth that amount times the discount factor:

Value of fixed side=K τ×DF\text{Value of fixed side} = K\,\tau \times DF

The fair swap rate is the one that makes the deal fair for both sides, so that neither side is worth more than the other on the day it's agreed:

K τ×DF=1−DFK\,\tau \times DF = 1 - DF

Rearranging:

DF=11+K τDF = \frac{1}{1 + K\,\tau}

This is exactly the one-period discount factor from the first post, with the swap rate KK playing the part of the bank's rate. The difference is that in the first post we made the rate up. Here the market tells us what it is.

For example, if the three-month SONIA swap rate is 3.90%:

DF=11+0.039×91365=0.990370DF = \frac{1}{1 + 0.039 \times \tfrac{91}{365}} = 0.990370

So £1,000,000 promised in three months' time is worth £990,370.34 today.

What I've assumed, and what comes next

We've dropped the idea of a single rate that never changes, but a few simplifications remain:

  • Still no risk. SONIA loans are unsecured, so there is a small chance a borrower doesn't pay back. It's overnight and between very large institutions, so the risk is small, and in practice SONIA is treated as close to "risk-free". That's why it's called a risk-free rate.
  • Payment timing. In practice SONIA is published the next morning, so the final day's rate isn't known until after the period has ended. Real contracts allow for this by looking back a few days (usually five business days), or paying a couple of days late. I've ignored this here.
  • One period. Real swaps can run for 30 years, with payments every year. The maths is the same idea, repeated.

That last point is where the next post goes. One swap rate gives us one discount factor. The market quotes SONIA swap rates for many lengths, from one week to fifty years. Line them up, and we can work out a discount factor for every date, one after another, in a process called bootstrapping. The result is the discount curve: the single most important input to pricing almost any sterling derivative.


  1. Bank of England, SONIA key features and policies. It sets out which deposits count (unsecured, overnight, £25 million or more), the trimmed mean of the central 50% of volume, rounding to four decimal places, and publication at 9am on the following London business day. ↩︎

  2. Bank of England, Transition to sterling risk-free rates from LIBOR. Most LIBOR settings ended on 31 December 2021; the last "synthetic" sterling LIBOR setting ended in March 2024, and all 35 LIBOR settings have now ceased. ↩︎

  3. Bank of England, SONIA interest rate benchmark. SONIA was introduced in March 1997; the Bank of England took over running it in 2016 and reformed it in 2018. ↩︎

Keyboard shortcuts

Ctrl K
Search
/
Search
j
Older post
k
Newer post
?
This list