UK topic · policy rate and the gilt curve

What do rates say — and what can this site honestly say back?

Bank Rate is 3.75% and the 10-year gilt 4.8802% — and no model on this site forecasts either.

01 — where it stands

The numbers, as the snapshot stores them.

Bank of England daily observations, to the precision the Bank publishes them. Nothing is rounded on the way in or out, so the yields carry four decimal places.

How those readings have moved, derived from the same stored observations rather than typed in: Official Bank Rate +0.000pp against five observations earlier (2026-07-30); UK nominal par yield, 5 year -0.174pp against five observations earlier (2026-07-29); UK nominal par yield, 10 year -0.125pp against five observations earlier (2026-07-29); UK nominal par yield, 20 year -0.085pp against five observations earlier (2026-07-29).

02 — what the models see

The model view, and the same breath its limits.

No model in this suite forecasts Bank Rate or gilt yields. That is the honest answer, and this page will not dress it up as coverage. What the registry actually says:

  • boe-svar outputs GDP forecast, inflation forecast, identified shocks, uncertainty ranges — no interest-rate path is among them.
  • pe-microsim lists interest rates in its own cannot-answer field.
  • psl-og does report an interest rate, but only as part of a long-run steady state, and it cannot answer a short-run forecast. A long-run comparative static is not a market view.
  • frb-us produces a federal funds rate, for the US only.

So the numbers above stand alone: observed Bank of England data, dated and archived, with no forecast beside them. They still do work here — they are the market backdrop the other topics are read against, and the conditioning environment any future rate model would have to beat.

This is the one topic where the useful output is a refusal. If you need a rate forecast, the suite does not have one; the model directory shows what it does have, and the evidence page shows how well.

03 — run it yourself

Every number above is a command away.

With no model to run, what is runnable is the data itself and the claim above. The vintage store is static files over HTTPS — no key, no account, stdlib only:

import json, urllib.request

BASE = "https://policyengine-macro.vercel.app/data"
with urllib.request.urlopen(f"{BASE}/vintages/boe/uk_bank_rate/2026-08-10.json") as response:
    bank_rate = json.load(response)
print(bank_rate["vintage"], bank_rate["observations"][-1])   # 2026-08-10 {'period': '2026-08-06', 'value': 3.75}

And the refusal is checkable rather than asserted:

pe-macro model-status   # every model, its country, status and access
pe-macro model-status boe-svar --json   # outputs and cannot_answer, verbatim

Over MCP the same registry is list_model_capabilities and get_model_status; recommend_model returns an explicit warning rather than a guess when no model supports a request. Connect a client →

04 — the data behind it

Source, coverage, and the immutable file.

Every value on this page is read from the vintage file linked here, not from a live call.
SeriesPublisherCoverageSnapshotsThis vintageNext release
Official Bank RateBank of England · IUDBEDR2020-01-02 – 2026-08-0672026-08-10.jsonnot announced
UK nominal par yield, 5 yearBank of England · IUDSNPY2020-01-02 – 2026-08-0572026-08-10.jsonnot announced
UK nominal par yield, 10 yearBank of England · IUDMNPY2020-01-02 – 2026-08-0572026-08-10.jsonnot announced
UK nominal par yield, 20 yearBank of England · IUDLNPY2020-01-02 – 2026-08-0572026-08-10.jsonnot announced

The Bank publishes no announced next-release date for these series, so the column says so rather than guessing a schedule.

The snapshot files are append-only and never edited, so a number published here can be reproduced against the data as it stood — browse the store, its release calendar, and the as-of recipe →