Photon Guide
TracNav menu
-
Marketcetera
-
Overview
- Photon
- ORS
- Tradebase
- OrderLoader
- Virtual Appliance
- User Mailing List
- Download
- License
- Reporting Bugs
-
Documentation
- Marketcetera Platform Configuration
- ORS Guide
- Photon Installation and Configuration
- Photon Guide
- Photon Scripting
- Tradebase Guide
- OrderLoader Guide
- Configuration Files Guide
- Configuring Market Data Feeds
- Order Limits
- Excel Integration
- .NET Support
-
Support
- Support
- User FAQ
- Developer FAQ
-
For Developers
- Architecture
- Building Marketcetera Platform
- Building Photon
- Building Tradebase
- Building Appliance
- Building MarketceteraCOM
- FIX Overview
- Developer Mailing List
- Developer Notes
- Contribute!
- Reading List
- Third-party Dependencies
- Exchange Simulator
- JavaDoc
- Blog
Table of Contents
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.
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.
Reconnect Buttons
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
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.
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.
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.
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.
Right-click on a message in the Order History view, choose "View Security", and the Google Finance page for that stock will be displayed.
Market Data View
The Market Data view provides for seeing the streaming quotes from the quote feeds for various stocks.
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
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.
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:
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)
- 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.
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.
