Intraday Risk Monitor
Table of Contents
This page defines one report: Intraday Risk Monitor. It answers what a book's risk looks like while the day is still moving, so a desk head decides whether to cut a position before the close rather than the morning after. It runs on a thirty-minute schedule through the trading hours and on demand, and it prices from the live cut. It produces the engine's own output archive and records the cut its run minted; the result store that would ingest the archive is not built yet, so the run records where the archive landed and the body it priced from.
1. Purpose
It answers what risk a book carries in the middle of the day, between the close that authorised yesterday and the close that will authorise today. The decision it feeds is the one a desk head makes at the screen: hold, trim, or hedge, now, against figures that are indicative and will be replaced by the close. It is the report that says whether another, deeper report is worth opening before then.
Two facts make the answer usable. First, the figures are known to be indicative: the live cut copies the kind's indicative mark, so a reader knows the numbers will move. Second, the run records the body it priced from, so a reader of the result can say which instant it was, even though a rerun will not reproduce it.
2. Audience
| Role | What it takes from the report |
|---|---|
| trading-desk | The book's position, its delta ladder and its largest movers, during the day. |
| market-risk | An early view of a limit being used up, hours before the close confirms it. |
3. Frequency
Cycle intraday. Frequency scheduled and on-demand: the definition is seeded
with the expression */30 8-17 * * 1-5, which fires it every half hour through
the London trading day on weekdays, and a person may ask for one at any time. It
is not a member of the ten-report Market Risk EOD set.
The concurrency policy is queue: a firing that arrives while a run of the same
definition is in flight waits rather than being dropped, because a monitor that
skips a half hour answers a question nobody asked.
| Field | Value |
|---|---|
| Cycle | intraday |
| Frequency | scheduled, on-demand |
| Cut | LIVE |
| Batch | none |
| Owner | market-risk |
4. Inputs
- Trades selected by scope. The seeded definition reads the entity's whole
portfolio,
Global Portfoliofor a trading entity, because a monitor is run on any book under it; the scope shape the catalogue allows isbookorportfolio. - Market data at the instant the run starts. The run mints a LIVE cut, which holds what the store held then: the published sets in use, the trade population, and the versions of the reference data and of the engine.
- The risk report configuration the definition binds,
Intraday risk - Global Portfolio, which switches on the three analytics below and states the base currency.
5. Outputs
The run produces the engine's own output archive with this report's CSV artefacts, and it records where that archive landed against the run. It also records the cut the run minted: the cut's identity, its label, its kind and its instant. The rows a reader would query are a later phase; the result store is designed on Report post-processing and is not built yet.
A LIVE result is reproducible only by naming its cut. Two runs of the monitor on one day are two bodies and two results, comparable as a movement and not as one figure computed twice.
6. Measures
The set is the configuration's. The measures below are the ones the business catalogue states this report carries; their definitions are on Risk reporting and are not repeated here.
| Measure | Meaning |
|---|---|
| PV | Present value of the scope at the instant. |
| Delta ladder | Delta by tenor bucket and currency pair, for the book. |
| Top movers | The ten positions whose P&L moved most since the previous read. |
| VaR estimate | Parametric value at risk at the stated quantile. |
| Limit utilisation | How much of a limit the current position uses. |
7. Columns and sections
The run binds three analytics, so the archive carries the files a reader uses and the intermediate file one analytic hands to another.
npv.csv, written by the npv analytic, gives one row for each trade. A reader
sums its NPV(Base) column over the book to obtain the PV measure. Its columns
are TradeId, TradeType, Maturity, MaturityTime, NPV, NpvCurrency,
NPV(Base), BaseCurrency, Notional, NotionalCurrency, Notional(Base),
NettingSet and CounterParty.
sensitivity.csv, written by the sensitivity analytic, gives one row for each
trade and risk factor. The delta ladder is this file read by factor and summed
over trades. Its columns are TradeId, IsPar, Factor_1, ShiftSize_1,
Factor_2, ShiftSize_2, Currency, Base NPV, Delta, Gamma,
Currency(Trade), Base NPV(Trade), Delta(Trade), Gamma(Trade) and
Scenario. A Delta is money per shift, and the shift is already inside it.
var.csv, written by the parametricVar analytic, carries the VaR estimate and
its breakdown by risk class. The analytic reads sensitivity.csv as its input,
which is why the file type marks that file as an intermediate the run must
produce before the estimate can be computed.
scenario.csv holds the value of each trade in each shifted market, with
columns TradeId, Factor, Up/Down, Base NPV, ShiftSize_1,
ShiftSize_2, Scenario NPV, Difference and Base Currency. It is the
evidence behind the Delta column.
The top movers and the limit utilisation are not columns of any of these files. The catalogue states them as measures the report carries, and neither has a producing analytic in the seeded configuration.
8. ORE configuration
The configuration binds three analytics, in this order. The fragment for
parametricVar is trimmed from
external/ore/examples/MarketRisk/Input/ore_parametricvar.xml; the npv and
sensitivity fragments are the shape every valuation document states.
<Analytic type="npv"> <Parameter name="active">Y</Parameter> <Parameter name="baseCurrency">GBP</Parameter> </Analytic> <Analytic type="sensitivity"> <Parameter name="active">Y</Parameter> <Parameter name="marketConfigFile">simulation.xml</Parameter> <Parameter name="sensitivityConfigFile">sensitivity.xml</Parameter> <Parameter name="recalibrateModels">Y</Parameter> <Parameter name="outputSensitivityThreshold">0.000001</Parameter> <Parameter name="parSensitivity">Y</Parameter> </Analytic> <Analytic type="parametricVar"> <Parameter name="active">Y</Parameter> <Parameter name="quantiles">0.99</Parameter> <Parameter name="method">DeltaGammaNormal</Parameter> <Parameter name="breakdown">Y</Parameter> </Analytic>
9. Parameters
A definition of this report states the rows below. The values are the seeded ones; the domains are the ones the engine and the classification taxonomy fix. The mechanism is on ore parameter.
| Parameter | Domain | Seeded value | Meaning |
|---|---|---|---|
| cut_kind_code | a kind of cut | LIVE | The kind of cut the run mints at the instant it starts. |
| scope_portfolio | a portfolio of the party | Global Portfolio | The subtree the run reads. |
| base_currency | ISO 4217 code | the entity's | The currency the figures are expressed in. |
| market_data_type | live, eod or date | live | The market data the run reads. |
| parametricVar.quantiles | a quantile or a list | 0.99 | The confidence level of the VaR estimate. |
| parametricVar.method | an ORE method | DeltaGammaNormal | How the estimate is computed from the sensitivities. |
| parametricVar.breakdown | Y or N | Y | Whether the risk classes are broken out. |
| sensitivity.recalibrateModels | Y or N | Y | Whether models are recalibrated before bumping. |
| sensitivity.parSensitivity | Y or N | Y | Whether par-rate sensitivities are computed. |
| sensitivity.outputSensitivityThreshold | a real | 0.000001 | The smallest figure the engine writes. |
| sensitivity.sensitivityConfigFile | a file name | sensitivity.xml | The sensitivity configuration the analytic shifts from. |
| sensitivity.marketConfigFile | a file name | simulation.xml | The risk factor description the analytic shifts. |
10. A worked read
A reader opens this report when a book is moving and the answer cannot wait for the close.
- Open the latest run for the entity and the book. Read the run instance first. It names the cut the run minted, and that cut says which body was priced.
- Take
npv.csv, select the rows for the book and sumNPV(Base). That is the PV measure at the instant the run started. - Compare with the previous run's total. Two monitors of one day compare as a movement, because each priced a different body.
- Take
sensitivity.csvand group byFactor_1. SumDeltain each group. Sort the groups by absolute total, and read the largest as the risk the desk must decide about before the close. - Read
var.csvfor the estimate at the stated quantile. The estimate is computed from the sensitivities, so a change here follows a change in the delta ladder. - Decide: hold, trim or hedge now. Then read the close report after the market shuts, for the figures that stand.
11. What is not built
- The top movers and the limit utilisation have no producing analytic. The catalogue states both as measures the report carries, and the run writes neither.
- The live cut is mintable only where the store answers the parts of a body, and an environment with no published market data set mints the cut and then refuses at the engine, because there is no snapshot to price from. The engine's refusal is recorded against the run and against the cut it minted, so a reader is told which of the two failed.
- No volatility market data is seeded, so a volatility factor has nothing to shift.
- The result store is not built, so the rows a screen would query do not exist and a reader opens the CSV files in the archive.
12. Test coverage
No substitute is defined for this report, so a test run of it executes every phase: it gathers trades and market data and assembles its own bundle. The report is exercised by the full-pipeline proof, not by a smoke test, and the cut resolution it relies on is exercised by the task that lit the intraday reports: Light the intraday reports on the LIVE cut.
13. Related
- Reports, the inventory this page is listed in.
- Risk reporting, the classification taxonomy and the measures catalogue.
- The cut is the body a run prices from, what a LIVE cut holds and what it does not.
- Headline Position, the shallow summary a reader opens first, and this report's sibling on the live cut.
- Intraday Change, what moved since a stated time, rather than where the risk sits now.
- Bump and Reprice Spot Greeks, the directional view this monitor's delta ladder points at.
- Trades Since Last In, the trades booked since a stated instant, when a move needs an explanation.
- Report execution pipeline, the phases every run goes through.
14. See also
- Report families — the structure note that orders this cluster, and where to read this page in it.
- Open Source Risk Engine, the valuation engine whose
parametricVaranalytic produces the estimate.