| Engine | Home
 
RiskServers SA
Financial-Risk-Manager Schema
Repository Guide
 
Keywords:

Schema, Object Definition, Entities to Column Mapping, Data Dictionary, Credit Risk, Market Risk, Trade Capture, Position Management, Implied Volatility Surfaces, Scenarios, Analysis, Reports.

Audience: Intermediate and Advanced users


Financial-Risk-Manager Schema:

The Financial-Risk-Manager Schema is a generic unified framework covering all aspects of Financial Risk Management.

As such this Schema covers the entire suite of application components that are part of RiskServers Financial-Risk-Manager suite.


The Financial-Risk-Manager Schema is based on a generic design of optimized neutral objects that are orthogonal and canonical.

This schema capitalizes on hundreds of man-years developing best of breed Risk Management applications and enterprise application integration.

Note: The Financial-Risk-Manager Schema comes in two versions:
a strongly coupled version and loosely coupled version.

- The strongly coupled version is based on an identifier based Relation between entities.
- The loosely coupled versions where objects are coupled through their names.


Thre are actually very good reasons why both versions are needed.

The Loosely coupled version is often used with online applications since it offers the advantage of flexibility, immediacy and ease of integration, whereas the strongly coupled version is often used offline when large quantities of data must be stored.




Application & Purpose:
This Schema is designed to serve Object Oriented and Service Oriented Architectures
As such it has two direct applications:
 
  1. It is used directly to create a unified risk management database with all the necessary entities to cover large amounts of data in market, credit and country risk management. Either in one single database system or multiple concurrent databases on different servers (see groups).
  2. It is parsed by the Data Dictionary Factory (DDF) to Generate Intermediate Data Objects.
    This object layer is used in high availability systems to ensure Transaction Security and Data integrity at very high speeds.
Format
The Schema is formatted as Normalized ANSI SQL, which can be used directly to generate Database Tables in any ISO ANSI SQL compliant database(s).

Download
The Financial-Risk-Manager Schema is available to all registered users. Registration is free.
The Complete Schema is available Here




Design
Every entity has been specifically designed to balance flexibility against resource efficiency .

Implementations:

This schema has actually two Implementations.
- A name based version.
- An Id based version.

All C++ components are designed to work with both Schemas interchangeably.
i.e. String based Columns / Fields (varchar) can be switched to Identifiers. In this case
the Field Name always takes an "Id" Suffix
Example:
TABLE EXPOSURE{
.............
equity varchar32 NULL, where Equity could be "S&P500, STOXX50, etc
switches to
equityId int default '0', where equityId would be '21', or '38' if S&P500 equityId was 21 and STOXX50

..}
Unfortunately, both versions have advantages and disadvantages depending on Integration Requirements, Flexibility, Usage (Resource Intensive public Based Web-Server, Private Web-Server, or Stand-Alone), Speed, Market Data Definition management quantity of information stored, replication and maintenance.


Organization

The schema is organized into six groups. Each group covers multiple domains also called sub-groups. Sub Groups are organized according to implementation functionality.


Examples of sub Group Coverage

Note: Sub Groups are often related to each other either directly or indirectly, which complicates design.

  • General Market-Data Definitions (Denomination currency, Table Names, quote convention, etc).
  • Market Data Time-Series Management for Risk Factor Calculations.
  •  Stochastic Variable Storage.
  •  
  • Risk Factor Control, What-If Scenario and Stress-Test Management.
  • Position Management, including Exotic Cash-Flows, Market Tags
  • Credit Related Terms and Conditions.
  •   Parties, Accounts, Obligors, ...
  • Credit Risk Data for Survival and Bankruptcy Analysis.
  • Country Risk Exposure and Default Analysis.
  • Methodology and Analysis Management.
  • Market, Credit, Liquidity and Country Risk Analysis.
  • Output Reports.
  • User Defined Reports, Dimensions of Risk, etc
  • Automated and User Defined Sequenced Reports.

 


Each sub-Group belongs to one of the following Repository Groups
  • Market
  • Trade
  • Credit
  • Analysis
  • Reports
  • System
Schema Sub-Groups

Control Through Connectors

Repository Groups are key to leveraging large amounts of data.
Repository groups allow you to manage related data in multiple databases.

This means you can manage each Repository Group through multiple database boundaries (i.e. database servers) or you can put all Repositories into one single database.

When you setup the Win32 Stand-Alone package, the default configuration will setup all tables into one single database.
You can however modify this configuration by changing each repository groups' active database connector in the settings tab.






Structure:
Market Data
Credit Data
Positions -Trade Data
Analysis
Reports
System
 




 
Market Data Schema  

What you need to know about Market Data Entities:

The Market Data Schema is responsible for importing, creating and storing large quantities of Risk Factor prices or levels snapped from multiple source systems.

These prices or levels are then used by [Unitized] Time-Series-Manager to compute stochastic variables that are either fed directly into the risk engine realm or stored into the database for further processing.

The
Entities in the Market Data Schema are specifically designed to:
  • Import, Create and Manage Risk Factor Definitions (i.e. EQUITIES, CURRENCIES,...),
  • Store large quantities of TIME SERIES (i.e fast retrieval of large amounts of Snapped Prices, Levels)
  • Store large quantities of Computed Stochastic Data (Volatilities, Correlations, etc)
  • Store Time-Stamped Stochastic data to compute changes of Volatility and Correlations, Volatility of Volatility, Mean Reversion, etc
The Market Schema covers every step of Market Data Computation:
  • Automatic Risk Factor Import from external source (Excel, Feeds, Flat Files).
  • Automatic Creation and Normalization of new Risk Factors.
  • Market Data Definition Management.
  • Scrubbing and filtering policies applied to external data.
  • Time Series Price Management (Reordering, Computing Missing Points.
  • Export to external systems.
  • Store computed stochastic variables such as volatilities, correlations, forward volatilities and Correlations, Mean-Reversions


  • Market Data Entities are separated into three sub-groups:



    1. The Risk Factor Import and Export Tables.
    2. The asset and Risk Factor Vertex Definition
    3. The Risk Factor Value Storage.

    Market Data Table Relationship

    Continue...

     

Credit Data Schema

What you need to know about the Credit Schema:
The Credit Schema covers all Credit Risk Related Terms and Conditions from account definitions, Collateral, Country Sovereign Risk,(Wrong Way Country Exposures, Correlated Events, Impact , etc), Advanced Netting Schemes, Credit Exposures, Default Losses, Time-To-Default, Credit Curve Management: Survival Probabilities, Hazard Rates, Marginal Conditional (No) Default Transition Migration, Rating Systems and Obligor Correlations.

The Most important entities of the Credit Data Schema are:
  • ACCOUNTS
      The ACCOUNTS binds the Trade with the Paying and Receiving Parties Netting Agrreement and Colllateral, Credit Tags and dimensions can be attached to both position and account.
    • COUNTERPARTY (The Tag Hierarchy definition).
    • OBLIGOR (The Obligor for Credit Sensitive Assets).
    • TAG (Credit Tag Definitions.
    • DIMENSION (The Dimension Category).
    DEFAULT_PROBABILITY SURVIVAL MARGINAL-CONDITIONAL HAZARD TRANSITION OBLIGOR_CORRELATION
    • RATING_GROUP_NAME
    • Defines the Rating System
  • RATING
  • defines each individual Rating Characteristics
  • RATING_WEIGHT defines each rating weight applicable to OCDE and non-OCDE corporations and banks.
  • RECOVERY: RECOVERY_RANK RECOVERY_GROUP,RECOVERY_GROUP_NAME determine the Recovery Groups available to the user.
  • COUNTRY, COUNTRY_VIEW, DEVALUATION
  • The Credit Module leverages most of its power from Group definitions.

    Groups are not available to Guests as they only can access a single Group (i.e. the  Default Group) which is the DefaultGroupId.
    Active Users can define unlimited amounts of Groups that are activated through the Default Data Object. It is however the responsibility of each user to maintain these groups in a reasonable manner. System administrators and users can however always delete inactive groups and their data.

    Each Group of Data has an active Group Identifier. This identifier is bounds to the user's active session through the Default Data Schema. This configuration allows users to stored multiple copies of data for sequences simulations, scenario management, etc.


Position Schema

What you need to know about the Position Schema:

The Position Schema is an essential component of  PositionManager, Cash-Flow-Manager and Implied Volatility Manager.

The Position Schema unites two separate object oriented hierarchies:

The Contract Hierarchy.
The Instrument Hierarchy.


Every Trade is defined with a Common Header, also known as the trade envelope. This header or envelope is called the position definition, The position definition binds all the terms and conditions that are part of all trades:
As such, the position serves as the key between other trade entities. such as the trade's settlement flows, the exposures Legs, option or exchange traded future terms and conditions.

The Common Header or Trade Envelope,  contains all the terms and conditions that are relevant to the Trade as a whole. (The Trade Name, the Asset Type, The Trade Identifier, The Tags, The Account (the Paying/Receiving Party) the Settlement Schedule, etc.. This data is stored in the POSITION table.

As mentioned previously, the POSITION binds other instrument entities together through the Position identifier. The Position is always related to an Exposure based entity (usually the EXPOSURE table or the Option table (called OPT, since OPTION is a reserved ANSI keyword.),
The Exposure (also known as the Trade Exposure or Trade Leg) can have attached one or multiple events or flows, whereas the option (OPT) tables can have different contingent definitions attached (path dependency, barriers, exercises schedules)




Position / Trades Tables Organization:

  • POSITION_TAG :Binding POSITION - TAG - DIMENSION
      The POSITION_TAG table binds positions, Tags and dimensions so multiple tags and dimensions can be attached to the same
    • trade
    •  
    • TAGS (The Tag Hierarchy definition). Associates a Tag hierarchy to it's dimension.
    • DIMENSION (The Dimension Hierarchy).
    • Each Dimension holds a tagged tree definition. A tagged tree is the hierarchy of tgas associated to the same dimension. Every Dimension holds a Root tag, where alll other tags are attached. The root always accumulates the total of that dimensions. Risksvr™ accepts a maximum of 10'000 Dimensions. Which is more than sufficient even for the most far fetched analysis. Dimensions are often invoked by their Id rather than their name. Although both risksvr™ and Financial-Risk-Manager treat these two interchangeably. There are actually two kinds of Dimensions.
      1. Pre-Defined Engine Dimensions.
        • Position, Accounts, Counterparties, Trade Identifiers, Portfolio, Country, Rating, etc.
        • Yield curve Time Buckets.
        • Risk Factor Accumulator.
        • Dynamic Combined Return Slicer.
        • Benchmark Return Slicer.
        • Event Slicer.
      1. User Defined Dimensions
        • User defined Tags.

 

  • SETTLEMENT_FLOWS
  • if the Trade includes one or multiple settlements.
  • OPT Note: OPTION is a reserved ANSI SQL reserved keyword!
      The OPT can further specialize into:
    • OPT_AVERAGE (For Asian and Look-back Options).
    • OPT_BARRIER (For Barrier Options).
    • OPT_EXERCISE (For Bermudan, Callable, American Exercises).
  • FUTURE not to be confused with FUTURES

  • Trade Exposure - Legs
  • EXPOSURE
  • The Exposure Table defines each payable or receivable leg that is part of the Trade.
      Each Exposures might additionally have:
    • FIX_FLOWS (For Fixed and Bullet Cash-Flows).
    • FLOAT_FLOWS (For Flows Dependant on Reset Index, Contingent Claims Equity Streams and Commodity Streams).
    • BARRIER_FLOWS (For Barrier Related Floating Events
    • PAYMENTS (For Fixed Notional Exchange, Optional Flow Attachable to each Exposure Leg)
  • EXPOSURE "INHERITANCE" or "SPECIALISATION"
  • Depending on the Type of Trade involved EXposures might be replaced by the folllowing specialized Table. This approach is akin to "Specialisation" for Templates or "Inheritance" when dealing with the instantiated objects:
    • CDO_TRANCH: Multiple Tranches define One side of the Collateralized Deal.
    • ASSET_EXPOSURE (An Index or Benchmark Trade includes Multiple Equity in one single.
 
Methodology - Analysis Schema

What you need to know about the Analysis Schema:

The Methodology - Analysis Schema defines the Terms and Conditions of all possible Risk Methodologies and Assumptions.

As with Trades, The Analysis or Methodology Schema follows an Object-Oriented approach, where each Methodology has it's related / specialized objects and Terms and Conditions.


The most important features that determine which objects are used during one analysis or another rely on

  1. Methodology: (Monte-Carlo, Historical, Correlated Delta-Gamma, Scenarios, etc
  2. Exposure Type: Market, Credit, Market and Credit, etc.

The Risk Analysis encompasses:

  • Methodology
  • number of simulation Horizons
  • Assumptions.
  • Cash Accumulation Policies
  • Yield Curve Generation Methodology (Forward, Spot, Continuous, Discrete).
  • Arbitrage Violation Policies.
  • Risk Factor Control.
  • Volatility Control
  • Currency Simulation Assumptions.
  • Error Control.
  • Simulation Data Output Control

 

  • ANALYSIS_SEQUENCE
  • SIMULATION_HORIZON
  • ANALYSIS_METHODOLOGY
  • ANALYSIS_DEFINITION
  • ANALYSIS_HISTORICAL_CONTROL
  • ANALYSIS_MONTE_CARLO_CONTROL
  • ANALYSIS_ACCUMULATOR
  • ANALYSIS_CORRELATED_DELTA_GAMMA_CONTROL
  • ANALYSIS_SCENARIO_SHIFT
  • ANALYSIS_RISKFACTOR_CONTROL
  • ANALYSIS_CREDIT_CONTROL
  • ANALYSIS_SKIPRUNS_CONTROL
Reports Schema

What you need to know about the Report Schema
:

The Reports Schema is designed to store intermediate values in order to allow users to create and store User-Defined-Reports.

Report Schema:
  • REPORT_CATEGORY
  • REPORT_SEQUENCE
  • REPORT
  • STATISTIC
  • REPORT_QUANTILES
  • REPORT_BUCKETS
  • REPORT_MOMENTS
  • REPORT_VALUES

The Reports Schema is much simpler than most other schema groups.
It is also the most cumbersome to maintain since it can outgrow most other groups in terms of data storage.

Architectural choices:
  1. Data is allowed to grow and is cleaned according to a predefined schedules, in this configuration, a dedicated database server is well justified.
  2. Reports are purged continually. In this configuration, users must be able to select between reports that are stored for future reference from one-off simulations.

The Reports Schema is closely linked to the Methodology Schema.