Binary options, also known as digital options, are popular in the OTC markets for hedging speculation.
They are also important to financial engineers as building blocks for constructing more complex options products.
the payoff from a call is 0 if S is less than or equal to X1 and S-X2 if S is greater than X1.
Similarly, the payoff from a put is 0 if S is greater than or equal to X1 and X2-S if S is less than X1.
This option can actually give negative values, depending on the settings of X1 and X2.
When the difference between X1 and X2 is such that the value of the option is zero, the option is often referred to as a pay-later option.
This function utilizes an analytical (closed-form) algorithm.
Note that the risk (greek) numbers produced are the mathematically defined equivalent of a derivative (instantaneous change).
You can convert the risk number to your own definition of risk by multiplying by the shift you require.
For example, for a typical definition of VANNA, (change in underlying and volatility), where one defines the change in the underlying as a single unit of change (1.0) and the change in volatility as a one percent change (0.01), simply multiply the VANNA result calculated by (1.0*0.01).
For VEGA, change in volatility of one percent (0.01), simply multiply the VEGA result by 0.01. Within option contracts THETA is negative, however the mathematically defined equivalent of THETA (instantaneous FORWARD change in time) is positive.
Internally we have negated this value for you.
To express THETA as THETA per day, simply multiply the THETA result by 1/365 or 1/252 (depending on whether you require calendar days or business days).
This function stores a portfolio of options on futures in memory and returns a key.
This allows you to price or query the portfolio for different value dates via just the portfolio key.
You can price the portfolio via the
PriceOptionBook() function.
You can view the trades within the portfolio via the
DisplayOptionBook() function.
The
DisplayOptionBook() function allows you to sort the portfolio using any column (or combination of columns).
A column is simply the NAME of any of the parameters within this function (excluding the 'TradeKey' and 'Reload' parameters).
In addition you can create a new portfolio object from this object by grouping trades within the portfolio, for example by Currency, Units, Sector etc..., using the
GroupOptionBook() function.
You simply provide the NAME of the parameters that you wish to group.
Groups can represent more than one column and thus enables you to price a portion of the portfolio (a group) using the same
PriceOptionBook() function.
You can view the grouped names within the grouped portfolio via the
DisplayOptionGroups() function.
You can view the trades within a group via the
DisplayGRPOptionBook() function.
Furthermore you can create a new portfolio from this portfolio object by selecting a portion of the trades (via a sql-like language).
Again this portfolio can be priced via the
PriceOptionBook() function.
You can also execute the
WriteXLRange(),
WriteXLRange2() or
WriteXLRange3() and the corresponding
ReadXLRange(),
ReadXLRange2() or
ReadXLRange3() functions in order to read and write the portfolio data to file (XML).
WriteXLRange2() is preferable as you can save each of the ranges of this function to different slots (total of 15) within the XML file.
This function creates an object and returns a string-key value to represent this created object.
The TAG value of the string-key returned (second part of the key) is : "FUT_GapOption"
The C# example below contains all the sub-function calls leading up to this function call. As a result, the example can contain a lot of code.
The VB.NET, J#, C++.NET, Java, Excel VBA, Visual Basic 6 (via COM) and C++ examples below contain function code stubs for the calls leading up to this function call. However, the function call for this function is displayed.
You can easily reproduce the stub functions code from the
C# example.
Copyright (c) 2003-2007 CapeTools - All Rights Reserved.