Home > Analytic Reference > Simulation > Drilldown

Drilldown

Introduction

The analytics API allows the caller to specify intermediate results to be stored from simulations. This includes initial rates and trade MTMs, as well as rate scenarios, trade and portfolio MTMs from these scenarios and even rates used in a particular valuation (that have been interpolated off a curve or surface). All of these results are accessible via the risk engine’s drilldown web services.

A single simulation can generate huge quantities of drilldown data so in a production run much of the drilldown would typically be switched off. The system captures the original web service call allowing a user to re-run a calculation. A “slicing” object allows a user to request drilldown on an intersection of trades, curves, paths and time steps in the re-run targeting the area of concern.

The system can also capture an “enhanced” copy of the web service call including all of the rates that were picked up from the database. This allows the calculation to be faithfully re-run at any time in the future without reference to the risk engine database where rates might be updated.


Drilldown Settings

When you view a calculation result there is a treeview representing the inputs to the calculation. This treeview contains a drilldown object. By and large, each of the elements in this drilldown object corresponds to whether a particular drilldown table should be populated or not.

The following table lists primary drilldown settings and their meaning:

Primary Setting Meaning
callXML Inputs received by the analytics stored as xml.
fullXML Inputs received by the analytics merged with information extracted from the database (primarily rates), stored as xml.
results The primary results returned in the analytic call.
initialRates Store rates used in initial mtms (nb: this means for example that if a point on a zero curve is requested, all the rates on that zero curve are stored).
initialTradeMtm store base mtms for each trade.
initialTradeRates Store actual rates used by valuation functions to generate the base mtms. These rates may be the result of interpolation on the actual rates in the system. Also captured is any redirection of the supplied curve due to proxies, overrides or references. See the section Curve Selection for more detail.
monitorProgress The simulation updates a table with percentage completed at various points through the simulation to allow the GUI to track progress.
recordTiming Record the elapsed and CPU time taken for different steps in the calculation (initial valuation, scenario generation, vectorised valuation during the simulation etc). Also, break down the time spent on valuation by product.


The following table lists drilldown settings for slices: trade, curve and  path / timestep / scenario - depending on the type of calculation:

Slice Setting Meaning
allTrades Include all trades T/F in scenario drilldown (affects pathTradeMtm and pathTradeRates).
allCurves Include all curves T/F in scenario drilldown (affects pathEvolvedRates).
allPaths Include all paths T/F in scenario drilldown (affects pathTradeMtm, pathTradeRates and pathEvolvedRates). Applies to simulations (historic Var, and Monte Carlo Var, PCE or CVA). 
allStressIDs The stress testing equivalent of the 'allPaths' setting above.
trades Specific list of trades to include in scenario drilldown if allTrades is False. Each trade is actually a “TradeKey” which is composed of “sourceSystem, SourceID".
curves Specific list of curves to include in scenario drilldown if allCurves is False. Each curve is actually a “CurveKey” which is composed of “market, curveType, asset, priceCurrency”.
paths Specific list of path IDs to include in scenario drilldown if allPaths is false.
stressIDs Specific list of stress IDs to include in scenario drilldown if allStressIDs is false.
pathTradeMtm Store trade mtms from the specified paths or stressIDs.
pathEvolvedRates Store rates used in the specified paths or stressIDs. nb: As per initialRates the whole curve is captured if a single rate is requested.
pathTradeRates Store actual rates used by valuation functions in specific stress scenarios. As per initialTradeRates, interpolation may be involved. Also shown is any redirection of the supplied curve due to proxies, overrides or references. See the section Curve Selection for more detail.

 



See also
Historic Simulation
Monte Carlo
Parameter Estimation