MBRM - MB Risk Management
29 Throgmorton Street
London EC2N 2AT
United Kingdom

Switchboard: +44 20-7628 2007
Support: +44 20-7628 2008

MBRM Technical Support Facilities


1.1. What is new in the UNIVDRV - Universal Derivatives Add-in package?

UNIVDRV - Universal Derivatives Add-in comprises three integrated algorithm libraries :

  UNIVEXOT+ - Universal Analytical Exotics Add-in
  UNIVFDIF - Universal Finite Difference Add-in
  UNIVGARCH - Universal Garch Add-in

UNIVDRV was developed by MBRM as a result of MBRMís Research and Development on some common problems encountered with the pricing and hedging of European and American style options, e.g. options with :

  1. an underlying price process which is other than the usual Geometric Brownian Motion (e.g. where there are skewness and/or "fat tails" and/or spikes to the distribution). Different markets (e.g. Commodities, Currencies, Equities, Energy, and Interest Rates) all display these characteristics to different extents.
  2. Continuous or Discrete Barriers which affect the pay out of the option (e.g. if "hit" or "missed").
  3. Discrete barriers where there are only a few price checks before expiry.
  4. Windows (where the Barrier are active for only a portion of the option life).
  5. Bermudan exercise schedule.
  6. Variable strike prices during the life of an option.
  7. Discrete dividends (defined as percentage, actual or PVs).

Standard methodology for option pricing, when the above situations are encountered, can result in pricing functions with poor stability and/or pricing/hedging biases. This is due to two main reasons:

  1. Trees, in general, do not allow a fine control of the position of lattice points; and
  2. Trees and Monte Carlo simulations have traditionally been implemented using uniform time steps.

Apart from handling all the above option characteristics, UNIVDRV is capable of :

  • Pricing with term structures of volatility or a local volatility surface. This can be either defined by the user or implied from observed options prices in the market (cracking down the smile). The calibration can fit both calls and puts at the same time and is very useful to deal with Index Options or to spot under/over-priced options.
  • Pricing with term structures of interest rates. The zero rates can be either defined by the user, or calculated with our UNIVSWAP Ė Universal Swap Add-in from any combination of bonds, swaps, bills, deposits and/or futures.
  • Choice between years, trading days and actual days as the time units used in pricing, hedging and simulation functions.

UNIVDRV is implemented as function calls in a Dynamic Link Library (DLL), thus assisting in the ease of use and integration into the user's analytical environment. It can therefore be called from Excel, Access, Visual Basic, C, C++, Fortran etc. This object-orientated building-block approach provides unequalled speed, cost-effectiveness and flexibility. The software can be linked with most real-time feeds to provide a dynamic analytical environment.

The source code for UNIVDRV is written in C++ and is available at extra cost.

1.2. The three models contained in UNIVDRV

Although UNIVDRV is an integrated package, the algorithms (theoretical models) may be grouped into three categories:

1.2.1. Universal Finite Difference Add-in(UNIVFDIF)

UNIVFDIF calculates the option price and the full set of sensitivities of European, American style and Bermudan variable strike exotic options (including discrete windowed and double barriers) on bonds, commodities, currencies, energy, futures and shares (with discrete dividend payments).

Exotic options with discrete monitoring of the underlying are valued accurately with the ability to specify the window (i.e. the time of the first and last sampling point/price check) and the number of sampling points/price checks inside the window.

Another interesting feature of the model is the way it handles windowed boundaries, term structures and discrete dividends thousands of times more efficiently than Monte Carlo, especially in calculating the sensitivities.

The implemented finite difference model has exceptional stability and flexibility. It is very effective in pricing/hedging discrete exotic options regardless of the frequency of monitoring of the underlying, from a single price-check to almost continuous monitoring.

The level of accuracy required is a parameter of the pricing function. Usually the three or four most significant digits of the option price are obtained almost instantaneously. Delta, Gamma, Fugit and Theta are calculated with the same accuracy as the option price.

These are the options that UNIVFDIF can handle:

O1) American/Bermudan with user defined exercise schedule: e.g., exercise from date_from_1 to date_to_1 at strike_1, from date_from_2 to date_to_2 at strike_2, etc
O2) Plain European
O3) Euro-digital
O4) Asset-or-nothing
O5) Up-and-out
O6) Down-and-out
O7) Up-and-in
O8) Down-and-in
O9) Double-barrier-out
O10) Double-barrier-in
O11) Up-one-touch
O12) Down-one-touch
O13) Two-touch
O14) Double-no-touch
O15)   Windowed version of exotic options O5-O14
O16)   American/Bermudan version of options O3-O15

As previously mentioned, for every option the user may also define:

  • A term structure of interest rates and volatilities (or a local volatility surface), choosing one of the following types:
        1. Spot-Forward;
        2. Forward-Forward;
        3. Smooth Spot-Forward;
        4. Smooth Spot-Forward
  • In alternative to the term structure of volatilities, a properly calibrated local volatility surface.
  • Discrete dividends.

1.2.2. Analytical extension to UNIVEXOT

This implements the latest research papers, combined with MBRMís internal R&D, on the analytical pricing of exotic options (i.e. with formulas or special algorithms).

These are the options that the Analytical extension to UNIVEXOT can handle:

O17)   American style options, including where there are dividends (using the Macmillian, Barone-Adesi and Waley models, and the Roll, Geske and Whaley models)
O18)   Options O2-O14 listed in previous section
O19)   Curved-boundary version of options O5-O14
O20)   Continuous version of all the options with boundaries, i.e. O5-O14 and O19
O21)   Warrants (when they are about to be issued by companies on their own stock, assuming dilution occurs)
O22)   Lookback
O23)   Compound option

1.2.3. Universal Garch Add-in (UNIVGARCH)

Monte Carlo pricing of a range of Exotic options of European style handling the term structures of volatilities and interest rates, discrete dividends, windows. UNIVGARCH can assume that the underlying follows either the usual Geometric Brownian Motion or a GARCH process.

The non-uniform time stepping of the Monte Carlo simulator (the same principle as the finite difference) allows the most flexible and efficient handling of term structures, windows and discrete dividends; while variance reduction techniques further increase the speed/accuracy ratio.

GARCH Option Pricing allows risk-neutral option pricing. With its fat-tailed and asymmetric return distribution it is successful in correcting well known biases of the Black-Scholes formula when the option is out-the-money or short-to-maturity. It is particularly effective in measuring the impact of abnormal returns, sudden changes of volatility, and in anticipating changes of option price on a daily basis, especially in frequently changing markets or when assets do not follow a perfect log-normal distribution.

UNIVGARCH implements many other useful functions for the pricing and hedging of options. E.g. a simulator that shows Monte Carlo simulations of prices or volatilities from the same inputs (and with the same flexibility) as the pricing function. Also implemented is an "estimator" function to imply the GARCH volatility parameters from historical prices using an optimised proprietary algorithm, and a function to calculate the expected forward volatility over a short (or long) time horizon.

These are the options that UNIVGARCH can handle:

O24)   All the options seen in the above apart those with early exercise and those with curved boundaries
O25)   Asian
O26)   Seasoned-Asians
O27)   Average-strike
O28)   Seasoned-average-strike
O29)   Windowed version of all the options including O25-O28
O30)   All the options of the above with the assumption that the underlying follows a properly estimated GARCH process (including N-GARCH and EGARCH)

1.3. Confidence in the result

All the above pricing/hedging models are accessible through the same function by simply changing the model number, enabling immediate comparisons between random walk, GARCH, analytical and finite difference pricing of the same option. This enables the user to choose the model with the speed/accuracy ratio that best suits his needs and also boosts confidence in the result.


This section shows the performance of the software in dealing with the most common situations.

2.1. Effect of "discrete monitoring"

It is interesting to examine the effect of "discrete monitoring": the frequency with which a price is recorded for the purpose of calculating the payoff of the option (e.g., for a knock-in/out checks are made on whether or not the underlying is beyond a boundary).

2.1.1. A double barrier

Consider the following double barrier put: underlying price 100, strike 105, volatility 25%, risk-free rate 5%, expiry one year, and two knock-out boundaries at 70 and 120.

Number of
price checks
Finite difference
Monte Carlo
Binomial tree
1 7.2163 7.2198 (0.015) 6.1144
2 6.8915 6.8895 (0.015) 6.1144
4 6.4755 6.4802 (0.015) 6.7786
8 6.0600 6.0786 (0.015) 6.8292
16 5.6871 5.6836 (0.014) 5.0492
32 5.3801 5.3836 (0.014) 5.7929
64 5.1412 5.1553 (0.014) 4.9451
128 4.9609 4.9746 (0.013) 5.1406
256 4.8337 4.8456 (0.013) 4.6251
20,000 4.5293 / 4.5380

The accuracy of the finite difference has been set to 3,000, the number of simulations of the Monte Carlo to 200,000, while with the binomial tree the number of price checks and the number of steps are the same. With the finite difference the result for the (almost) continuous sampling has been obtained by setting the number of price checks to zero and the accuracy of the time dimension to 20,000. The exact price in case of continuous sampling is 4.5060, which is obtained instantaneously with the pricing function of the Analytical extension to UNIVEXOT.

Note the remarkable performance of UNIVFDIF in dealing with the various frequencies of monitoring. There would be no loss of accuracy if the price checks are located within a windows, or if the underlying pays discrete dividends.

2.1.2. A lookback
Table analogous to the one seen before, for the following lookback put: underlying 100, strike 100, volatility 25%, risk-free rate 5%, expiry one year.

Number of
price checks
Monte Carlo
(Analytical ext.)
1 7.470 (0.010) 7.459 -0.1%
2 9.698 (0.011) 9.688 -0.1%
4 11.74 (0.012) 11.80 0.5%
8 13.46 (0.012) 13.56 0.7%
16 14.83 (0.012) 14.94 0.7%
32 15.89 (0.012) 15.98 0.6%
64 16.66 (0.012) 16.75 0.5%
128 17.24 (0.012) 17.31 0.4%
256 17.66 (0.012) 17.72 0.3%
infinity / 18.72 /

2.2. Dividends

We look at the performance of the software when the underlying pays discrete dividends. Consider the following plain European style call: underlying price 100, volatility 25%, risk-free rate 6%, expiry one year, strike price 105, and two dividends of amount 5 are paid out of the underlying in 3 and 7 months. These are the option price and the sensitivities:

  Finite difference
Monte Carlo
Option Price 6.100 6.102 5.706
Delta 0.410 0.410 0.405
Gamma 0.0164 0.0164 0.0172
Theta 0.0189 0.0190 0.0160
Theta2 0.0287 0.0288 0.0256
Vega 0.3672 0.3677 0.3497
Rho 0.3276 0.3279 0.3247
Fugit 1 1 1

We had set the accuracy to 1000 in the finite difference and the number of simulations to 200,000 in the Monte Carlo.

2.3. Sensitivities of a discrete double-barrier-in

Here we wish to show the accuracy of the software in calculating the sensitivities, by comparison of two different methods.

Consider the following double barrier put: underlying 100, strike 105, volatility 25%, risk-free rate 5%, expiry one year, and two knock-in boundaries at 70 and 120 sampled at the end of every day, i.e. there are 252 price checks.

  Finite difference
(Analytical ext.)
Option Price 5.0616 5.0696
Delta -0.267 -0.268
Gamma 0.0265 0.0260
Theta 0.0318 0.0310
Theta2 0.0265 0.0257
Vega 0.662 0.659
Rho -0.354 -0.354
Fugit 1 1

Here the accuracy of the finite difference was set to 1000.

2.4. Low frequency down-and-in with dividends

A specific strength of the software lies in its performance when the various complicated characteristics combine together. The following option is not easy to value with anything else but Monte Carlo due to the low frequency of monitoring of the underlying, the path dependence and the dividend.

A call down-and-in with: underlying price 100, strike 95, volatility 30%, interest rate 5%, expiry in one year, knock-in boundary at 90 with only two price checks, one in three months and the other in 6 months, and one dividend of amount 5 in 5 months.

We set the accuracy of the finite difference to 2000 and the number of simulations in the Monte Carlo to 300,000.

The result is 2.055 with the finite difference and 2.050 (std. deviation of 0.01) with the Monte Carlo.

2.5. American and Bermudan style options

With the finite difference model (UNIVFDIF), every option can have an early exercise feature (i.e. American or Bermudan style), according its exercise schedule.

This example shows the performance of the analytical approximation for an American style put: underlying 100, strike 102, volatility 25%, interest rate 5%, yield 2%, expiry 7/12 years.

(Analytical ext.)
Finite Difference
Option Price 7.842 7.852
Delta -0.477 -0.480
Gamma 0.0218 0.0221
Theta 0.0260 0.0259
Theta2 0.0203 0.0202
Vega 0.299 0.299
Rho -0.239 -0.239
Fugit (years) N/A 0.50

Where the result produced by the finite difference, obtained with accuracy set to 700, is regarded as the exact value.

If we allow the option to be exercised only during the fourth month and at expiry, with the specification of the following exercise schedule:

From To Strike
3/12 4/12 102
7/12 7/12 102

we would get the following result:

  Finite difference
Option Price 7.772
Fugit (years) 0.52

While restricting exercise to be only at expiry (the option is made European):

Option Price 7.641
Fugit (years) 0.58

2.6. Speed of calculation and robustness

In the finite difference model, the Delta, Gamma, Theta and Theta2 are calculated at the same time as the option price and require no additional computational time. The Vega, Rho and Fugit should be calculated only when they are needed. Vega and Rho are obtained by shifting the volatility or interest rate and recalculating the change in option price.

If you wish to price a continuously monitored exotic option by using the finite difference model, you could set the number of price checks to a very high number; but the standard way to do it (consistently with the pricing function of the Analytical extension to UNIVEXOT) is to set the number of price checks to zero and to raise the accuracy of the dimension of time. The Analytical extension to UNIVEXOT provides exact and instantaneous pricing for the various continuous knock-in/out, touch and lookback options, and it is the recommended model whenever there is no window and no dividend.

Monte Carlo is very robust in calculating the option price for a wide range of parameters, but it is slow in calculating the sensitivities. Moreover, when the sensitivity is small in respect to the option price, a small deviation in the option price may result in a large deviation in the sensitivity.

In terms of the ratio robustness/computational time, the performance of the finite difference model is undoubtedly the most remarkable. But Monte Carlo is very robust in calculating European style option prices (when sensitivities are not needed), and the Analytical extension provides exact pricing for the continuos sampling cases.


The following graph shows the implied spot-forward local volatility surface for all the European options on the FTSE-100 on the 30th of September 1998.

Gaps in the volatility grid due to missing options are filled in with a special algorithm and the user has the option to smooth the surface with an MBRM proprietary filter.


The user also has the option to display a forward-forward local volatility surface.

The software has the remarkable ability of the to fit both calls and puts at the same time, even if they appear to have different implied volatilities for the same strike & maturity date. This is achieved by the simultaneous fitting of both an implicit underlying and an implicit interest rate for each maturity, as shown in the following table:


(the user has the option to disable this "implicit" fitting of the underlying and the interest rates).


When choosing between the Garch and Black-Scholes models, two main facts should be considered. The GARCH process is a more parametric, accurate and flexible description of the time behaviour of real assets and, consequently, Garch is effective in correcting known pricing biases of the Black-Scholes formula. On the other hand, historical estimations of the properties of real assets have often been proven to have inferior predictive power than implied estimations from quoted option prices.

There is not, unfortunately, an analytical expression for the distribution of the return on an asset that follows a standard GARCH process. However, as shown via simulation, such Garch distributions can be skewed and leptokurtic. Therefore, Garch is able to fit the real world asset price behaviour (which do show skewness and leptokurtosis) better than a standard Black-Scholes formula.

The Black-Scholes model (when using a single volatility for all options) is known to frequently under-price both out-the-money and short-to-maturity options.

Moreover, GARCH can reproduce the term structure of implied volatilities (the "smile family"). Consider a set of options with different strike prices, then price each of them with Garch, and then use Black-Scholes to imply a volatility from each Garch price. The plot volatility vs. strike exhibits the characteristic U-shaped curve that one commonly observes with real options.

We do recommend Black-Scholes or Finite Difference (UNIVDRV) model (as opposed to a historically estimated Garch) when there is a liquid and efficient options market whose quoted option prices can be used to imply a local volatility surface.

The use of GARCH with historically estimated parameters in option pricing is recommended :

  • Whenever a reliable interpolation or extrapolation of the implied volatility (i.e. from quoted option prices) is not available. For instance, a tailor-made derivative on a asset on which no other derivative is already traded.
  • For deep-out-the money or short-to-maturity options.
  • To measure the impact of an abnormal return or of a change of the daily volatility.

Cost Saving Bundle

UNIVDRV - Universal Derivatives Add-in is an inclusive package of :
  UNIVEXOT+ - Universal Analytical Exotics Add-in
  UNIVFDIF - Universal Finite Difference Add-in
  UNIVGARCH - Universal Garch Add-in

Why not consider MBRM Comprehensive Combined Package : An inclusive package of our main software packages (This would be a massive saving on the individual selling price of these packages)

CLICK HERE to see our latest Price List.