| 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 ?
- In the trading board, Click on Position. This loads the trade entry screen.
- 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)
- Select the Instrument.
- Fill In fields with RED Labels.(fields
with red labels are mandatory)
- Save.
- The Trade, is saved in the database.
Press Next to confirm.
- When you are through, press Done to Quit.
|
- How do you Edit Trades ?
- Click on Edit Trades / Portfolio
to Load the Position Selector module,
- 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.
- The Trade you have selected appears in the right hand panel.
- At the top the Right hand panel, click on the Toolbar's left-most Button Labeled Edit.
- When you click on Edit, the trade is sent to Position
Manager, make the changes needed.
- Click on Update to Proceed or Cancel to go back and
cancel the operation or to select another trade.
- Press Next to confirm.
- Enter another trade or press Done to Quit.
|
- Delete a Trade
- Load the Edit Trades / Portfolio Screen.
- On the left hand tree, select the Trade you want to Delete by clicking on the trade identifier.
- In the Right hand panel, click on the Toolbar's Right hand Button Labeled [Delete].
- This will invoke the Trade Capture Screen with a Delete
Callback message confirming the trade has been deleted.
- Select another trade to Delete or press Done to Quit.
|
- Copy another Trade
- Load the Edit Trades / Portfolio Screen.
- On the left hand tree, select the Trade you want to Copy by clicking on the trade identifier.
- In the Right hand pane, click on the Toolbar's ost Copy Button.
- This will create a copy of the trade you have selected with
a brand new identifier. Change any necessary field.
- Push the Save button to
proceed or Cancel to return to the edit trade screen.
- Press Next to confirm the
trade that is displayed on the screen.
- Enter another trade or press Done to Quit.
|
- Hedge a Trade
- Load the Edit Trades / Portfolio Screen.
- On the left hand tree menu, select the Trade you want to Edit by clicking on the trade identifier.
- In the Right hand pane, click on the Toolbar's Hedge Button.
- 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.
- Push the Save button to
proceed or Cancel to return to the edit trade screen.
- Press Next to confirm the
trade that is displayed on the screen.
- 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:
- Select The "Portfolio" item in the Position Filter list-box.
-
Choose All in the Criteria Listbox.
-
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:
-
Trades: Both Market and Credit Tags.
-
Accounts: Credit Tags.
-
Obligors: Credit Tags.
-
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".
|
- 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:
-
defined in Trades, Accounts and Obligors.
-
Enabled in Analytics.
-
Filtered in Reports (Optional)
-
Controlled and Managed in Tag Realm.
|
Tag Measures - Capabilities
Beyond analytics accumulation, tags provide multiple
measurement:
-
Liquidity Risk
-
Limits.
-
Formula
-
Benchmark - Combined
-
Bucket Width Control.
-
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.
- Trade Level.
- Riskless Curve Level
- Tag Level
-
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

Creating New Vertices follows the same procedure as importing
Data:
-
You import your data into one of the XXX_import tables
You scrub the data.
-
Instead of Populating Market Vertices directly, select
-
Populate Market Vertices directly
In order to accept Time-Series Data, an asset vertex must have:
-
A Time-Series Definition: i.e. : EQUITY, CURRENCY, COMMODITY, CURVE,VOLATILITY.
-
A Vertex definition if the asset is a CURVE, COMMODITY or VOLATILITY (Cell)
-
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.
-
Find Missing Data: This tasks finds assets for which no
definition exists.
-
Clean Definition Names. This tasks checks Names are Valid and
Unique and replaces or escapes special characters.
-
Complete Missing Asset Identifiers and Unique Market Identifiers
or
Regenerate Assets Ids and or Unique Market Identifiers.
-
Import Market Data
(See Import Data)
You then Launch the CreateVertices procedure in the
import utility.
The create Vertices creates:
-
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:
- in the CURRENCY or EQUITY TABLES for non Vertex Based Data.
- in the COMMODITY_VERTEX, CURVE_VERTEX or VOLATILITY_VERTEX tables for Vertex Based Data.
- A New MarketId, with a unique Identifier is Generated.
- 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.
-
The Trade is stored in the trade repository as Terms and Conditions.
In this case, the Engine will Generate the Flows pertaining to the Exposure
On-The-Fly
- 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.
- You first fill in the minimum fields need to define the cash flow stream:
Amount / Notional
The Maturity Date
Coupon Rate
etc. |
- Click on the cash-flow Icon.
- The Cash-Flows Blotter Appears Above the Trade.
- Press Compute
- Press Save to Save the Flows and Returns to the Trade
|
- Modify flows already stored in the database.
- You first fill in the fields need to define cash flow:
Amount / Notional
The Maturity Date
Frequency
Coupon Rate
etc. |
- Click on the cash-flow Icon.
- The Cash-Flows Blotter Appears Above the Trade.
- Press Compute
- Press Save to Save the Flows and Returns to the Trade
|
- How do you delete cash-flow. stored in the database?
- You first fill in the fields need to define cash flow:
Amount / Notional
The Maturity Date
Frequency
Coupon Rate
First Coupon Date (If required)
Day-count / Forward Day Count.
etc. |
- Click on the cash-flow Icon.
- The Cash-Flows Blotter Appears Above the Trade.
- Press Compute
- Press Save to Save the Flows and Returns to the Trade
|
- How do you change cash-flow terms and conditions.
- You first fill in the fields need to define cash flow:
Amount / Notional
The Maturity Date
Frequency
Coupon Rate
First Coupon Date (If required)
Day-count / Forward Day Count.
etc. |
- Click on the cache-flow Icon.
- The Cash-Flows Blotter Appears Above the Trade.
- Press Compute
- 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
|
 |
-
The engine first searches for a volatility surface.
-
If no surface is defined, it uses the volatility override.
-
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. |
|
| | |
|
Credit Exposure Drill-Down
|
|
|
|
|
|
|
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 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 |
|
| |
|