A takeover foreign exchange call gives the buyer the right to buy B units of a foreign currency at the strike price X if, and only if, the corporate takeover is successful.
A successful takeover is defined as having occurred when the value of the foreign firm, V, in the foreign currency is less than or equal to the number of currency units, B, at the option expiration.
Both the strike price, X, and the currency price, E, are quoted in units of the domestic currency per unit of the foreign currency.
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_TakeoverFXoption"
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.