Introduction to Deriscope – Part 2: Creating a Stock Option
In Introduction to Deriscope – Part 1 I listed the main reasons for using Deriscope.
Now I will show you the main features of Deriscope using as example the creation of a Stock Option object.
Table of Contents
The Deriscope Taskpane
Rather than typing the formula by hand, I will ask the wizard to create the formula for me. After I start Excel and press on the Enable and Show Wizard button inside the Deriscope ribbon tab, the Deriscope taskpane appears as in the above picture.
I may drag the taskpane to either the left or the right side, change its width, minimize it, hide it or completely remove it, as this short video demonstrates:
The taskpane consists of three areas: Input, Browse and Info.
The Input Area is where you define the name and context of the function that you want to insert as a formula in the spreadsheet.
The Browse Area is where you define the input parameters of the function selected in the Input Area. It appears collapsed in above picture because no function is yet selected.
The Info Area serves as an information billboard. It displays text related to your current spreadsheet or taskpane selections.
The Input Area
The Input Area contains the three selectors shown here.
I should start by either choosing a type in the Type Selector or an object in the Object Selector.
Then the Function Selector will contain the applicable functions out of which I may choose one.
The Type Selector
Deriscope organizes types according to a hierarchical scheme whereby all types derive from the root called Type.
Directly underneath Type exist 6 top level types: Data, Market, Model, Quotable, Tradable, Util.
The most important is the Tradable type, where all traded instruments belong.
Since I want to create a Stock Option, I need to select the respective type in the Type Selector, as this video shows:
The Function Selector
As soon as the Stock Option type gets selected, the Function Selector is automatically set to Create and the Browse Area is filled with the input parameters of that function. Only the three input parameters Stock, Payoff and Expiry are displayed because the button
is set to displaying the mandatory parameters only.
The Browse Area
If I click on that button, the Browse Area displays all input parameters, including the optional ones as shown here.
The first column contains the so called keys and the second column the associated values.
As you notice on the screenshot above, if a key is selected, in the case here the Expiry=, the respective definition is displayed in the Info Area.
The displayed values have been created by Deriscope. I can change any of them right here in the taskpane. Alternatively, I can have them pasted in the spreadsheet and change them there.
The Go Button
If I now press the Go button
this menu appears.
All top 5 items generate the appropriate Excel formula containing the chosen function and input parameters.
The first three items paste the generated formula at and below the currently selected cell, whereby the first - Paste Function - is most commonly used because it works recursively, in the sense that if a value is an object – like $Payoff#3 – it is replaced by a spreadsheet link to another range where a new generated formula produces the referenced object.
The Created Object
So, I select cell B2, hit the Go button and choose the Paste Function menu item to produce this result.
As you see here, Deriscope has inserted the formula =ds(B3:C10) in the selected cell B2. The name ds stems from DeriScope's initials. It takes as input the single range B3:C10 and produces the text &SIEB.DEOpt_B2:1.1 that serves as a handle name – or ID if you prefer – of an object held in Excel's memory.
The prefix & is important as it tells Deriscope to treat the given text as a handle name.
Most of Excel financial software also produces similar IDs that refer to created objects held in memory. What is unique in Deriscope, is the ease by which one can peruse the contents of such objects. Selecting the cell where a handle name resides sends a signal to the taskpane to display the object's contents in its Browse Area, as you see in the picture.
If the displayed object contents include cells that contain objects, I can recursively peruse the contents of these objects as well.
Take for example the key-value pair
where the value is clearly an object as indicated by the sign
Clicking on that sign, the grid in Browse Area is filled with the contents of the $Payoff#3 object.
on top acts as a grid selector allowing me to quickly select any one of the grids displayed so far.
Going back to the spreadsheet, cell C6 contains the text %0D.
Note the prefix here is %. This is a special prefix that tells Deriscope the text is the handle name of a so-called "trivial" object.
An object is called "trivial", when all its contents are inferred by the text in its handle name.
While a trivial object may still be created using key/value pairs, it is far easier to use directly its handle name.
In the current case, the handle name %0D indicates an object of type Step that has a time length of 0 days.
Indeed, if I select the cell C6, I can see the contents of %0D in the wizard, as below:
Info on a Key Cell
If I select any cell containing a key – for example cell B9 – the respective definition is displayed in the Info Area of the taskpane:
Info on a Value Cell
If I select any cell containing a value – for example cell C8 -, not only relevant information is displayed in the Info Area but also the list of other possible values is generated and inserted as a validation dropdown in that cell:
Listing of Applicable Functions
My final remark is that if I select a cell containing an object, the wizard enables me to choose and run any function that applies exclusively to that object.
For example, cell B2 contains an object of type Stock Option.
If I select cell B2 and then move the mouse over the taskpane and click on the Function Selector, I will see this list of applicable functions.
I can now choose and run any of these functions, whereby the one called Price is obviously the most interesting.
In my next article I will show you how this is done.
Feel free to contact me if you want to share any thoughts with regard to this product or if you want to request any particular features. Contact info and social media links are available at my web site https://www.deriscope.com