FAQ EXCEL USAGE

BASIC SKILLS

Deriscope is designed so that even the most complicated tasks can be completed by the user without external assistance.
The most helpful tool is the wizard , a taskpane that is capable of generating spreadsheet formulas and providing information on input and output values.
While not strictly necessary, you are strongly advised to read through the Quick Guide before you start seriously using Deriscope.
As you progress to more specialized applications, of great help will be the blog site that is regularly updated with articles featuring solutions to frequently encountered problems along with downloadable spreadsheets.

Of course!
But you would be expected that prior to contacting Support, you would have at least read through the information contained in the links in the Quick Guide.
This includes your prior searching for a possible answer through the questions posted in the page here.

Deriscope offers an optional Excel-integrated Live Chat facility described here.

Thanks to the wizard's intuitive design, you can start using Deriscope immediately, without prior introduction.
The very first time you load Deriscope into Excel, you will be greeted by an interactive tutorial, which you must follow carefully in order to understand the basic structures.
At any later future time, you may replay the tutorial by clicking on the Tutorial button found on the Deriscope ribbon.
Nevertheless, your overall learning experience will be both easier and faster if you invest some time to read through the links and the introductory blog articles contained in the Quick Guide.

All functions exported to Excel by Deriscope can be accessed in the usual way by clicking on the Insert Function button found in the Formulas ribbon group, as shown below:

Then you must select the Category "Deriscope", as shown below:

But the above is not recommended for generating and pasting a Deriscope function in the spreadsheet.
The latter task is best achieved as described in the answer to the question "How do I best generate and paste a Deriscope function in the spreadsheet?".

All functions exported to Excel by Deriscope are described at Deriscope Excel Functions.
There it is also explained how are these functions best generated and pasted in the spreadsheet.

The Deriscope Excel Functions page page contains the list of functions exported to Excel by Deriscope.
In practice though, you will be using mostly the ds() function that expects an input in the form of one or more ranges containing Key-Value pairs.
The consequence is that what you need to know is the admissible set of combinations of Keys and corresponding Values.
This set is extraordinarily large and is fully described in the online documantation.
In a practical sense though, you will get most of your questions answered in a dynamic and contextual fashion as you browse through the Deriscope Types and Functions in wizard, since, as you hover with the mouse over the various items or select them, the respective descriptions appear in the Info Area.
You also get the same descriptions on Types and Functions as soon as you select the spreadsheet cells that contain them, provided that the wizard is open when the cells are selected.

The ds() function is the most important and frequently used function exported to Excel by Deriscope.
It is described in detail here.

The Deriscope ribbon has a button named Syntax - shown below - that pastes in the spreadsheet several examples of the ds() function.

If the ds() function fails to process its input for whatever reason, it will return a special object referenced by a handle name that starts with the text &ERROR!.
This object contains diagnostic information that can be read with the help of the wizard.
Simply select the affected cell while the wizard is open and you will be able to read the diagnostic information in the wizard's Info Area.
Below is an example of a ds() function in cell A1 that fails because the cell B3 contains "Create1" rather than the expected "Create".
As soon as the cell A1 is selected, the wizard displays the shown diagnostic message:


More detailed information on error handling is available at Handling Excel Errors.

If you cannot resolve the problem, your best option is to contact Deriscope Support.
If your spreadsheet is fairly small and simple, you may want to send the workbook so that Deriscope Support will be able to reproduce the formula.
Otherwise, you can send a special XML-formatted text file that contains only the affected formula along with all dependent data.
You can generate this file by using the Import/Export button found at the Deriscope ribbon.
Alternatively, you may follow the instructions displayed in the wizard as soon as you click on the blue-colored word "here", shown in red circle in the example below:


More detailed information on error handling is available at Handling Excel Errors.

You may use the ribbon button to convert a selected spreadsheet formula to a text file and then send that file to Deriscope Support, as described here.

Depending on the data location, this is often not a problem, since the ds() function is generally smart enough to parse the data correctly, as described in the question "Where can I find examples of the different ways that the spreadsheet function ds() may be called?".
In more complex cases, the two Deriscope auxilliary functions dsMergeH() and dsMergeV() can be used to combine disconnected ranges.
More details on how to use these and other auxilliary functions for data manipulation can be found at Deriscope Excel Functions.

It is assumed here that the edited cell holds the value associated with a given key and the key-value pair is part of the input to a ds() formula.
You can get information on the type of value expected by the formula in that cell by reading the key's description.
If the formula returns no error, you can generate the description by selecting the cell holding the key, while the wizard is open.
In those cases where the expected value is one of a set of allowed values - typically of text type then - you may even force the wizard to generate a cell validation dropdown that contains the allowed values.
You can do so by selecting the cell holding the value, while the wizard is open or by clicking on the Deriscope ribbon Cell Info button .
For example, the image below shows the cell dropdown generated by the wizard at the cell E5 holding the text value "Price" associated with the key "Output", after the user selected that cell:

When that cell dropdown is clicked, the list of allowed values is offered for selection:

All numbers in Deriscope are by default in standard mathematical units, except if they are explicitly marked to be in a different unit, as explained below.
For example, an entry such as Rate= 0.04 indicates a rate of 4%.
Similarly, an entry such as Notional= 1,000,000 indicates a notional of one million.
It is possible to set a different unit by adding to the corresponding key an appropriate suffix.
For example, the above rate of 4% could be also defined as Rate(%)= 4 or Rate(bp)= 400.
Similarly, the above notional of one million could be also defined as Notional(M)= 1 or Notional(K)= 1000 and even as Notional(B)= 0.001.
Note, this feature applies also to table titles.
For example, a title #Rate(%) indicates that all numbers in the table's respective column are in percentage units.

If you are in a hurry and want to build a functioning pricing spreadsheet as quickly as possible, the wizard can generate all formulas with a few mouse clicks.
Your first step would be to use the wizard and select the appropriate asset class in the Type Selector , which is the wizard's top row, as shown below in the case of a currency swap :

Your second step would be to click on the wizard's Function Selector (3ʳᵈ row from top) and choose the function "Price", as shown below:

Your final step would be to select an empty cell, click on the Go button and select the top menu item, which would generate and paste all required formulas in the spreadsheet region at and below the currently selected cell.
If the latter were the cell A1, the upper portion of your spreadsheet would look as below:

The formula =ds(A2:B5) in cell A1 returns the number -0.000276537, which is the NPV of the currency swap under certain market assumptions. Both the swap and the market rates are defined in the rows below those visible in the above screenshot and can be edited to match the actual data pertaining to the pricing task.

Let us assume you have already set up a spreadsheet formula that creates a specific instrument - for example a vanilla interest rate swap - and returns its handle name as shown in the cell A1 below:

Your first step would be to select the cell A1 while the wizard is open. Then the latter will react by displaying the contents of the object held in Excel memory and associated with the selected handle name.
In the example here, the wizard will display the contents of the vanilla interest rate swap, as shown below:

Your second step would be to move your mouse over the wizard, without yet clicking anywhere.
The wizard would then unhide its top Input Area to enable you to place your requests, as shown below.
In particular, note the red-circled Function Selector row that will allow you to choose a Deriscope Function in the next step.

Your third step would be to click on the Function Selector row and choose the Price function from the displayed list.
Then the Browse Area would react by displaying the selected function's input parameters, as shown below.
By default the wizard displays only the mandatory parameters in the form of Key-Value pairs but the red-circled check box with the key "Show Optional Keys" can be used to display all parameters.

Your fourth step would be to click on the red-circled check box in order to display all parameters.
The result is shown below.
This time note the red-circled check box with the key "Add Risk".

Your fifth step would be to click on the "Add Risk" check box, which would make the wizard look like as below.
Note the red-circled three extra rows that have been added below the "Add Risk" row.

Your sixth step depends on the type of risk you are interested in.
If - for example - you are interested in the interest rate risk, you should click on the Rho check box.
Then the wizard will fill the values associated with the two keys "Risk Ref" and "Risk Models" with default generated objects, as shown below:

Your final step could now be to select some empty cell, click on the Go button and select the top menu item.
This would generate and paste all needed formulas at and below the selected cell.
But since the wizard is at a state where all parameters are displayed, the pasted formulas would include all parameters as well.
Therefore, if you would rather have spreadsheet formulas with fewer input parameters, you could uncheck the wizard's "Show Optional Keys" checkbox before hitting the Go button.
Also note that the above steps lead to formulas that produce the simplest possible type of interest rate risk, which is a so called "flat risk" that represents the instrument's NPV change due to a flat shift of each underlying curve by 1 bp.
But the objects associated with the key "Risk Models" contain an optional key named "Delta Mode" that can be set by you to either "Flat" or "By Bucket".
Initially, the wizard sets that value to "Flat", but you can change it on the spreadsheet to "By Bucket" in order to generate a more detailed risk expressed as an array of values, each of which represents the instrument's NPV change due to an increase of the corresponding market rate by 1 bp.
The value for key "Delta Mode" can be set either a) within the wizard before hitting the Go button or b) by editing the corresponding cell in the spreadsheet.
In the latter case, if the key "Delta Mode" does not appear as an explicit input to the ds() spreadsheet formulas that create the "Risk Models" objects, you can add it manually and edit the formulas so that they reference the newly added key.

Assume you have a ds() spreadsheet formula in some cell that returns the NPV of some instrument.
For example, the formula in cell D1 below returns the NPV of a given vanilla interest rate swap :

Your first step would be to select the cell D1 while the wizard is open. Then the latter will react by displaying three sentences in its Info Area as shown below:

Your second step would be to click on the blue-colored word "here" shown in a red circle above.
Blue-colored text in the Info Area always act as hyperlinks that lead to further information.
In this case, the result is the display in the wizard's Browse Area of any data that are produced as a by-product of the pricing algorithm, as shown below:

Most of the displayed data are just numbers reported as Key-Value pairs , with the exception of the key "CashFlows, of which the value is a handle name preceded by the pen-on-a-pad symbol that indicates it represents an object.
The contents of that object can be seen by clicking on :

Yes.
Simply select the desired region of data shown in the Browse Area of the wizard by dragging the mouse while holding down the left mouse button.
Then do a right-click and select the desired option from the appeared menu to copy the selected data into your clipboard.
Afterward, you may paste the copied data in your spreadsheet or in any other application that supports pasting of clipboard data.

The Deriscope Function "Price" accepts an optional input parameter through a key named "Output".
If this key is not explicitly passed as input to the ds() spreadsheet formula , its assumed default value equals the text "Price", which instructs Deriscope to calculate and return only the NPV of the referenced instrument, i.e. a single number.
But you can supply this key with a different text value that instructs Deriscope to return different output values.
The list of allowed text values is context dependent.
At best, you start by making sure that the Key-Value pair "Output= Price" is present in the input data, as shown below for the price of a vanilla interest rate swap calculated in cell D1:

Then you must see a cell dropdown when you select the cell E5.
If not, make sure the wizard is open and reselect that cell or click on the Deriscope ribbon Cell Info button , as both of these actions will generate the cell dropdown.

When you then click on that cell dropdown, you will see the list of all allowed values, as shown below:

You may then choose one of the listed values - for example the "Fair Rate" - and the formula in cell D1 will return the corresponding value.
Note that some of the listed values, such as the "CashFlows", will result in the formula's output to be an object represented through a handle name.
Also very useful is the "Full" that instructs the formula to return an object that contains the full set of pricing results.
The contents of the returned objects in the last two cases can be easily displayed in the spreadsheet, as the answer to the next question explains.

Yes.
The contents of any object can be seen inside the Browse Area of the wizard, but they can also be generated and displayed on the spreadsheet be means of a special Deriscope Function named "Show".
The wizard can generate the appropriate ds() spreadsheet formula that does this job.
As an example, consider the case of the above question, where the key "Output" is set to the value "CashFlows", so that the formula in cell D1 returns the handle name of an object that holds the requested cash flows, as seen below:

Your first step would be to select the cell D1 while the wizard is open. Then the latter will react by displaying the selected object's contents in its Browse Area as shown below:

Your next and final step would be to select any empty cell, click on the Go button and select the "Paste Object Contents" menu item.
This action would paste a special array formula in the selected empty cell designed to return the cash flows as seen in the wizard.
For example, below can be seen the array formula entered by the wizard in cell G1 along with the some of the data returned by that formula. Not all of the returned data can be shown in this small screenshot.

It would be also possible to set up the formula in such a way that only a selected portion of the object's data is returned.
This could be achieved by preselecting with the mouse the desired data range inside the wizard, prior to hitting the Go button.

Yes.
There exists a Deriscope Type named Portfolio that represents a collection of - perhaps heterogeneous - instruments.
There is no limit on the number of instruments in a portfolio, but note that only the Premium license can handle portfolios consisting of more than 5 instruments.
Your first step in creating an object of type Portfolio would be to use the wizard and select the type "Portfolio" in the Type Selector , which is the wizard's top row, as shown below:

Depending on the type of static data you would like to use for defining the portfolio's instruments, there are now several ways to proceed.
The simplest case is when you have already built a spreadsheet with the ds() spreadsheet formulas that create the handle names of all the instruments that will compose the portfolio.
Then your next step would be to select any empty cell, click on the Go button and select the top menu item, which would generate and paste the required formula in the spreadsheet region at and below the currently selected cell.
If the latter were the cell A1, your spreadsheet would look as below:

The formula =ds(A2:B3,A5:A7) in cell A1 returns the handle name &Prtfl_A1:1.1 that acts as a unique identifier for the corresponding portfolio object held in Excel's memory.
The wizard has set up this default portfolio with very few dependencies so that it can be easily customized later on.
It consists of only two instruments, of which the handle names are passed as input in the cells A6 and A7.
Your final step would be to edit the formula in cell A1 so that it references the handle names of your own instruments rather than the two dummy handle names in cells A6 and A7.
Your own handle names may reside in some other spreadsheet and their number may be in the range of several thousands.
But for the purpose of this demonstration, assume there are only 10 instruments of which the handle names are stored in column D of the same sheet as the one shown above.
Then the formula in cell A1 should be adjusted to look as below:


There also exist other methods for creating portfolios that do not rely on pre-existing instrument handle names.
For example, it is often the case that hundreds or thousands of trades - such as swaps, bonds or options - are represented by tables consisting of several columns and N rows, where N is the number of trades.
Such tables are usually retrieved from a database and may exist in Excel or in some other format, eg as a specially formatted text file.
Deriscope can "read" such tables directly and create the corresponding portfolio objects, without the need of first creating the objects of the constituent instruments.
You can access all available portfolio creation methods by clicking on the checkbox next to the key named "Show Optional Keys", as shown below:

You notice the additional red-circled Key-Value pair "Spec Method= Arrays" that appears in the list of input parameters.
"Arrays" is the default value assigned to the optional key "Spec Method".
If you click on you will see the list of available methods.
You can see each method's description in the Info Area as you hover the mouse over each one and of course try them by selecting them and then using the Go Button to paste the corresponding formulas in the spreadsheet.

YIELD CURVE

The wizard is "lazy" and always creates the simplest possible structure when a default value is needed.
For this reason, when a Yield Curve is needed by a pricing formula, the wizard creates a curve with a flat rate of 4%.
If you would rather have a Yield Curve that represents actual market quotes, you must set up a formula that takes the market quotes as input and returns the handle name of the corresponding Yield Curve object.
Then you must edit all cell formulas that reference the original flat curve so that they now reference the cell that contains the new Yield Curve formula.
In order to set up the correct formula, you can use the wizard, as follows:
Your first step would be to use the wizard and select the type "Yield Curve" in the Type Selector , which is the wizard's top row, as shown below:

Your second step would be to select the types of instruments to which the market quotes refer.
For example, if you want to build a curve out of deposit rates, futures prices and swap rates, you should check the boxes next to "Use Deposits", "Use Futures" and "Use Ibor Swaps".
If you would rather build a curve out of OIS rates, you should check only the box next to "Use OIS".
Your last step could be to select an empty cell, click on the Go button and select the top menu item in order to generate and paste all required formulas in the spreadsheet region at and below the currently selected cell.
Note that the wizard-generated data pasted on the spreadsheet will still include market quotes that are defaulted to standard values - such as rates of 4% - and it will be your job to edit the respective cells so that they contain realistic values or even links to other cells where third party formulas - such as the Bloomberg's BDP() - return real-time market quotes.
Apart from the cells containing market quotes, you could also edit cells containing business conventions - such as daycounts or settlement days - and model parameters, eg interpolation types.
But you also have the option to fine tune the default data chosen by the wizard before pasting the formulas in the spreadsheet, by clicking on the pen-on-a-pad symbol shown to the right of the "Market Data=" key.
It is shown below for the OIS case:

This would make the wizard display the following:


By default the wizard displays only the mandatory parameters in the form of Key-Value pairs but the red-circled check box with the key "Show Optional Keys" can be used to display all parameters.

Most of the shown values, such as the numbers associated with the keys Obs Lag, Lookback etc, do not need to be edited here, since it is easier to be edited later on the spreadsheet.
But certain parameters - which ususally lie at the top - play a key role for what type of data is displayed below them.
For example, the highlighted key OIS Type is such a parameter.
Its current value is OI vs Fxd, which means the market rates refer to swaps that exchange the average OI against a fixed rate.
It is possible to set a different type of swaps by clicking on the red-circled button .
You would then see the list of allowed options to choose from.
After you have done all your changes, you may hit the Go button to bring the corresponding formulas to the spreadsheet.
If you want to keep only the mandatory key-value pairs in your spreadsheet, you must uncheck the "Show Optional Keys" checkbox before hitting the Go button.

As an example, consider an object, of which the Deriscope Type is Yield Curve.
Below is shown how such an object bootstrapped from OIS is created in cell A1 by the ds() formula =ds(A2:B10).
Its handle name is set as MyCurve in cell B4 for easy reference.
The numbers in column E are the OIS market rates in percentage units due to the suffix (%) in the table title #Rate(%).

The zero rates implied by this curve can be calculated and returned by the special Deriscope Local Function named Zero Rate that acts on objects of type Yield Curve and at best generated with the help of the wizard.
Your first step would be to select the cell A1 while the wizard is open. Then the latter will react by displaying the contents of the selected Yield Curve object, as shown below:

Your second step would be to move your mouse over the wizard, without yet clicking anywhere.
The wizard would then unhide its top Input Area to enable you to place your requests, as shown below.
In particular, note the red-circled Function Selector row that will allow you to choose the Zero Rate function in the next step.

Your third step would be to click on the Function Selector row and choose the Zero Rate function from the displayed list.
Then the Browse Area would react by displaying the selected function's input parameters, as shown below.

Note the highlighted row containing the key Maturity and its wizard-generated default value of 12-Sep-2023.
The red-circled button indicates that more than one values are possible for this particular key.
With the foresight that you are interested in the zero rates for several maturities, it is better to click on in order to add one more date in that row because then the generated formula will show more clearly that it expects an array of dates as input and returns an array of zero rates as output.
Then the Browse Area will appear as below:

Your final step would be to select some empty cell, click on the Go button and select the top menu item.
This would generate and paste the correct formula at and below the selected cell.
For example, when the selected cell is the G1, the formula would be generated as =ds(G3:H5,G7:G9), shown below:

It would make sense to select the output range G1:G2 and drag & drop it to the right of the range G8:G9 holding the input maturities, as follows:

Now it is easy to add as many dates in column G and edit the formula in cell H8 so that it references all added dates.