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.
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:
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.
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:
Enter the security type code to which the model(s) is relevant (e.g. RBWO for Rainbow Options).
Specify the name of the model; must be unique within the CRT.
Specify a model id number; must be unique within the CRT.
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.
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:
- Select the menu sequence Tools => Preferences => Portfolio => Recalculation.
- 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.
- Right-click and select OK from the menu.
- 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:
- Double-click the holding row in the portfolio.
- Click the holding’s Environment button.
- In the Listed Option tab, change the American Model and European Model to Type.
- In the adjacent field, select the name of the model you created and saved.
- Right-click and select Save to exit the Environment window.
- Right-click and select Save to exit the holding window.
- 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.
Offering valuable insight into the priorities and challenges facing prime brokers, broker dealers and clearers, this report is a summary of the discussion during the Margin, Collateral and Data Round Table, sponsored by Imagine Software on Thursday 25th March 2021.
Moving to remote working has created new headaches for hedge funds through the risk of a “single point of failure” in a portfolio manager’s tech setup, according to Lance Smith CEO and co-founder of Imagine Software.