Pricing Rainbow Options

Responding to growing client interest, this post highlights the use of Imagine’s Monte Carlo Generator to price multi-asset best-of/worst-of options (aka Rainbow Options).

The pricing solution presented here leverages the flexibility of the Imagine Financial Platform (IFP). More specifically, the IFP Model Interface and the IFP Monte Carlo Simulation Generator, as described below.

  • The IFP Model Interface enables users to register their own pricing models using an app written with our JavaScript API. The interface provides access to security-level information and pricing environment inputs and when directed, passes outputs back to Fair and Greeks columns in the Imagine Trading System (ITS). Users have full control over the model calculations performed within the app. Note that any custom model registered via this interface behaves like one of Imagine’s native models.
  • The IFP Monte Carlo Simulation Generator is a JavaScript API method that gives users access to a simulation generator they can use for Monte Carlo pricing. Users have the ability to define random factors, set the pricing inputs for each factor, set the number of simulations and periods, determine the volatility lookup type, and much more. Imagine users can refer to our JavaScript API Programmers Reference for more about this method.

Users can incorporate a vast range of payoff structures into the pricing function defined by the model interface. For rainbow options, the following payoffs are considered:

rainbowpayoffs

For each simulation, we calculate the present value of the instrument based on the payoff function. Th e Generator then averages these values to obtain the current Fair price of the instrument.

A correlation function explicitly defined in the IFP Monte Carlo Generator takes into account any correlations between underlying assets.

rainbowwin
Sample RBWO Security Window and Output
Take a Look: Sample rainbowPricer app

Setting up the IFP Model Interface

Create a Custom Reference Table

Setting up the IFP Model Interface starts with creating a Custom Reference Table, where you’ll store the name of the model, function, and script to be utilized by the holding or security. You can name the CRT whatever you want.

The CRT should have the following columns:

Column

Description

Key

Enter the security type code to which the model(s) is relevant (e.g. RBWO for Rainbow Options).

ModelName1

Specify the name of the model; must be unique within the CRT.

ModelId1

Specify a model id number; must be unique within the CRT.

Script1

Specify the name of the library app where the model is located. The app can be saved into My Libraries, Shared Libraries, or Imagine Libraries; note that the system first checks My Libraries, then Shared Apps, then Imagine Libraries.

Only specify the library app name; omit the “.js” extension.

Function1

Specify the name of the function in the app.

If you want to provide more than one model for the security type, simply add four additional columns of the same names listed above appended with “2” instead of “1” (e.g., ModelName2, ModelId2, Script2, Function2). You may do this for an unlimited number of models.

Choose the Default IFP Models CRT

Next, specify the Custom Reference Table where your models are defined in your system preferences:

  1. Select the menu sequence Tools => Preferences => Portfolio => Recalculation.
  2. In the IFP Model Reference Table field, enter the name of your recently created CRT.
    TIP: Look up available CRTs via the magnifying glass icon on the right-hand side of the field.
  3. Right-click and select OK from the menu.
  4. Click the OK button.

Note: For the system to recognize your updated preferences, you must restart the Imagine Trading System.

Designate Models in Your Holdings

Next, link your model to a holding via its environment. To specify a user-created model for an option or placeholder holding:

  1. Double-click the holding row in the portfolio.
  2. Click the holding’s Environment button.
  3. In the Listed Option tab, change the American Model and European Model to Type.
  4. In the adjacent field, select the name of the model you created and saved.
  5. Right-click and select Save to exit the Environment window.
  6. Right-click and select Save to exit the holding window.
  7. From your portfolio, select the menu sequence Portfolio => Recalc => Fair and Implieds.

The fair and Greeks specified in your model script are recalculated according to the model calculation.

Once the model is referenced by a holding, any calculations on that holding will take this model into account, including Value at Risk, Projections, and custom column calculations.

______
About the Author
Bill Daher has been with Imagine for nine years and is currently a team leader in Consulting for Imagine’s APAC region. Bill has been heavily involved in the architecture of quantitative solutions in Imagine. He holds a Masters of Actuarial Studies from Macquarie University in Sydney, Australia.

Contact Bill by email or phone: +1 646 827 4427

One thought on “Pricing Rainbow Options

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s