Use your data
Upload your own positions and scenarios and Risk Desk builds the same exposure, stress and tail report it draws for the public example, from your numbers instead. It fetches no market data, fits no model and places no order. Every figure comes from the values in your files.
Build a private report
What the files must contain
Both follow the same contracts the MCP tools use. Unknown fields, nonfinite numbers, duplicate position ids and incomplete scenarios are rejected with what is wrong. Nothing is repaired and no missing value is invented.
Positions and scenarios
as_of, currency as three uppercase letters,
source, data_mode of synthetic or
user-licensed, a positive nav,
positions each with a unique id,
asset, signed market_value and
instrument_type of linear, and
scenarios each with a unique name and a
shocks mapping naming exactly every asset. Shocks are simple
returns, so -0.10 is a ten percent fall. Returns below -1 are rejected.
Profit and loss observations
The same provenance fields, plus pnl with at least two
monetary observations, confidence strictly between zero and
one, a positive whole horizon_days, and a positive
portfolio_value. Each observation must already span the
stated horizon. No scaling is applied and no observation is dropped.
Before you upload
Every amount must already be translated into one base currency. This service converts nothing. Both files must state the same currency, or the report is refused rather than mislabelled. Positions must be linear; options, nonlinear margin and credit migration do not fit this contract. Counterparty XVA is not available here at all, because it reads a local project directory that a hosted service cannot see.
The example files in the
public repository, under examples/, are working inputs in
exactly this shape.