PRISM, designed for the National Stock Exchange, is a risk
management software which has the capability to calculate
real-time Value-at-Risk of the clearing members at the
Exchange at client levels, at a speed of over 100 trades
PRISM was developed by Infofin in alliance with
Indira Gandhi Institute of
Development Research (IGIDR)
and StarCom Software. IGIDR provided the algorithm for calculation
PRISM provides the following
VaR calculations at client level.
Management of positions for each
client. The trade feed from the Exchange is fed
directly to PRISM, without the use of external databases
to provide input data.
Full Monte Carlo calculation of
VaR for portfolios containing Futures and Options
on the Index; without any compromises on mathematical
- Volatility forecasting using time-series
VaR implementation focusing on close-to-close
risk (i.e. not intra-day price movements).
Collateral requirements calculated
as the larger of VaR and the regulator's requirements
(whatever they may be); the system always computes
both and picks the larger value.
Intra-day marking to market.
Information structures based on
a tree of clearing member, trading member, client.
VaR is summed up from clients to generate TM collateral
requirement and collateral is summed up from TMs
to generate the CM collateral requirements.
Broad design goals of: 100 clearing
members, 1000 trading members, 1,000,000 clients,
10 trades/second (i.e 6,000 trades/minute). Processing
100 trades/second implies doing 200 VaR calculations
Implementation of high throughput for VaR calculations
using parallel programming.
Parallel computation using off-the-shelf
commodity equipment and MPI, a public domain industry
standard in the supercomputing industry.
Fault tolerance at the level of
"child" processors. PRISM is designed to cope with
breakdowns of any of the Unix workstations charged
with VaR calculations breaks down.
Full support for symmetric multi-processing;
either mother or child computers could be multiprocessing
GUI supporting real-time display of information.
PRISM uses the model of a ``mother''
machine and a cluster of ``child'' CPUs where the VaR
computation is done. The ``mother'' accepts the Exchange
trade feed and passes on calculations intelligently
to an idle ``child'' for processing.
If any of the ``children'' fail to
return a response within a pre-defined time, the ``mother''
passes on the calculation to another idle ``child''.
This ensures that the system is able to cope with situations
like hardware failure and always sends back a correct
The core of the system is written
in C using MPI as the messaging interface between the
clustered machines. A Java front end monitors the health
of the system and gives real time updates on the VaR
PRISM has been installed and tested
on Linux and different variants of Unix. Benefits
Real-time computation and monitoring of Value-at-Risk.
Significant savings in hardware and operating software
Virtually unlimited scalability by adding commodity
PRISM has been stress-tested at CDAC
on Param 10000 (India's Premier Super Computer). As
VaR calculations take the major system load, the benchmark
of PRISM is calculated in terms of nos of VaRs calculated
per second. The number of VaRs/sec is a function of
number of children added. The scalability of children
is shown below in the table.
Here the children denotes the number
of CPUs the children are running on. The trades/sec
is the number of trades fired. For every trade, PRISM
calculates 2 VaRs. The VaRs/sec is the number of VaRs
calculated by PRISM per second.
Thus the scalability of PRISM can
be seen from the above table and the limit is only the
hardware used. Design, development and deployment
From the storyboard to implementation,
PRISM took a total of 32 man months. The project commenced
in August 1999, went through its advanced second phase
in April 2000 and was finally commissioned on June 12th,
National Stock Exchange of India