Photon Guide

Photon is the end-user order-entry application for the Marketcetera Platform. The application allows you to send and manage stock orders, as well as to view and summarize other aspects of the communication with your broker or simulator. This guide describes the features of the application, and gives you a sense for its capabilities.

Getting Started

Follow the instructions listed in the Photon Installation Guide. When you start up Photon you should see the main application window, and the message queue indicator at the bottom of the window should be green. If it is not, refer to the Photon Installation Guide to connect properly to an instance of a message queue.

The Equity Perspective

When you first start up the application you will be presented with the main Photon window showing the Equity Perspective, which is a collection and arrangement of "views" that facilitate trading of equities.

http://repo.marketcetera.org/images/screenshots/photon-overview-0.4.0-annotated.png

The Photon UI elements and their associated features are described in greater detail below. If you would like to skip directly to instructions on how to send an order see Sending an order.

1JMS and Quote Feed reconnect buttons8Symbol market data
2Market Data View9Open Orders List
3Fix Message Details10Order History Views
4Browser Window11Heartbeats Filter
5Stock Order Ticket12Command Entry Area
6Perspective Chooser13Message Queue and Market Data Feed
7Custom Fields14Order History context menu

Reconnect Buttons

http://repo.marketcetera.org/images/screenshots/reconnect-buttons.png

Use the shortcut buttons to perform the following actions:

  • Put the cursor in [command input area (ALT-C)
  • Reconnect to JMS server
  • Reconnect the Quote Feed
  • Cancel All Orders

Perspective Chooser

http://repo.marketcetera.org/images/screenshots/perspective-chooser.png

Click any of the buttons to switch to the three perspectives Photon supports:

Open Orders List

List of all of the orders that you are currently working in the marketplace. This is just one of the order history views that is available. You can modify the columns that are being displayed by going to Preferencees, choosing FIX Columns and selecting the columns you are interested in.

http://repo.marketcetera.org/images/screenshots/right-click-symbol.png

The "Cancel All" button on the upper right-hand side of the view lets you cancel all outstanding orders at once.

Order History

The main view for information about orders and trades is the Order History window, shown here:

The Order History view is split into 3 slices of the same data, as indicated by the tabs at the bottom.

Fills
All fill messages that you have received. Note that there is one fill message per partial fill, so you may have more than one fill per order.
Messages
This contains all of the FIX messages that have passed between your application and the counterparty.
Average Price
This list calculates the average price over multiple fills, displaying one line per symbol/side.

Heartbeats Filter

The FIX Messages view allows you to filter the heartbeat messages that are displayed in the FIX Messages view.

http://repo.marketcetera.org/images/screenshots/fix-messages.png

Click on the heart icon on the right side of the view to turn the heartbeat display on or off.

Right-clicking on any order brings up the same context menu as in open order list, and the columns displayed can be modified in Photon Prefernces.

Console

The console view reports information about what the application is doing at a given moment.

http://repo.marketcetera.org/images/screenshots/console.png

This is also where the application will tell you about any errors, for example an inability to connect to a message queue.

Browser

Enter the symbol in the address bar, and Photon will display the Google Finance info about the stock. You can obviously use the address bar for entering any other URLs as well. In addition, you can get Photon to display info on the stocks that you trade in the client.

http://repo.marketcetera.org/images/screenshots/browser.png

Right-click on a message in the Order History view, choose "View Security", and the Google Finance page for that stock will be displayed. http://repo.marketcetera.org/images/screenshots/right-click-symbol.png

Market Data View

The Market Data view provides for seeing the streaming quotes from the quote feeds for various stocks.

http://repo.marketcetera.org/images/screenshots/market-data-view.png

If you type in a symbol and no quotes are being displayed, check to see if you are connecting to the Exchange-based quote feed. If you are, it will only send quotes for symbols that are currently being traded in the exchange simulator. See configuring market data feeds for more info.

FIX Message Details

http://repo.marketcetera.org/images/screenshots/fix-message-details.png

Right-clicking on any FIX message in any of the views brings up a context menu that allows you to choose the FIX Message Details view, which shows you the breakdown of all the FIX fields and their corresponding values. You can also see the raw text of the FIX message, and can copy or export it to any other application such as Excel.

Connectivity Indicators

At the bottom of the application window there are two circular indicators showing connectivity to the JMS Queue and Quote Feed.

http://repo.marketcetera.org/images/screenshots/command-entry-area.png

The left indicator corresponds to the JMS connection, while the right indicator is for showing connectivity to the Quote Feed.
Both connections can be modified via Photon Preferences.

Green means an active connection, red means an error has occurred: please see the console log.

The Option Perspective

As of version 0.4.0 photon now provides the ability to view equity option market data, and to create and send option orders. To switch to the option perspective, simply click the "Option" perspective button at the top right of the Photon window, or choose "Option" from "Open Perspective" in the "Window" menu. This will bring up the option perspective, shown here:

http://repo.marketcetera.org/images/screenshots/photon-option-perspective.png

This perspective contains a couple of new views (option market data and the option order ticket), as well as the same FIX-message related views from the equity perspective (open orders, fix messages, etc).

Option Market Data

The option market data view will show an underlying stock and its associated set of options, including all the market data for the underlying and options. To get started, type a stock symbol in the symbol entry area at the top of the view, and hit return. The example shown gives the market data for IBM and its related option series. The option market data is laid out in a standard fashion with call related data (cBidSz, cBid, etc) on the left, and put related data (pBidSz, etc) on the right.

The Option Order Ticket

The option order ticket provides the additional fields necessary for specifying an option order. There are two ways to use this ticket.

  • First you may type an option root into the "Symbol/Root" field. When your cursor leaves this field (by hitting tab, for example), the "Expiration", "Year", "Strike" fields will be populated with the valid values of those fields. For example if you type "XYZ" in the "Symbol/Root" field, and the only XYZ options in existence expire in October, then only October will be shown in the "Expiration" field.
  • Alternatively you may type a full option symbol into the "Symbol/Root" field, for example "IBM+RE". In this case--provided that option symbol exists--the "Expiration", "Year", "Strike" fields will be set to the correct values for that option series.

Regardless of which entry method you use, you will need to complete the order by specifying the "Side", "Quantity", "Price" and "TIF" fields before the send button is enabled, and you are allowed to send your order.

Similar to the stock order ticket, the option ticket provides additional fields for specification of account, custom fields to be added to the order message, and market data related to your order. The option ticket also provides the ability to specify the "position effect" of opening or closing, and the "capacity" in which you are entering the order. These two fields are only available in certain versions of the FIX protocol. Please consult the FIX protocol documentation or your broker for more information.

Viewing option market data

Sending an order

Order entry can be accomplished with Photon in two ways: using the Stock Order Ticket view, and by typing orders directly into the Command Entry Area.

Stock Order Ticket

With the stock order ticket, you can use a combination of your keyboard and mouse to enter orders. To open the Stock Order Ticket view, if it's not already visible, click on the Window menu and choose Stock Order Ticket.

The stock order ticket allows you to control the following properties of the order. (Currently only limit orders are supported)

http://repo.marketcetera.org/images/screenshots/stock-order-ticket-blank.png

Side
The side of the order that you want to take. Currently only buy, sell, sell short, and sell short exempt are available.
OrderQty
The share quantity for the order. This value must be a positive integer.
Symbol
The symbol for the stock referenced by this order.
Price
The limit price of the order. This value must be a number, either an integer or decimal number. Fractions are not allowed.
TIF
The time the order will be in force. Currently supported are day, good till cancel, fill or kill, and immediate or cancel.
Custom Fields
If you have specified any custom order fields in the Preferences dialog, you can specify whether you want them automatically inserted into this order or not here.
Account
The account into which to place the resulting position. This field is optional.

When you have adjusted the order settings appropriately, click the send button to send the order to the order routing system.

Symbol Market Data

Photon ships with adapters for two data feeds:

  • bogusfeed - a simple data feed simulator that runs locally and only supports equities without option chains
  • marketdata - connects to a data feed simulator hosted at exchange.marketcetera.com with support for equity option data

Marketcetera provides two separate marketdata data feed simulators, both hosted at exchange.marketcetera.com but on different ports:

  • Port 7003: Quote feed tied to the Exchange Simulator, providing real-time data for equities and options being traded on the simulator
  • Port 7004: Independent quote feed that always has simulated quotes for any equity or option specified

See more information on how to configure data feeds for Photon.

If you have a quote feed configured, the Market Data section below the order fields will show you the current quotes for the particular stock from all the feeds.

Command Entry Area

The Command Entry Area is labeled "Command:" at the bottom Stock Order Ticket. You can activate the command entry area by typing <alt>-c.

http://repo.marketcetera.org/images/screenshots/command-entry-area.png

Currently the following command types are supported

Stock Order
  O { B | S | SS | SSE} quantity symbol price [timeInForce [account]]
Example: O B 10 IBM 76.45

The initial "O" tells the system that you are entering an order.
The order command starts with one of "B" (buy), "S" (sell), "SS" (sell short), "SSE" (sell short exempt). That is followed by a quantity which must be an integer. After the quantity comes a symbol. A symbol can consist of any string of non-whitespace characters. Next comes the price, which can be either numeric or integer format (or "MKT"). Finally two optional components, the time in force and the account. Time in force can be one of "DAY" (day), "GTC" (good till cancel), "FOK" (fill or kill), "CLO" (at the close), "OPG" (at the opening), "IOC" (immediate or cancel). The account can be any string of non-whitespace characters. Note that if you have an account, you must also have a time in force.

Option Order
  O { B | S | SS | SSE} quantity optionRoot expiration price [timeInForce [account]]
Example: O B 10 MSQ OCT45C 1.4

The initial "O" tells the system that you are entering an order.
The order command starts with one of "B" (buy), "S" (sell), "SS" (sell short), "SSE" (sell short exempt). That is followed by a quantity which must be an integer. After the quantity comes a symbol. A symbol can consist of any string of non-whitespace characters. The "expiration" identifier is a combination of the expiration year-month, strike price and call/put. For example OCT25C would refer to the October 25-strike calls. Additionally you can specify the year of the expiration month by preceding the whole identifier with the two digit year. For example 08JAN45P would mean January 2008 45-strike put. The rest of the order, including price, timeInForce and account behave exactly the same as equity orders.

Cancel order
   C {clordid}+
Example: C 1984563

This command starts with a "C" followed by a list of ClOrdId (client order id) values separated by whitespace.

Cancel/Replace Order
   CXR clordid { P | Q } { price | quantity }
Example: CXR 1984563 P 78.8

This command starts with "CXR" followed by a ClOrdId (client order id) of an open order. Next comes "P" or "Q", specifying replace of price or quantity (replacement of both is not currently supported). Finally comes the price or quantity depending on the previous token.

Scripting

See the Photon Scripting page for more information.