Positions
 
There are 2 separate screens to handle positions:


Position Manager
Position Selector

  • Position Manager is the main trade entry screen. This screen serves to insert, amend and delete trades. It also serves to define custom cash-flows, strikes, barriers, payments or constant maturity tenors.
  • Position Selector displays trades according to different criteria or "filters" in the top section of the left hand frame.
    Once you have selected the trade, by clicking on the trade identifier in the tree, it is displayed in the right hand pane. 
    You can then select to edit, delete, copy, mirror or hedge the active trade through the toolbar in the top section of the active (right hand) pane. The trade is then sent to the Position Manager module to be processed.


This module incorporates two additional components, Cash-Flow Manager and Implied Volatility Manager.

  • Cash-Flow Manager Generates, stores and Manages the Trade's Cash-Flows into the database. It also produces cash-flows on-the-fly when necessary.
  • Implied Volatility Manager creates, edits and associates Volatility Surfaces to trades. Implied Volatility Manager can be invoked through  Position Manager or as a separate module to manage volatility surfaces
 
  • How do you Insert Trade
  • s ?
    1. In the trading board, Click on Position. This loads the trade entry screen.
    2. Select your Asset Category to choose your instrument type: You instrument or product will either belong to:
      • Equity
      • Commodity
      • Foreign-Exchange
      • Interest Rate
      • Credit (Sensitive Assets)
    3. Select the Instrument.
    4. Fill In fields with RED Labels.(fields with red labels are mandatory)
    5.  Save.
    6. The Trade, is saved in the database. Press Next to confirm.
    7. When you are through, press Done to Quit.
  • How do you Edit Trades ?
    1. Click on Edit Trades / Portfolio to Load the Position Selector module,
    2. Trades are sorted according to the Criteria in the Upper left hand list-box.
      Select the Trade you want to edit by clicking on the trade identifier displayed in the left hand frame tree menu.
    3. The Trade you have selected appears in the right hand panel.
    4. At the top the Right hand panel, click on the Toolbar's left-most Button Labeled Edit.
    5. When you click on Edit, the trade is sent to Position Manager, make the changes needed.
    6. Click on Update to Proceed or Cancel to go back and cancel the operation or to select another trade.
    7. Press Next to confirm.
    8. Enter another trade or press Done to Quit.
  • Delete a Trade
    1. Load the Edit Trades / Portfolio Screen.
    2. On the left hand tree, select the Trade you want to Delete by clicking on the trade identifier.
    3. In the Right hand panel, click on the Toolbar's Right hand Button Labeled [Delete].
    4. This will invoke the Trade Capture Screen with a Delete Callback message confirming the trade has been deleted.
    5. Select another trade to Delete or press Done to Quit.
  • Copy another Trade
    1. Load the Edit Trades / Portfolio Screen.
    2. On the left hand tree, select the Trade you want to Copy by clicking on the trade identifier.
    3. In the Right hand pane, click on the Toolbar's ost Copy Button.
    4. This will create a copy of the trade you have selected with a brand new identifier. Change any necessary field.
    5. Push the Save button to proceed or Cancel to return to the edit trade screen.
    6. Press Next to confirm the trade that is displayed on the screen.
    7. Enter another trade or press Done to Quit.
  • Hedge a Trade
    1. Load the Edit Trades / Portfolio Screen.
    2. On the left hand tree menu, select the Trade you want to Edit by clicking on the trade identifier.
    3. In the Right hand pane, click on the Toolbar's Hedge Button.
    4. This will create an exact copy but in the opposite direction so that the position is flat. (short for long and long for short). Change the amount, number of contracts or any other suitable field.
    5.  
    6. Push the Save button to proceed or Cancel to return to the edit trade screen.
    7. Press Next to confirm the trade that is displayed on the screen.
    8. Enter another trade or press Done to Quit.
  • Why do I need to press Done ?
  • Done flushes your Trades from the Database into your active Trade Realm / Cache.
    Every time a trade is added, deleted or modified, the Trade Cache Repository must be updated. The trade cache can either be defined as a List or as a single source.

    The Online version uses the single source by default. This approach is more efficient for a web server, since trades are flushed once the user has finished with trades..
    The Trade-List layout defines a list of data-sources. Each user defined Data-Source list can then hold one or multiple trade(s).
    As usual each approach has drawbacks and benefits. these usually come down to  Power Vs Ease of Use and Flexibility Versus Resource Usage.
  • Why do dates appear at times as Dates and at times as Numbers ?
  • Dates can either be defined as relative dates or absolute dates.
    You can get either format depending on how you have set the "Date Type" Checkbox. The Date Type Selector is located on the Right hand side of the Done button. The Absolute Date Format defines Dates as standard Dates (depending on the format you defined in the engine Specifications) The Relative Date Format defines Dates as the number of days from the Business Date, which serves as the Date Offset.
     (Except for forward start swaps, where the Lock-Date is the offset).
  • Where is the Portfolio Fields?

  • You can slice and dice risk according to any dimension you deem fit with one or multiple tag hierarchy dimensions.
    Tags can be created automatically or manually

    To slice and dice risks according to portfolios:
    1. Select The "Portfolio" item in the Position Filter list-box.
    2. Choose All in the Criteria Listbox.
    3. Press Done to Generate Portfolio tags hierarchy.
    You obviously can define your own Portfolio tag group, if need be. (see Tags below). This allows you to hookup each trade to multiple portfolios with different hierarchies.
  • Every Trade is a Position with One or More Exposures
  • Every Trade can be defined in terms of :


    - a single Trade Header. (also called Common Header).
    - one or multiple Paying or Receiving Legs.

    RiskServers Terminology:
    The Trade (Common) Header is called: The POSITION entity.
    The legs are called EXPOSURES.
    RiskServers considers every Trade is defined as:

    - a series of Mandatory and/or Optional POSITION fields.
    - One or Multiple Groups of Mandatory and/or Optional EXPOSURE Fields.
    - Zero, One or Multiple Fixed Notional Exchanges
    - Zero, One or Multiple Settlement Flows.

    POSITION fields contain typically:
    Trade Identifier (TradeId),
    Asset Type.
    The Account - or The Counterparty Account or Paying / Receiving .
    Tags Dimensions (Optional) Buy or Sell (Long or Short),
    Purchased or Written (Options)
    Liquidity Risk (Time-To-Close)
    Cash Account where Proceeds will be Debited/Credit (if not defined at the Exposure Level)
    Settlement Flow(s)
    EXPOSURE Fields can vary depending on the type of Asset.
     
  • Settlement Prices don't work? Or do they!
  • Many trades accept settlements prices. A settlement price is only meaningful if a date (the settlement date), an associated curve (which defines both currency and discount curve of the settlement stream. and a cash-account (to define where the proceeds will be debited). Settlements are therefore only valid if all fields are defined.
 

Tags
 
A Tag is a very powerful mechanism to Slice, Dice, Process and Store results

  • What is a Tag
  • Tags are simple strings or a sequence of strings that associate Trades, Accounts, Obligors or Cash-Flow Characteristics to specific accumulators in order to slice and dice results.
  • Create a Tag Hierarchy
  • Tags look very much like web URLs (Uniform Resource Locators) and are defined as one or multiple   Tokens separated by forward slashes ["/"].
    The order of each Token separated by a forward slash ["/"] defines the exact hierarchy of how results will be stored.
  • Types of Tags
  • The engine accepts Four classes of Tags:
    Market Risk Tags
    Credit Risk Tags
    Benchmark Risk Tags
    Hedge Tags
     
  • Where are Tags Defined
  • Tags are either generated automatically or manually by the user.

    When defined manually, Tags are associated with a dimension
    in:
    1. Trades: Both Market and Credit Tags.
    2. Accounts: Credit Tags.
    3. Obligors: Credit Tags.
    4. Risk Factors: Market Tags.
    examples:

    The default Tag (with Dimension 0) is defined as: Position/Contract/Trade Header ...(Also called Trade Envelope or Contract Common Terms)
    TAG   "Fixed Income Desk/BBB/CDO Hedge"

    For all other Dimensions (see below) the Tag is defined as:
    TAG "DIMENSION"  "Fixed Income Desk/BBB/CDO Hedge"



    Important Note:

    Trades can also accept Credit Tag definitions.
    To avoid any confusion between the two, credit tags associated to Trades are labeled CreditTag.
    TAG   "Fixed Income Desk/BBB/CDO Hedge"
    CREDITTAG  "Fixed Income Desk/BBB/CDO Hedge"
  • Tag Syntax: When do you need quotes ?
  • Each tag definition must be surrounded with quotes when:
    • The string contains spaces
    • You will be editing trades from Excel.

    Although it is better practice to surround all your tag definitions with quotes, quotes are really only needed when the name contains a space, since the engine needs to know where each tag hierarchy will end.

    Another good reason to use quotes ["] to delimit your tag hierarchy is when you must edit trades directly from Excel.
    Excel(R) strips each forward slash [/] and explodes the string hierarchy into individual tokens.

    Forward Slashes [/] usage: Forward Slashes are used to create a hierarchy of tag levels. Each level must be delimited by a forward slash. You do not need to defined the base root hierarchy
    if you are using one single tag level. Let's assume you want to assign the tag "Trading".
    • Wrong:

      TAG "/Trading"
      TAG "Trading/"

    • Right:

      TAG "Trading"
      TAG Trading

      (if you are not using Excel to amends trades).
  • What is a Tag Dimension
  • A Tag Dimension is simply a way of Grouping Tags Together.
    Each Tag dimension has a Total. The total is the sum of all Tag Values at the root levels.
  • What is the Default Dimension
  • The Default Dimension is the First User Defined Tag Group. As Such it does not Need to Be "Named".

    TAG "World Wide Investments/Asia/China"

  • Create a Dimension
  • TAG DIMENSION "tag hierarchy"

    TAG STRATEGIES /code>

     
  • How many Dimensions can I define??
  • Currently, you can define a maximum of: 1'000 Market Risk Tag Dimensions. 1'000 Credit Risk Tag Dimensions.
  • Tag Dimension example
  • Assume we have 3 Trades. Each trade has the following associated tags

    Trade 1   Value [t]=1'000'000.-
    Tag   TEST1   "portfolio1/trader1"
    Tag   TEST2   "Bonds/USD/BBB/CusipXYZ"
    Tag   TEST3   "Desk33"

    Trade 2   Value [t]=-10'000'000.-
    Tag   TEST1   "portfolio1/trader2"
    Tag   TEST1   "Strategy/Hedge"
    Tag   TEST2   "Bonds/USD/BBB/CusipABC"

    Trade 3   Value [t]=100'000'000.-
    Tag   TEST1   "portfolio2"
    Tag   TEST2   "Bonds/USD/A/CUSIP123"
    Tag   TEST3   "Desk44"

    If we request a Mark-To-Market Report at time [t] for
    Dimension TEST1 and TEST2, and TEST3, we should get:

    Dimension of Risk TEST1 

    portfolio1/trader1 1'000'000.-
    portfolio1/trader2 -10'000'000.-
    portfolio1 -9'000'000.-
    Portfolio2 100'000'000.-
    Strategy/Hedge -10'000'000.-
    Strategy -10'000'000.-
    Total 91'000'00.-

    Dimension of Risk TEST2

    Bonds/USD/BBB/CusipXYZ 1'000'000.-
    Bonds/USD/BBB/CusipABC -10'000'000.-
    Bonds/USD/BBB/ -9'000'000.-
    Bonds/USD/A/CUSIP123 100'000'000.-
    Bonds/USD/A 100'000'000.-
    Bonds/USD 91'000'00.-
    Bonds 91'000'00.-
    Total 91'000'00.-


    Dimension of Risk TEST3

    Desk33 1'000'000.-
    Desk44 100'000'000.-
    Total 101'000'00.-

    • What are Automatic Tag Dimensions

    A number of dimensions are reserved by the engine in order to Slice & Dice Reports according to special criteria:

    Market Risk

    Risk Type
    Risk Factors
    Currency
    Asset Type (Product)
    Curves
    Parties
    Trade Identifiers
    Portfolio Names
    Country
    Yield Curve Buckets

    Credit Risk


    CounterParty
    Accounts
    Obligors
    Recovery Class
    Country
    Rating System
    Rating Rank
    Credit Curves
    Name Transition Matrices

  • Where and How do you control Tags
  • Tags are:
    1. defined in Trades, Accounts and  Obligors.
    2. Enabled in Analytics.
    3. Filtered in Reports (Optional)
    4. Controlled and Managed in Tag Realm.
  • Tag Measures - Capabilities



  • Beyond analytics accumulation, tags provide multiple measurement:
    1. Liquidity Risk
    2. Limits.
    3. Formula
    4. Benchmark - Combined
    5. Bucket Width Control.
    6. Quantile/ Percentile Control.
  • Liquidity Risk Control
  • Liquidity Risk (i.e. the Number of Days to unwind the position) is defined at different levels throughout the engine.
    1. Trade Level.
    2. Riskless Curve Level
    3. Tag Level
    4. Analysis Level (Overall Override)
    You can assign Liquidity at the tag level in the Tag Realm by associating the LiquidityRisk entity to the Tag level and the desired number of days.
  • How do you assign Limits to Tags
  • In the Tag Realm  you define the limit accordingly:

    LIMIT



  • Assign a Tag Formula

  • Special Tags : Combined / Benchmark Tags

  •  
       
    Credit
     
    •  Accounts
    • Accounts are key to measuring Credit Risk, especially Credit Exposures and Country Risk. Each account represents the balance of transactions net of collateral between two a Receiving and Paying party at a given point in time.
    • When Is a Counterparty and Account Needed
    • Counterparties and Accounts are only needed when you are running Credit Risk.
      No Credit Risk definitions are needed if you are running market risk only.
    • Do you need to Enter Account and Party information for Market Risk ?
    • No. If you are Running Market Risk Only, then Counterparty and Account Definitions are Not necessary.
    • I keep changing Recovery Rates, but nothing changes. Is this a bug? ?
    • No ! Recovery Rates are used when computing Default Losses, not Credit Exposures. (See next item)
    • When are Recovery Rates needed
    • Recovery Rates are conditioned on a series of events.

      Recovery Rates are only used when a Default event is observed. During  simulation of default losses, if a Counterparty is observed in a state of default and the party is not (sufficiently) guaranteed by another party. then a loss is observed and a recovery rate is drawn. The difference between the amount lost and the recovered amount is your effective loss. Since this tends to diminish the Default Risk Amount, some practitioners argue quite rightly that conservative estimates should not take this recovery into account and should assume the whole amount is lost.
      Recovery rates as well as loss discounting can be controlled in the Default Loss in the Analysis Setup screen.
    • Why is the first recovery rate volatility 0.
    • The first Recovery Rate .is the Recovery of Highest Rating Rank. the Senior  Secured Recovery Rank is assumed to have no uncertainty.
      Why are Defaults not discounted automatically
      Default Losses are not discounted by default since this also diminishes the loss.
      You can modify this setting, by clicking on the "Discount Default Losses" checkbox in the Credit Losses tab.
    • How many Rating Ranks are accepted?
    • By default the Engine uses the internal rating system made of five (5) Rating State (plus Default).  You can use other pre-defined rating systems such as S&P or Moodies  08 or 18 state systems.
    • What type of Rating Systems are accepted?
    • Any Rating system you deem fit. The Engine assumes by default you will follow the internal 5 state Rating System. Hence, if you do not provide a specific Rating system definition, the engine will assume you follow a rating system made of five (5) Ranks. (Not including Default).

      The engine accepts all Rating Systems defined in the Database.  The engine is delivered with both 8 and 18 states from Moody's and S & P.  The Rating Systems entity includes an API to import other Rating Systems including Risk Weights from flat files or Excel.

      You must however invoke each rating system and rating rank specifically.

      Example:

      SnP8.BBB
      Moody08.Baa

       

    • How many Rating system may I define ?
    • You can define as many systems as you need, but it is important to understand this will slow down the engine considerably.

      If you run multiple rating systems at the same time, it is quite obvious only the highest default probability of all rating systems will always affect default, as this value will generate higher default frequencies and thus more losses.

      The engine uses the five (5) Rating Bank system by default. however, it does recognize both:
      S&P and Moody's eight (8) and Eighteen (18) states respectively.


      For those concerned with this configuration aspect. It is important to understand you can alternatively.

      Run with multiple rating systems in parallel or Pre Process default probabilities, credit curves and correlations so that only one rating system is taken into account.
       
    • How can you import Transition Matrices?
      There are three ways to import one or multiple Transition Matrices.

      Database
      Industry standard Flat file.
      Copy and Paste.
    • How do I adapt A Transition Matrix from one Rating System to Another?
    • The Transition Matrix screen includes a Transition system adapter. This allows you to adapt one Rating system to another. Each row or column can be merged, split, adapted, disacered or ignored inorder to form other rows or columns.
    • Transition Migration Vs Credit Curves
    • When you use Transition Data you can choose between Default Mode or Migration. If you choose Migration, the engine will simulate a Markow Chain from all transition probabilities provided. If you do not select migration, the Transition Matrix is converted to Credit Default curves via forward default / no-default arithmetic. Credit Default Curves are only concerned with Survival and default. This is why This approach is called "Default Mode". For more information. Click here
    • Credit Curves
    • Credit Curves can either be defined as a Matrix or as a specific Credit Quality over one or multiple horizons. The Matrix Format defines all the Probabilities for all the Rating States. in a matrix like fashion. (Rows are Rating States / Columns are the Horizons) The Free format convention defines a probability over time.
      However, except when dealing with non-standard curves, it is good practice to name the Credit Curve according to the RatingSystem, a separator  followed by the Rating State.

      CREDITCURVE AAA 0.02 0.03 0.04 0.05 0.06

      CREDITCURVE SnP8.BBB 0.022 0.033 0.044 0.055 0.066

    • Credit Curve TimeLine
    • If you do not define a TimeLine, the Credit Curve is Assumed to match the Simulation Horizon. [ there will be no interpolation extrapolation. If you define a TimeLine, the CreditCurve is adapted to the simulation horizon.
    • Difference between Migration and Transition.
    • Transition Matrices can either give way to Migration or they can be transformed (Converted) into Credit Curves. This has important consequences in terms of simulations since only migration includes a change of rating state.
      • Transition with no migration: only states of default / no-default are important. The Rating Rank change but only default is observed.
      • Transition with Migration: Each party migrates over every time step according to initial probability and associated transition matrix. Every Rating state has an associated cost/benefit according to rating rank Setup is more cumbersome since Spread Curves require rating ranks..
    • What is Credit Curve Conversion Used For
    • Credit Curve Conversion is used to transform Transition into Credit Curves instead of Migration.
    • What is the difference between Transition Migration and Transition to Credit Curves:
    • In practice results are similar when there is only one single time step. Although both methods are concerned with Default (Absorbing State) and No -Default (Continuation) The Transition No-Migration approach keeps track of how the parties rating state evolves over the simulation horizon. (until defaullt).
    • How do you import Credit Curves
    • Except when you import Credit Curves as XML payload, Credit Curves can either be defined as a Matrix or as a specific Credit Quality over one or multiple horizons. The Matrix Format defines all the Probabilities for all the Rating States. in a matrix like fashion. (Rows are Rating States / Columns are the Horizons) The Free format convention defines a probability over time.
      However, except when dealing with non-standard curves, it is good practice to name the Credit Curve according to the RatingSystem, a separator  followed by the Rating State.

      CREDITCURVE AAA 0.02 0.03 0.04 0.05 0.06/code>

      CREDITCURVE SnP8.BBB 0.022 0.033 0.044 0.055 0.066

    • Which format is applicable to Transition
    • All data-sources can be defined in Entity based (XML), Column/Database (CSV) and Name Value Pairs. The Name-Value Pair format accepts multiplle formats:
      • FRom / To (Row/Column)
      • To / From (Row/Collumn)
      With or without the Absorbing Default State From (Bottom Row/Rightmost Column)
    • Which format can be used for Credit Curves
    • As with Credit Curves,Transition can follow two formats. A Block Format and a list format.

     
       

    Market Data.

     
    Unitized Time-Series-Manager
    • How do you Create new Risk Factors
      Market Data Import into Market Vertices


      Creating New Vertices follows the same procedure as importing Data:
      1. You import your data into one of the XXX_import tables
      2. You scrub the data.
      3. Instead of Populating Market Vertices directly, select Compute Missing Vertices
      4. Populate Market Vertices directly


      In order to accept Time-Series Data, an asset vertex must have:
      1. A Time-Series Definition: i.e. : EQUITY, CURRENCY, COMMODITY, CURVE,VOLATILITY.
      2. A Vertex definition if the asset is a CURVE, COMMODITY or VOLATILITY (Cell)
      3. A unique Market identifier. This unique identifier binds the vertex to the series of prices.
      Time-Series-Manager will actually create new vertices for you. You can either create new vertices automatically in one single step by choosing Create New Vertices in the Data IO menu, or you can decide to perform each step individualy. These steps are also valid when you want to reorganize your Market Data, Regenerate new Asset Ids and or Unique Market Identifiers (MarketId).

      Creating Vertices Manually is simple but requires that you follow each step in the right order. To create new Risk Factor Data, you first load data in one of the import tables,
      You can import data either directly from Excel(R) cells with the Time-Series C++ Add-In functions (Real-Time Feeds), from a Tab separated  or Comma Separated  file or from another database table with a stored procedure.


      Once you have imported the data, you  will need to select the following menu tasks.

      1. Find Missing Data: This tasks finds assets for which no definition exists.
      2. Clean Definition Names. This tasks checks Names are Valid and Unique and replaces or escapes  special characters.
      3. Complete Missing Asset Identifiers and Unique Market Identifiers or Regenerate Assets Ids and or Unique Market Identifiers.
      4. Import Market Data
      (See Import Data)

      You then Launch the CreateVertices procedure in the
      import utility.
      The create Vertices creates:


      1. A New Entry in the Market Data Definition Tables (CURRENCY,EQUITY,COMMODITY, CURVE_BASE, CURVE_SPREAD, VOLATILITY tables) If COMMODITY, CURVE or VOLATILITY, A VERTEX or CELL must be Created:
        1. in the CURRENCY or EQUITY TABLES for non Vertex Based Data.
        2. in the COMMODITY_VERTEX, CURVE_VERTEX or VOLATILITY_VERTEX tables for Vertex Based Data.
      2. A New MarketId, with a unique Identifier is Generated.
      3. The Data can then be inserted as a Time Series in the appropriate MARKET_VERTEX_XXX TABLE.

      For further details regarding Table Structures. See Schema.

    • How do you insert Time Series Data ?
    • You can insert data directly from Excel into the Database with the XLMarketData Tool, or you can import, Translate and Scrub Data from a file directly into the database with the Insert Utility. The file Insert is very simple and works accordingly. (See the SQL scripts and Market Schema) 1) Data is inserted with a FILEINSERT INTO one of the import tables. (see Market Schema) 2) Data is Translated or Modified with one of the include files references in the scrub.sql file. (i.e. every file listed in the scrub.sql file is Executed as a SQL command. 2) Data with the appropriate date is inserted in one of the MARKET_VERTEX_XXX Tables.
    • Where is the Data stored. ?
      The Data is Stored in one of the MARKET_VERTEX_XXX tables These tables are Identical. The Table Contain Four Fields The MarketVertexId (the unique Identifier of the Time Series) The MarketId (Market Identifier) The DailyDate (The Date when Data is observed) The Price (The Level or Price) (MARKET_VERTEX_CCY for Currency Time Series. (MARKET_VERTEX_EQ for Equity Time Series. (MARKET_VERTEX_COM for Commodity Time Series. (MARKET_VERTEX_BASE for Riskless Curve Time Series. (MARKET_VERTEX_SPREAD for Risky Curves Time Series. (MARKET_VERTEX_VOL for Vol. Surface Time Series.
    • What is the MarketId
    • used For ?
      The MarketId is the market identifier. This identifier is unique for each Time Series
    • How are Curves Computed
    • Curves Can be defined in many ways and types:
      From the most basic to the most advanced.
      You can define the whole spectrum of daily Zero Coupon prices that will be used directly by the engine or you define the most liquid zero coupon tenors. You can define a series of Money Market or Fixed Income Assets that will be stripped and bootstrapped in order to compute arbitrage free zero coupon prices.
      Pure Zero Bonds that will be arbitraged. Zero Coupon Vertices that will be interpolated to form daily Zero Coupon Prices. Daily Zero Coupon Prices injected As-Is.
    • What is the Difference between Pure Zero Coupon and Bond Zero Coupon ?
    • The Bond Zero Coupon are effectively defined as Bonds with a Coupon of Zero and specific Payment Dates. In this case the Engine still performs a bootstrap at each and every step and simulation run. Forward Rates are checked to ensure they are consistent with no-arbitrage policies.
      Pure Zero Coupon Bonds are defined as Zero Coupon Vertices with a given Tenor. (as opposed to a daycount fraction and an Exact Payment Date.
      They are not bootstrapped and no provision is made to ensure forward rates are positive. The Vertices are simply interpolated to create Daily Zero Coupon Prices.
    • What is EWMA decay Factor ? EWMA is the Exponetial Weighted Moving Average decay Factor.
    • Which Decay Factor should I use
    • BIS computations assume NO EWMA ! Although some research seem to indicate a decay factor of 0.95 provides trackable results. The industry standard is to use a decay factor of 0.94 for market data that is sampled daily and a decay factor of 0.97 for market data that is sampled monthly.
    • What is a Cutoff
    • The cutoff  is the percentage of precision you agree to forgo by dropping EWMA returns from the series.

      A 1 percent cutoff mean you accept a maximum 1 percent difference in the volatility result you would have obtained with  the full series of data.

      So, for example if your volatility would be 15% it might fall between 14.85% and 15.15%
    • What are Unitized Returnsdata"
    • Unitized Returns provide a direct approach to computing Correlations. Returns are scaled to fit unity and can thus be multiplied by random variates in order to Simulate Multivariate Stochastic returns without going through Cholesky or Singular Value Decomposition .
    • How do you correct Semi-Definite Correlation Matrices.
    • There are essentially two approaches. Each borrow from spectral decomposition or Singular Value Decomposition respectively. In the first approach, you tweak eigenvectors until respective eingenvalues are bigger than zero. In the second, you reduce the Matrix Rank by sorting the eignvalues from largest to smallest and then eliminate those that are smaller or equal to zero.
     
    Cash-Flow Manager

    Preamble:

    Many Financial Products carry exposures as one or multiple streams of Flows PositionManager can handle these trades in two very different ways.

    1. The Trade is stored in the trade repository as Terms and Conditions.
    2. In this case, the Engine will Generate the Flows pertaining to the Exposure
      On-The-Fly
    3. The Trade's Flows That Fall After the
      Business Date are Stored directly in the Database and therefore are used by the engine As-Is

    Note: Storing the Trades Cash-flows directly into the database reallly makes sense when the Flows do not follow standard cash-flow generation conventions. Except when there are one or two flows, storing the full stream of flows takes up more space than the exposure's plain Terms and Conditions.


     
    • How do you attach flows to trades.
      1. You first fill in the minimum fields need to define the cash flow stream:
      2. Amount / Notional
        The Maturity Date
        Coupon Rate
        etc.
      3. Click on the cash-flow Icon.
      4. The Cash-Flows Blotter Appears Above the Trade.
      5. Press Compute
      6. Press Save to Save the Flows and Returns to the Trade
    • Modify flows already stored in the database.
      1. You first fill in the fields need to define cash flow:
      2. Amount / Notional
        The Maturity Date
        Frequency
        Coupon Rate
        etc.
      3. Click on the cash-flow Icon.
      4. The Cash-Flows Blotter Appears Above the Trade.
      5. Press Compute
      6. Press Save to Save the Flows and Returns to the Trade
    • How do you delete cash-flow. stored in the database?
      1. You first fill in the fields need to define cash flow:
      2. Amount / Notional
        The Maturity Date
        Frequency
        Coupon Rate
        First Coupon Date (If required)
        Day-count / Forward Day Count.
        etc.
      3. Click on the cash-flow Icon.
      4. The Cash-Flows Blotter Appears Above the Trade.
      5. Press Compute
      6. Press Save to Save the Flows and Returns to the Trade
    • How do you change cash-flow terms and conditions.
      1. You first fill in the fields need to define cash flow:
      2. Amount / Notional
        The Maturity Date
        Frequency
        Coupon Rate
        First Coupon Date (If required)
        Day-count / Forward Day Count.
        etc.
      3. Click on the cache-flow Icon.
      4. The Cash-Flows Blotter Appears Above the Trade.
      5. Press Compute
      6. Press Save to Save tha Flows and Returns to the Trade
    • What is the difference between a Fixed Cash-Flow and a Fixed Payments
    • Fixed Payments require an Amount and a Date, whereas  Fixed flows bequire a rate, a payment date, a nominal amount and a day-count factor. In terms of Market Risk, Fixed Bullet Cash-Flows and Fixed Payments are similar when payment dates and amounts are equal, however for credit risk, the fixed payment involves an exchange of notional which has an impact when positions are netted.  
    • What is the difference between storing cash-flows and generating cash-flows on-the-fly ?
    • Storing flows in the database makes sense if you need to customize the flows. Indeed additional space is required to store the flows in the database. If the flows follow standard conventions, you are therefore better off letting Position Manager generate the flows on-the-fly.  
    Implied Volatility Surfaces  
    • How do you create Volatility Surfaces
    • ?
      A Volatility Surface must be attached to at least one Trade
       to be taken into account. Additionally the Analysis should have  volatility surfaces active (which they are by default).
      This is why you should select if not define your Volatility Surfaces through the PositionManager Trade Capture module.

      You can call  the Volatility Surface Manager module on it's own, but it doesn't make much sense to do so except if you need to edit the surface or want to define a series of Surfaces.

      Moreover, you can also create, edit or update Volatility Surfaces directly from Excel with the XLStream utility or produce the necessary DataSource format from  your own application(s)

      You can also generate surfaces from another  third party system or you can create procedures that will manage surfaces in the database (see Schema) or DataSources.
      You create a Surface In the Trade Capture Screen by clicking on the Volatility Surface Button. You then select the surface you want to edit. You can then add Strike(s), Expiration(s) and / or Maturities  
    • Can I enable/ Disable surfaces without editing the trade ?
    • Yes ! You can control Volatility Surface Activation in the Analysis Setup.  
    • How do you know which volatility is used ?

    • The engine sources Volatility accordingly
      Volatility Policy for Trades
      1. The engine first searches for a volatility surface.
      2. If no surface is defined, it uses the volatility override.
      3. If no volatility override was supplied, the engine computes the underlying asset's Volatility from Data Sources.
     
    scenarios  
     
    analysis  

     

    • Credit Exposure Drill-Down
    • You can Customize Credit Exposures in the Exposure Module. Select the Account(s) you want to narrow down. Choose The Bucket Type: - Automatic. - Minimum/Maximum. - bucket Width Choose the Exposure Tail Percentile Probability. Add another Account or Save your Exposure.  
    • Filter Tags
    •  
    • How do you Run Multiple Analysis?
    • To define sequenced calculations first give your analysis a short name. In the first analysis, click on the "Advanced" tab, select the Analysis Setup with the list-Box. In the accumulator section, choose the type of relationship you want to impose: - Values. - Change. - Formula.
    • Audit
      How do you Capture Values
    • In order to capture specific simulation data, define your WriteXX variable followed by the simulation step followed by the risk factor name you want to output. Results can be filtered by adding the random draw begin and end you want to capture.  

     

     
    • Forward Data Control
    • Forward rates are internal stochastic variables. This means you can override and control how forward rates are simulated over time. Forward rate simulation control applies to Forward Rate Sensitive assets such as Caps, Floors, Swaptions etc. This control takes place when there are no volatility surfaces associated with the position. This control is carried out through the Forward Rate Data Source by either providing forward volatilities and correlations or their respective eigen-values and eigen-vectors. These two approaches correspond to industry standard market model and volatility function model.  
      Forward Rate Simulation Policy
      
    Credit Exposure Drill-Down  
    • Credit Exposure Buckets
    • Credit Exposure Tail
    Reports  
    • Difference between Earnings-at-Risk DEaR and VaR
    • In its' original setting, Value-at-Risk does not take into account the asset's drift, which implies that volatility is stationnary. This setting considers positions do not age and that earnings are incorporated in Market price (information). Originally VaR comes down to considering a framework where assets have no earnings. Earnings-at-risk considers assets might include earnings. This type of VaR VaR This framework is usually Earning-at-Risk is an one kind of Value-at-Risk [VaR]. VaR can be computed There are two Mean Zero VaR is the other type of Risk.
    • How do you read Quantile
    • How do you read Quantiles

    • Quantile Value:H[1] Value:H[2] Value:H[3] Value:H[4] Value:H[5] Value:H[6]
      0.050000 1459268.35 1069210.91 712076.15 295612.35 27012.94 28308.08
      0.070000 1479796.01 1120850.07 773380.96 358669.54 37818.11 39631.31
      0.090000 1492927.68 1158562.43 862405.68 398626.99 48623.28 50954.55
      0.100000 1500776.49 1177968.63 911949.60 422438.56 54025.87 56616.16
      Quantiles are a probabilistic measure of the portfolio's true distribution.
      For example, the table above displays the probability of the portfolio's future value at horizon t[1] to t[6].
      For example the first line in the example above implies a probability of 5% (i.e. 0.05).

      Since the probabilities are sorted from worst to best. your portfolio has a 5% chance of falling below the value of  1459268.35 at horizon t[1]..
      Conversely you can read the same value to be your portfolio has 95% chances of lying above 1459268.35 at horizon t[1].


      Quantiles can be used to measure different probabilities, such as the probabilities of reaching above or below a certain value or the probability of lying between or outside of a minimum or maximum.


      Quantiles are especially powerful when combined with buckets and exposures. (see below).

    • How do you interpret buckets and Quantiles ?
    Audit 
    • Standard Auditing Facility
    • Advanced Auditing Facility
    The advanced auditing facility allows you to inject benchmark data to verify results