JTools Table of Contents

Project Location: \JTools_OptionChainViewer

If you receive Options though NxCore then you most likely have a keen interest in building Option Chains. The following application shows you how to do just that, plus a little more. Option Chains represent all the options available for an underlying equity. Typically when used for displays the options are separated by puts and calls and are sorted according to strike price and time to expiration. Because some equities may have thousands of options, most applications (including this one) will allow you to filter options on various criteria.

The Option Chain Viewer demonstrates several key NxCore concepts:
  • Building fully populated options chains "on the fly" at any point in time and doing it fast.

  • Only options with interest set (IE being watched) and it's underlying equity are processing trade and quote messages. Furthermore after the initial interest is set, no lookups of any kind are ever preformed. The application uses the individual UserData1 member of each option (and the underlying equity) to both determine if interest is set and for positioning in the call and put display lists.

  • Using custom Symbol Spins for a variety of tasks via NxCore's NxCoreSpinSymbols function. Custom symbol spins can be a very powerful tool and are used in this application to a) Build the option chains and set interest on each individual option and the underlying equity b) unset interest on each individual options (and the underlying equity) as new chains are requested and c) freeing of data allocated to each option/underlying equity.
As is, the application is very useful for viewing option chain pricing in real time (or from historical tapes). With a little work the application could easily be turned into a full fledged pricing model with implied volatility, fair value and all the Greeks.

An option chain for AAPLE Inc., filtered to show only 3 months out and for strikes within 5% of the stock's current price:

Underlying Fields:
  • Symbol - Symbol of the underlying equity or index.
  • Last - Last Trade Price
  • Net Chg - Net Change.
  • Volume - Total Volume.
  • BestBid - Current Best Bid Price
  • BestAsk - Current Best Ask Price
Option Fields:
  • Exp - Expiration Date - Month(day)-year.
  • Strike - Strike Price.
  • TrdTime - Time of the last trade.
  • Last - Last Trade Price
  • Net Chg - Net Change.
  • Volume - Total Volume.
  • BestBid - Current Best Bid Price
  • BestAsk - Current Best Ask Price
  • Filter at Request- If set, then any filters being used are applied when the chain is populated. Symbols filtered out will not be available until a new request is made. When not set, the entire chain is always in memory and are being updated constantly, but may be filtered out of the display.
  • Filter on Months Out - Filters the options based on the number of months out. 0=the current month only, 1 is the current plus the next month, etc.
  • Filter on Strike Range - Filters the options based on the distance the strike price is from the underlying equity's current price, as a percentage.
  • Filter on Exact Strike - Filters the options for a specific strike price.

Refiltered to show only 2 months out and for strikes within 2% of the stock's current price:

Refiltered to show 48 months out and for only strikes of $660.00:

OPRA - Trades Only:

Because the bandwidth demands for full OPRA are high, many of our customers choose to only have OPRA trades delivered (or optionally, OPRA Trades and BBO quotes only) . The Option Chain Viewer will work fine for this as well, simply minus the quote information:

Symbol Convention:

The Option Chain Viewer was designed for viewing both equity and index options. Equities may be entered as "AAPL" (for the stock APPLE INC) or using NxCore's native format of "eAAPL". Indexes must be entered using NxCore's native format of "iSPX" (for the S&P 500 Index).

Furthermore, because a symbol may be duplicated on more than one listing exchange. For instance GE is listed on both the NYSE and Canadian exchange, and represent different companies. As an example of how to specify the listing exchange in the symbol:
  • GE or GE:3 - General Electric on the NYSE exchange (exchange # 3).
  • GE:19 - Granville Pacific Capital Corp on the CDNX exchange (exchange #19).

The exchange designators correspond to the default NxCore exchange codes found here: NxCore Exchange Codes

Colors and Additional Settings:

You may change colors for he entire application by clicking on the application icon in the upper left corner, and choosing 'Color Prefs':

JTools Table of Contents