Specifying the Task List
Introduction
The task list contains different types of task and is configured to match the exact workflow requirements of the customer. Each task can have dependencies so some tasks must run successfully before others can commence. The tasks at the top of the list are "load" tasks. The workflow server exposes web services which can be called in order to load data. Once the loads have completed the workflow server will start to trigger "calculation" tasks. Finally, once all the calculation tasks are completed the workflow server will trigger the publish task to generate reports which can be viewed or automatically collected from a protected URL.
Besides being of a particular type each task has its own description so it is easy to follow the logic of the task list and how it matches the needs of the customer.
The system always opens on the task list and the first thing the user will notice is the colour coded Status of tasks:
Task Types
Curve Key | Description |
BackTesting | Follows the FRTB (IMA) backtesting specification. Compares hypothetical and actual P&L against Var at 99% and 97.5% confidence over 250 business days and counts the number of occasions P&L exceeds Var. If any of the four measures exceeds the maximum allowed the desk fails IMA backtesting. |
BACva | Calculate CVA capital using Basel FRTB basic method. This task must have an SACCR task as a dependency for collection of trade elements used in the BA-CVA calculation. |
BulkBackTesting | Backtesting of VaR agains theoretical P&L over a user-defined period. Used in conjunction with BulkMarketVar task. |
BulkMarketVar | Calculate Var for user-defined categories or category combinations within a portfolio all in a single call to the risk engine. The system supports historical simulation and monte carlo simulation for measuring Var. |
Capital | Aggregate total regulatory capital for FRTB across desks using SA (standardised approach) and IMA (internal models approach), and SA-CVA or BA-CVA. |
CorrelationEstimation | Calculate correlation between rates from historical data. |
CreditExposure | Calculates CVA and PFE credit exposure statistics. PFE (potential future exposure) uses real-world assumptions for curve evolution within the Monte Carlo Engine. CVA (credit valuation adjustment) uses risk-neutral assumptions in the Monte Carlo engine to measure the expected loss. |
CreditExposureStress | Calculates sensitivities to credit exposure by running a full Monte Carlo credit exposure simulation for each starting point, where a starting point is the set of initial rates impacted by a defined stress test. Multiple sensitivities can be run at once. The system streamlines the calculation by re-using base results for trades which are not affected by a particular test. |
CreditStress | Measure the change in value of a counterparty portfolio due to a shift in rates. Also measure the impact on a collateral agreement including the triggering of collateral payments. Multiple credit stresses can be defined in a single calculation. |
CreditWhatIf | Allow a user to construct a trade and run a user-defined what-if calculation to see the effect of the trade on portfolio credit exposure. |
CurveGeneration | Generate zero curves or other derived curves from market rates. Several bootstrapping methods are supported, and others can be added according to customer specifications. |
Decomposition | This task compares a portfolio over two dates. It segments the portfolio into maturing, ongoing and new trades. From there it explains the Mtm change in the portfolio from the first date to the second including changes due to cashflow events, time value (theta), position (eg volume) changes, and market rate movements. |
ExpectedShortfall | Calculate expected shortfall as defined in FRTB IMA. This includes a requirement to run historic simulation across a stressed period. Because there may be incomplete rate history for this volatile period, the stressed result is scaled up further. The scaling factor is derived from simulation on recent rate history for the full portfolio divided by the partial portfolio supported by the stress rate period. The liquidity of each instrument is taken into account by simulating a larger holding period (and therefore greater volatility) for illiquid instruments, as defined by Basel. This task type can also be configured to perform calibration (work out the most volatile year in history for your portfolio by sampling over a large scale historic data set). |
ExportMarketSensitivity | Export FRTB style sensitivities that have been generated from the system. The sensitivities can then be input into a bank's own FRTB-SA aggregator. The sensitivities may even be loaded back into Vector Risk in a different workflow environment |
ExportVarVector | Export the P&L vectors produced by Var or FRTB IMA expected shortfall calculations. These P&L vectors can then be re-used inside a central risk aggregation engine. The P&L vectors may even be loaded back into Vector Risk in a different workflow environment |
HedgeEffectiveness | Measures the effectiveness of a hedge by comparing the change in value of the actual portfolio and the hedge across a range of historic rate shift scenarios and calculating a statistical fit. |
InternalDRC | Calculate default risk using a Monte Carlo default model with large number of paths (eg 10,000,000). This calculation meets the DRC requirement for FRTB IMA. |
LoadCounterparty | Load counterparty and credit pool details, including details of collateral agreements. |
LoadCurveEvol | Load parameters to control curve evolution in monte carlo simulations. These include values such as volatility and mean reversion of curves, and correlations. |
LoadDailyPL | Load hypothetical and actual P&L values to support the P&L attribution process defined for FRTB IMA (internal models approach). |
LoadDefaultRisk | Load data to support FRTB IMA default risk calculations, including obligor PD (probability of default), default statistics and correlations for obligors, industries and regions. |
LoadMarketSensitivity | Load sensitivities matching the prescribed vertices for the calculation of market risk capital using FRTB SA (standardised approach). |
LoadRate | Load market data; curve definitions, rates, implied volatility surfaces etc. Historic rate series can also be loaded here when new curve definitions are added to the system. Corporate events needed for historic simulation of equity prices are catered for here. |
LoadTrade | Load trade details. Some products accept cashflow input. It is also possible to load delta/gamma or grid sensitivities to cover some or all of the trade portfolio. |
LoadVarVector | Load Var vectors (otherwise known as P&L vectors) which are essentially the change in value of a portfolio due to a rate scenario. Typically the rate scenarios used are derived from historic rate perturbations. |
LoanImpairment | Calculate a provision for a portfolio using Net Flow Rate (NFR) methodology. |
Margining | The value or margin that must be held as security to cover the potential change in value of a portfolio (to a certain confidence) due to market movements. This is really a Var measure performed on a counterparty portfolio and takes into account the current Mtm of the portfolio. |
MarketInternal | Aggregate regulatory capital for FRTB IMA. The values to be aggregated are sourced from ExpectedShortfall, InternalDRC and stress tests for NMRF (non-modellable risk factors) specified by Basel. |
MarketStandard | Measures market risk capital according to the FRTB SA (standardised approach) specification. The inputs to this task are delta/vega/curvature sensitivities at vertices prescribed by the Basel model. These vertices may be generated in the system by a special application of stress testing in the MarketStandardPreparation task, or loaded from outside via the LoadFRTBSensitivity task. |
MarketStandardPreparation | Generate FRTB SA sensitivities required to generate delta, vega and curvature. Also extract required data for SA DRC (default risk calculation) and SA RR (residual risk). The results of this task become inputs to the MarketStandard task. |
MarketStress | Stress testing measures the change in value of portfolios due to a change in market rates (the stress test). Stress tests can be run at a desk level or for all levels in a business unit hierarchy. Multiple stress tests can be defined in a single calculation. The stress testing engine caters for a variety of stress definitions including bpv, parallel and user-defined shifts, and absolute or relative shifts. |
MarketVar | Calculate Var (value at risk). A statistical measure of market risk, performed on portfolios at a desk level or for all levels in a business unit hierarchy. The system supports historical simulation and monte carlo simulation for measuring Var. |
MarkToMarket | Value all the trades in a specific load trade task. If the source Mtm is supplied in the load data, this task type allows reconciliation between the source and risk Mtms to tolerances specified by product. |
Milestone | This task does not actually perform any action, but it is a convenient way of simplifying task dependencies. For example a milestone might be set with dependency on all of the load and estimation tasks. Once these tasks are complete the milestone will switch to "Success" status. Calculation tasks can be set up with just this dependency, instead of having all the load tasks repeated in each dependency list. A milestone task will check trade loads for missing or unknown book and counterparty fields. |
ParameterEstimation | Calculate curve evolution parameters conforming to specific evolution models from historical data. |
PLAttribution | Compare theoretical P&L calculated in the risk system against hypothetical and actual P&L loaded from trading and accounting systems. P&L attribution is a mandatory component of FRTB IMA. |
Publish | This task will generate reports on results from all tasks in its dependency list. The results can be seen in the "Reporting" section of the GUI. |
RateAnalysis | Scan and report on historic rate series for missing data, outliers (suspiciously large movements), stale rates (unchanging from day to day), and rate equal to zero. |
SACCR | Calculates credit capital according to the Basel III standardised model SA-CCR. |
SIMM | Calculate initial margin defined in the SIMM methodology, using sensitivity inputs from a SIMMPreparation task. |
SIMMPreparation | Calculate sensitivities matching the specification in the ISDA SIMM methodology. |
SACva | Calculate FRTB SA-CVA capital required by FRTB from sensitivities calculated in dependent tasks of type SACvaSensitivity and SACvaSensitivityHedge. |
SACvaSensitivity | First run a Monte Carlo simulation for each risk factor by applying an initial shock the risk factor to find its CVA sensitivity. |
SACvaSensitivityHedge | Calculate sensitivities for any CVA market risk hedges. |
TheoreticalPL | Calculate theoretical P&L by valuing yesterday's portfolio against two sets of rates (today and yesterday) and subtracting yesterday's valuation from today's valuation. |
Configuration
The image below shows the Configuration view where the task list is represented as a tree with an edit pane on the right for updates, additions and deletions. Only Vector Risk personnel are permissioned to make changes to configuration files. You can learn about the configuration settings for each task type in the detailed descriptions for each task that follow.