Options Symbology Initiative
Introduction
The Options Symbology Initiative (OSI) is an industry plan to change the symbology used in representing options listed contracts. The OSI is being coordinated by Options Clearing Corporation (OCC). Nanex will be changing its Options symbology for NxCore API. All required data for the new symbol change already exists in the NxCore API's data fields. Since all required fields already exist in the API, Nanex hopes to complete the change with minimal impact to customers.
Current Data Structure
NxCore Access transmits the date and strike codes for Options in the following data field:
pNxCoreMessage->coreheader.pnxOptionHdr->pnxsDateAndStrike->String
This is a two character array that holds the date and strike.
The first character is the Call/Put code (A-X).
pNxCoreMessage->coreheader.pnxOptionHdr->pnxsDateAndStrike->String[0]
The second character is the Strike Price Code (A-Z)
pNxCoreMessage->coreheader.pnxOptionHdr->pnxsDateAndStrike->String[1]
For Example:
A Cisco January Put at 25.00 currently is CYQ ME
pNxCoreMessage->coreheader.pnxOptionHdr->pnxsDateAndStrike->String[0] = M
pNxCoreMessage->coreheader.pnxOptionHdr->pnxsDateAndStrike->String[1] = E
Another important thing to note is that current options symbol length is 1 – 3 characters. The change will be increasing the symbol size to 5 characters. Since NxCore's API adds an o to the beginning of all options, the field will be 6 characters long.
Changes to the Data Structure
Nanex plans on making two changes to the NxCoreAPI that will have an impact on all our NxCore Access customers. The first change will be made to the field that currently holds the strike code. This field will become a space(Decimal 32/ Hexadecimal 20). NxCore already has the strike price in other fields in the API. We will also be updating any of our built in applications that reference these codes to comply with the changes. The second change will be to increase the symbol length to 6 characters. 5 for the root symbol and one for the lower case o. The date code will be unaffected.
The NxCoreAPI has the strike price located in the following pointer:
pNxCoreMessage->coreHeader.pnxOptionHdr ->strikePrice
The NxCoreAPI has a struct for the date:
pNxCoreMessage->coreHeader.pnxOptionHdr ->nxExpirationDate
- Year: pNxCoreMessage->coreHeader.pnxOptionHdr ->nxExpirationDate->Year
- Month: pNxCoreMessage->coreHeader.pnxOptionHdr ->nxExpirationDate->Month
- Day: pNxCoreMessage->coreHeader.pnxOptionHdr ->nxExpirationDate->Day
The field that held the strike character will be a space.
pNxCoreMessage->coreheader.pnxOptionHdr->pnxsDateAndStrike->String[0] = DateCodeCharacter.
pNxCoreMessage->coreheader.pnxOptionHdr->pnxsDateAndStrike->String[1] = " "
On February 12th we will update the tape version number from 1.20.x to 1.21.x. To see how this works, please look at SampleApp8 in the new Language samples. A link is located a few lines below to download the new sample applications.
We are also adding a new NxCORESTATUS message, NxCORESTATUS_TAPEOPEN. This message signals the system when the tape header has been read. When the message is delivered the tape definition string and NxCore date are available for the first time.
To see how NxCORESTATUS_TAPEOPEN works, please look at SampleApp8 in the new Language samples.
The new samples download link can be given upon request.
Examples and Locations of Data
Here is example of the new options data (this is not the same as the string in NxCore, but can be constructed from the NxCore data components):
A Cisco January Put at 25.00 that expires 01/16/2009.
The new OSI standard for this data is: CSCO 090116P00025500.
The following is a list of pointers in NxCoreAPI that have all the required data:
For reading ease:
cHead = pNxCoreMessage->coreHeader
oH = pNxCoreMessage->coreHeader.pnxOptionHdr
Data |
Value |
Pointer in API |
Symbol |
oCSCO |
cHead.pnxStringSymbol |
Year |
2009 |
oH->nxExpirationDate.Year |
Month |
01 |
oH->nxExpirationDate.Month |
Day |
16 |
poH->nxExpirationDate.Day |
Put(P)/Cal(C ) |
P |
oH->PutCall |
Strike and Decimal |
25.000 |
poH->strikePrice |
Other notes:
The underlying symbol: pNxCoreMessage->coreHeader.pnxOptionHdr->pnxUnderlying->String
-For oCSCO -- the underlying would be eCSCO
These are the only API changes that Nanex plans to implement. If there is a need for further changes, additional changes will be made. To see how the changes look, please contact support@nanex.net for links to download the language samples (Sample 2 is the best) and new OSI DLL.
If you have any questions, concerns, or comments please email support@nanex.net or call 847-501-4787