1 min readBlockingBank of England banking taxonomy 4.1.1Updated 11 November 2026

Market risk: internal model approach 1A (MKR IMA1A): the constrained expected shortfall measure for the risk factor Foreign Exchange Risk (OF24.01.01.01, Bank of England check boe_b0364)

A blocking check on the market risk: internal model approach 1A (MKR IMA1A) template (OF24.01.01.01), in the own funds (PRA001) return.

Line4 Check runs it on the own funds (PRA001) return, proven on test files, check by check: the same outcome on all three test files of that return.

The rule in plain words

The constrained expected shortfall measure for the risk factor Foreign Exchange Risk

What to do if your return fails it

  1. 01Open the table below and find the cells the rule reads.
  2. 02The check applies only when its first part holds in your return. When it does, the second part must hold too: fix the second part, or correct the first.
  3. 03The Bank of England allows a small rounding difference, worked out from the decimals each value is reported with.
  4. 04It runs only when your filing indicators mark OF24.01.01 as reported.
  5. 05This is a blocking check. A return that fails it is normally rejected, so fix it before you submit.

The cells it reads

Market risk: internal model approach 1A (MKR IMA1A) (OF24.01.01.01)

Rows

  • R0240Foreign exchange risk(FX)
  • R0250with liquidity horizon ≥ 10 days
  • R0260with liquidity horizon ≥ 20 days
  • R0270with liquidity horizon ≥ 40 days

Columns

  • C0050ES (F,C)
  • C0060ES (R,C)
  • C0070ES (R,S)
  • C0080Total
  • C0140ES (F,C)
  • C0150ES (R,C)
  • C0160ES (R,S)
  • C0170Total

Which returns it applies to

Line4 Check runs it on the own funds (PRA001) return on Bank of England banking taxonomy 4.1.1. The Bank of England applies it to own funds (PRA001) returns, as a blocking check.

The Bank’s own words and formula

The plain words above are the Bank of England’s own, word for word, from its list of validations.

Show the formulaShow

The Bank of England's formula. Cells are written as {t: table, r: row, c: column}.

If (({t: OF24.01.01.01, r: 0250} * {t: OF24.01.01.01, r: 0250}) + (({t: OF24.01.01.01, r: 0260} * exp(1, 1, 2)) * ({t: OF24.01.01.01, r: 0260} * exp(1, 1, 2))) + (({t: OF24.01.01.01, r: 0270} * exp(2, 1, 2)) * ({t: OF24.01.01.01, r: 0270} * exp(2, 1, 2))))>=0 then {t: OF24.01.01.01, r: 0240} = exp(({t: OF24.01.01.01, r: 0250} * {t: OF24.01.01.01, r: 0250}) + (({t: OF24.01.01.01, r: 0260} * exp(1, 1, 2)) * ({t: OF24.01.01.01, r: 0260} * exp(1, 1, 2))) + (({t: OF24.01.01.01, r: 0270} * exp(2, 1, 2)) * ({t: OF24.01.01.01, r: 0270} * exp(2, 1, 2))),1,2) else true()

Where it applies, in the Bank's words (its scope):

scope({t: OF24.01.01.01, c:0050;0060;0070;0080;0140;0150;0160;0170, f: banking, fv: banking_reporting})

Every PRA banking rule on OF24.01.01.01

Checks like this one, run at the point of submission, are the first step to real-time supervision. Line4 builds SupTech software for financial regulators that runs checks like these as each return arrives.