WO2004061729A2 - Interactive real time grid-based graphical trading system - Google Patents

Interactive real time grid-based graphical trading system Download PDF

Info

Publication number
WO2004061729A2
WO2004061729A2 PCT/CA2003/000001 CA0300001W WO2004061729A2 WO 2004061729 A2 WO2004061729 A2 WO 2004061729A2 CA 0300001 W CA0300001 W CA 0300001W WO 2004061729 A2 WO2004061729 A2 WO 2004061729A2
Authority
WO
WIPO (PCT)
Prior art keywords
price
trading
data
security
order
Prior art date
Application number
PCT/CA2003/000001
Other languages
French (fr)
Inventor
Pranil Ram
Crispin M. Almodovar
Original Assignee
Pranil Ram
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Pranil Ram filed Critical Pranil Ram
Priority to AU2003201229A priority Critical patent/AU2003201229A1/en
Priority to GB0516002A priority patent/GB2412991A/en
Priority to PCT/CA2003/000001 priority patent/WO2004061729A2/en
Publication of WO2004061729A2 publication Critical patent/WO2004061729A2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Definitions

  • the present invention relates to software which may be employed by individual traders who trade in real time with respect to a specific market, as buyers or sellers.
  • the present invention provides an interactive grid-based graphical trading system comprising a "checkerboard" matrix of intersecting one or more rows and one or more columns representing, interchangeably, price increments along one axis and one or more markets or market participants along a second axis, for any specific security.
  • the rcsulling grid displayed on a suitable display device is associated with market information so that a buying or selling instruction may be given.
  • the user receives a dynamic graphical representation of existing market conditions at that instant in time with respect to any security.
  • the trader using the interactive grid-based graphical trading system may effect an order placement or order modification transaction by dragging and dropping an icon or any suitable GUI object into the "checkerboard" matrix. The user can then subsequently reposition the order graphically in terms of price and/or market participant.
  • day traders There are a number of trading systems, and a number of individuals, who engage in real time day-to-day or minute-lo-minute security trading. Very often, such individuals are referred to as day traders.
  • Graphical displays in keeping with the present invention will indicate whether the market is moving up or down, whether there is a high volume or low volume of trades occurring at the present time, and even the number of buy or sell orders that may be in place, and at what price, as they may be handled by any market participant.
  • the trader to whom the present invention is particularly directed is usually, but not necessarily, a sophisticated trader, who is interested in the dynamics of the market, and who is interested in obtaining data for any selected security at any instant in time, as well as lo watch the changes in market conditions as they may affect that security over a period of time.
  • the present invention provides means, including particularly a graphical user interface, to permit the trader to achieve the goals set forth above.
  • While the present invention is particularly directed to an interactive grid-based graphical trading system for use in trading securities, it necessarily includes all of the appropriate physical architecture and logical architecture at least, in functional terms that are necessary in order to facilitate operation of the present invention.
  • the present invention contemplates the existence throughout the network of traders and market participants, of secure and high speed communications channels, and of sufficiently powerful and high speed computer hardware lo function appropriately and lo assure seamless and transparent functionality and operation of the market overview and security trading functionalities of the present invention.
  • the present invention also contemplates that proprietary software which embodies 1 features, functions, and particulars of the teachings herein, will be resident in any computer hardware at the site of any trader practicing or operating this invention.
  • the present invention provides an interactive grid-based graphical trading system for use by any trader, where the system comprises a grid-based graphical interface, said graphical interface being adapted to establish connections with any backend system.
  • the interactive grid-based graphical trading system is adapted to receive and display market trading data received from said backend system.
  • the interactive grid-based graphical trading system includes first process means that function to send transaction instructions to said backend system, and to receive messages and market trading data from said backend system; and wherein said grid-based graphical interface includes second process means that function to receive, process, and display said market trading data, and said messages.
  • the market trading data includes information chosen from the group of market trading data consisting of: order data of said trader, and quote data for any selected security or group of securities.
  • the interactive grid-based graphical trading system also includes third process means that function to transform said market trading data into a graphical representation for display on a display device, wherein said graphical representation includes at least one grid having a plurality of cells arranged in a matrix chosen from the group consisting of: a plurality of rows and at least one column, and a plurality of columns and at least one row.
  • a row is an arrangement of horizontally adjacent cells with at least one common property
  • a column is an arrangement of vertically adjacent cells with at least one common properly, and each cell within the said plurality of cells belongs to one row and one column.
  • the plurality of rows or said plurality of columns are associated with a price axis representing a range of prices, wherein said range of prices is associated with the trading price range of any given security.
  • Any cell may be associated with said market trading data, and contains a graphical representation of said market trading data.
  • each cell along said price axis indicates a price or price range for which said market trading data exists, and the other of said at least one column or said a least one row is indicative of a specific criterion chosen from a plurality of criteria within which said market trading data may be categorized.
  • Each trader can place, or modify, an order for a selected security or group of securities, over which that trader has discretion, by interacting with said grid-based graphical interface.
  • the interactive grid-based graphical trading system is such that the trader engages in trading securities in real time. Also, the interactive grid-based graphical trading system is such as tobe available through a computer at each participating trader's site.
  • the market trading data includes information chosen from the group of market trading data consisting of: order data as to buy, sell, or other trading orders existing at that instant in time for any selected security or group of securities, quote data as lo bid and ask prices, volume, market participant identifiers, and other parameters, existing at that instant in time for any selected security or group of securities; wherein said market trading data is transmitted to each said grid-based graphical interface at the site of any participating trader from said backend system of any market participant in computer-readable electronic format. I he order or said quote is represented graphically in a cell.
  • the communication channels may include middleware used by any market participant.
  • the middleware functions to translate data and instructions sent over any communication channel into a format thai is understood by said grid-based graphical interface at any trader's location, or a respective backend system at any market participant's location.
  • cells representing a selected quantity of buy orders at or near the bid price, and different cells representing a selected quantity of sell orders at or near the ask price, which represent market trading data being posted by a market participant for a selected security are simultaneously displayed. Further, a selected security for which said trading data is displayed at any instant in lime may be changed to another selected security by any trader, at any instant in time.
  • the interactive grid-based graphical trading system of the present invention may further include a display panel associated with said interactive grid-based graphical trading system al any trader's location, wherein said display panel contains GUI objects to represent any monetary value or security which is held in any trader's account.
  • the interactive grid-based graphical trading system may further include fourth process means that permits said monetary value or security associated with a respective GUI object to be separated into a plurality of GUI objects, representing in total said monetary value or security, as elected by said trader.
  • the data displayed on said display panel on said display device at any trader's location includes text based quote data and related summary statistics for a selected security or group of securities at any instant in time.
  • Quote data and related summary statistics are text based, and include data chosen from the group consisting of: the exchange or market where the selected security is? being traded, the current bid price, the current ask price, the current bid size, the current ask size, the last trade price, the size of the last transaction in terms of the number of units of the selected security traded, the change in the price of the last trade with respect to the closing price of the previous session, the volume in terms of the number of units of the selected security that had been traded during the current trading session, the high price of the session, the low price of the session, the opening price of the session, and combinations thereof.
  • Any trading order transaction may be effected by dragging and dropping a GUI object which is representative of the specific transaction onto a valid cell of the grid-based graphical interface, whereby said first process means will issue a respective transaction instruction through a respective communication channel to a respective market participant.
  • the range of price values which are displayed along said price axis, and the price value for a selected row or column, is determined for each selected security at any instant in time as a factor of one of the criteria chosen from the group consisting of; the closing price for that security during the prior session, the opening price for that security during the current session, the highest price paid for that security during the current session, the lowest price bid for that security during the current session, and the last price paid for that security, and combinations thereof.
  • the criteria for said at least one column are chosen from the group consisting of: a market participant, a security, a component of an index, an index, aggregate trading data from a plurality of market participants, the trading activity of a market participant during the current session, the trading activity of a component of an index, the pending orders of the market participant at any instant in time, aggregate buy order and quote data from a plurality of market participants, aggregate sell order and quote data from a plurality of market participants, and combinations thereof.
  • T ⁇ e interactive grid-based graphical trading system of the present invention may further include software whose purpose is to review and weigh a trader's cash position and portfolio holdings, so as to make a recommendation on an order parameter for a trading order for a selected security, at any instant in time, where the recommendation is a function of an order parameter chosen from the group of order parameters consisting of: the bid price, the bid size, the ask price, the ask size, the last trade price, the volume or contracts traded over an interval of time, the volatility, the liquidity, and combinations thereof, for said selected security at any instant in time.
  • an intended trading order or a trading order is represented on said at least one display panel by a GUI object, wherein said GUI object is selected and positioned over said at least one display panel, by a user of said graphical interface, using pointing and positioning means for pointing and positioning a GUI object on said graphical interface, and wherein the act of selecting and positioning said GUI object representing said trading order, over said at least one display panel, effects order placement or order modification instructions.
  • a software object providing a graphical representation of trading data originating from at least one data source, wherein said software object is executable by a computer, and comprises:
  • First process means for establishing at least one connection with at least one data source.
  • Second process means for receiving trading data from said at least one data source.
  • Tlie at least one data source is selected from the group consisting of: securities exchanges, stock markets, currency markets, commodities exchanges, electronic communication networks (ECNs), brokerage firms, auction houses, data feed providers, market simulation software, trading data published on computer-readable media, and combinations thereof.
  • the trading data comprises data elements selected from the group consisting of: quote data, order data, and index data; wherein said data elements are associated with a specific security or a group of securities; wherein said data elements possess a price dimension representing the price of the security or the value of the index associated with said data elements; wherein the values associated with said price dimension are numeric price values or numeric index values; and wherein said data elements possess at least one additional dimension.
  • the software object further includes a visual manifestation displayed on said computer ' s associated display means; wherein said visual manifestation includes a drawing area for rendering a graphical representation of said trading data;.
  • the visual mani estation includes an axis associated with numeric price values which are associated with said price dimension, wherein said axis is rendered on said drawing area using at least one visual presentation style, and wherein said axis is a price axis.
  • the visual manifestation further includes graphical user interface (GUI) objects; wherein said GUI objects are selected from the group consisting of: icons, images, geometric shapes, and combinations thereof; wherein said GUI objects function to graphically represent order data and quote data received from said at least one data source; wherein said GUI objects are rendered on said drawing area by at least one visual presentation style; wherein said at least one visual presentation style functions to graphically distinguish between different types of orders and quotes associated with said data elements.
  • GUI graphical user interface
  • THe price axis defines one dimension of a coordinate system; wherein said coordinate system functions as a reference for plotting said GUI objects onto said drawing area.
  • the plotting comprises at least one process for determining the positions where said GUI objects are rendered on said drawing area; wherein said at least one process correlates the numeric price values of said price dimension with the numeric price values associated with said price axis.
  • the positions are defined with respect to said one dimension of a coordinate system, and are determined for the purpose of plotting and rendering said GUI objects onto said drawing area.
  • the trading data is received essentially continuously; wherein said essentially continuous reception of trading data effects dynamic variations in the values of said price dimension and said at least one additional dimension associated with said data elements.
  • the dynamic variations in the values of said price dimension, and said al least one additional dimension is graphically represented by dynamically varying the positions and graphical properties of said GUI objects rendered on said drawing area.
  • the software object described above may further comprise:
  • Fifth process means for receiving and interpreting input from a user of said software object, by means of at least one user interaction mode.
  • the visual manifestation's graphical properties and settings are electively adjusted by a user of said software object, wherein said adjustment is accomplished by said user through at least one user interaction mode; and wherein said adjustment is facilitated by said fifth process means.
  • the software object described above may also comprise:
  • Sixth process means for generating and transmitting trading instructions, and receiving feedback data pertaining to the stains of said trading instructions. If .-o, the fifth process means, and the sixth process means, together facilitate the graphical placement of trading orders, and the graphical amendment of trading orders; wherein said graphical placement and said graphical amendment of trading orders is performed by a user of said software object by interacting with said visual manifestation, wherein said interaction is subject to at least one rule; wherein said interaction is accomplished by means of at least one user interaction mode; wherein said GUI objects function to graphically represent trading orders initiated by a user of said software object.
  • the graphical placement and graphical amendment of trading orders causes said software object to generate trading instructions, wherein said trading instructions are selected from the group consisting of: buy order instructions, sell order instructions, order cancellation instructions, and order amendment instructions; wherein said trading instructions are transmitted lo at least one backend trading system capable of processing said trading instructions; wherein said at least one backend trading system is associated with at least one market participant; wherein said at least one market participant is selected from the group consisting of: securities exchanges, stock markets, currency markets, commodities exchanges, electronic communication networks (ECNs), brokerage firms, and auction houses; and wherein feedback data pertaining to the status of said trading orders is received and interpreted by said software object through said sixth process means.
  • ECNs electronic communication networks
  • the software object may be such that the price axis is directly related to the range of trading prices associated with a specific security and is partitioned into a plurality of segments; wherein each of said plurality of segments represents a numeric price, or a range of numeric prices representative of the trading prices of said specific security; wherein every trading price associated with said specific security is represented in said price axis by not more than one segment along said price axis; wherein each of said plurality of segments is labeled with a nominal numeric value represent tive of the price or range of prices associated with said segment; and wherein the difference between the nominal numeric prices associated with any two adjacent segments corresponds to said specific security's minimum price variance (MPV), or a multiple thereof.
  • MPV minimum price variance
  • the software object may be such that said price axis is indirectly related lo the range of trading prices associated with a specific security or group of securities; wherein said price axis is partitioned into a plurality of segments; wherein each of said plurality of segments is associated with a numeric value; wherein a specific segment of said price axis is associated with a reference value; wherein said reference value is selected from the group consisting of: the previous closing price of the security, the bid price, the ask price, the last trade price, an index value, the average price, the high price, and the low price of said security's price or said index value over a selected period of time.
  • the numeric values associated with said plurality of segments distinct from said specific segment are determined based on the difference between a nominal numeric value associated with said reference value and a multiple of a specific increment value; wherein each of said plurality of segments is labelled with a nominal numeric value representative of said difference.
  • the positions for plotting said GUI objects onto said drawing area are determined using a mathematical formula; wherein said mathematical formula is based on the difference between a price parameter of said specific security or group of securities, and said reference value; and wherein said price parameter is selected from the group consisting of: the last trade price, the limit order price, the stop order price, and combinations thereof.
  • the present invention further provides an interactive trading recommendation system lor use by any trader who engages in trading securities through established security trading markets, in essentially real time, which comprises: A. least one input data, wherein said input data is chosen from the group consisting of: trading account data, securities data, preference data, risk data, and combinations thereof; and process means to analyse said input data, and to output a recommendation as to the size or volume of an order.
  • the recommendation is a numeric value.
  • United States Patent 6,058,379 issued May 2, 2000 in the name of Odom et al teaches a networked exchange method in which a commodity may be traded from a seller to a purchaser using an exchange processor.
  • a mode of operations for an exchange is specified, a commodity is identified and listed, and the listing is accessed by a potential purchaser.
  • the potential purchaser accesses the network-based exchange, a negotiation occurs by processing information generated by the potential purchaser; and at the conclusion of the negotiation the concluded negotiation is cleared. All of the transaction software is driven by the exchange where the transaction is concluded.
  • Belzberg United Slates Patent 6,134,535, issued October 17, 2000 teaches a computerized slock exchange trading system where a graphical user interface is employed to automatically format orders from a spreadsheet to an order entry system. Parameters such as a share symbol, price selection, order size, and transaction type, as well as other indicators for the trading order, may be chosen using the graphical user interface and a mouse.
  • the interface may be programmed so that data concerning a group of shares may be read from a spreadsheet which is formulated into an order, or in response to a signal from the trader whereby an index or basket of shares may be traded substantially instantaneously.
  • Figure 1 is a schematic representation of a prior art system employed particularly by stock brokers for trading purposes by remotely located traders;
  • Figure 2 is another schematic representation of a different, browser-based front end system cu ⁇ cnlly employed by brokers for remotely located traders;
  • Figure 3 shows typical data displayed on a grid, in keeping with the present invention
  • Figure 4 shows a logical architecture for the front end functional unit
  • figure 5 is a block diagram of the internal architecture of the front end of a system in keeping with the present invention
  • Figure 6 is a block diagram of the order/transaction processing subsystem and order routing subsystem, in keeping with the present invention
  • Figure 7 is a block diagram of the account management subsystem
  • Figure 8 is a block diagram of the order execution subsystem
  • Figure 9 is a block diagram of a prototypical back-end trading system
  • Figure 10 shows a typical grid representation of data displayed at a trader's graphical user interface computer display
  • Figure 1 1 is a view similar to Figure 10, but with the price data being shown in larger intervals;
  • Figure 12 is a typical computer monitor display at a traders location, showing various kinds of data;
  • Figure 13 is a view similar to Figure 12, but showing additional data being displayed in a different manner;
  • Figure 14 shows a detailed view of a holdings tab chosen from Figures 12 or 13, in greater detail;
  • Figure 15 shows much the same data as in Figure 14, but in icon format
  • Figure 16 shows data chosen from the market order entry tab, chosen from Figure 12;
  • Figure 17 shows data typically found on a limit order tab chosen from Figure 12;
  • Figure 18 shows data typically found on a stop order tab chosen from Figure 12;
  • Figure 19 shows data typically found on a change order tab chosen from Figure 12;
  • Figure 20 shows a representation of an open order tab, chosen from Figures 12 or 13;
  • Figure 21 shows much the same data as in Figure 20, but in icon format
  • Figure 22 is a view similar to Figure 21 , but showing a representation of a right click menu associated with an icon;
  • Figure 23 shows a representation of a fill orders tab, chosen from Figures 12 or
  • gure 24 shows data chosen from an options order tab, chosen from Figure 12;
  • Fi ure 25 is a view similar lo Figure 10, but showing a situation with falling prices on a fixed price axis;
  • Figure 26 shows similar data to that of Figure 25, but with the falling price being centered on the price axis;
  • Figure 27 is a representation of prices for an option series, with one column showing an aggregate price;
  • Figure 28 shows a. typical price data display having a limit buy order
  • Figure 29 is similar to Figure 28 with the limit buy order having been moved to another market participant;
  • Figure 30 shows data from Figure 29, but only displaying bid and ask quotes for each active market and with a limit buy order being shown;
  • Figure 31 is a similar view to that of Figure 29, but showing a stop loss limit order
  • Figure 32 shows a display of a stop loss limit order after the stop price has been triggered and the limit sell order is in effect
  • Figure 33 shows similar data to that of Figure 31 , but with a column showing aggregate data being displayed;
  • Figure 34 shows the same data as Figure 33, but with the lot size for each selected cell being shown;
  • Figure 35 shows data for the aggregate column only of Figure 34, but with additional graphical representation of lot size and orders;
  • Figure 36 shows the data from Figure 35 being shown horizontally, together with a chat screen for a chat session which is occurring;
  • Figure 37 provides information for a single column quote data together with associated company chart and profile information
  • Figure 38 shows the same data as in Figure 28, but with a right click menu having been activated for a selected buy cell;
  • Figure 39 represents the settings which may be established when a replay tab is chosen from Figure 12;
  • Figure 40 is a representation of the settings which may be established when the Position Guide block from Figure 12 has been chosen;
  • Figure 41 is an optional display where data for three securities is shown being displayed horizontally;
  • Figure 42 is a typical display showing a NASDAQ Level 11 data being displayed
  • Figure 43 shows a box in which special terms criteria may be set for any transaction
  • Figure 44 shows a representation of an option chain for options concerning a particular security
  • Figure 45 is an alternative showing a data similar to Figure 44, with a right click menu of column display choices being shown for displayed put data
  • Figure 46 is an alternative showing a data similar to Figure 44, with a right click menu of column display choices being shown for displayed call data;
  • Figure 47 shows data similar to that of Figure 35, together with NASDAQ Level II data
  • Figure 48 shows a display having multiple buy and sell orders with their relative position to the bid and ask prices, together with actuating buttons for each price representation
  • Figure 49 shows an alternative mode of display to the data shown in Figure 48;
  • Figure 50 shows a typical multiple security display with a quote display associated with a selected column, and a highlighted tab;
  • Figure 51 shows a consolidated quote view for selected securities within a selected grouping;
  • Frgure 52 provides similar data to Figure 50, with each column being related to a specific security;
  • Figure 53a, 53b, and 53c show the manner in which price data may be mapped to any selected cell, where the price range represented by that cell may be changing;
  • Figure 54 illustrates a further embodiment of the present invention employing a grid-based graphical interface as a software object;
  • Figure 55 illustrates details of a further visual manifestation of the software object.
  • FIG. 1 shows a system architecture which is in place and which is operated by Broker # 1
  • the system 11 comprises a proprietary front end 12, a proprietary protocol 14, an optional middleware 16, and the backend system 18.
  • the optional middleware 16 and the backend system 18 are located on the premises of Broker # 1 , who communicates through a proprietary protocol 14 to the pi oprietaiy front end 12
  • the system 21 includes a web-based application which presents a web-based front end.
  • Communication is carried out through the Internet, as shown at 24.
  • a web server 26 there is a web server 26, there may be optional middleware 28, and there is a backend system 30.
  • Either interactive grid-based graphical trading system 12 or 22 is what a trader will see on his computer, and it is the tool that the trader uses to get quotes, manage his account with the respective brokerage firm, buy and sell shares or securities in general, and to tr-lck his transactions.
  • Simple front ends tend to be implemented as web applications, as indicated in Figure 2; however, any proprietary front end may also be employed. Any of these systems offer satisfactory performance, but proprietary front ends are generally not helpful, when it comes to visualizing market information.
  • Web-based front ends are generally quite slow, because both the user interface and the data must be processed remotely at the web server or at the back end.
  • backend system 18 or 30 exists in conjunction with any embodiment of the present invention, it is because they are the backend systems that are operated by respective brokers, electronic communication networks (ECNs), or even stock exchanges, and the like. Any such backend system may likely reside in a high end
  • Any backend system will generally have the responsibility for handling a number of tasks.
  • a market participant might be a broker, it might be an approved electronic communication network, or it might be a 1 stock exchange, commodity exchange, futures exchange, bourse, or auction system.
  • Another task charged to the backend systems which function in the prior art, and which function in association with the present invention, is that of processing buy orders and sell orders for each buy transaction and for each sell transaction which that market participant undertakes to perform.
  • the backend system is responsible for order execution, whereby each buy transaction and each sell transaction which the market participant undertakes to pei form will be executed.
  • the backend system is also responsible for datafeed handling, whereby streaming data concerning any orders or quotes for any selected security is disseminated on request to any trader, as discussed hereafter.
  • any backend system described herein will also be responsible for system management, for purposes of maintaining security and operation of the respective backend system of that market participant.
  • a communication protocol is required in prior art systems, as well as in the picscnt system.
  • the communication protocol for proprietary front end 12 is one which is used to securely transmit data from a proprietary front end 12 to the backend system 1 8, and in the reverse direction.
  • proprietary protocol is built on lop of TCP/IP sockets, most likely using some form of data encryption.
  • FIG. 2 For prior art systems of the sort shown in Figure 2, where Internet communication is employed in association with web-based front end, a typical communication protocol is HTTP or HTTPS.
  • a middleware component is employed, as shown at 16 and 28 in Figures 1 and
  • trading activity in a given security will usually become more active.
  • Supply and demand prices vary throughout a trading session and the bid and the ask are typically at differing prices.
  • Information about the activity of a market is disseminated (usually in real-time) in electronic format through data feeds.
  • a quote is a type of data feed containing information about the buy and sell prices for the securities traded on the market. Separate data feeds are available for trades, news, and other useful information. Buy and sell quotes on marketable products are disseminated in varying detail.
  • a basic quote on a security details the last trade price, the bid and ask price, and the change from the previous close. Often, the size of the bid and the ask, the trading day's high price and low price, the volume of the last trade, and the overall session volume is also disclosed.
  • arc market book quotes which are order and quote information provided by some Electronic Communications Networks (ECNs) such as Island ECN and Archipelago, and stock exchange such as the Toronto Stock Exchange (TSE), which can display buy and sell orders individually listed on the ECN's or an exchange.
  • ECNs Electronic Communications Networks
  • TSE Toronto Stock Exchange
  • the market books lists buy and sell orders, the number of shares in each order, and the prices offered. Orders are listed according to price and in lime priority, so orders Displayed close to the bid and ask on the list will be executed before orders further away in the list.
  • more than one market or network may exist to facilitate trading in a given security or commodity.
  • more than one market exists for a given product there is a tendency to link the market information together to compare quote information and trading activity.
  • Technology and computer networks make possible the linkage of the data feed (quotes, trades, news, etc) and order-placement facilities of different markets. As a result of this linkage, bid and ask prices tend to mirror each other, as financial intermediaries such as arbitrageurs trade products between markets when price discrepancies arise.
  • Quote data on securities is often presented in alphanumeric text format.
  • the quote data is often displayed in multiple rows and columns of text similar to a spreadsheet. Each row represents a different security, while columns show attributes such as the securities' symbol, bid, ask, last trade price, change from previous closing price, the volume, low price, and high price of the current trading session.
  • the text based presentation is often difficult to interpret at a glance. Discerning patterns from the text based quote information of an individual stock or a group of stocks is also difficult. With experience, some traders develop buy and sell "indicators" which assist them in speculating on the direction of a given commodity or security.
  • the order placement process in many computer-based trading systems requires the user to interact with a form - which is a collection of graphical elements (e.g. text input area, label, button, etc) through which the user issues commands and/or keys data into the computer system
  • a form - is a collection of graphical elements (e.g. text input area, label, button, etc) through which the user issues commands and/or keys data into the computer system
  • graphical elements e.g. text input area, label, button, etc
  • desired changes to the resulting open order also take a forms-based approach, which often increases the time spent on the process as a result of the time necessary to refresh screens and download the revised data.
  • the time taken lo place a trade and to change an open order often requires that a trader shift attention to the mechanism of the user interface, rather than lo maintain a focus on the market or the security in question, and hence obtain additional beneficial insight.
  • the minimum price variance is the minimum amount by which the price of a security can change.
  • the MPV is typically set by the primary marketplace for a given security or product.
  • the "bid” is the highest price a buyer is willing to pay for an investor's shares
  • the "ask” is the lowest price at which a seller will sell shares. The difference between the two is called the spread.
  • a smaller MPV will result in narrower spreads because there are more price points in buying and selling the securities.
  • Ihc system which is indicated generally at 10, and which is the general architecture for the present invention, includes a front end 32.
  • the front end 32 communicates through a communication network 34 to a market participant 36.
  • Piotocol exchanges at 33 and 35 will accommodate internet communications using varying protocols, as is well known.
  • At the premises of the market participant 36 there may he a middleware component 42 installed, as well as that particular market participant's backend trading system 44.
  • the front end 32 may interface with diverse backend trading systems 44.
  • Any market participant 36 may be such as a stock broker, an approved electronic communication network trading system (ECN), a stock exchange, a commodity exchange, a futures exchange, a bourse, or an auction house.
  • ECN electronic communication network trading system
  • the middleware 42 which facilitates communication between the front end 32, at the PC of any trader or user, and the proprietary backend trading system 44 running on the heavily secured machines of the specific market participant 36.
  • the front end 32 does not communicate wilh the backend trading system 44 directly, but through middleware 42 if it is present, and also through the communication network 34, as well as interfaces 33 and 35 as may be necessary.
  • the specifications of these interfaces will constitute a standard protocol which is based on extensible Markup Language (XML).
  • the middleware 42 will translate instructions and data, which are encoded in the standard protocol, and which come from the front end 32 into the native format understood by the actual backend trading system 44.
  • Instructions and data coming from the backend trading system 44 are also converted to the standard protocol by the middleware 42, before it sends them back to the front end 32.
  • the front end 32 is shielded from the peculiarities of a backend trading system 44, which may be different for various market participants, and it allows the front end 32, and particularly (he graphical display software and modes which are described hereafter, to be re-used in other applications with minimal modification.
  • the middleware 42 enables the market participant 36 to supplement the base functionality of its existing backend trading system 44 with new, value-added functionality.
  • a set or series of backend operations may be grouped into "virtual" operation.
  • An example of this is an order amendment transaction, which will be described hereafter.
  • an "order amendment" transaction requires that the user go through a two-step piocedure- first. Ihe original order is cancelled; then, a new order is issued.
  • a single virtual operation - the order amendment operation - can be invoked by a trader.
  • the middleware translates the single virtual operation into the appropriately series of trading instructions require by the back end trading system 44.
  • the front end has a three-layer logical architecture, consisting of the user interface layer 46, an object layer 48, and a communication layer
  • I he user interface layer 46 contains components that handle the graphics operations of the grid and other graphical objects. These include the construction of the grid (using cither an object-based approach, or using a frame-by-frame animation approach), dynamic operations such as moving and highlighting the cells of the grid; and interactive operations like responding to user actions, e.g. adjusting the price intervals on the vertical axis when the user clicks on the appropriate graphical element (e g a button), fhese matters are discussed hcieafler, wilh reference to Figure 5.
  • these include the construction of the grid (using cither an object-based approach, or using a frame-by-frame animation approach), dynamic operations such as moving and highlighting the cells of the grid; and interactive operations like responding to user actions, e.g. adjusting the price intervals on the vertical axis when the user clicks on the appropriate graphical element (e g a button), fhese matters are discussed hcieafler, wilh reference to Figure 5.
  • the object layer 48 groups together components that perform business logic, and components that implement utility functions.
  • the components in this layer (1) validate irsers' actions (performed on objects belonging to the user interface layer 46); (2) translate users' actions into commands - if applicable - to be sent to the back-end trading system via the communication layer 50; and (3) process return values, notification messages, or any other data sent by the backend trading system (through the communication layer 50).
  • the object layer 48 serves as an abstraction layer that shields the user interface layer 46 from the implementation of the lower level communication layer 50.
  • the communication layer 50 consists of components that act as communication "gateways" between the front end and the backend trading system.
  • This layer essentially translates programmatic requests (which are in the native format of the operating system and application platform of the front end) coming from the object layer. That translation may be into Simple Object Access Protocol (SOAP) messages, but any suitable option for facilitating communication may be chosen.
  • SOAP Simple Object Access Protocol
  • Any suitable option for facilitating communication may be chosen. It is to be noted that although SOAP is the primary protocol for front end 32 to middleware 42 communication, other suitable protocols - such as Winsock - can also be employed.
  • the communication layer 50 is designed to accommodate the "plug-and-play" addition and removal of communication components, each component implementing a specific type of communication protocol (e.g. Winsock, SOAP) for interfacing with the backend trading system 44.
  • a specific type of communication protocol e.g. Winsock, SOAP
  • the front end 32 is an important feature of the present invention, as it provides a graphically intuitive, fast, user-friendly application that any trader will use in order to get stock or other security quotes, manage their account with their respective brokerage firm or other market participant, buy and sell securities and stocks, track the status of those transactions, and track their current position vis-a-vis any selected security, their cash position, and so on.
  • the front end 32 operates on a Windows® platform, but not necessarily. Other platforms may also be employed, including LINUX ⁇ , and other proprietary platforms.
  • the graphical display employs GUI objects to display security data in a dynamic fashion, very intuitively, and allows the trader to buy or sell securities with simple mouse clicks by interacting with the grid-based graphical interface, and by dragging and dropping GUI objects.
  • FIG 5 the internal architecture of the front end 32, and the main program therein, is shown in terms of the functional blocks which are operable al the front end 32.
  • the front end 32 consists of a main executable program - which acts as the overall "controller” of the front end - and several software building blocks called “components" or "objects".
  • the main program is a Component Object Model (COM)-aware Win32 executable, and the soltware components are COM components.
  • COM Component Object Model
  • the actual technologies used may be different, but the architecture will remain the same.
  • the front end of the present invention leverages the power, ease of use, and the flexibility of using Microsoft's COM component technology.
  • COM allows the front end to organize functionality into multiple, independent, reusable software building blocks called "components" or "objects". (Note- although there is a difference between these two terms - a component is made up of one or more objects - and the two terms are used interchangeably herein.)
  • Each of Ihese components or objects encapsulates distinct software functionality, and interacts wilh other components through clearly defined programmatic interfaces.
  • the front end 32 is similar to conventional Microsoft Windows applications in that it adheres to the visual (e.g.
  • the front end's main executable program controls and manages the lifetimes of the application's various constituent objects- from object creation to object destruction. Furthermore the main program coordinates the operation of the objects, by passing messages between itself and the objects.
  • the core of the front end is in the set of software objects implementing the bulk of the application's functionality. These software objects fall into two categories: (1 ) graphical objects, and (2) non-graphical objects. Both types of objects encapsulate software functionality, but the graphical objects also display a visual interface. In Microsoft terminology, these graphical objects are called ActiveX custom controls, while the non-graphical objects are called ActiveX components.
  • the software objects are grouped together, according to functionality, into “layers”. As noted above, there are three layers: (1) the user interface layer 46, (2) the object layer 48, and (3) the communication layer 50. The most important software object is the grid graphical object 52. It displays
  • Level II quotes in a two-dimensional matrix of multi-colored cells which it constructs dynamically.
  • the grid graphical object receives its data in real-time (or close to real-time) from a quote server (not shown) which resides on the backend 44; the data however, passes through the object layer 48 and the communication layer 50 first.
  • the grid graphical object 52 also implements the graphical placement and modification of orders using a "drag-and-drop" mechanism.
  • Tfie grid graphical object is hosted inside a container object 54, to facilitate the easy grouping of multiple instances of the grid graphical object, discussed hereafter.
  • the container object 54 is a graphical user interface (GUI) element with the capability to "contain” other graphical objects.
  • GUI graphical user interface
  • An example of a container object is a tab-based dialog object common in Microsoft Windows-based applications.
  • the order entry graphical object 56 is a compound object (i.e. object made up of several smaller objects) which users of the front end utilize to post an order (and all its associated parameters).
  • the order entry graphical object 56 is also hosted inside a container object 58.
  • the account and holdings graphical object 60 is another compound object that displays summary and detailed information about an account. This information includes the account balance, order status, account summary, etc.
  • Each of the three graphical objects described has a counterpart object in the object layer 48.
  • the grid graphical object 52 has a quote source object counterpart 62, which encapsulates the logic necessary for requesting and receiving Level II data from the back-end trading system.
  • the order entry graphical object 56 has an order entry object counterpart 64, which implements the logic and business rules necessary for posting orders to the backend trading system, via the middleware 42.
  • the account and holdings graphical object 60 has an account and holdings object counterpart 66, which implements the logic necessary for requesting, receiving, and updating account information from the back-end trading system.
  • the communication layer 50 has one or more objects that implement the logic involved in translating requests and commands coming from the upper layers of the front end 32 into the format expected by the middleware 42. This format conforms to a .standard protocol, which is based on XML.
  • the communication objects also translate the data coming from the backend 44, through the middleware 42, into the format expected by the objects in the upper layers of the front end 32.
  • Other objects 72, 74, 76 may be found on each of the respective user interface layer 46, object layer 48, and communication layer 50, as may be determined by a skilled programmer who is familiar with the present invention.
  • FIG. 6 there is shown a representation of the order/transaction processing and order routing subsystems of a prototypical backend trading system.
  • backend systems arc highly proprietary, and thus the components and functionality of the system which is described herein, by way of example only, may not match the components and functionality of actual systems used by mai ket participants.
  • the order/transaction processing subsystem 78 receives orders sent from the front end and records them in the transactions database 80.
  • the subsystem applies appioprialc business rules to validate the order and the parameters (such as terms) associated with it.
  • the order routing subsystem 82 utilizes suitable algorithms and business rules to select Ihe best route for the orders it has received and validated. The best route always directs the order to the market participant (a Market Maker or ECN) with the best execution price.
  • the order routing subsystem 82 will use that route to execute the order. However if the user chooses the automatic routing option in the front end, the order routing subsystem 82 will choose the best route for his/her order.
  • the order routing subsystem 82 communicates with a local order execution subsystem, (if implemented by the backend) and external trading systems to retrieve and compare execution prices available for an order. The subsystem then uses the price data received to decide where lo route orders. I he local order execution subsystem is discussed hereafter, with reference to Figure 8.
  • Figure 7 shows an account management subsystem 84, whose purpose is to handle the creation, monitoring and management of online trading accounts. Before a trader can do online trading transactions, he/she must open an online trading account with an online brokerage firm. There are several types of accounts, depending on the owner of the account (individual or institutional), the purpose for opening the account, and other factors.
  • the account management subsystem 84 manages information pertaining to these accounts and their associated portfolios. It also handles password authentication during the initial login phase.
  • the account management subsystem 84 consists of three modules: (1 ) a login verification module 86, which handles authentication of users logging in to the backend system; (2) an account creation & maintenance module 88, which handles the creation, deletion, and management of online trading accounts; and (3) a portfolio management module 90, which handles the portfolios associated with the accounts managed by the account creation & management module 88.
  • Figure 8 is a representation of an optional order execution subsystem 92 of a prototypical backend trading system.
  • ECNs Electronic Communications Networks
  • -fn order execution subsystem 92 is a requisite component, but not for online brokerage firms, which delegate their order execution services to external trading systems.
  • the order execution subsystem 92 consists of two modules: an order execution module 94 and a trade reporting module 96.
  • the order execution module 94 handles the automated matching of orders entered in an order book 98. It uses appropriate business rules and matching algorithms to give orders the best price possible at the time of execution. It also implements logic for handling orders with associated special parameters like all or none orders, date/time-dependent orders, etc. This module also handles the cancellation of previously entered orders.
  • the trade reporting module 96 manages the historical database of all trades executed by the order execution module 94. This module handles requests coming from the other subsystems for trade and execution information. With reference to Figure 9, a prototypical backend trading system is shown by its functional blocks.
  • the front end 32 is capable of interfacing with diverse backend trading systems 44.
  • the middleware 42 makes this capability possible.
  • the backend trading system 44 can be any of the following: an auction system, a currency trading system, or a commodity trading system; the present invention is particularly directed towards securities trading.
  • this description focuses on a specific type of backend trading system 44.
  • the many similarities between a securities trading syslem and the other backend trading systems mentioned allow the present invention to be ported from one backend trading system to another, with relative ease.
  • a backend securities trading system 44 is a computerized system operated either by an online brokerage firm or an Electronic Communications Network (ECN). It typically consists of the following subsystems: (1) account management subsystem 91, (2) quote publishing subsystem 93, (3) order/transaction processing subsystem 95, (4) order routing subsystem 97, and (5) order execution subsystem 99.
  • ECN Electronic Communications Network
  • the account management subsystem 91 handles the creation, maintenance and monitoring of online trading accounts. It stores and manages information on the account's owner, its privileges, limitations, balance, its portfolio, and other related information. The account management subsystem 91 also handles the validation of user passwords when users initially log in to the back-end trading system.
  • the quote publishing subsystem 91 (which may also be referred to as a stock quolc sei ver) broadcasts quotes to subscribers
  • quotes There are two types of quotes: a basic quote which contain information on a stock's last price, the current bid and offer price foi Ihe slock, the change in price from the last trade, opening and closing price, highest and lowest price (for the current trading day), and the volume of stocks traded; the other type of quote is the detailed quote, which contains a listing of the prices quoted by different fnarket participants.
  • the detailed quote can also be categorized into two types: one is the detailed quote that comes direct from a stock market like NASDAQ, whose implementation of the detailed quote is called "Level II".
  • NASDAQ Level II is a tabulation of the bid and offer prices quoted by NASDAQ Market Makers and ECNs.
  • the other type of detailed quote comes from ECNs or stock exchanges and contains a snapshot of their market books (the queue containing all individual orders submitted to the ECN by its customers, the entries of which are ordered/arranged according to certain business rules).
  • the order/liansaclion processing subsystem 95 receives and validates orders coming from the broker's customers. After validating an order, it applies appropriate business rules (which vary depending on the broker) to the order. These business rules may include, among others, checking the account status of the owner of the order, checking the type and terms associated with the order, etc. Finally, the order/transaction processing subsystem 95 closely coordinates wilh the order routing subsystem 97 in ' deciding whether lo register or "enter” the order into the local market book 98 (if the back-end trading system has it), or to route it to an external trading system, e.g. NASDAQ or an ECN.
  • an external trading system e.g. NASDAQ or an ECN.
  • the order routing subsystem 97 uses appropriate business rules and algorithms to select the optimal route for orders accepted and validated by the order/transaction processing subsystem 95.
  • the optimal route directs the order to the best order execution system - the one with the best price, whether it be local (if the backend trading system implements an order execution subsystem 99) or remote (if the backend trading system does not implement an older execution subsystem 99, or it is not the optimal one).
  • the order execution subsystem 99 matches buy orders with corresponding sell orders ll continuously examines entries in the local order book 98, and then applies certain algorithms and business rules to decide which "buy” orders it will match against corresponding "sell” orders.
  • This subsystem is tightly linked with the order routing subsysteiT. because the National Association of Security Dealers (NASD) rules dictate that backend trading systems 44 must find the best price possible for all orders it accepts.
  • NASH National Association of Security Dealers
  • This subsystem is implemented only by ECNs. Online brokerage firms typically delegate their order execution services to an external trading system like an ECN, or to a NASDAQ Market Maker.
  • the front end software of the present invention comprises the grid graphical object, several display panels, and several GUI objects. The most important component of the front end software is the grid graphical object.
  • GUI front end a principal function of the GUI front end is to provide a grid representation of market conditions with respect to any security or group of securities, as tliscussed hereafter, effectively in real-time.
  • the GUI front end also provides a number of display panels and GUI objects for dynamically displaying trading data, and updating the trading data being displayed.
  • a plurality of grids may be shown, as noted heieafter, in sidc-by-side arrangement, as well as in tabs where once grid is hidden behind another in typical fashion well known particularly to programmers and users of Windows software.
  • a typical grid is shown in Figure 10.
  • data for a plurality of market makers ai shown m columns 100a... I OOg (being understood, of course, that the number of columns may vary as may be elected by the user, or as dictated by the software, all as described hereafter).
  • a price axis is shown at 102; in this case, the prices are shown varying in one unit intervals (typically, one cent intervals).
  • cat h is indicative of a separate grid for a separate security.
  • Tab 104a has been chosen, so that data concerning a hypothetical security identified as XYZ Corp. is shown. Its stock market symbol is shown at 106.
  • the bid size and ask size boxes indicate the number of lots (each being 100 shares) being offered for meme chase, or the number of lots being offered for sale, respectively, at the current bid and ask prices.
  • FIG. 10 Another box labelled PG is shown at 1 10, and is described hereafter. What is important to note is that there are a number of rows or price bins which are shown at various prices, and across various columns. It is important to note that in Figure 10, and throughout all of the Figures being discussed herein, active or selected eel Is for various market makers or other criteria as may be determined for each column, al various prices as shown in the rows thereof, are indicative of either buy or sell quotes or oiders.
  • the bid prices that is to say, each buy order or quote from any market participant which is being tracked on the grid, is at a specific price. As noted hereafter, there may be more than one buy order or quote at the same price, for any one market participant or market maker.
  • Buttons may be provided to zoom in or out on the price axis 102; a status bar is shown at 1 14, and a close button is shown at 1 16.
  • Figure 1 1 is similar to that of Figure 10, showing somewhat different data, because the price axis 102 shows each price bin separated from adjacent price bins by increments of 0.05. Thus, while the price range shown in Figure 10 is from 56.73 up to 57.04, the price range shown in Figure 1 1 for the same security is from 56.00 to
  • each price bin or cell in column 100a in Figure 11 is filled. That is because there is at least one bid or ask offering within each increment shown on the price axis in Figure 1 1 . For example, while there is no activity shown at prices
  • a replay button 1 18 is indicated in Figure 1 1.
  • This replay button can activate an historical data animation which will be displayed graphically on the grid, as described hereafter. Thus, quote and order information for a particular time interval can be reviewed, and accelerated if desired.
  • the replay button 118 will speed up activity so as to gauge the market direction or momentum more accurately. It will allow a trade to compare activity from one period to another; and it will also permit a trader to review market activity that was missed.
  • Figure 12 shows a typical screen shot having a number of speci fie display panels down the left hand side and across the bottom, together with two grids 120 and 124, which replicate data shown in Figures 10 and 42, respectively.
  • Figure 13 shows three grids 120, 122, 124 which replicate the data shown in Figures 10, 1 1, and 42, respectively. Also shown in Figure 12 are a number of other tab sets 126, 128, 130, and 132.
  • Theie is also a Position Guide box 1 34 shown in Figure 12.
  • tab set 128 is also shown in Figure 13, but in a different location than in Figure 12.
  • the various lab sets permit the trade to set up and enter orders, monitor open orders, view filled orders, view market statistics, monitor a cash position, recommend shares to purchase, interact with other traders, and follow market developments, all as described hereafter.
  • tabs can be moved within tab sets and between tab sets; and may be renamed.
  • tab pages can be positioned at any coordinate on the screen, and may dock and undock with other windows, in keeping with Microsoft Windows conventions.
  • the Position Guide 134 will recommend a suitable level of shares to buy or sell, according to factors such as cash on hand and portfolio value, as described hereafter.
  • a NASDAQ Level II grid 124 is shown, as described hereafter with respect to Figure 42. Obviously, the overall look and feel of the user interface may be controlled by a user preference configuration capability.
  • the icons shown in Figure 15 may be colored so as to show the type of security or type of order that exists. For example, colors may be used to represent a short order, another color used lo represent an option, or a margin purchase, or to indicate profit or loss on individual positions.
  • Each icon may further have data associated with it, which would be revealed by holding a cursor over the icon.
  • the status bar 138 may also display the data, as well as the current market price for the security, if elected.
  • Figure 16 illustrates a market order entry tab 127, chosen from tab set 128. This is a form based representation; and it will be noted that there are buy, sell, and short buttons 140, 142, 144, respectively, which can be pressed so as to route an order to a given market.
  • That market may be as shown at 146.
  • a buy, sell, or short button 140, 142, or 144 can be dragged onto the grid 120, for example, for the order to be routed to the selected market — in this case, 1SLD.
  • a similar tab is shown in Figure 17, also selected from the tab set 128; but in this case, it is the limit order tab 148 which has been selected.
  • tab 152 from the tab set 128, is shown in Figure 18. That is the stops tab or slop order entry tab.
  • This stops tab 152 has similar properties to that of tab 148, except that it is equipped with four other buttons 154, 156, 158, 160 which are labeled as stop buy, stop buy limit, stop loss, and stop loss limit buttons, respectively.
  • An order input can be in terms of shares or an order reference number, so that a filled order can have a corresponding stop order associated with it. Stop orders trigger when a lot has traded al the stop price. When a stop limit order has been entered, a distinction may be shown between the limit price and the stop price, on the respective grid display.
  • FIG. 19 Yet another tab in the tab set 128 is a change order tab 162, shown in Figure 19.
  • This lab is employed so as to change the parameters of an open order B that is, an order thai has already been placed.
  • the order reference number 166 is shown, so as to identify the order which is already in place.
  • the new shares and new price are shown al 1 8 and 1 70.
  • the submit button I 72 effecting the change order.
  • Terms may be set by employing button 174. Changes may be made, of course, in respect of the volume or the price, or even the route through which the order will be placed.
  • Figure 20 shows another tab from the tab set 132, namely the open tab 176.
  • Figure 21 shows similar data, except in icon form; and
  • Figure 22 shows the same data from Figure 21 with a further drop-down right click menu.
  • a change column 178 shown in Figure 20 which permits order parameters to be changed and which allows the order and the underlying security to be displayed on the grid of Figures 10 or 1 1 , for example.
  • the change box can be dragged onto the grid to a specific price bin, so as to effect a price change or to submit an order to a different
  • the stains bar 180 indicates that there are six open oidei s; and in this case, a right click on icon 182 has opened a drop-down menu 184, which menu permits open order parameters and terms to be changed or cancelled.
  • Order 186 reveals data concerning orders that have been filled. Such orders may have been bu) , sell, or short - see, for example, Figure 20 - and the data provided in Figure 23 shows the pi ice and lime, and quantity, at which the order was filled or at least partially filled.
  • Figure 24 shows further detail from the tab set 130, in this case being details concerning option orders or other derivatives that may have been placed.
  • option orders or other derivatives have their own dedicated order entry lab, with all of the necerney in ormation being entered such as al 190 where a derivative being bought, has additfonal criteria being chosen as indicated.
  • the submit button 192 will effect the transaction.
  • the submit button 192 may be dragged to a suitable grid so as to enter the order, as will be evident from a review of Figure 12, for example.
  • a further drop-down menu may be provided so as to select different market participants, for routing of the specific transaction being effected.
  • Figure 25 is similar to Figure 10. However, in figure 25, the price of XYZ Corp. has dropped from 56.92 to 56.79. As a result, the security is trading down some 13 rows from 56.92. The last trade of 56.79 is highlighted on the price axis 102. The bid and ask of the market participants have fallen lo the lower portion of the grid 120, since the price axis is fixed for the .01 row increment. If the security trades at or below 56.73, the lowest visible row, the price axis 102 will adjust the displayed price range down to maintain the trading activity in the visible portion of the grid.
  • the price axis 102 may adjust to trading activity automatically or manually. In automatic mode, it will maintain trading activity substantially centered in the middle of ihe grid by adjusting the displayed price range of the price axis continuously. A smoothing function may be used to prevent the price axis from adjusting itself to quickly in an active market. In manual mode, the user resets the trading activity to the center of the axis 102. A buy order cell - such as cell 200 on Figure 28 - on a fixed price axis 102 will remain stationary as the trading activity moves towards it and eventually fills the order. When a security is first shown on the grid 120, the user may elect to position the price axis 102 according lo (he session high, low, opening, or last trade prices. Alternatively, the price axis 102 can be centered to the closing price of the previous session, or a technical indicator such as the 50 day moving average.
  • Figure 26 is similar to Figure 25, except that the price axis 102 has been centered on the grid 120.
  • a buy order cell 200 on Figure 28 on a centered price axis will appear to climb higher towards the trading activity as the price of the security falls, until eventually the order is filled.
  • a right click menu on the price axis 102 can select how the price axis reacts to price variations in the security.
  • FIG. 27 there is shown a grid representation in which an aggregate price column of an option series is illustrated.
  • the grid 196 shows an option series representation for a particular call option of an option eligible index.
  • the price axis 102 is in .05 increments as is suitable for an option priced under 3.00.
  • Figure 28 demonstrates how a buy order 200 is located on the grid 120.
  • the buy order for 200 shares of XYZC is a limit order placed at 56.88. This is .04 below the last trade price on XYZC, as shown at 202.
  • the market where the order is placed is Island ECN, as noted in the header for column 100a. To distinguish an order from the background quotes, a contrasting lexlure or color is used. The text inside the order also helps identify the type of order and shares being sold.
  • a limit sell oidef may be placed in a suitable market and in the upper portion of the grid representing seller quotes.
  • the order is placed on the grid 120 in a number of ways.
  • First, the order will be entered automatically into a suitable grid if it is submitted from an order entry tab such as that shown in Figure 17.
  • Second, the order can be entered by dragging and dropping from the Position Guide 134, which recommends the amount of shares to purchase as well.
  • Third, the order can be dragged and dropped from the holdings tab, as seen in Figures 14 and 15, or a similar status tab.
  • the orders can be posted to the grid direct from the appropriate entry method, either through the order entry tabs or the Position Guide, with validation to follow; or the oiders can be posted after validation from the exchange or market. In the latter case, a delay may occur between Ihe lime the order is entered and the time it is validated. In this case, the cell 200 may indicate a non-valid status until the backend system validates the order.
  • Figure 29 is similar to Figure 28, except in this case the order 200 has been routed from one market to a different maikct at a different price. The original order has been advocated to Archipelago ECN in column 100b, and the buy price has been reduced to 56.83.
  • This apparent order change occurs when a selected buy cell 200 is dragged or rouled by the computer's pointing device, such as a mouse or a keyboard cursor arrow, such that Ihe selected buy order cell 200 moves left, right, up, or down, along the gt id.
  • the computer's pointing device such as a mouse or a keyboard cursor arrow
  • Ihe selected buy order cell 200 moves left, right, up, or down, along the gt id.
  • CFO change
  • Figure 30 is similar to Figure 10. I Iowever, in Figure 30, only Ihe bid and ask for each market participant is displayed The buy order 200 from Figure 29 remains visible. Some users may prefer this view, selected from the grid preferences menu, as it removes movement outside the market and makes open orders stand out.
  • Figure 30 also shows an example of a mouse over effect showing a price axis popup box 202, a quote or order popup box 200, and a market participant popup box 206, so as to result in the display of other relevant information
  • a radio button 208,210 shows that the tab page can toggle between a grid display of
  • Figure 31 shows a stop loss limit order 208 and 210.
  • the stop price is 56.82.
  • the associated limit sell order 210 becomes active. Both parameters, the stop price, and the limit sell price, can be changed by dragging its associated cell. Text inside the order cells help identify the order type, quantity, and function.
  • Figure 32 is a representation of Figure 31 , once the stop price has been reached and triggered.
  • the stop price 208 of 56.82 remains on the grid 120 to show that the stop price has been triggered and the limit sell order 210 is now an open order.
  • the limit price may be changed while the order is open. In this manner, more complex order types may be displayed.
  • an integrated icon area 301 is included at the right of the grid, showing the status of orders or holdings that are related to XYZ
  • i potation I he icon area 301 may be considered to be a parking area, in that orders are parked in order that the trader may drag them onto or off the grid 303.
  • One advantage of lhe icon area 301 is that an order can be dragged off the grid 303, even though the grid may have been cancelled, and held in the icon area 301 so that it can be dragged back onto the grid later as a new order, without having to set up the trade all over again.
  • a further feature of the icon area 301 is that multiple orders with respect to the same security may be established.
  • An advantage of the integrated icon area 301 is that icons relative to the specific security may be displayed, whereas the holdings tab as seen in Figures 14 and 15 contains information as to all securities which are under consideration. Thus, using a display set up as shown in Figure 3, the trader can concentrate on a single security, if thai is the trader's wish.
  • Figure 33 is somewhat similar to Figure 27, and in this case it shows a grid 212 for a security, XYZ Corp , which trades in multiple markets, being represented by an aggtegate column 214.
  • the aggregate column combines quotes and order data from multiple market participants 100a... lOOf into a single column.
  • the aggregate column 214 may represent, for example, aggregate quote data from those market participants available to the trader's brokerage firm to trade on and to submit orders to.
  • the grid's price axis 102 may also be split into two price series to show different price ranges for the same security.
  • Figure 34 is a representation of Figure 33, having the same data, but with each cell which contains a market quote having a text display of a cell property - in this case, the text label refers to the total lot size of the cell.
  • a drop down menu 216 is presented at the top of the page tab for selecting the property.
  • the text shown on each cell can be total lot size, number of orders, dollar value, share quantity open or shate quantity traded inside the cell.
  • the total lot size, orders, trade value, or share quantity filled or executed at each cell can be shown over a period of lime In the latter case, the length of time specified may be from the beginning of the current session, during the past hour, or a user selected time interval.
  • the aggregate column 214 may also contain text summary data. In addition to a text inside the cell, colors and color gradients can be used to display the same parameter or an alternative parameter of each cell or order.
  • a grid 220 is shown, which uses the concept of the aggregate column 214 to show a one column view of one or more market participants.
  • the remaining columns 222 and 224 are used to show lot size and order quantity for each pi ice increment.
  • a graphical representation of lot size and order quantity is shown next to the text data, at 226 and 228, respectively
  • a replay button 1 18 is shown, which can animate historical data in a graphical presentation.
  • a right click menu is available over the column name to allow the user lo select a data display from specific markets rather than an aggregate representation.
  • the grid column 214 can repiesent data only from Island ECN and display the corresponding text 222, 224 and graphical representation 226, 228 of lot size and order quantity, respectively.
  • Figure 36 shows the market column or aggregate column 214 of figure 35 rotated 90 degrees, and now presented horizontally at 230. Price increments run along the x-axis from left to right. The rightmost cell contains the highest price value. The size of each price bin may be increased to view a larger price range for the security.
  • Direction buttons at each end of the grid allow the grid's price axis 230 to be scrolled left or right, fhe cell values at the endpomls 232, 234, the bid and ask 236 and 238, and the last b ade 240, are all indicated and linked to their representative cell. Open orders are also shown, in this case at 242, above the grid.
  • a Position Guide 134 allows orders to be dragged and dropped onto any cell thai is displayed. In this type of display, the bid is shown on the left, and the ask is shown on the right. There is less room lo display text inside each cell in this implementation of the grid 220.
  • buy orders 242, the last trade 240, or a sell order may be represented by the single letters "A", "L", and "S" within each cell. These cell types may also be represented by specific colors as well.
  • a chat application 244 allows discussion of a selected security or topic.
  • the integration of the chat application on 244 the same tab page allows a security to be monitored closely while a discussion is ongoing.
  • Figure 37 shows a single column representation of a grid 246. Single column representations are appropriate whenever listed securities trade and are quoted in only one market such as the Toronto Stock Exchange, ' fhose quotes are shown in column 248 The remaining space on the tab page is taken up by charts 250, 252 and a fundamental profile data 254 on the security. A drop down menu allows the chart type and time interval to be selected.
  • Figure 38 is similar to Figure 28, with a representation of a right click menu 254 on Ihe buy order.
  • the right-click menu 254 is location and context sensitive, and allows the user to view order statistics, change order parameters, adjust price bin size, set preferences, display an aggregate column, and undo a change.
  • the right-click menu 254 also allows the user to access the Position Guide 134 and the replay feature 1 18 of the gt id interface
  • Figure 39 is a representation of the replay settings tab 256.
  • the replay feature 1 18 provides a graphical payback of historical data and trading activity on a grid. If the historical time interval being reviewed is large, the playback speed can be accelerated. For example, if the historical interval being reviewed was originally 60 minutes long, as can be seen by comparing the times for the start and end of the interval to be displayed, as set at 258 and 260, the user can adjust the playback time period to view this interval al 10 limes normal speed which would result in the animation lasting six minutes Similarly, the animation interval can be fixed for a defined time, for example, 2 minutes, without regard to how long the original historical time interval was.
  • the historical 1 data or necessary file on the security is not resident on the user's computer, it may be downloaded from a suitable server.
  • the replay application 1 18 uses actual historical quote data to run the animation.
  • the replay feature 1 18 works only if there is available archived (historical) quote and order data from the user's computer or from any suitable server.
  • the user can elect to store historical data locally through the record function, which will store data on the user's computer's storage means.
  • Figure 40 is a representation of the Position Guide 134 settings.
  • the Position Guide 134 recommends a quantity of each security to buy or short, based on input from the user on the amount of funds to be invested in each type of security, and the percentage of buying power or portfolio value available to be invested in any trade.
  • Recommendations are rounded up or down to a standard lot size or contract size, as shown at 262.
  • the recommended quantity to be purchased or shorted can be dragged and dropped from the Position Guide 134 (see Figure 36) to any cell on the grid, for the coriesponding security.
  • the Position Guide is made available directly on the tab page of each grid by electing to show the Position Guide 134 on each lab page.
  • Position Guide allows the trader lo enter limit orders with one or more parameters based on the Position Guide's recommendations.
  • Figure 41 shows horizontal grids 270, 272, 274 for three securities.
  • Each security has its own grid 278, 280 and Position Guide 134a, 134b, 134c, respectively.
  • the top security XYZ Corp, has two grid rows 276a, 276b associated with it. Each functions independently and provides a display of the security in its own respective price range. Orders 278 to sell at 57.50, 280 to buy al 56.88, ask information, and last trade information 284 can be indicated on both related grids if the price labels overlap. Each grid allows ihe price bin to be adjusted independently of the other.
  • the middle security is an option series.
  • the Position Guide 134b recommendation is based on contracts, not shares. Options above 3.00 trade in MPV of .10 increments. There is a sell order 286 at 8.10.
  • the bottom security A BCD Corp, is being monitored by the user, and has no open orders associated with it.
  • FIG 42 there is shown conventional NASDAQ Level II display 124, as used by day traders in the US equity markets. Time and sales information is on the right side of the display at 290. Since, the grid representation of trading and quote activity differs from the NASDAQ Level II view, traders new to the grid view may prefer to additionally monitor securities with NASDAQ Level II displays. To accommodate this need, the tab pages of the grid area can switch between NASDAQ Level II views and grid-based views of the trading activity.
  • Figure 43 shows a representation of the special terms setting dialog box 300.
  • Special terms dictate how the order must be filled. Setting special terms is a common feature of trading applications. Special terms for an open order may be accessed and changed from the right-click menu of an order cell on any grid, as shown at 254 in
  • Figure 44 shows a representation of an option chain on a grid 302.
  • the tab name OEY*D shown al 304, indicates an option chain.
  • the grid arranges the data associated with the option chain to provide a representative display.
  • Bid and Ask prices arc displayed for various months, in columns 314a...314f, at different price levels.
  • Two buy orders 316, 318 are indicated. The first is to buy 10 contracts of the OEX April 620 calls at 1.30. The second to buy 5 contracts of the OEX July 620 calls at 2.05.
  • the grid drop down menu 318 allows data for puts, call, or both classes to be displayed.
  • An order status area 320 allows the user to monitor the status of the open options cfrders.
  • the option order prices can be changed, by dragging the order cell up or down its respective column.
  • the radio buttons 320, 322 allow the option quote data to be displayed in a table style view, or on the grid. Standard preferences may be applied such as showing contract size in each cell, as a text label. Options data may be filtered to display only the bid and ask of each month to reduce the level of detail.
  • Visual and auditory alarms or notifications can be set to warn the user of a change of status or trading activity.
  • Figure 45 shows an alternative representation of the option chain of Figure 44.
  • Both Puts 324 and Calls 326 are displayed in this view.
  • the selection of which class to display is via (he put and call check boxes 328, 330 under the grid display radio button 322.
  • the price axes 332, 334 are independent of each other, to optimize the display of relevant quote and order data. Changes can be made to the initial layout of the option chain. For example, the month displayed in each put and call column is via a right-click selection on the column name, as shown at 336.
  • Figure 46 shows yet another alternative representation of the option chain of Figure 44. Both Puts and Calls are displayed in this view at 340 and 342, respectively. Each column 344a...344f represents a different strike price for the month of April. Two limit buy orders 350, 352 arc indicated: the first is for 10 contracts of the OEX April 615 calls at 1 .55; the second buy order is for 5 contracts of the OEX April 585 puts at 3.30. The price axes 354, 356 for each class are independent of each other. A right-click on the column heading allows the strike price to be changed, as shown at ' 360.
  • Figure 47 is a representation of an aggregate column 362 of quote data and a corresponding NASDAQ Level II type display 364. Orders are entered or adjusted on the cohmin according to market developments reflected in the Level II display. Although one column 362 is displayed to represent the aggregate data, the user may elect lo show a second column to monitor a preferred market maker, exchange, ECN, market participant as referred to herein.
  • the radio buttons 366, 368, 370 on the Figure allow the trader to alternate views from a multiple column grid, to a split grid and Level II view, and to a grid and Chart view. A further view may include a grid and a chat discussion on the security, or news updates.
  • FIG 48 there is shown a consolidated view 380 of all open orders in a user's account.
  • the front end system 32 determines whether each open order is on the bid side or the ask side of the underlying security. Then, the front end system 32 plots the relative distance of each order from the security's bid or ask price. The price difference between the bid or ask price and the open limit order is plotted on a common grid and a relative price axis. It results in a cluster of orders around the normalized bid and ask reference points.
  • GE in column 382a at 384 is an open limit order to buy one lot.
  • the value on the price axis 386 is -0.20, which means that the user's buy order is about 0.20 away from the current bid of GE. If the bin increment was 0.01 instead of 0.05, a more exact calculation of the price gap would be possible.
  • Orders can be dragged and dropped closer or further away from the trading activity, which will effect a change in the price of an open order. If an order is dragged to the opposite side of the market, the system assumes the order has changed to a market order and informs the backend accordingly.
  • the first is to allow multiple orders to overlap at a given price point or price bin.
  • the left to right placement of orders when multiple orders reside in one bin is determined by the orders closest to Ihe bid or ask price. These orders arc placed on the leftmost column.
  • a second r-lnking variable may be the value of the trade, or the time interval since the order was submitted.
  • the second purpose for the columns 382a...382e is to allow open orders to be dragged left or right, away from the main cluster of orders so individual stocks or groups of stocks can be segregated and monitored in relation to the central order cluster.
  • semiconductor sector stocks such as INTC (386), AMD (388), and MU (390) may .be dragged along the row to the right edge of the grid so the relative performance of those open orders may be monitored for signs of a deteriorating market or an upcoming rally.
  • I he first column 414 contains two user-defined buttons 392, 394 in each cell.
  • buttons are a cancel button, CXL, and a change limit order to market button. MKT, respectively. Pressing either button changes all orders in the relevant row to the designated command.
  • a market event such as a Federal Reserve Board meeting produces breaking news
  • the user can elect to cancel all open orders at 400, cancel all open buy orders at 402 or open sell orders at 404; or change all open limit buy and limit sell orders, at 406 and 408, respectively, to market orders.
  • Major market moves may be determined by monitoring a defined group of indexes and stocks on the upper portion of the grid, at 410.
  • Figure 48 shows an alternative representation of a consolidated view of all open orders with the same data as shown in Figure 48.
  • the relative price axis 386 allows a user to gauge the relative distance of any order from that security's bid or ask price.
  • the first column 414 from Figure 48 is hidden from view.
  • a Position Guide 134 and stock ticker input area 416 above the grid allow quote information to be shown, and order quantity recommendations to be made. Dragging from the Position Guide 134 to the grid 380 allows the user to drop a buy, sell, or short order for the quoted security onto the grid. Placing the order on the BID price row, or below, of the grid designates it to be a limit buy order. Placing the order on the ASK price row, or above, of the grid designates it to be a limit sell or a limit short order. Placing a buy order above or on the ask price designates it as a market buy order; and placing a sell order on or below the bid price designates it as a market sell order. The row price bins may be adjusted using the drop down menu 418 near the relative price axis.
  • Figure 50 is a representation of multiple securities quoted in one grid 430 with one price axis 432.
  • the price axis 432 is adjusted in real time to reflect prices for the security assigned to a selected column 434a...434g.
  • XYZ Corp is the security of the selected column and the price axis matches trading activity in XYZ Corp.
  • the column name of XYZC is highlighted at 436 to distinguish it as the price axis reference, and as the selected columns.
  • This representation of the grid 430 makes il convenient to monitor multiple options and equities in a single, simple presentation. It also assists in tracking options prices when the underlying equity changes.
  • the price bin settings adjust to references a specific column displayed so they do not need to be constantly adjusted.
  • the selected column may also be dragged to the left or left aligned automatically so that it is next to the price axis.
  • the Position Guide 134 is active and relevant for the selected security.
  • the price axis can show absolute values, or relative values.
  • ' Phe security of a selected column can be changed by entering a second symbol in the symbol text box.
  • Summary information on the security 440 appears on the upper section of the tab page.
  • the tab 442 for IBM is highlighted in the tab set. This is an indication that an event has occurred that requires the user's attention. Such events may be orders that are filled, a trade through an important price level, or a recent news release.
  • Figure 51 is a representation of a grid 450 consisting of both order cells 462, and quote cells 454.
  • Quote cells 454 represent a single security, and move on the grid in real time in accordance with a derived difference calculation between two or more parameters.
  • Order cells 462 represent a limit order and can be dragged and dropped on the grid lo adjust the order cell price in real time.
  • Order cells are associated with a given security's quote cell. As the quote cell and the order cell move towards each other along the price axis, the order comes closer to being filled. When the order cell and the quote cell are on the same price axis segment, the order has the highest probability of being filled, as it is at the last trade price.
  • a selected grouping of stocks may be shown in this grid representation.
  • Grouping may be index, industry sector stocks, a user defined list of securities, or a grouping selected on the basis of some technical criteria.
  • the relative price axis 456 can show the difference value between two selected criteria. If a relative price axis is used, the axis can be referenced to the bid, ask, last trade, high, low, open, prior closing price values, or a technical indicator associated with the underlying security, all as shown in box 463. For example, a securily close to its 50 day moving average can have the price axis referenced lo the 50 DMA value, and the user can monitor the security to see if it holds the support level or falls under the moving average. • Two examples illustrate the use of this grid representation 450.
  • the grid 450 shows a quote cell 460 for IBM at negative 0.30 on the price axis. This is understood to mean that IBM's last trade in the current session is $0.30 below yesterday's closing price on IBM.
  • the buy order 462 on IBM is seen to be $0.50 below yesterday's closing price, and $0.20 below the current last trade oiTBM. If IBM falls, the quote cells will appear to fall towards the buy cell. If IBM continues to fall through the buy order, the order will be filled and reported as such.
  • the user can drag the buy order 462 down the column in order to lower the buy price for the IBM order as referenced along the relative price axis.
  • a specific value on the relative price axis is the difference between the value of the 50 day moving average (50 DMA) of a stock and its last trade price.
  • the IBM buy order 462 represents a price point of $0.50 below IBM's 50 DMA. If IBM falls in price during the current trading session, the quote cell 460 would fall on the grid towards the buy order for IBM.
  • the order will be filled and reported as such. If the user feels that IBM will continue to fall furlhei below the current buy price, the user can drag the buy order down the relative price axis in order to lower the buy price for the IBM order. Orders can be entered directly from the tab page by selecting a quote cell.
  • Position Guide 134 will display a share recommendation for the selected security, which can be adjusted as desired, and dragged onto the grid to the desired position in relation to the quote cell.
  • a preferences button 464 allows users to customize settings and display options, and to create complex formulae, for the derived price axis value 456.
  • the relative price axis value is derived by a price dil fctencc between two technical indicators, such as a moving average, or the prior session's dlosing price, and the last trade price of the displayed quote cell for any given security.
  • the two values needed to derive the difference signal can be based on a simple statistic such as the last price, or the prior closing price. However, the two values can also be based on complex formulae involving multiple variables. With the use of multiple quote cells and groups of securities, general market trends would be more evident in this view than in a view of a single equity. A falling market would show the majority of quote cells falling on the grid.
  • Figure 52 represents a further, more orderly view of a grid with a relative price axis, wherein each column is associated with a unique security.
  • the relative price axis 456 of Figure 51 remains, as does the input methods (although not shown) to derive the di fference value.
  • An order status area 460 above the grid 450 allows fills to be reported for easy reference. Securities in a column can be changed by double clicking a column heading or name, and entering an alternative ticker symbol in the text box 462.
  • Quote cells 464 and any order cells 466 for a specific security are located within a designated column 468a...4681 " for that security.
  • Each column can contain stocks, options, or other securities.
  • Price quotes used to derive the relative price axis value can be combined from one or more market participants.
  • Figures 53a, 53b, and 53c there are shown representations of how prices associated with a sequence of rows can be grouped into a single row as the price range is expanded.
  • On the left side of each of Figures 53a, 53b, and 53c there are five rows 531 , 532, 533, 534, and 535. For example, as the bin size is changed from .01 to .05, the price range of the price axis visible on the grid expands.
  • the nominal bin price of 59.90 shown at the right side of each Figures 53a, 53b, and 53c, can be assigned from the top 53 1 a, center 533b, or bottom 535c position of the five rows. Which Cw values are mapped to a five-cent bin, and how the nominal price of the nominal bin is selected, is defined by the user in the user preferences, or by the trader's brokerage.
  • the basic price range on a grid is based on the MPV.
  • the number of distinct MPV price levels associated with a particular price bin is a function of the specific security, volatility of the security, and the user preference of the font end.
  • Price bin rows contact when a grid is zoomed out to show a birds eye view of trading activity. How smaller rows, such as 0.01 increment rows, map into larger 0.05 bin rows, affects how a bin cell shows a quote, and how it does not, as discussed above.
  • a standard protocol is utilized so as to define the format of instructions and data that arc exchanged between the front end 32 and any backend system 44. That standard protocol may be based on XML.
  • Each of the input parameters and each of the return value items for the set of instruction and data noted above is linked to a respective GUI object in the software which is at any trader's front end 32.
  • a component-oriented approach is used to implement the "grid-based graphical interface" as a software object.
  • Such an approach is in keeping with modern software development technology, which currently favors the construction of application programs based on distinct units called “components” or “objects”.
  • a software object is a self-contained, re-usable programming construct that encapsulates both data and behavior.
  • Software objects utilized according to the principles of component-based software development facilitate the creation of application programs using prc-built building blocks. This fact greatly simplifies software development, and helps shorten the software development life cycle.
  • Major software vendors like Microsoft Corporation and Sun Microsystems, among others, have adopted and are increasingly promoting component-based software technology. 061729
  • Microsoft Corporation has its Component Object Model (COM), ActiveX, and Web Services technologies, while Sun Microsystems has its JavaBeans, Enterprise .lavaBeans, Java applets, and Swing/JFC component technologies.
  • COM Component Object Model
  • Sun Microsystems has its JavaBeans, Enterprise .lavaBeans, Java applets, and Swing/JFC component technologies.
  • FIG. 54 A software object implementing the functionality of the "grid-based graphical interface" of the foregoing descriptions is shown in Figure 54. It will be noted that what is shown in Figure 54, is actually a blow-up of the grid graphical object 52 depicted in Figure 5.
  • the software object executes on a computer and has two aspects: (1 ) its visual manifestation, which is displayed on the computer screen, and which a user sees and interacts with; and (2) its program logic, which is implemented in computer code.
  • the software object's program logic includes six methods or processes, which the software object employs lo accomplish its tasks. However, it is also to be noted that the six processes noted below are only representative of all possible combinations of methods and processes that the software object may employ.
  • the software object's visual manifestation is composed of one or more axes, a drawing area, and GUI objects (icons, images, geometric shapes).
  • the software object's visual manifestation is where trading data is graphically presented. This graphical presentation can employ several styles.
  • the soltware object's program logic consists of ihe following processes: (1) Connect process 502; (2) Retrieve process 504; (3) Transform process 506; (4) Display process 508; (5) Interpret User Input process 510; and (6) Send Instructions/Receive Feedback process 512.
  • the Connect process 502 is used by the software object to establish connections with one or more data sources, 514.
  • the Retrieve process 504 is used by the software object to receive trading data from a data source 514.
  • the Transform process 506 is used by the software object to process the trading data it receives from data sources 514.
  • the Display process 508 is used by the software object to plot and render GUI objects, each one representing an order or a quote, on the software object's drawing area 520.
  • the Interpret process 510 is used by the software object to receive and interpret inputs coming from the user. These inputs might be commands to change the graphical properties of the visual manifestation, or they might be inputs that effect a trading transaction.
  • the Send Instructions/Receive Feedback process 512 is used by the software object to automatically generate and transmit transaction instructions, as a result of the user's interaction with specific elements of the software object's visual manifestation. This process 5 12 also receives feedback data pertaining to the status of the previously transmitted transaction instructions.
  • a Dala Source 514 is any system that can supply trading data. It can be any or a combination of the following: securities exchanges, stock markets, currency markets, commodities exchanges, electronic communication networks (ECNs), brokerage firms, data feed providers, market simulation software, and trading data published on any suitable media (such as CD-ROM).
  • a Market Participant System 516 is any system that can receive, validate, route, and possibly execute trading orders. It can be any or a combination of the following: securities exchanges, stock markets, currency markets, commodities exchanges, electronic communication networks (ECNs), brokerage firms, order-entry firms, and mai ket simulation software. Oftentimes, the Data Source 514 and the Market Participant System 516 are one and the same system. This is the case, for example when the Data Source is IslandTM ECN, and the Market Participant System is also Island ECN.
  • Figure 55 illustrates yet a further visual manifestation of the object's visual appearance 500, with the data being presented in a more iconic fashion. As seen, however, a somewhat different convention is used, in that bid prices are shown with round icons 501 , ask prices are shown with square icons 503, a buy order is shown with an hexagonal icon 505, and a sell order is shown with a trapezoidal-shaped icon 507.
  • FIGS. 54 and 55 show prices and trading activity for a selected security, with the activities of several market participants being indicated. The same data is shown in each of the Figures 54 and 55. Also, the same data are shown in Figure 3.

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Engineering & Computer Science (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

INTERACTIVE REAL TIME GRID-BASED GRAPHICAL TRADING SYSTEM
[0001 ] The present invention relates to software which may be employed by individual traders who trade in real time with respect to a specific market, as buyers or sellers. The present invention provides an interactive grid-based graphical trading system comprising a "checkerboard" matrix of intersecting one or more rows and one or more columns representing, interchangeably, price increments along one axis and one or more markets or market participants along a second axis, for any specific security. The rcsulling grid displayed on a suitable display device is associated with market information so that a buying or selling instruction may be given. Moreover, since the display functions in real time, the user receives a dynamic graphical representation of existing market conditions at that instant in time with respect to any security. Similarly, the trader using the interactive grid-based graphical trading system may effect an order placement or order modification transaction by dragging and dropping an icon or any suitable GUI object into the "checkerboard" matrix. The user can then subsequently reposition the order graphically in terms of price and/or market participant.
There are a number of trading systems, and a number of individuals, who engage in real time day-to-day or minute-lo-minute security trading. Very often, such individuals are referred to as day traders.
Moreover, many stock brokers h ve an interest or duty to observe the dynamics of the market, including price fluctuations and volume of trading in any security.
However, even some proprietary software which is available for use by such individuals as day traders and stock brokers may require considerable key stroke input, and may not provide a dynamic display which indicates not only current market conditions but, by being observed over a period of time, such dynamic display would indicate what the market is doing with respect to a particular security. For example, Bank of Montreal Investorline™ requires that a user shall first enter the ticker symbol for a selected security, then enter the price, then the number of shares, and finally click on a confirmation button. As will be explained hereafter, the present invention permits the user lo effectively drag and drop an icon representing at least one selected security, with a selected trading order, over a grid lo a selected cell having a selected price, and dropping the icon so as to effect the desired trading order.
Graphical displays in keeping with the present invention will indicate whether the market is moving up or down, whether there is a high volume or low volume of trades occurring at the present time, and even the number of buy or sell orders that may be in place, and at what price, as they may be handled by any market participant.
The trader to whom the present invention is particularly directed is usually, but not necessarily, a sophisticated trader, who is interested in the dynamics of the market, and who is interested in obtaining data for any selected security at any instant in time, as well as lo watch the changes in market conditions as they may affect that security over a period of time.
The present invention provides means, including particularly a graphical user interface, to permit the trader to achieve the goals set forth above.
While the present invention is particularly directed to an interactive grid-based graphical trading system for use in trading securities, it necessarily includes all of the appropriate physical architecture and logical architecture at least, in functional terms that are necessary in order to facilitate operation of the present invention.
Of course, it will be understood that the present invention contemplates the existence throughout the network of traders and market participants, of secure and high speed communications channels, and of sufficiently powerful and high speed computer hardware lo function appropriately and lo assure seamless and transparent functionality and operation of the market overview and security trading functionalities of the present invention. The present invention also contemplates that proprietary software which embodies1 features, functions, and particulars of the teachings herein, will be resident in any computer hardware at the site of any trader practicing or operating this invention. The present invention provides an interactive grid-based graphical trading system for use by any trader, where the system comprises a grid-based graphical interface, said graphical interface being adapted to establish connections with any backend system.
The interactive grid-based graphical trading system is adapted to receive and display market trading data received from said backend system.
Also, the interactive grid-based graphical trading system includes first process means that function to send transaction instructions to said backend system, and to receive messages and market trading data from said backend system; and wherein said grid-based graphical interface includes second process means that function to receive, process, and display said market trading data, and said messages.
The market trading data includes information chosen from the group of market trading data consisting of: order data of said trader, and quote data for any selected security or group of securities.
The interactive grid-based graphical trading system also includes third process means that function to transform said market trading data into a graphical representation for display on a display device, wherein said graphical representation includes at least one grid having a plurality of cells arranged in a matrix chosen from the group consisting of: a plurality of rows and at least one column, and a plurality of columns and at least one row.
A row is an arrangement of horizontally adjacent cells with at least one common property, and a column is an arrangement of vertically adjacent cells with at least one common properly, and each cell within the said plurality of cells belongs to one row and one column. The plurality of rows or said plurality of columns are associated with a price axis representing a range of prices, wherein said range of prices is associated with the trading price range of any given security.
Any cell may be associated with said market trading data, and contains a graphical representation of said market trading data.
Also, each cell along said price axis indicates a price or price range for which said market trading data exists, and the other of said at least one column or said a least one row is indicative of a specific criterion chosen from a plurality of criteria within which said market trading data may be categorized. Each trader can place, or modify, an order for a selected security or group of securities, over which that trader has discretion, by interacting with said grid-based graphical interface.
The interactive grid-based graphical trading system is such that the trader engages in trading securities in real time. Also, the interactive grid-based graphical trading system is such as tobe available through a computer at each participating trader's site.
Thus, the market trading data includes information chosen from the group of market trading data consisting of: order data as to buy, sell, or other trading orders existing at that instant in time for any selected security or group of securities, quote data as lo bid and ask prices, volume, market participant identifiers, and other parameters, existing at that instant in time for any selected security or group of securities; wherein said market trading data is transmitted to each said grid-based graphical interface at the site of any participating trader from said backend system of any market participant in computer-readable electronic format. I he order or said quote is represented graphically in a cell.
The communication channels may include middleware used by any market participant. Afso, the middleware functions to translate data and instructions sent over any communication channel into a format thai is understood by said grid-based graphical interface at any trader's location, or a respective backend system at any market participant's location. In the interactive grid-based graphical trading system of the present invention, cells representing a selected quantity of buy orders at or near the bid price, and different cells representing a selected quantity of sell orders at or near the ask price, which represent market trading data being posted by a market participant for a selected security, are simultaneously displayed. Further, a selected security for which said trading data is displayed at any instant in lime may be changed to another selected security by any trader, at any instant in time. If so, the trading data for any selected security being displayed at any instant in time by any trader is constantly updated having regard to new trading data being received by the grid-based graphical interface for that selected security. The interactive grid-based graphical trading system of the present invention may further include a display panel associated with said interactive grid-based graphical trading system al any trader's location, wherein said display panel contains GUI objects to represent any monetary value or security which is held in any trader's account.
If so, the interactive grid-based graphical trading system may further include fourth process means that permits said monetary value or security associated with a respective GUI object to be separated into a plurality of GUI objects, representing in total said monetary value or security, as elected by said trader.
Also, the data displayed on said display panel on said display device at any trader's location includes text based quote data and related summary statistics for a selected security or group of securities at any instant in time.
Quote data and related summary statistics are text based, and include data chosen from the group consisting of: the exchange or market where the selected security is? being traded, the current bid price, the current ask price, the current bid size, the current ask size, the last trade price, the size of the last transaction in terms of the number of units of the selected security traded, the change in the price of the last trade with respect to the closing price of the previous session, the volume in terms of the number of units of the selected security that had been traded during the current trading session, the high price of the session, the low price of the session, the opening price of the session, and combinations thereof.
Any trading order transaction may be effected by dragging and dropping a GUI object which is representative of the specific transaction onto a valid cell of the grid-based graphical interface, whereby said first process means will issue a respective transaction instruction through a respective communication channel to a respective market participant.
The range of price values which are displayed along said price axis, and the price value for a selected row or column, is determined for each selected security at any instant in time as a factor of one of the criteria chosen from the group consisting of; the closing price for that security during the prior session, the opening price for that security during the current session, the highest price paid for that security during the current session, the lowest price bid for that security during the current session, and the last price paid for that security, and combinations thereof. Also, the criteria for said at least one column are chosen from the group consisting of: a market participant, a security, a component of an index, an index, aggregate trading data from a plurality of market participants, the trading activity of a market participant during the current session, the trading activity of a component of an index, the pending orders of the market participant at any instant in time, aggregate buy order and quote data from a plurality of market participants, aggregate sell order and quote data from a plurality of market participants, and combinations thereof. Tήe interactive grid-based graphical trading system of the present invention may further include software whose purpose is to review and weigh a trader's cash position and portfolio holdings, so as to make a recommendation on an order parameter for a trading order for a selected security, at any instant in time, where the recommendation is a function of an order parameter chosen from the group of order parameters consisting of: the bid price, the bid size, the ask price, the ask size, the last trade price, the volume or contracts traded over an interval of time, the volatility, the liquidity, and combinations thereof, for said selected security at any instant in time.
Still further, an intended trading order or a trading order is represented on said at least one display panel by a GUI object, wherein said GUI object is selected and positioned over said at least one display panel, by a user of said graphical interface, using pointing and positioning means for pointing and positioning a GUI object on said graphical interface, and wherein the act of selecting and positioning said GUI object representing said trading order, over said at least one display panel, effects order placement or order modification instructions.
In another aspect of the present invention, there is provided a software object providing a graphical representation of trading data originating from at least one data source, wherein said software object is executable by a computer, and comprises:
First process means for establishing at least one connection with at least one data source.
Second process means for receiving trading data from said at least one data source.
Third process means for transforming said trading data into a form that is suitable for display by said software object. An also fourth process means for displaying said trading data by using at least one visual presentation style. Tlie at least one data source is selected from the group consisting of: securities exchanges, stock markets, currency markets, commodities exchanges, electronic communication networks (ECNs), brokerage firms, auction houses, data feed providers, market simulation software, trading data published on computer-readable media, and combinations thereof.
The trading data comprises data elements selected from the group consisting of: quote data, order data, and index data; wherein said data elements are associated with a specific security or a group of securities; wherein said data elements possess a price dimension representing the price of the security or the value of the index associated with said data elements; wherein the values associated with said price dimension are numeric price values or numeric index values; and wherein said data elements possess at least one additional dimension.
The software object further includes a visual manifestation displayed on said computer's associated display means; wherein said visual manifestation includes a drawing area for rendering a graphical representation of said trading data;.
The visual mani estation includes an axis associated with numeric price values which are associated with said price dimension, wherein said axis is rendered on said drawing area using at least one visual presentation style, and wherein said axis is a price axis. The visual manifestation further includes graphical user interface (GUI) objects; wherein said GUI objects are selected from the group consisting of: icons, images, geometric shapes, and combinations thereof; wherein said GUI objects function to graphically represent order data and quote data received from said at least one data source; wherein said GUI objects are rendered on said drawing area by at least one visual presentation style; wherein said at least one visual presentation style functions to graphically distinguish between different types of orders and quotes associated with said data elements. THe price axis defines one dimension of a coordinate system; wherein said coordinate system functions as a reference for plotting said GUI objects onto said drawing area.
The plotting comprises at least one process for determining the positions where said GUI objects are rendered on said drawing area; wherein said at least one process correlates the numeric price values of said price dimension with the numeric price values associated with said price axis.
The positions are defined with respect to said one dimension of a coordinate system, and are determined for the purpose of plotting and rendering said GUI objects onto said drawing area.
The trading data is received essentially continuously; wherein said essentially continuous reception of trading data effects dynamic variations in the values of said price dimension and said at least one additional dimension associated with said data elements. Finally, the dynamic variations in the values of said price dimension, and said al least one additional dimension, is graphically represented by dynamically varying the positions and graphical properties of said GUI objects rendered on said drawing area.
The software object described above may further comprise:
Fifth process means for receiving and interpreting input from a user of said software object, by means of at least one user interaction mode.
If so, the visual manifestation's graphical properties and settings are electively adjusted by a user of said software object, wherein said adjustment is accomplished by said user through at least one user interaction mode; and wherein said adjustment is facilitated by said fifth process means. Further, the software object described above may also comprise:
Sixth process means for generating and transmitting trading instructions, and receiving feedback data pertaining to the stains of said trading instructions. If .-o, the fifth process means, and the sixth process means, together facilitate the graphical placement of trading orders, and the graphical amendment of trading orders; wherein said graphical placement and said graphical amendment of trading orders is performed by a user of said software object by interacting with said visual manifestation, wherein said interaction is subject to at least one rule; wherein said interaction is accomplished by means of at least one user interaction mode; wherein said GUI objects function to graphically represent trading orders initiated by a user of said software object.
The graphical placement and graphical amendment of trading orders causes said software object to generate trading instructions, wherein said trading instructions are selected from the group consisting of: buy order instructions, sell order instructions, order cancellation instructions, and order amendment instructions; wherein said trading instructions are transmitted lo at least one backend trading system capable of processing said trading instructions; wherein said at least one backend trading system is associated with at least one market participant; wherein said at least one market participant is selected from the group consisting of: securities exchanges, stock markets, currency markets, commodities exchanges, electronic communication networks (ECNs), brokerage firms, and auction houses; and wherein feedback data pertaining to the status of said trading orders is received and interpreted by said software object through said sixth process means.
The software object may be such that the price axis is directly related to the range of trading prices associated with a specific security and is partitioned into a plurality of segments; wherein each of said plurality of segments represents a numeric price, or a range of numeric prices representative of the trading prices of said specific security; wherein every trading price associated with said specific security is represented in said price axis by not more than one segment along said price axis; wherein each of said plurality of segments is labeled with a nominal numeric value represent tive of the price or range of prices associated with said segment; and wherein the difference between the nominal numeric prices associated with any two adjacent segments corresponds to said specific security's minimum price variance (MPV), or a multiple thereof. Also, the software object may be such that said price axis is indirectly related lo the range of trading prices associated with a specific security or group of securities; wherein said price axis is partitioned into a plurality of segments; wherein each of said plurality of segments is associated with a numeric value; wherein a specific segment of said price axis is associated with a reference value; wherein said reference value is selected from the group consisting of: the previous closing price of the security, the bid price, the ask price, the last trade price, an index value, the average price, the high price, and the low price of said security's price or said index value over a selected period of time.
If so, the numeric values associated with said plurality of segments distinct from said specific segment are determined based on the difference between a nominal numeric value associated with said reference value and a multiple of a specific increment value; wherein each of said plurality of segments is labelled with a nominal numeric value representative of said difference.
Also, the positions for plotting said GUI objects onto said drawing area are determined using a mathematical formula; wherein said mathematical formula is based on the difference between a price parameter of said specific security or group of securities, and said reference value; and wherein said price parameter is selected from the group consisting of: the last trade price, the limit order price, the stop order price, and combinations thereof. The present invention further provides an interactive trading recommendation system lor use by any trader who engages in trading securities through established security trading markets, in essentially real time, which comprises: A. least one input data, wherein said input data is chosen from the group consisting of: trading account data, securities data, preference data, risk data, and combinations thereof; and process means to analyse said input data, and to output a recommendation as to the size or volume of an order. The recommendation is a numeric value.
United States Patent 6,058,379, issued May 2, 2000 in the name of Odom et al teaches a networked exchange method in which a commodity may be traded from a seller to a purchaser using an exchange processor. A mode of operations for an exchange is specified, a commodity is identified and listed, and the listing is accessed by a potential purchaser. The potential purchaser accesses the network-based exchange, a negotiation occurs by processing information generated by the potential purchaser; and at the conclusion of the negotiation the concluded negotiation is cleared. All of the transaction software is driven by the exchange where the transaction is concluded.
Belzberg United Slates Patent 6,134,535, issued October 17, 2000, teaches a computerized slock exchange trading system where a graphical user interface is employed to automatically format orders from a spreadsheet to an order entry system. Parameters such as a share symbol, price selection, order size, and transaction type, as well as other indicators for the trading order, may be chosen using the graphical user interface and a mouse. The interface may be programmed so that data concerning a group of shares may be read from a spreadsheet which is formulated into an order, or in response to a signal from the trader whereby an index or basket of shares may be traded substantially instantaneously.
United States Palenl 6, 195,647, issued February 27, 2001 to The Nasdaq Stock Market, Inc., in the name of Marlyn et al. This patent teaches a data processing system for on-line transactions whereby securities may be traded, wherein any user may configure his or her display so as lo employ certain functions and to show displays for any particular security. Additional information may be displayed, such as information about selected securities, trade activity may be monitored, a trade may be participated in, or reported. It is also possible for a user to display information for a selective set of securities on a continuously updated basis, where any of the securities can be easily selected from a displayed list. Certain information and functions associated with the selected security may also be displayed.
The novel features which are believed to be characteristic of the present invention, as to its structure, organization, use and method of operation, together with fin (her objectives and advantages thereof, will be belter understood from the following drawings in which a presently preferred embodiment of the invention will now be illustrated by way of example. It is expressly understood, however, that the drawings are for the purpose of illustration and description only and are not intended as a definition of the limits of the invention. Embodiments of this invention will now be described by way of example in association with the accompanying drawings in which:
Figure 1 is a schematic representation of a prior art system employed particularly by stock brokers for trading purposes by remotely located traders;
Figure 2 is another schematic representation of a different, browser-based front end system cuπcnlly employed by brokers for remotely located traders;
Figure 3 shows typical data displayed on a grid, in keeping with the present invention; Figure 4 shows a logical architecture for the front end functional unit; figure 5 is a block diagram of the internal architecture of the front end of a system in keeping with the present invention;
Figure 6 is a block diagram of the order/transaction processing subsystem and order routing subsystem, in keeping with the present invention; Figure 7 is a block diagram of the account management subsystem;
Figure 8 is a block diagram of the order execution subsystem; Figure 9 is a block diagram of a prototypical back-end trading system; Figure 10 shows a typical grid representation of data displayed at a trader's graphical user interface computer display;
Figure 1 1 is a view similar to Figure 10, but with the price data being shown in larger intervals; Figure 12 is a typical computer monitor display at a traders location, showing various kinds of data;
Figure 13 is a view similar to Figure 12, but showing additional data being displayed in a different manner;
Figure 14 shows a detailed view of a holdings tab chosen from Figures 12 or 13, in greater detail;
Figure 15 shows much the same data as in Figure 14, but in icon format;
Figure 16 shows data chosen from the market order entry tab, chosen from Figure 12;
Figure 17 shows data typically found on a limit order tab chosen from Figure 12;
Figure 18 shows data typically found on a stop order tab chosen from Figure 12;
Figure 19 shows data typically found on a change order tab chosen from Figure 12;
Figure 20 shows a representation of an open order tab, chosen from Figures 12 or 13;
Figure 21 shows much the same data as in Figure 20, but in icon format;
Figure 22 is a view similar to Figure 21 , but showing a representation of a right click menu associated with an icon;
Figure 23 shows a representation of a fill orders tab, chosen from Figures 12 or
gure 24 shows data chosen from an options order tab, chosen from Figure 12; Fi ure 25 is a view similar lo Figure 10, but showing a situation with falling prices on a fixed price axis;
Figure 26 shows similar data to that of Figure 25, but with the falling price being centered on the price axis; Figure 27 is a representation of prices for an option series, with one column showing an aggregate price;
Figure 28 shows a. typical price data display having a limit buy order;
Figure 29 is similar to Figure 28 with the limit buy order having been moved to another market participant; Figure 30 shows data from Figure 29, but only displaying bid and ask quotes for each active market and with a limit buy order being shown;
Figure 31 is a similar view to that of Figure 29, but showing a stop loss limit order;
Figure 32 shows a display of a stop loss limit order after the stop price has been triggered and the limit sell order is in effect;
Figure 33 shows similar data to that of Figure 31 , but with a column showing aggregate data being displayed;
Figure 34 shows the same data as Figure 33, but with the lot size for each selected cell being shown; Figure 35 shows data for the aggregate column only of Figure 34, but with additional graphical representation of lot size and orders;
Figure 36 shows the data from Figure 35 being shown horizontally, together with a chat screen for a chat session which is occurring;
Figure 37 provides information for a single column quote data together with associated company chart and profile information;
Figure 38 shows the same data as in Figure 28, but with a right click menu having been activated for a selected buy cell; Figure 39 represents the settings which may be established when a replay tab is chosen from Figure 12;
Figure 40 is a representation of the settings which may be established when the Position Guide block from Figure 12 has been chosen; Figure 41 is an optional display where data for three securities is shown being displayed horizontally;
Figure 42 is a typical display showing a NASDAQ Level 11 data being displayed;
Figure 43 shows a box in which special terms criteria may be set for any transaction;
Figure 44 shows a representation of an option chain for options concerning a particular security;
Figure 45 is an alternative showing a data similar to Figure 44, with a right click menu of column display choices being shown for displayed put data; Figure 46 is an alternative showing a data similar to Figure 44, with a right click menu of column display choices being shown for displayed call data;
Figure 47 shows data similar to that of Figure 35, together with NASDAQ Level II data;
Figure 48 shows a display having multiple buy and sell orders with their relative position to the bid and ask prices, together with actuating buttons for each price representation;
Figure 49 shows an alternative mode of display to the data shown in Figure 48;
Figure 50 shows a typical multiple security display with a quote display associated with a selected column, and a highlighted tab; Figure 51 shows a consolidated quote view for selected securities within a selected grouping; Frgure 52 provides similar data to Figure 50, with each column being related to a specific security;
Figure 53a, 53b, and 53c show the manner in which price data may be mapped to any selected cell, where the price range represented by that cell may be changing; Figure 54 illustrates a further embodiment of the present invention employing a grid-based graphical interface as a software object; and
Figure 55 illustrates details of a further visual manifestation of the software object.
The novel features which are believed to be characteristic of the present invention, as to its structure, organization, use and method of operation, together with further objectives and advantages thereof, will be better understood from the following discussion.
.Timing first to Figures 1 and 2, two prior art systems are shown which employ different front ends. In the prior art system of Figure 1 , showing a system architecture which is in place and which is operated by Broker # 1, the system 11 comprises a proprietary front end 12, a proprietary protocol 14, an optional middleware 16, and the backend system 18. The optional middleware 16 and the backend system 18 are located on the premises of Broker # 1 , who communicates through a proprietary protocol 14 to the pi oprietaiy front end 12 In the prior art system of Figure 2, the system 21 includes a web-based application which presents a web-based front end.
Communication is carried out through the Internet, as shown at 24. Within the premises of Broker # 2, there is a web server 26, there may be optional middleware 28, and there is a backend system 30. Either interactive grid-based graphical trading system 12 or 22 is what a trader will see on his computer, and it is the tool that the trader uses to get quotes, manage his account with the respective brokerage firm, buy and sell shares or securities in general, and to tr-lck his transactions. Simple front ends tend to be implemented as web applications, as indicated in Figure 2; however, any proprietary front end may also be employed. Any of these systems offer satisfactory performance, but proprietary front ends are generally not helpful, when it comes to visualizing market information. Web-based front ends are generally quite slow, because both the user interface and the data must be processed remotely at the web server or at the back end.
Of course a, system such as that shown in Figure 2 is easy to deploy, manage, and maintain, if it is web-based because of its centralization at the premises of the respective broker. If a proprietary front end is used, that system involves the installation of application software at the local computer employed by the trader. Those systems tend to be somewhat faster and more graphical, and they may be more interactive than strictly web-based applications, because the application is run locally. Of course, as with any locally installed software which is located at a desktop computer, or even on a small local area network operated by the trader, the software is prone to installation and maintenance problems, file corruption, version conflicts, and upgrade problems.
If either backend system 18 or 30 exists in conjunction with any embodiment of the present invention, it is because they are the backend systems that are operated by respective brokers, electronic communication networks (ECNs), or even stock exchanges, and the like. Any such backend system may likely reside in a high end
UNIX machine. Any backend system will generally have the responsibility for handling a number of tasks.
They include account management. This is the responsibility for managing and keeping all data up to date for each account - each customer or various accounts run by a customer- thai is handled by that market participant. As noted, a market participant might be a broker, it might be an approved electronic communication network, or it might be a1 stock exchange, commodity exchange, futures exchange, bourse, or auction system.
Another task charged to the backend systems which function in the prior art, and which function in association with the present invention, is that of processing buy orders and sell orders for each buy transaction and for each sell transaction which that market participant undertakes to perform.
Still further, the backend system is responsible for order execution, whereby each buy transaction and each sell transaction which the market participant undertakes to pei form will be executed. The backend system is also responsible for datafeed handling, whereby streaming data concerning any orders or quotes for any selected security is disseminated on request to any trader, as discussed hereafter.
Finally, any backend system described herein will also be responsible for system management, for purposes of maintaining security and operation of the respective backend system of that market participant.
A communication protocol is required in prior art systems, as well as in the picscnt system. In the prior art systems,, the communication protocol for proprietary front end 12 is one which is used to securely transmit data from a proprietary front end 12 to the backend system 1 8, and in the reverse direction. Usually, such proprietary protocol is built on lop of TCP/IP sockets, most likely using some form of data encryption.
For prior art systems of the sort shown in Figure 2, where Internet communication is employed in association with web-based front end, a typical communication protocol is HTTP or HTTPS. A middleware component is employed, as shown at 16 and 28 in Figures 1 and
2, or as will be shown in Figure 4 which is discussed hereafter. The purposes for the middleware are discussed hereafter. There is appended hereto a Trading Glossary, which is provided so as to assist the reader in understanding certain trading terms, and terms relating to market, in \ ai ious manifestations All of the terms mentioned in the appended Trading Glossary are not necessarily employed herein; but when such terms are employed, and their meaning is unclear from the context, then reference should be made to the appended
Trading Glossary.
Also, throughout the discussion which follows, and as shown in many of the Figures of drawings which are described, the names of real securities and of real stock exchanges and other market participants, Electronic Communication Network (ECN) trading systems, and the like, may be noted. The use of such names and identities is not intended to suggest any endorsement or connection with, or position in, any such security, stock exchange, or ECN, by the inventor or anyone associated with him.
Markets exist to bring buyers and sellers together to efficiently exchange goods and services. In a public marketplace, buyers and sellers make transactions directly or via intermediaries. At a basic level, a market requires the sellers price and terms to sell a given quantity of product. The market participants also need to know the prices that buyers are willing lo pay for an item. Often, the price per unit decreases if a larger quantity of product is under negotiation. When the buyers and sellers agree in price and quantity, a transaction or trade can occur In the securities market, the bid price represents the highest price any buyer is willing to pay for a quantity of a security at a given time. The ask price is the lowest price that any seller or dealer is willing to sell a given security or commodity for. When the bid or ask price is in an acceptable range, trading activity in a given security will usually become more active. Supply and demand prices vary throughout a trading session and the bid and the ask are typically at differing prices. Information about the activity of a market is disseminated (usually in real-time) in electronic format through data feeds. A quote is a type of data feed containing information about the buy and sell prices for the securities traded on the market. Separate data feeds are available for trades, news, and other useful information. Buy and sell quotes on marketable products are disseminated in varying detail.
In financial markets like the stock markets, basic quote information on securities is readily available over the internet. A basic quote on a security details the last trade price, the bid and ask price, and the change from the previous close. Often, the size of the bid and the ask, the trading day's high price and low price, the volume of the last trade, and the overall session volume is also disclosed.
A more detailed quote is also available. The detailed quotes disseminated by the NASDAQ slock market are called "NASDAQ Level II", or simply "Level II" quotes. This type of quote is of interest lo more active traders, because it allows them to track the activity of market makers thai they believe to be price-trend setters. It also allows those with the capability, to buy and sell their positions quickly, when it becomes apparent from Level II information that the momentum of the markets has turned against them With a Level II display, the identity of market makers and ECNs is disclosed and order information on either side of the bid and ask are visible. However, not all exchanges or markets provide order or quote information that allows a trader to view this detailed type of quote for all securities.
Still more detailed, arc market book quotes, which are order and quote information provided by some Electronic Communications Networks (ECNs) such as Island ECN and Archipelago, and stock exchange such as the Toronto Stock Exchange (TSE), which can display buy and sell orders individually listed on the ECN's or an exchange. The market books lists buy and sell orders, the number of shares in each order, and the prices offered. Orders are listed according to price and in lime priority, so orders Displayed close to the bid and ask on the list will be executed before orders further away in the list.
Not every quote feed from a stock exchange, stock market, electronic communications network, or quote dissemination service supplies a suitable data feed capable of providing information on the quantity of a security available at each price level during a given instant in time. Exchanges sometimes provide restricted or subscription-based access to similar information, however, some market participants prefer lo keep their market book details confidential.
Depending on the opportunity and technology available, more than one market or network may exist to facilitate trading in a given security or commodity. When more than one market exists for a given product, there is a tendency to link the market information together to compare quote information and trading activity. Technology and computer networks make possible the linkage of the data feed (quotes, trades, news, etc) and order-placement facilities of different markets. As a result of this linkage, bid and ask prices tend to mirror each other, as financial intermediaries such as arbitrageurs trade products between markets when price discrepancies arise.
There has been a trend in recent years to trade stocks and options in more than one market or exchange. Exchanges like the N YSE and stock markets like NASDAQ have made strategic alliances with overseas exchanges to promote trading activity and facilitate listing active securities in other countries. In the US, options on a given security are often quoted and traded in multiple options exchanges.
Quote data on securities is often presented in alphanumeric text format. When working with a basic quote, and more than one security is being monitored or traded, the quote data is often displayed in multiple rows and columns of text similar to a spreadsheet. Each row represents a different security, while columns show attributes such as the securities' symbol, bid, ask, last trade price, change from previous closing price, the volume, low price, and high price of the current trading session. The text based presentation is often difficult to interpret at a glance. Discerning patterns from the text based quote information of an individual stock or a group of stocks is also difficult. With experience, some traders develop buy and sell "indicators" which assist them in speculating on the direction of a given commodity or security. The order placement process in many computer-based trading systems requires the user to interact with a form - which is a collection of graphical elements (e.g. text input area, label, button, etc) through which the user issues commands and/or keys data into the computer system Once an order is placed, the status of the order and its relation lo the market is not always spatially apparent. Similarly, desired changes to the resulting open order also take a forms-based approach, which often increases the time spent on the process as a result of the time necessary to refresh screens and download the revised data. The time taken lo place a trade and to change an open order often requires that a trader shift attention to the mechanism of the user interface, rather than lo maintain a focus on the market or the security in question, and hence obtain additional beneficial insight.
For securities, the minimum price variance (MPV) is the minimum amount by which the price of a security can change. The MPV is typically set by the primary marketplace for a given security or product. In investment terminology, the "bid" is the highest price a buyer is willing to pay for an investor's shares, while the "ask" is the lowest price at which a seller will sell shares. The difference between the two is called the spread. A smaller MPV will result in narrower spreads because there are more price points in buying and selling the securities.
Take, for example, a hypothetical stock with a bid price of 45 1/4 and an ask price of 45 5/16. The spread between the "bid" and the "ask" is 1/16 or 6.25 cents per shaie. In contrast, when stocks trade in penny increments, the number of price points per dollar is 100, meaning that the bid and ask prices can be closer together. AJsmaller minimum price variance (MPV) will be possible as a result of the US exchanges and stock markets adopting a decimal format. Prior to decimalization, many US equities were traded and quoted at an MPV of 1 /l 6 or 6.25 cents, meaning there are sixteen price points or "ticks" per dollar. Option prices over $3.00 have an MPV of 1/8, allowing eight price points per dollar. With decimalization, option prices are expected to trade in 5 cent increments under $3.00, and in 10 cent increments above $3.00.
It is an intent of the present invention to present quote information for any market in a graphical manner, and hence assist investors and traders in gauging the di reel ion and changes to a security or asset's quote, price, and volume activity over an interval of time It is also the intent of the present invention to allow traders and investors to view and review quote and order information in aggregate form, or across multiple markets, in an organized and meaningful manner.
It is also an intent of the present invention to assist traders and investors in selecting the proper quantity of an item to buy and sell, and to graphically place the order lo a selected market. It is a further intent of the present invention to execute change orders in a given parameter of an open order in a simple graphical manner that docs not distract the trader or investor from the dynamics of the quote display, while monitoring the investment.
Referring to Figure 4, some similarities and some differences will be noted with respect to Figures 1 and 2.
In the first instance, Ihc system which is indicated generally at 10, and which is the general architecture for the present invention, includes a front end 32. The front end 32 communicates through a communication network 34 to a market participant 36. Piotocol exchanges at 33 and 35 will accommodate internet communications using varying protocols, as is well known. At the premises of the market participant 36, there may he a middleware component 42 installed, as well as that particular market participant's backend trading system 44. Thus, the front end 32 may interface with diverse backend trading systems 44. Any market participant 36 may be such as a stock broker, an approved electronic communication network trading system (ECN), a stock exchange, a commodity exchange, a futures exchange, a bourse, or an auction house. The ability for the front end 32 to communicate with diverse market participants
36 is possible because of the use of the middleware 42 which facilitates communication between the front end 32, at the PC of any trader or user, and the proprietary backend trading system 44 running on the heavily secured machines of the specific market participant 36. As noted, the front end 32 does not communicate wilh the backend trading system 44 directly, but through middleware 42 if it is present, and also through the communication network 34, as well as interfaces 33 and 35 as may be necessary. The specifications of these interfaces will constitute a standard protocol which is based on extensible Markup Language (XML). The middleware 42 will translate instructions and data, which are encoded in the standard protocol, and which come from the front end 32 into the native format understood by the actual backend trading system 44. Instructions and data coming from the backend trading system 44 are also converted to the standard protocol by the middleware 42, before it sends them back to the front end 32. Thus, the front end 32 is shielded from the peculiarities of a backend trading system 44, which may be different for various market participants, and it allows the front end 32, and particularly (he graphical display software and modes which are described hereafter, to be re-used in other applications with minimal modification.
One important benefit of the middleware 42 is that it enables the market participant 36 to supplement the base functionality of its existing backend trading system 44 with new, value-added functionality. Thus, a set or series of backend operations may be grouped into "virtual" operation. An example of this is an order amendment transaction, which will be described hereafter. In existing trading systems, an "order amendment" transaction requires that the user go through a two-step piocedure- first. Ihe original order is cancelled; then, a new order is issued. With the middleware 42 in place, a single virtual operation - the order amendment operation - can be invoked by a trader. The middleware translates the single virtual operation into the appropriately series of trading instructions require by the back end trading system 44.
Of course, incorporating a series of operations into a single "virtual" operation is the responsibility of the respective market participant 36, and is transparent to the end user - the user or trader whose location includes a front end 32. The market participant
36 can offer the resulting "virtual" operation to its customers as a new type of transaction, and customers can make use of this new transaction just like any other type of transaction.
Turning lo Figure 4, the front end has a three-layer logical architecture, consisting of the user interface layer 46, an object layer 48, and a communication layer
50. r\ his design gives the front end 32 the advantage of a clean, organized structure, wherein related software functions are grouped in independent layers, each layer communicating with the others using clearly defined programmatic interfaces.
I he user interface layer 46 contains components that handle the graphics operations of the grid and other graphical objects. These include the construction of the grid (using cither an object-based approach, or using a frame-by-frame animation approach), dynamic operations such as moving and highlighting the cells of the grid; and interactive operations like responding to user actions, e.g. adjusting the price intervals on the vertical axis when the user clicks on the appropriate graphical element (e g a button), fhese matters are discussed hcieafler, wilh reference to Figure 5.
The object layer 48 groups together components that perform business logic, and components that implement utility functions. The components in this layer: (1) validate irsers' actions (performed on objects belonging to the user interface layer 46); (2) translate users' actions into commands - if applicable - to be sent to the back-end trading system via the communication layer 50; and (3) process return values, notification messages, or any other data sent by the backend trading system (through the communication layer 50). The object layer 48 serves as an abstraction layer that shields the user interface layer 46 from the implementation of the lower level communication layer 50.
The communication layer 50 consists of components that act as communication "gateways" between the front end and the backend trading system. This layer essentially translates programmatic requests (which are in the native format of the operating system and application platform of the front end) coming from the object layer. That translation may be into Simple Object Access Protocol (SOAP) messages, but any suitable option for facilitating communication may be chosen. It is to be noted that although SOAP is the primary protocol for front end 32 to middleware 42 communication, other suitable protocols - such as Winsock - can also be employed.
The communication layer 50 is designed to accommodate the "plug-and-play" addition and removal of communication components, each component implementing a specific type of communication protocol (e.g. Winsock, SOAP) for interfacing with the backend trading system 44. It will now be seen that the front end 32 is an important feature of the present invention, as it provides a graphically intuitive, fast, user-friendly application that any trader will use in order to get stock or other security quotes, manage their account with their respective brokerage firm or other market participant, buy and sell securities and stocks, track the status of those transactions, and track their current position vis-a-vis any selected security, their cash position, and so on. Typically, the front end 32 operates on a Windows® platform, but not necessarily. Other platforms may also be employed, including LINUX©, and other proprietary platforms.
As will be discussed hereafter, the graphical display employs GUI objects to display security data in a dynamic fashion, very intuitively, and allows the trader to buy or sell securities with simple mouse clicks by interacting with the grid-based graphical interface, and by dragging and dropping GUI objects.
Turning now to Figure 5, the internal architecture of the front end 32, and the main program therein, is shown in terms of the functional blocks which are operable al the front end 32.
The front end 32 consists of a main executable program - which acts as the overall "controller" of the front end - and several software building blocks called "components" or "objects". In a Microsoft Windows implementation of the front end, the main program is a Component Object Model (COM)-aware Win32 executable, and the soltware components are COM components. However, in an implementation of the front end for another operating system and application platform, the actual technologies used may be different, but the architecture will remain the same.
Unlike some monolithic Windows applications, which put together all functionality in a single package, the front end of the present invention leverages the power, ease of use, and the flexibility of using Microsoft's COM component technology. COM allows the front end to organize functionality into multiple, independent, reusable software building blocks called "components" or "objects". (Note- although there is a difference between these two terms - a component is made up of one or more objects - and the two terms are used interchangeably herein.) Each of Ihese components or objects encapsulates distinct software functionality, and interacts wilh other components through clearly defined programmatic interfaces. The front end 32 is similar to conventional Microsoft Windows applications in that it adheres to the visual (e.g. menu structure, status bars, buttons, etc.) and behavioral (e.g. right-click behavior, resize behavior, etc.) standards for Windows-based applications. Thus, adherence to these standards by the front end of the present invention significantly eases the learning curve associated with mastering the application's features.
The front end's main executable program controls and manages the lifetimes of the application's various constituent objects- from object creation to object destruction. Furthermore the main program coordinates the operation of the objects, by passing messages between itself and the objects.
The core of the front end however, is in the set of software objects implementing the bulk of the application's functionality. These software objects fall into two categories: (1 ) graphical objects, and (2) non-graphical objects. Both types of objects encapsulate software functionality, but the graphical objects also display a visual interface. In Microsoft terminology, these graphical objects are called ActiveX custom controls, while the non-graphical objects are called ActiveX components.
The software objects are grouped together, according to functionality, into "layers". As noted above, there are three layers: (1) the user interface layer 46, (2) the object layer 48, and (3) the communication layer 50. The most important software object is the grid graphical object 52. It displays
Level II quotes in a two-dimensional matrix of multi-colored cells, which it constructs dynamically. The grid graphical object receives its data in real-time (or close to real-time) from a quote server (not shown) which resides on the backend 44; the data however, passes through the object layer 48 and the communication layer 50 first. The grid graphical object 52 also implements the graphical placement and modification of orders using a "drag-and-drop" mechanism. Tfie grid graphical object is hosted inside a container object 54, to facilitate the easy grouping of multiple instances of the grid graphical object, discussed hereafter.
The container object 54 is a graphical user interface (GUI) element with the capability to "contain" other graphical objects. An example of a container object is a tab-based dialog object common in Microsoft Windows-based applications.
The order entry graphical object 56 is a compound object (i.e. object made up of several smaller objects) which users of the front end utilize to post an order (and all its associated parameters). The order entry graphical object 56 is also hosted inside a container object 58. The account and holdings graphical object 60 is another compound object that displays summary and detailed information about an account. This information includes the account balance, order status, account summary, etc.
Each of the three graphical objects described has a counterpart object in the object layer 48. The grid graphical object 52 has a quote source object counterpart 62, which encapsulates the logic necessary for requesting and receiving Level II data from the back-end trading system. The order entry graphical object 56 has an order entry object counterpart 64, which implements the logic and business rules necessary for posting orders to the backend trading system, via the middleware 42. The account and holdings graphical object 60 has an account and holdings object counterpart 66, which implements the logic necessary for requesting, receiving, and updating account information from the back-end trading system.
The communication layer 50 has one or more objects that implement the logic involved in translating requests and commands coming from the upper layers of the front end 32 into the format expected by the middleware 42. This format conforms to a .standard protocol, which is based on XML. The communication objects also translate the data coming from the backend 44, through the middleware 42, into the format expected by the objects in the upper layers of the front end 32. In Figure 5, there are two commun.cation objects: the Winsock communication object 68, which implements the logic for remote communication using the Winsock protocol, and the SOAP communication object 70, which implements the logic necessary for remote communication using the SOAP protocol. Other objects 72, 74, 76 may be found on each of the respective user interface layer 46, object layer 48, and communication layer 50, as may be determined by a skilled programmer who is familiar with the present invention.
Before turning lo a discussion of the graphical display which is presented by the present invention, and as shown in Figures 10 to 53, and so as to better understand the purposes and objects of the present invention, its operation, and its functions, several other Figures are presented - Figures 6 through 9 B and are now discussed in terms of the piesent invention and the discussion which has gone on before. These discussions are, of course, for purposes of clarity and explanation, and are not intended to be limiting. Turning first to Figure 6, there is shown a representation of the order/transaction processing and order routing subsystems of a prototypical backend trading system. Of course, it will be understood that backend systems arc highly proprietary, and thus the components and functionality of the system which is described herein, by way of example only, may not match the components and functionality of actual systems used by mai ket participants.
The order/transaction processing subsystem 78 receives orders sent from the front end and records them in the transactions database 80. The subsystem applies appioprialc business rules to validate the order and the parameters (such as terms) associated with it. The order routing subsystem 82 utilizes suitable algorithms and business rules to select Ihe best route for the orders it has received and validated. The best route always directs the order to the market participant (a Market Maker or ECN) with the best execution price.
If the user of the front end specifies a route for his/her order, the order routing subsystem 82 will use that route to execute the order. However if the user chooses the automatic routing option in the front end, the order routing subsystem 82 will choose the best route for his/her order.
The order routing subsystem 82 communicates with a local order execution subsystem, (if implemented by the backend) and external trading systems to retrieve and compare execution prices available for an order. The subsystem then uses the price data received to decide where lo route orders. I he local order execution subsystem is discussed hereafter, with reference to Figure 8.
Figure 7 shows an account management subsystem 84, whose purpose is to handle the creation, monitoring and management of online trading accounts. Before a trader can do online trading transactions, he/she must open an online trading account with an online brokerage firm. There are several types of accounts, depending on the owner of the account (individual or institutional), the purpose for opening the account, and other factors. The account management subsystem 84 manages information pertaining to these accounts and their associated portfolios. It also handles password authentication during the initial login phase. The account management subsystem 84 consists of three modules: (1 ) a login verification module 86, which handles authentication of users logging in to the backend system; (2) an account creation & maintenance module 88, which handles the creation, deletion, and management of online trading accounts; and (3) a portfolio management module 90, which handles the portfolios associated with the accounts managed by the account creation & management module 88.
Figure 8 is a representation of an optional order execution subsystem 92 of a prototypical backend trading system. For Electronic Communications Networks (ECNs), -fn order execution subsystem 92 is a requisite component, but not for online brokerage firms, which delegate their order execution services to external trading systems.
The order execution subsystem 92 consists of two modules: an order execution module 94 and a trade reporting module 96.
The order execution module 94 handles the automated matching of orders entered in an order book 98. It uses appropriate business rules and matching algorithms to give orders the best price possible at the time of execution. It also implements logic for handling orders with associated special parameters like all or none orders, date/time-dependent orders, etc. This module also handles the cancellation of previously entered orders.
The trade reporting module 96 manages the historical database of all trades executed by the order execution module 94. This module handles requests coming from the other subsystems for trade and execution information. With reference to Figure 9, a prototypical backend trading system is shown by its functional blocks.
It will be recalled from discussion above with reference lo Figure 4, for example, that the front end 32 is capable of interfacing with diverse backend trading systems 44. This includes any system that can: (1) manage online trading accounts, (2) publish quotes (3) receive orders, (4) execute orders, and (5) provide feedback to the trader on the status of his/her orders. The middleware 42, makes this capability possible.
Although the backend trading system 44 can be any of the following: an auction system, a currency trading system, or a commodity trading system; the present invention is particularly directed towards securities trading. Thus, this description focuses on a specific type of backend trading system 44. The many similarities between a securities trading syslem and the other backend trading systems mentioned allow the present invention to be ported from one backend trading system to another, with relative ease.
This discussion with reference to Figure 9 defines, in general terms, what a prototypical "backend trading system" is - its architecture, the processes involved within the system, and the data that is passed back and forth between the front end 32 and the backend trading system 44.
A backend securities trading system 44 is a computerized system operated either by an online brokerage firm or an Electronic Communications Network (ECN). It typically consists of the following subsystems: (1) account management subsystem 91, (2) quote publishing subsystem 93, (3) order/transaction processing subsystem 95, (4) order routing subsystem 97, and (5) order execution subsystem 99.
Furthermore, the implementation of (he backend trading system also depends on the type of company that runs it. Online brokerage firms usually implement components 91 , 93, 95, 97, but not 99; ECNs on the other hand implement all five components. All backend trading systems 44 however, ultimately link up with a stock market's or stock exchange's computerized trading system.
The account management subsystem 91 handles the creation, maintenance and monitoring of online trading accounts. It stores and manages information on the account's owner, its privileges, limitations, balance, its portfolio, and other related information. The account management subsystem 91 also handles the validation of user passwords when users initially log in to the back-end trading system.
The quote publishing subsystem 91 , (which may also be referred to as a stock quolc sei ver) broadcasts quotes to subscribers There are two types of quotes: a basic quote which contain information on a stock's last price, the current bid and offer price foi Ihe slock, the change in price from the last trade, opening and closing price, highest and lowest price (for the current trading day), and the volume of stocks traded; the other type of quote is the detailed quote, which contains a listing of the prices quoted by different fnarket participants. The detailed quote can also be categorized into two types: one is the detailed quote that comes direct from a stock market like NASDAQ, whose implementation of the detailed quote is called "Level II". NASDAQ Level II is a tabulation of the bid and offer prices quoted by NASDAQ Market Makers and ECNs. The other type of detailed quote comes from ECNs or stock exchanges and contains a snapshot of their market books (the queue containing all individual orders submitted to the ECN by its customers, the entries of which are ordered/arranged according to certain business rules).
The order/liansaclion processing subsystem 95 receives and validates orders coming from the broker's customers. After validating an order, it applies appropriate business rules (which vary depending on the broker) to the order. These business rules may include, among others, checking the account status of the owner of the order, checking the type and terms associated with the order, etc. Finally, the order/transaction processing subsystem 95 closely coordinates wilh the order routing subsystem 97 in ' deciding whether lo register or "enter" the order into the local market book 98 (if the back-end trading system has it), or to route it to an external trading system, e.g. NASDAQ or an ECN.
The order routing subsystem 97 uses appropriate business rules and algorithms to select the optimal route for orders accepted and validated by the order/transaction processing subsystem 95. The optimal route directs the order to the best order execution system - the one with the best price, whether it be local (if the backend trading system implements an order execution subsystem 99) or remote (if the backend trading system does not implement an older execution subsystem 99, or it is not the optimal one).
The order execution subsystem 99 matches buy orders with corresponding sell orders ll continuously examines entries in the local order book 98, and then applies certain algorithms and business rules to decide which "buy" orders it will match against corresponding "sell" orders. This subsystem is tightly linked with the order routing subsysteiT. because the National Association of Security Dealers (NASD) rules dictate that backend trading systems 44 must find the best price possible for all orders it accepts. This subsystem is implemented only by ECNs. Online brokerage firms typically delegate their order execution services to an external trading system like an ECN, or to a NASDAQ Market Maker.
As noted, a particular purpose of the present invention is to provide a graphical user interface which may be used by any trader. Typical graphical displays are discussed with respect to screen snap shots shown in Figures 10 and 53, described hereafter. The front end software of the present invention comprises the grid graphical object, several display panels, and several GUI objects. The most important component of the front end software is the grid graphical object.
Thus, a principal function of the GUI front end is to provide a grid representation of market conditions with respect to any security or group of securities, as tliscussed hereafter, effectively in real-time. The GUI front end also provides a number of display panels and GUI objects for dynamically displaying trading data, and updating the trading data being displayed. A plurality of grids may be shown, as noted heieafter, in sidc-by-side arrangement, as well as in tabs where once grid is hidden behind another in typical fashion well known particularly to programmers and users of Windows software.
A typical grid is shown in Figure 10. Here, data for a plurality of market makers ai shown m columns 100a... I OOg (being understood, of course, that the number of columns may vary as may be elected by the user, or as dictated by the software, all as described hereafter). A price axis is shown at 102; in this case, the prices are shown varying in one unit intervals (typically, one cent intervals). Of the tabs 104a... l04d, cat h is indicative of a separate grid for a separate security. Tab 104a has been chosen, so that data concerning a hypothetical security identified as XYZ Corp. is shown. Its stock market symbol is shown at 106. In a grouping of displayed boxes shown generally at 108, specific data is shown concerning the hypothetical corporation. In particular, the price of the last trade at 56.92 is shown, being up 0.18 or 0.32%. The current bid price for this security is 56.90, and the current ask price is 56.94. The highest trade for the particular trading session in progress was at 56.56; the lowest trade was at 56.10.
I he last trade was for 200 shares; and there have been 1 , 123 trades during the current trading session in progress, for a volume of 8,655,000 shares. The bid size and ask size boxes indicate the number of lots (each being 100 shares) being offered for pui chase, or the number of lots being offered for sale, respectively, at the current bid and ask prices.
Another box labelled PG is shown at 1 10, and is described hereafter. What is important to note is that there are a number of rows or price bins which are shown at various prices, and across various columns. It is important to note that in Figure 10, and throughout all of the Figures being discussed herein, active or selected eel Is for various market makers or other criteria as may be determined for each column, al various prices as shown in the rows thereof, are indicative of either buy or sell quotes or oiders. The bid prices - that is to say, each buy order or quote from any market participant which is being tracked on the grid, is at a specific price. As noted hereafter, there may be more than one buy order or quote at the same price, for any one market participant or market maker. In any event, all of the buy order or quote prices are shown wilh a particular hatching in the Figures - upwards to the right. That hatching is indicative of a specific color when the grid is, in fact, shown on the computer screen of a trader, the color being at the election of that trader. The ask prices are shown with a different hatching - upward to the left - and of course il will be understood that such hatching is indicative of another color which is mutually distinctive from the first color used for bid prices. Any of columns 100a...l00g can be moved to a different location by selecting the column header and dragging it. They may also be automatically arranged according to some particular criterion, such as the most active market. Other columnar data, particularly aggregate data, are described hereafter. Box 106 permits entry of a symbol for any given security, after which the button
1 12 is clicked.
It is possible to adapt the grid display shown in Figure 10 (and others) for use on Personal Digital Assistant devices or other portable platforms which are capable of displaying graphical information in keeping with the requirements of the present invention.
Buttons may be provided to zoom in or out on the price axis 102; a status bar is shown at 1 14, and a close button is shown at 1 16.
Figure 1 1 is similar to that of Figure 10, showing somewhat different data, because the price axis 102 shows each price bin separated from adjacent price bins by increments of 0.05. Thus, while the price range shown in Figure 10 is from 56.73 up to 57.04, the price range shown in Figure 1 1 for the same security is from 56.00 to
57.55.
Il will be noted that each price bin or cell in column 100a in Figure 11 is filled. That is because there is at least one bid or ask offering within each increment shown on the price axis in Figure 1 1 . For example, while there is no activity shown at prices
56.90 up to 56.93 on the price axis 102 shown in Figure 10, there is activity shown at 56.94 and 56.95, and thus there is ask activity shown in the price bin at 56.95 in column 100a as shown in Figure 1 1. On particularly active days, market volatility may require that the trader sees a wider price range than prices that are merely separated by the security's MPV (minimum price variance). In Figure 10, the price for XYZ Corp. may vary in one unit intervals; thus, each price bin shown in Figure 1 1 may hold a multiple of the security's MPV. The details of the dynamic changes are discussed hereafter, with reference to Figure 53.
A replay button 1 18 is indicated in Figure 1 1. This replay button can activate an historical data animation which will be displayed graphically on the grid, as described hereafter. Thus, quote and order information for a particular time interval can be reviewed, and accelerated if desired. The replay button 118 will speed up activity so as to gauge the market direction or momentum more accurately. It will allow a trade to compare activity from one period to another; and it will also permit a trader to review market activity that was missed. Figure 12 shows a typical screen shot having a number of speci fie display panels down the left hand side and across the bottom, together with two grids 120 and 124, which replicate data shown in Figures 10 and 42, respectively. Figure 13 shows three grids 120, 122, 124 which replicate the data shown in Figures 10, 1 1, and 42, respectively. Also shown in Figure 12 are a number of other tab sets 126, 128, 130, and 132.
Theie is also a Position Guide box 1 34 shown in Figure 12.
It will be noted that tab set 128 is also shown in Figure 13, but in a different location than in Figure 12.
The various lab sets permit the trade to set up and enter orders, monitor open orders, view filled orders, view market statistics, monitor a cash position, recommend shares to purchase, interact with other traders, and follow market developments, all as described hereafter.
Of course, tabs can be moved within tab sets and between tab sets; and may be renamed. Also, as is known in a Windows environment, tab pages can be positioned at any coordinate on the screen, and may dock and undock with other windows, in keeping with Microsoft Windows conventions. The Position Guide 134 will recommend a suitable level of shares to buy or sell, according to factors such as cash on hand and portfolio value, as described hereafter. A NASDAQ Level II grid 124 is shown, as described hereafter with respect to Figure 42. Obviously, the overall look and feel of the user interface may be controlled by a user preference configuration capability. Accordingly, the number of grids that are displayed, the maximum number of windows, the color and design or applications in, as well as other parameters which are relevant to the overall look and feel of the application can be selected, according to the user's preferences and experience. A holdings tab from tab set 132 is shown in greater detail in Figures 14 and 15.
In Figure 14, the data is shown in tabular manner; in Figure 15, it is shown with separate icons for each holding.
The significance is that an icon under the symbols column 136 in the tabular format of Figure 14 can be dragged into its associated grid for a sale or so as to be covered. Likewise, any of the icons shown in Figure 15 can be dragged and dropped onto the respective grid.
Examination of Figure 14 shows that 500 shares of XYZ Corporation are owned; that they were purchased at 56.26 and that the current price is 56.92, up 0.66, for a profit of 330.00. Dollars are shown, but other units might easily be used as well. From Figure 15, similar data is shown, but in somewhat less detail.
On the other hand, the icons shown in Figure 15 may be colored so as to show the type of security or type of order that exists. For example, colors may be used to represent a short order, another color used lo represent an option, or a margin purchase, or to indicate profit or loss on individual positions. Each icon may further have data associated with it, which would be revealed by holding a cursor over the icon. The status bar 138 may also display the data, as well as the current market price for the security, if elected. Figure 16 illustrates a market order entry tab 127, chosen from tab set 128. This is a form based representation; and it will be noted that there are buy, sell, and short buttons 140, 142, 144, respectively, which can be pressed so as to route an order to a given market. That market may be as shown at 146. Similarly, as can be particularly seen from Figures 12 and 13, a buy, sell, or short button 140, 142, or 144 can be dragged onto the grid 120, for example, for the order to be routed to the selected market — in this case, 1SLD.
A similar tab is shown in Figure 17, also selected from the tab set 128; but in this case, it is the limit order tab 148 which has been selected. A further button, the terms button 150, is shown under the tab 148, which permits the trader to specify order execution terms.
Another tab, tab 152 from the tab set 128, is shown in Figure 18. That is the stops tab or slop order entry tab.
This stops tab 152 has similar properties to that of tab 148, except that it is equipped with four other buttons 154, 156, 158, 160 which are labeled as stop buy, stop buy limit, stop loss, and stop loss limit buttons, respectively. An order input can be in terms of shares or an order reference number, so that a filled order can have a corresponding stop order associated with it. Stop orders trigger when a lot has traded al the stop price. When a stop limit order has been entered, a distinction may be shown between the limit price and the stop price, on the respective grid display.
Yet another tab in the tab set 128 is a change order tab 162, shown in Figure 19. This lab is employed so as to change the parameters of an open order B that is, an order thai has already been placed. Here, the order reference number 166 is shown, so as to identify the order which is already in place. The new shares and new price are shown al 1 8 and 1 70. wilh the submit button I 72 effecting the change order. Terms may be set by employing button 174. Changes may be made, of course, in respect of the volume or the price, or even the route through which the order will be placed.
Figure 20, shows another tab from the tab set 132, namely the open tab 176. Figure 21 shows similar data, except in icon form; and Figure 22 shows the same data from Figure 21 with a further drop-down right click menu.
As described above with respect lo Figures 14 and 15, there is in this case a change column 178 shown in Figure 20, which permits order parameters to be changed and which allows the order and the underlying security to be displayed on the grid of Figures 10 or 1 1 , for example. The change box can be dragged onto the grid to a specific price bin, so as to effect a price change or to submit an order to a different
Again, different colors may be employed to show the type of order buy, sell, short, etc.
The same data is shown in Figure 21 , but in icon form. Referring to Figure 22, the stains bar 180 indicates that there are six open oidei s; and in this case, a right click on icon 182 has opened a drop-down menu 184, which menu permits open order parameters and terms to be changed or cancelled.
Referring to Figure 23, another lab 186 from the tab set 132 is shown. This tab
186 reveals data concerning orders that have been filled. Such orders may have been bu) , sell, or short - see, for example, Figure 20 - and the data provided in Figure 23 shows the pi ice and lime, and quantity, at which the order was filled or at least partially filled.
Figure 24 shows further detail from the tab set 130, in this case being details concerning option orders or other derivatives that may have been placed. Thus, such option orders or other derivatives have their own dedicated order entry lab, with all of the necessaiy in ormation being entered such as al 190 where a derivative being bought, has additfonal criteria being chosen as indicated. The submit button 192 will effect the transaction.
Obviously, the submit button 192 may be dragged to a suitable grid so as to enter the order, as will be evident from a review of Figure 12, for example. A further drop-down menu may be provided so as to select different market participants, for routing of the specific transaction being effected.
' uming now lo a discussion of Figures 25 and 26, a typical representation is shown in the case of a falling market.
It will be noted that Figure 25 is similar to Figure 10. However, in figure 25, the price of XYZ Corp. has dropped from 56.92 to 56.79. As a result, the security is trading down some 13 rows from 56.92. The last trade of 56.79 is highlighted on the price axis 102. The bid and ask of the market participants have fallen lo the lower portion of the grid 120, since the price axis is fixed for the .01 row increment. If the security trades at or below 56.73, the lowest visible row, the price axis 102 will adjust the displayed price range down to maintain the trading activity in the visible portion of the grid.
The price axis 102 may adjust to trading activity automatically or manually. In automatic mode, it will maintain trading activity substantially centered in the middle of ihe grid by adjusting the displayed price range of the price axis continuously. A smoothing function may be used to prevent the price axis from adjusting itself to quickly in an active market. In manual mode, the user resets the trading activity to the center of the axis 102. A buy order cell - such as cell 200 on Figure 28 - on a fixed price axis 102 will remain stationary as the trading activity moves towards it and eventually fills the order. When a security is first shown on the grid 120, the user may elect to position the price axis 102 according lo (he session high, low, opening, or last trade prices. Alternatively, the price axis 102 can be centered to the closing price of the previous session, or a technical indicator such as the 50 day moving average.
Figure 26 is similar to Figure 25, except that the price axis 102 has been centered on the grid 120. A buy order cell 200 on Figure 28 on a centered price axis will appear to climb higher towards the trading activity as the price of the security falls, until eventually the order is filled. A right click menu on the price axis 102 can select how the price axis reacts to price variations in the security.
Turning now to Figure 27, there is shown a grid representation in which an aggregate price column of an option series is illustrated. Here, the grid 196 shows an option series representation for a particular call option of an option eligible index.
In this case, the price axis 102 is in .05 increments as is suitable for an option priced under 3.00. There is also an aggregate column 198 which displays the aggregate quote from one or more market participants with all available buyer and seller prices and combined order size. Orders placed in the aggregate column may be routed automatically to the market that contains the best price or fastest executions.
Some users may not be interested in viewing quote activity for individual market participants, as shown in columns 100a... l00e, and may choose to view and enter orders only in the aggregate column 198. Options symbol are entered into the grid 198 directly, or via the options entry tab 1 8 (see Figure 24). Turning now to Figure 28, a representation of a limit buy order is shown. The data shown on the grid 120 of Figure 28 are the same as those shown in Figure 10.
Figure 28 demonstrates how a buy order 200 is located on the grid 120. The buy order for 200 shares of XYZC is a limit order placed at 56.88. This is .04 below the last trade price on XYZC, as shown at 202. The market where the order is placed is Island ECN, as noted in the header for column 100a. To distinguish an order from the background quotes, a contrasting lexlure or color is used. The text inside the order also helps identify the type of order and shares being sold. In a similar manner, a limit sell oidef may be placed in a suitable market and in the upper portion of the grid representing seller quotes.
The order is placed on the grid 120 in a number of ways. First, the order will be entered automatically into a suitable grid if it is submitted from an order entry tab such as that shown in Figure 17. Second, the order can be entered by dragging and dropping from the Position Guide 134, which recommends the amount of shares to purchase as well. Third, the order can be dragged and dropped from the holdings tab, as seen in Figures 14 and 15, or a similar status tab.
The orders can be posted to the grid direct from the appropriate entry method, either through the order entry tabs or the Position Guide, with validation to follow; or the oiders can be posted after validation from the exchange or market. In the latter case, a delay may occur between Ihe lime the order is entered and the time it is validated. In this case, the cell 200 may indicate a non-valid status until the backend system validates the order. Figure 29 is similar to Figure 28, except in this case the order 200 has been routed from one market to a different maikct at a different price. The original order has been touted to Archipelago ECN in column 100b, and the buy price has been reduced to 56.83. This apparent order change occurs when a selected buy cell 200 is dragged or rouled by the computer's pointing device, such as a mouse or a keyboard cursor arrow, such that Ihe selected buy order cell 200 moves left, right, up, or down, along the gt id. 'I he practical effect, from an exchange or market makers perspective, may be to cancel one order, and enter another in a different market, or to change (CFO) one open order to reflect an adjusted price, volume, or other order parameters or terms. This routing of orders between markets, and changing prices graphically, is at the heart of the grid's function.
Figure 30 is similar to Figure 10. I Iowever, in Figure 30, only Ihe bid and ask for each market participant is displayed The buy order 200 from Figure 29 remains visible. Some users may prefer this view, selected from the grid preferences menu, as it removes movement outside the market and makes open orders stand out.
Figure 30 also shows an example of a mouse over effect showing a price axis popup box 202, a quote or order popup box 200, and a market participant popup box 206, so as to result in the display of other relevant information At the top of this view, a radio button 208,210 shows that the tab page can toggle between a grid display of
XYZC and a chart of the security.
Figure 31 shows a stop loss limit order 208 and 210. In this example, the stop price is 56.82. When one lot of the security has traded at or below the stop price, the associated limit sell order 210 becomes active. Both parameters, the stop price, and the limit sell price, can be changed by dragging its associated cell. Text inside the order cells help identify the order type, quantity, and function.
Figure 32 is a representation of Figure 31 , once the stop price has been reached and triggered. In this view, the stop price 208 of 56.82 remains on the grid 120 to show that the stop price has been triggered and the limit sell order 210 is now an open order.
The limit price may be changed while the order is open. In this manner, more complex order types may be displayed.
Referring now lo Figure 33, similar data to that which is shown on Figures 28,
29, and 31 , is shown. However, in this case, an integrated icon area 301 is included at the right of the grid, showing the status of orders or holdings that are related to XYZ
( i potation I he icon area 301 may be considered to be a parking area, in that orders are parked in order that the trader may drag them onto or off the grid 303. One advantage of lhe icon area 301 is that an order can be dragged off the grid 303, even though the grid may have been cancelled, and held in the icon area 301 so that it can be dragged back onto the grid later as a new order, without having to set up the trade all over again. A further feature of the icon area 301 is that multiple orders with respect to the same security may be established. Here, it is seen that there is an intention to buy 200 shares of XYZ Corporation at 56.88, shown at cell 200 just as it is shown in Figure 28. There is also an intent to sell 500 shares of XYZ Corporation through market participant MM2, at 56.98, as shown at cell 305. The status of those cells 200 and 305 are shown at icons 307 and 309, respectively, in the integrated icon area 301. However, it will also be noted that icon 31 1 shows that previously there were 500 shares of XYZ Corporation purchased at 56.26.
An advantage of the integrated icon area 301 is that icons relative to the specific security may be displayed, whereas the holdings tab as seen in Figures 14 and 15 contains information as to all securities which are under consideration. Thus, using a display set up as shown in Figure 3, the trader can concentrate on a single security, if thai is the trader's wish.
Figure 33 is somewhat similar to Figure 27, and in this case it shows a grid 212 for a security, XYZ Corp , which trades in multiple markets, being represented by an aggtegate column 214. The aggregate column combines quotes and order data from multiple market participants 100a... lOOf into a single column. The aggregate column 214 may represent, for example, aggregate quote data from those market participants available to the trader's brokerage firm to trade on and to submit orders to. The grid's price axis 102 may also be split into two price series to show different price ranges for the same security.
Figure 34 is a representation of Figure 33, having the same data, but with each cell which contains a market quote having a text display of a cell property - in this case, the text label refers to the total lot size of the cell. A drop down menu 216 is presented at the top of the page tab for selecting the property. In the preferred embodiment, the text shown on each cell can be total lot size, number of orders, dollar value, share quantity open or shate quantity traded inside the cell. Similarly, the total lot size, orders, trade value, or share quantity filled or executed at each cell can be shown over a period of lime In the latter case, the length of time specified may be from the beginning of the current session, during the past hour, or a user selected time interval. The aggregate column 214 may also contain text summary data. In addition to a text inside the cell, colors and color gradients can be used to display the same parameter or an alternative parameter of each cell or order.
Turning now to Figure 35, a grid 220 is shown, which uses the concept of the aggregate column 214 to show a one column view of one or more market participants. The remaining columns 222 and 224 are used to show lot size and order quantity for each pi ice increment. A graphical representation of lot size and order quantity is shown next to the text data, at 226 and 228, respectively A replay button 1 18 is shown, which can animate historical data in a graphical presentation. A right click menu is available over the column name to allow the user lo select a data display from specific markets rather than an aggregate representation. For example, the grid column 214 can repiesent data only from Island ECN and display the corresponding text 222, 224 and graphical representation 226, 228 of lot size and order quantity, respectively.
Figure 36 shows the market column or aggregate column 214 of figure 35 rotated 90 degrees, and now presented horizontally at 230. Price increments run along the x-axis from left to right. The rightmost cell contains the highest price value. The size of each price bin may be increased to view a larger price range for the security.
Direction buttons at each end of the grid allow the grid's price axis 230 to be scrolled left or right, fhe cell values at the endpomls 232, 234, the bid and ask 236 and 238, and the last b ade 240, are all indicated and linked to their representative cell. Open orders are also shown, in this case at 242, above the grid. A Position Guide 134 allows orders to be dragged and dropped onto any cell thai is displayed. In this type of display, the bid is shown on the left, and the ask is shown on the right. There is less room lo display text inside each cell in this implementation of the grid 220. As a result, buy orders 242, the last trade 240, or a sell order, may be represented by the single letters "A", "L", and "S" within each cell. These cell types may also be represented by specific colors as well.
Under the grid 220, a chat application 244 allows discussion of a selected security or topic. The integration of the chat application on 244 the same tab page allows a security to be monitored closely while a discussion is ongoing.
Figure 37 shows a single column representation of a grid 246. Single column representations are appropriate whenever listed securities trade and are quoted in only one market such as the Toronto Stock Exchange, 'fhose quotes are shown in column 248 The remaining space on the tab page is taken up by charts 250, 252 and a fundamental profile data 254 on the security. A drop down menu allows the chart type and time interval to be selected.
Figure 38 is similar to Figure 28, with a representation of a right click menu 254 on Ihe buy order. The right-click menu 254 is location and context sensitive, and allows the user to view order statistics, change order parameters, adjust price bin size, set preferences, display an aggregate column, and undo a change. The right-click menu 254 also allows the user to access the Position Guide 134 and the replay feature 1 18 of the gt id interface
Figure 39 is a representation of the replay settings tab 256. The replay feature 1 18 provides a graphical payback of historical data and trading activity on a grid. If the historical time interval being reviewed is large, the playback speed can be accelerated. For example, if the historical interval being reviewed was originally 60 minutes long, as can be seen by comparing the times for the start and end of the interval to be displayed, as set at 258 and 260, the user can adjust the playback time period to view this interval al 10 limes normal speed which would result in the animation lasting six minutes Similarly, the animation interval can be fixed for a defined time, for example, 2 minutes, without regard to how long the original historical time interval was. If the historical1 data or necessary file on the security is not resident on the user's computer, it may be downloaded from a suitable server. The replay application 1 18 uses actual historical quote data to run the animation. The replay feature 1 18 works only if there is available archived (historical) quote and order data from the user's computer or from any suitable server. The user can elect to store historical data locally through the record function, which will store data on the user's computer's storage means.
Figure 40 is a representation of the Position Guide 134 settings. The Position Guide 134 recommends a quantity of each security to buy or short, based on input from the user on the amount of funds to be invested in each type of security, and the percentage of buying power or portfolio value available to be invested in any trade.
Recommendations are rounded up or down to a standard lot size or contract size, as shown at 262. The recommended quantity to be purchased or shorted can be dragged and dropped from the Position Guide 134 (see Figure 36) to any cell on the grid, for the coriesponding security. The Position Guide is made available directly on the tab page of each grid by electing to show the Position Guide 134 on each lab page.
Advanced settings 264 on the Posi lion Guide tab 134 give access to timing tools so that trades that appear technically sound bias the Position Guide to recommend a higher quantity of the security than trades that appear to have poor or no technical merit. The Position Guide allows the trader lo enter limit orders with one or more parameters based on the Position Guide's recommendations.
Figure 41 shows horizontal grids 270, 272, 274 for three securities. Each security has its own grid 278, 280 and Position Guide 134a, 134b, 134c, respectively. The top security, XYZ Corp, has two grid rows 276a, 276b associated with it. Each functions independently and provides a display of the security in its own respective price range. Orders 278 to sell at 57.50, 280 to buy al 56.88, ask information, and last trade information 284 can be indicated on both related grids if the price labels overlap. Each grid allows ihe price bin to be adjusted independently of the other. The middle security is an option series. The Position Guide 134b recommendation is based on contracts, not shares. Options above 3.00 trade in MPV of .10 increments. There is a sell order 286 at 8.10.
The bottom security, A BCD Corp, is being monitored by the user, and has no open orders associated with it.
Turning now to Figure 42, there is shown conventional NASDAQ Level II display 124, as used by day traders in the US equity markets. Time and sales information is on the right side of the display at 290. Since, the grid representation of trading and quote activity differs from the NASDAQ Level II view, traders new to the grid view may prefer to additionally monitor securities with NASDAQ Level II displays. To accommodate this need, the tab pages of the grid area can switch between NASDAQ Level II views and grid-based views of the trading activity.
Figure 43 shows a representation of the special terms setting dialog box 300.
Special terms dictate how the order must be filled. Setting special terms is a common feature of trading applications. Special terms for an open order may be accessed and changed from the right-click menu of an order cell on any grid, as shown at 254 in
Figure 38.
Figure 44 shows a representation of an option chain on a grid 302. The tab name OEY*D, shown al 304, indicates an option chain. The grid arranges the data associated with the option chain to provide a representative display. There are two grids 306, 308, each with their associated price axis 310, 312, respectively. Bid and Ask prices arc displayed for various months, in columns 314a...314f, at different price levels. Two buy orders 316, 318 are indicated. The first is to buy 10 contracts of the OEX April 620 calls at 1.30. The second to buy 5 contracts of the OEX July 620 calls at 2.05.
The grid drop down menu 318 allows data for puts, call, or both classes to be displayed. An order status area 320 allows the user to monitor the status of the open options cfrders. The option order prices can be changed, by dragging the order cell up or down its respective column. The radio buttons 320, 322 allow the option quote data to be displayed in a table style view, or on the grid. Standard preferences may be applied such as showing contract size in each cell, as a text label. Options data may be filtered to display only the bid and ask of each month to reduce the level of detail.
Visual and auditory alarms or notifications can be set to warn the user of a change of status or trading activity.
Each column contains aggregate data combined from all available markets. However, a single market, such as the CBOE, may be viewed on the grid as well. Figure 45 shows an alternative representation of the option chain of Figure 44.
Both Puts 324 and Calls 326 are displayed in this view. The selection of which class to display is via (he put and call check boxes 328, 330 under the grid display radio button 322. The price axes 332, 334 are independent of each other, to optimize the display of relevant quote and order data. Changes can be made to the initial layout of the option chain. For example, the month displayed in each put and call column is via a right-click selection on the column name, as shown at 336.
Figure 46 shows yet another alternative representation of the option chain of Figure 44. Both Puts and Calls are displayed in this view at 340 and 342, respectively. Each column 344a...344f represents a different strike price for the month of April. Two limit buy orders 350, 352 arc indicated: the first is for 10 contracts of the OEX April 615 calls at 1 .55; the second buy order is for 5 contracts of the OEX April 585 puts at 3.30. The price axes 354, 356 for each class are independent of each other. A right-click on the column heading allows the strike price to be changed, as shown at ' 360.
Figure 47 is a representation of an aggregate column 362 of quote data and a corresponding NASDAQ Level II type display 364. Orders are entered or adjusted on the cohmin according to market developments reflected in the Level II display. Although one column 362 is displayed to represent the aggregate data, the user may elect lo show a second column to monitor a preferred market maker, exchange, ECN, market participant as referred to herein. The radio buttons 366, 368, 370 on the Figure allow the trader to alternate views from a multiple column grid, to a split grid and Level II view, and to a grid and Chart view. A further view may include a grid and a chat discussion on the security, or news updates.
Turning now to Figure 48, there is shown a consolidated view 380 of all open orders in a user's account. To obtain this view, the front end system 32 determines whether each open order is on the bid side or the ask side of the underlying security. Then, the front end system 32 plots the relative distance of each order from the security's bid or ask price. The price difference between the bid or ask price and the open limit order is plotted on a common grid and a relative price axis. It results in a cluster of orders around the normalized bid and ask reference points.
For example, GE in column 382a at 384 is an open limit order to buy one lot. The value on the price axis 386 is -0.20, which means that the user's buy order is about 0.20 away from the current bid of GE. If the bin increment was 0.01 instead of 0.05, a more exact calculation of the price gap would be possible. Orders can be dragged and dropped closer or further away from the trading activity, which will effect a change in the price of an open order. If an order is dragged to the opposite side of the market, the system assumes the order has changed to a market order and informs the backend accordingly.
There are two purposes for the columns 382a...382e. The first is to allow multiple orders to overlap at a given price point or price bin. The left to right placement of orders when multiple orders reside in one bin, is determined by the orders closest to Ihe bid or ask price. These orders arc placed on the leftmost column. A second r-lnking variable may be the value of the trade, or the time interval since the order was submitted.
The second purpose for the columns 382a...382e, is to allow open orders to be dragged left or right, away from the main cluster of orders so individual stocks or groups of stocks can be segregated and monitored in relation to the central order cluster.
For example, semiconductor sector stocks such as INTC (386), AMD (388), and MU (390) may .be dragged along the row to the right edge of the grid so the relative performance of those open orders may be monitored for signs of a deteriorating market or an upcoming rally. I he first column 414 contains two user-defined buttons 392, 394 in each cell.
In this instance, the buttons are a cancel button, CXL, and a change limit order to market button. MKT, respectively. Pressing either button changes all orders in the relevant row to the designated command.
At the lop of the lab page is a column of five larger buttons 400, 402, 404, 406, and 408. When a market event such as a Federal Reserve Board meeting produces breaking news, the user can elect to cancel all open orders at 400, cancel all open buy orders at 402 or open sell orders at 404; or change all open limit buy and limit sell orders, at 406 and 408, respectively, to market orders. Major market moves may be determined by monitoring a defined group of indexes and stocks on the upper portion of the grid, at 410.
When a pointing device such as a mouse is used to select an order cell, the last price, change, and percenlage change are displayed above the grid. The security headings 410 are user selectable. In Figure 48, the stock selected is Microsoft, and its quote data is visible below the value for the Russell 2000 Index at 412. Each order may be cancelled or have its terms changed by a right click on the selected order cell and choosing the command from the resulting menu. Figure 49 shows an alternative representation of a consolidated view of all open orders with the same data as shown in Figure 48. The relative price axis 386 allows a user to gauge the relative distance of any order from that security's bid or ask price. The first column 414 from Figure 48 is hidden from view. A Position Guide 134 and stock ticker input area 416 above the grid, allow quote information to be shown, and order quantity recommendations to be made. Dragging from the Position Guide 134 to the grid 380 allows the user to drop a buy, sell, or short order for the quoted security onto the grid. Placing the order on the BID price row, or below, of the grid designates it to be a limit buy order. Placing the order on the ASK price row, or above, of the grid designates it to be a limit sell or a limit short order. Placing a buy order above or on the ask price designates it as a market buy order; and placing a sell order on or below the bid price designates it as a market sell order. The row price bins may be adjusted using the drop down menu 418 near the relative price axis.
Figure 50 is a representation of multiple securities quoted in one grid 430 with one price axis 432. The price axis 432 is adjusted in real time to reflect prices for the security assigned to a selected column 434a...434g. In Figure 50, XYZ Corp is the security of the selected column and the price axis matches trading activity in XYZ Corp. The column name of XYZC is highlighted at 436 to distinguish it as the price axis reference, and as the selected columns. This representation of the grid 430 makes il convenient to monitor multiple options and equities in a single, simple presentation. It also assists in tracking options prices when the underlying equity changes. The price bin settings adjust to references a specific column displayed so they do not need to be constantly adjusted. The selected column may also be dragged to the left or left aligned automatically so that it is next to the price axis. The Position Guide 134 is active and relevant for the selected security.
The price axis can show absolute values, or relative values. 'Phe security of a selected column can be changed by entering a second symbol in the symbol text box. Summary information on the security 440 appears on the upper section of the tab page. The tab 442 for IBM is highlighted in the tab set. This is an indication that an event has occurred that requires the user's attention. Such events may be orders that are filled, a trade through an important price level, or a recent news release.
Figure 51 is a representation of a grid 450 consisting of both order cells 462, and quote cells 454. Quote cells 454 represent a single security, and move on the grid in real time in accordance with a derived difference calculation between two or more parameters. Order cells 462 represent a limit order and can be dragged and dropped on the grid lo adjust the order cell price in real time. Order cells are associated with a given security's quote cell. As the quote cell and the order cell move towards each other along the price axis, the order comes closer to being filled. When the order cell and the quote cell are on the same price axis segment, the order has the highest probability of being filled, as it is at the last trade price.
A selected grouping of stocks may be shown in this grid representation. Grouping may be index, industry sector stocks, a user defined list of securities, or a grouping selected on the basis of some technical criteria. The relative price axis 456 can show the difference value between two selected criteria. If a relative price axis is used, the axis can be referenced to the bid, ask, last trade, high, low, open, prior closing price values, or a technical indicator associated with the underlying security, all as shown in box 463. For example, a securily close to its 50 day moving average can have the price axis referenced lo the 50 DMA value, and the user can monitor the security to see if it holds the support level or falls under the moving average. • Two examples illustrate the use of this grid representation 450. In the first example, assume that a specific value on the relative price axis is derived from the difference between the prior closing price of a security and the last trade price during the currerπ. session. The grid 450 shows a quote cell 460 for IBM at negative 0.30 on the price axis. This is understood to mean that IBM's last trade in the current session is $0.30 below yesterday's closing price on IBM. The buy order 462 on IBM is seen to be $0.50 below yesterday's closing price, and $0.20 below the current last trade oiTBM. If IBM falls, the quote cells will appear to fall towards the buy cell. If IBM continues to fall through the buy order, the order will be filled and reported as such. If the user feels that IBM will fall significantly past the buy order, the user can drag the buy order 462 down the column in order to lower the buy price for the IBM order as referenced along the relative price axis. In the second example, assume that a specific value on the relative price axis is the difference between the value of the 50 day moving average (50 DMA) of a stock and its last trade price. In this case, if we look at IBM at cell 460, we would interpret the grid as indicating that IBM is trading $0.30 below its 50 day moving average. The IBM buy order 462 represents a price point of $0.50 below IBM's 50 DMA. If IBM falls in price during the current trading session, the quote cell 460 would fall on the grid towards the buy order for IBM. If IBM continues to fall through the buy order 462, the order will be filled and reported as such. If the user feels that IBM will continue to fall furlhei below the current buy price, the user can drag the buy order down the relative price axis in order to lower the buy price for the IBM order. Orders can be entered directly from the tab page by selecting a quote cell. The
Position Guide 134 will display a share recommendation for the selected security, which can be adjusted as desired, and dragged onto the grid to the desired position in relation to the quote cell. A preferences button 464 allows users to customize settings and display options, and to create complex formulae, for the derived price axis value 456.
It should be understood that the relative price axis value is derived by a price dil fctencc between two technical indicators, such as a moving average, or the prior session's dlosing price, and the last trade price of the displayed quote cell for any given security. The two values needed to derive the difference signal can be based on a simple statistic such as the last price, or the prior closing price. However, the two values can also be based on complex formulae involving multiple variables. With the use of multiple quote cells and groups of securities, general market trends would be more evident in this view than in a view of a single equity. A falling market would show the majority of quote cells falling on the grid. As noted earlier, the axis 456 values can be locked in position, or float to show the most representative view of all cells. Figure 52 represents a further, more orderly view of a grid with a relative price axis, wherein each column is associated with a unique security. The relative price axis 456 of Figure 51 remains, as does the input methods (although not shown) to derive the di fference value. An order status area 460 above the grid 450 allows fills to be reported for easy reference. Securities in a column can be changed by double clicking a column heading or name, and entering an alternative ticker symbol in the text box 462.
Quote cells 464 and any order cells 466 for a specific security are located within a designated column 468a...4681" for that security. Each column can contain stocks, options, or other securities. Price quotes used to derive the relative price axis value can be combined from one or more market participants. Turning now to Figures 53a, 53b, and 53c, there are shown representations of how prices associated with a sequence of rows can be grouped into a single row as the price range is expanded. On the left side of each of Figures 53a, 53b, and 53c, there are five rows 531 , 532, 533, 534, and 535. For example, as the bin size is changed from .01 to .05, the price range of the price axis visible on the grid expands. The nominal bin price of 59.90, shown at the right side of each Figures 53a, 53b, and 53c, can be assigned from the top 53 1 a, center 533b, or bottom 535c position of the five rows. Which Cw values are mapped to a five-cent bin, and how the nominal price of the nominal bin is selected, is defined by the user in the user preferences, or by the trader's brokerage.
Since orders are usually not entered in increments finer than the Minimum Price Variance (MPV), the basic price range on a grid is based on the MPV. The number of distinct MPV price levels associated with a particular price bin is a function of the specific security, volatility of the security, and the user preference of the font end. Price bin rows contact when a grid is zoomed out to show a birds eye view of trading activity. How smaller rows, such as 0.01 increment rows, map into larger 0.05 bin rows, affects how a bin cell shows a quote, and how it does not, as discussed above. A standard protocol is utilized so as to define the format of instructions and data that arc exchanged between the front end 32 and any backend system 44. That standard protocol may be based on XML.
Each of the input parameters and each of the return value items for the set of instruction and data noted above is linked to a respective GUI object in the software which is at any trader's front end 32.
In another embodiment of the present invention, a component-oriented approach is used to implement the "grid-based graphical interface" as a software object. Such an approach is in keeping with modern software development technology, which currently favors the construction of application programs based on distinct units called "components" or "objects".
A software object is a self-contained, re-usable programming construct that encapsulates both data and behavior. Software objects utilized according to the principles of component-based software development facilitate the creation of application programs using prc-built building blocks. This fact greatly simplifies software development, and helps shorten the software development life cycle. Major software vendors like Microsoft Corporation and Sun Microsystems, among others, have adopted and are increasingly promoting component-based software technology. 061729
60
Microsoft Corporation has its Component Object Model (COM), ActiveX, and Web Services technologies, while Sun Microsystems has its JavaBeans, Enterprise .lavaBeans, Java applets, and Swing/JFC component technologies.
A software object implementing the functionality of the "grid-based graphical interface" of the foregoing descriptions is shown in Figure 54. It will be noted that what is shown in Figure 54, is actually a blow-up of the grid graphical object 52 depicted in Figure 5.
The software object executes on a computer and has two aspects: (1 ) its visual manifestation, which is displayed on the computer screen, and which a user sees and interacts with; and (2) its program logic, which is implemented in computer code. The software object's program logic includes six methods or processes, which the software object employs lo accomplish its tasks. However, it is also to be noted that the six processes noted below are only representative of all possible combinations of methods and processes that the software object may employ. The software object's visual manifestation is composed of one or more axes, a drawing area, and GUI objects (icons, images, geometric shapes). The software object's visual manifestation is where trading data is graphically presented. This graphical presentation can employ several styles.
It must be slated that the software object's visual appearance can exactly match the visual appearance of the "grid-based graphical interface" of the foregoing descriptions, as seen al 500 in Figure 54.
The soltware object's program logic consists of ihe following processes: (1) Connect process 502; (2) Retrieve process 504; (3) Transform process 506; (4) Display process 508; (5) Interpret User Input process 510; and (6) Send Instructions/Receive Feedback process 512.
The Connect process 502 is used by the software object to establish connections with one or more data sources, 514. The Retrieve process 504 is used by the software object to receive trading data from a data source 514.
The Transform process 506 is used by the software object to process the trading data it receives from data sources 514. The Display process 508 is used by the software object to plot and render GUI objects, each one representing an order or a quote, on the software object's drawing area 520.
The Interpret process 510 is used by the software object to receive and interpret inputs coming from the user. These inputs might be commands to change the graphical properties of the visual manifestation, or they might be inputs that effect a trading transaction.
The Send Instructions/Receive Feedback process 512 is used by the software object to automatically generate and transmit transaction instructions, as a result of the user's interaction with specific elements of the software object's visual manifestation. This process 5 12 also receives feedback data pertaining to the status of the previously transmitted transaction instructions.
A Dala Source 514 is any system that can supply trading data. It can be any or a combination of the following: securities exchanges, stock markets, currency markets, commodities exchanges, electronic communication networks (ECNs), brokerage firms, data feed providers, market simulation software, and trading data published on any suitable media (such as CD-ROM).
A Market Participant System 516 is any system that can receive, validate, route, and possibly execute trading orders. It can be any or a combination of the following: securities exchanges, stock markets, currency markets, commodities exchanges, electronic communication networks (ECNs), brokerage firms, order-entry firms, and mai ket simulation software. Oftentimes, the Data Source 514 and the Market Participant System 516 are one and the same system. This is the case, for example when the Data Source is Island™ ECN, and the Market Participant System is also Island ECN.
Figure 55 illustrates yet a further visual manifestation of the object's visual appearance 500, with the data being presented in a more iconic fashion. As seen, however, a somewhat different convention is used, in that bid prices are shown with round icons 501 , ask prices are shown with square icons 503, a buy order is shown with an hexagonal icon 505, and a sell order is shown with a trapezoidal-shaped icon 507.
Each of Figures 54 and 55 show prices and trading activity for a selected security, with the activities of several market participants being indicated. The same data is shown in each of the Figures 54 and 55. Also, the same data are shown in Figure 3.
An interactive grid-based graphical trading system, and the interactive relationship of the trading system where a plurality of traders and a plurality of market participants will be found, has been described.
The software, and particulars of the software, have been described to the extent necessary, it being understood that any person skilled in the art of writing software for the appropriate platform such as ActiveX, Windows, GUI-based systems, and so on, may write specific software, and may provide specific functional and logical architecture, without departing from the spirit and the scope of the appended claims.

Claims

CLAIMS:
1. An interactive grid-based graphical trading system for use by any trader, where the system comprises a grid-based graphical interface, said graphical interface being adapted to establish connections with any backend system; wherein said interactive grid-based graphical trading system is adapted to receive and display market trading data received from said backend system; wherein said interactive grid-based graphical trading system includes first process means that function to send transaction instructions to said backend system, and to receive messages and market trading data from said backend system; and wherein said grid-based graphical interface includes second process means that function to receive and process said market trading data, and said messages; wherein said market trading data includes information chosen from the group of market trading data consisting of: order data of said trader, and quote data for any selected security or group of securities; wherein said interactive grid-based graphical trading system includes third process means that function to transform said market trading data into a graphical representation for display on a display device, wherein said graphical representation includes at least one grid having a plurality of cells arranged in a matrix chosen from the group consisting of: a plurality of rows and at least one column, and a plurality of columns and at least one row; wherein a row is an arrangement of horizontally adjacent cells with at least one common property, and a column is an arrangement of vertically adjacent cells with at least one common property, and wherein each cell within the said plurality of cells belongs to one row and one column; wherein at least one of said plurality of rows and said plurality of columns represents a range of prices, wherein said range of prices is associated with the trading price range of any given security; wherein any cell may be associated with said market trading data, and contains a graphical representation of said market trading data; wherein each cell is associated with a price or price range for which said market trading data exists, and the other of said at least one column and said at least one row is indicative of a specific criterion chosen from a plurality of criteria within which said market trading data may be categorized; and wherein said any trader can place, or modify, an order for a selected security or group of securities, over which that trader has discretion, by interacting with said grid-based graphical interface.
2. The interactive grid-based graphical trading system of claim 1 , wherein said trader engages in trading securities in real time.
3. The interactive grid-based graphical trading system of claim 1 or 2, wherein said interactive grid-based graphical trading system is available through a computer at each participating trader's site; wherein said market trading data includes information chosen from the group of market trading data consisting of: order data as to buy, sell, or other trading orders existing at that instant in time for any selected security or group of securities, quote data as to bid and ask prices, volume, market participant identifiers, and other parameters, existing at that instant in time for any selected security or group of securities; wherein said market trading data is transmitted to each said grid-based graphical interface at the site of any participating trader from said backend system of any market participant in computer-readable electronic format; and wherein said order or said quote is represented graphically in a cell.
4. The interactive grid-based graphical trading system of claim 1 or 2, wherein said communication channels include middleware used by any market participant.
5. The interactive grid-based graphical trading system of claim 1 or 2, wherein said communication channels include middleware used by any market participant; and wherein said middleware functions to translate data and instructions sent over any communication channel into a format that is understood by said grid-based graphical interface at any trader's location, or a respective backend system at any market participant's location.
6. The interactive grid-based graphical trading system of claim 1 or 2, wherein cells representing a selected quantity of buy orders at or near the bid price, and different cells representing a selected quantity of sell orders at or near the ask price, which represent market trading data being posted by a market participant for a selected security, are simultaneously displayed.
7. The interactive grid-based graphical trading system of claim 1 or 2, wherein a selected security for which said trading data is displayed at any instant in time may be changed to another selected security by any trader, at any instant in time; and wherein the trading data for any selected security being displayed at any instant in time by any trader is constantly updated having regard to new trading data being received by the grid-based graphical interface for that selected security.
8. " The interactive grid-based graphical trading system of claim 1 or 2, further including a display panel associated with said interactive grid-based graphical trading system at any trader's location, wherein said display panel contains GUI objects to represent any monetary value or security which is held in any trader's account; and wherein said interactive grid-based graphical trading system further include fourth process means that permits said monetary value or security associated with a respective GUI object to be separated into a plurality of GUI objects, representing in total said monetary value or security, as elected by said trader.
9. The interactive grid-based graphical trading system of claim 1 or 2, further including a display panel associated with said interactive grid-based graphical trading system at any trader's location, wherein said display panel contains GUI objects to represent any monetary value or security which is held in any trader's account; wherein said interactive grid-based graphical trading system further include fourth process means that permits said monetary value or security associated with a respective GUI object to be separated into a plurality of GUI objects, representing in total said monetary value or security, as elected by said trader; wherein the data displayed on said display panel on said display device at any trader's location includes text based quote data and related summary statistics for a selected security or group of securities at any instant in time; and wherein quote data and related summary statistics are text based, and include data chosen from the group consisting of: the exchange or market where the selected security is being traded, the current bid price, the current ask price, the current bid size, the current ask size, the last trade price, the size of the last transaction in terms of the number of units of the selected security traded, the change in the price of the last trade with respect to the closing price of the previous session, the volume in terms of the number of units of the selected security that had been traded during the current 061729
67
trading session, the high price of the session, the low price of the session, the opening price of the session, and combinations thereof.
10. The interactive grid-based graphical trading system of claim 1 or 2, wherein any trading order transaction is effected by dragging and dropping a GUI object which is representative of the specific transaction onto a valid cell of the grid-based graphical interface, whereby said first process means will issue a respective transaction instruction through a respective communication channel to a respective market participant.
1 1. The interactive grid-based graphical trading system of claim 1 or 2, wherein the range of price values which are displayed along said price axis, and the price value for a selected row or column, is determined for each selected security at any instant in time as a factor of one of the criteria chosen from the group consisting of; the closing price for that security during the prior session, the opening price for that security during the current session, the highest price paid for that security during the current session, the lowest price bid for that security during the current session, and the last price paid for that security, and combinations thereof.
12. The interactive grid-based graphical trading system of claim 1 or 2, wherein the criteria for said at least one column are chosen from the group consisting of: a market participant, a security, a component of an index, an index, aggregate trading data from a plurality of market participants, the trading activity of a market participant during the current session, the trading activity of a component of an index, the pending orders of the market participant at any instant in time, aggregate buy order and quote data from a plurality of market participants, aggregate sell order and quote data from a plurality of market participants, and combinations thereof.
13. ' The interactive grid-based graphical trading system of claim 1 or 2, further including software whose purpose is to review and weigh a trader's cash position and portfolio holdings, so as to make a recommendation on an order parameter for a trading order for a selected security, at any instant in time, where the recommendation is a function of an order parameter chosen from the group of order parameters consisting of: the bid price, the bid size, the ask price, the ask size, the last trade price, the volume or contracts traded over an interval of time, the volatility, the liquidity, and combinations thereof, for said selected security at any instant in time.
14. The interactive grid-based graphical trading system of claim 1 or 2, wherein an intended trading order or a trading order is represented on said at least one display panel by a GUI object, wherein said GUI object is selected and positioned over said at least one display panel, by a user of said graphical interface, using pointing and positioning means for pointing and positioning a GUI object on said graphical interface, and wherein the act of selecting and positioning said GUI object representing said trading order, over said at least one display panel, effects order placement or order modification instructions.
15. The interactive grid-based graphical trading system of claim 1 or 2, wherein said at least one grid is presented in at least two container objects each having a tab, said tabs enabling said trader to selectively order and view said container objects.
16. The interactive grid-based graphical trading system of claim 1 or 2, wherein said first, second and third process means are components, of a stand alone application.
17. The interactive grid-based graphical trading system of claim 1 or 2, wherein said first, second and third process means are components of a Web services application.
18. The interactive grid-based graphical trading system of claim 1 or 2, wherein said range of prices is directly related to the range of trading prices associated with a specific security and is partitioned into a plurality of segments; wherein each of said plurality of segments represents a numeric price, or a subset of said range of prices representative of the trading prices of said specific security; wherein every trading price associated with said specific security is represented in said range of prices by not more than one of said plurality of segments of said range of prices; wherein each of said plurality of segments is labeled with a nominal numeric value representative of the numeric price or subset of said range of prices associated with said segment; and wherein the difference between the nominal numeric prices associated with any two adjacent segments corresponds to said specific security's minimum price variance (MPV), or a multiple thereof.
19. The interactive grid-based graphical trading system of claim 1 or 2, wherein said range of prices is indirectly related to the range of trading prices associated with a specific security or group of securities; wherein said range of prices is partitioned into a plurality of segments; wherein each of said plurality of segments is associated with a numeric value; wherein a specific segment of said price axis is associated with a reference value; wherein said reference value is selected from the group consisting of: the previous closing price of the security, the bid price, the ask price, the last trade price, an index value, the average price, the high price, and the low price of said security's price or said index value over a selected period of time; wherein the numeric values associated with said plurality of segments distinct from said specific segment are determined based on the difference between a nominal numeric value associated with said reference value and a multiple of a specific increment value; wherein each of said plurality of segments is labeled with a nominal numeric value representative of said difference; and wherein the positions for plotting said GUI objects onto said drawing area are determined using a mathematical formula; wherein said mathematical formula is based on the difference between a price parameter of said specific security or group of securities, and said reference value; and wherein said price parameter is selected from the group consisting of: the last trade price, the limit order price, the stop order price, and combinations thereof.
20. The interactive grid-based graphical trading system of claim 1 or 2, further comprising: at least two input data, wherein said input data are chosen from the group consisting of: trading account data, securities data, preference data, risk data, and combinations thereof; and fourth process means to analyse said input data, and to output a recommendation as to the size or volume of an order, wherein said recommendation being a numeric value; wherein said fourth process means generates a recommended transaction object representative of said recommendation that can be dragged and dropped onto said grid to effect an order.
21. The interactive grid-based graphical trading system of claim 1 or 2, wherein said second process means functions to record said market trading data; 061729
71 and wherein said third process means transforms said market trading data into said graphical representation for display at a selected later time.
22. A software object providing a graphical representation of trading data originating from at least one data source, wherein said software object is executable by a computer, and comprises: first process means for establishing at least one connection with at least one data source; second process means for receiving trading data from said at least one data source; third process means for transforming said trading data into a form that is suitable for display by said software object; and fourth process means for displaying said trading data; wherein said at least one data source is selected from the group consisting of: securities exchanges, stock markets, currency markets, commodities exchanges, electronic communication networks (ECNs), brokerage firms, auction houses, data feed providers, market simulation software, trading data published on computer-readable media, and combinations thereof; wherein said trading data comprises data elements selected from the group consisting of: quote data, order data, and index data; wherein said data elements are associated with a specific security or a group of securities; wherein said data elements possess a price dimension representing the price of the security or the value of the index associated with said data elements; wherein the values associated with said price dimension are numeric price values or numeric index values; and wherein said data elements possess at least one additional dimension; wherein said software object further includes a visual manifestation displayed on a display means associated with said computer; wherein said visual manifestation includes a drawing area for rendering at least one graphical representation of said trading data; wherein said at least one graphical representation includes an axis associated with numeric price values which are associated wilh said price dimension, wherein said axis is rendered on said drawing area using at least one visual presentation style, and wherein said axis is a price axis; wherein said at least one graphical representation further includes graphical user interface (GUI) objects; wherein said GUI objects are selected from the group consisting of: icons, images, geometric shapes, and combinations thereof; wherein said GUI objects function to graphically represent order data and quote data received from said at least one data source; wherein said GUI objects are rendered on said drawing area by said at least one visual presentation style; wherein said at least one visual presentation style functions to graphically distinguish between different types of orders and quotes associated with said data elements; wherein said price axis defines one dimension of a coordinate system; wherein said coordinate system functions as a reference for plotting said GUI objects onto said drawing area; wherein said plotting comprises at least one process for determining the positions where said GUI objects are rendered on said drawing area; wherein said at least one process correlates the numeric price values of said price dimension with the numeric price values associated with said price axis; and wherein said positions are defined with respect to said one dimension of a coordinate system, and are determined for the purpose of plotting and rendering said GUI objects onto said drawing area.
23. The software object of claim 22, wherein said trading data is received essentially continuously; , _„„rt /061729
73 wherein said essentially continuous reception of trading data effects dynamic variations in the values of said price dimension and said at least one additional dimension associated with said data elements; and wherein said dynamic variations in the values of said price dimension, and said at least one additional dimension, is graphically represented by dynamically varying the positions and graphical properties of said GUI objects rendered on said drawing area.
24. The software object of claim 22 or 23, further comprising: fifth process means for receiving and interpreting input from a user of said software object, by means of at least one user interaction mode; wherein the graphical properties and settings of said at least one visual presentation style are selectively adj usted by a user of said software object, wherein said adjustment is accomplished by said user through at least one user interaction mode; and wherein said adjustment is facilitated by said fifth process means.
25. The software object of claim 22 or 23, further comprising: fifth process means for receiving and interpreting input from a user of said software object, by means of at least one user interaction mode; and sixth process means for generating and transmitting trading instructions, and receiving feedback data pertaining to the status of said trading instructions; wherein the graphical properties and settings of said at least one visual presentation style are selectively adj usted by a user of said software object, wherein said adjustment is accomplished by said user through at least one user interaction mode; and wherein said adjustment is facilitated by said fifth process means; wherein said fifth process means, and said sixth process means, together facilitate the graphical placement of trading orders, and the graphical amendment of trading orders; wherein said graphical placement and said graphical amendment of trading orders is performed by a user of said software object by interacting with said at least one graphical representation, wherein said interaction is subject to at least one rule; wherein said interaction is accomplished by means of at least one user interaction mode; wherein said GUI objects function to graphically represent trading orders initiated by a user of said software object; and wherein said graphical placement and graphical amendment of trading orders causes said software object to generate trading instructions, wherein said trading instructions are selected from the group consisting of: buy order instructions, sell order instructions, order cancellation instructions, and order amendment instructions; wherein said trading instructions are transmitted to at least one backend trading system capable of processing said trading instructions; wherein said at least one backend trading system is associated with at least one market participant; wherein said at least one market participant is selected from the group consisting of: securities exchanges, stock markets, currency markets, commodities exchanges, electronic communication networks (ECNs), brokerage firms, and auction houses; and wherein feedback data pertaining to the status of said trading orders is received and interpreted by said software object through said sixth process means.
26. The software object of claim 22 or 23, wherein said price axis is directly related to the range of trading prices associated with a specific security and is partitioned into a plurality of segments; wherein each of said plurality of segments represents a numeric price, or a range of numeric prices representative of the trading prices of said specific security; wherein every trading price associated with said specific security is represented in said price axis by not more than one segment along said price axis; wherein each of said plurality of segments is labeled with a nominal numeric value representative of the price or range of prices associated with said segment; and , _„„rt /061729
75 wherein the difference between the nominal numeric prices associated with any two adjacent segments corresponds lo said specific security's minimum price variance (MPV), or a multiple thereof.
27. The software object of claim 22 or 23, wherein said price axis is indirectly related to the range of trading prices associated with a specific security or group of securities; wherein said price axis is partitioned into a plurality of segments; wherein each of said plurality of segments is associated with a numeric value; wherein a specific segment of said price axis is associated with a reference value; wherein said reference value is selected from the group consisting of: the previous closing price of the security, the bid price, the ask price, the last trade price, an index value, the average price, the high price, and the low price of said security's price or said index value over a selected period of time; wherein the numeric values associated with said plurality of segments distinct from said specific segment are determined based on the difference between a nominal numeric value associated with said reference value and a multiple of a specific increment value; wherein each of said plurality of segments is labeled with a nominal numeric value representative of said difference; wherein the positions for plotting said GUI objects onto said drawing area are determined using a mathematical formula; wherein said mathematical formula is based on the difference between a price parameter of said specific security or group of securities, and said reference value; and wherein said price parameter is selected from the group consisting of: the last trade price, the limit order price, the stop order price, and combinations thereof.
28. The software object of claim 22 or 23, wherein any trading order is effected by dragging and dropping a GUI object which is representative of the specific trading order onto a valid position of said drawing area, whereby said first process means will issue a respective transaction instruction through a respective communication channel to a respective market participant.
29. The software object of claim 22 or 23, wherein said at least one graphical representation is presented in at least two container objects each having a tab, said tabs enabling said trader to selectively order and view said container objects.
30. The software object of claim 22 or 23, further comprising: at least two input data, wherein said input data is chosen from the group consisting of: trading account data, securities data, preference data, risk data, and combinations thereof; and fifth process means to analyse said input data, and to output a recommendation as to the size or volume of an order, wherein said recommendation being a numeric value; wherein said fifth process means generates a recommended transaction GUI object representative of said recommendation that can be dragged and dropped onto said graphical representation to effect an order.
31. The software object of claim 22 or 23, wherein said second process means functions to record said trading data; and wherein said third process means transforms said trading data into said graphical representation for display at a selected later time.
32. An interactive trading recommendation system for use by any trader who engages in trad ing securities through established security trading markets, in essentially real time, said system comprising: at least two input data, wherein said input data are chosen from the group consisting of: trading account data, securities data, preference data, risk data, and combinations thereof; and process means to analyse said input data, and to output a recommendation as to the size or volume of an order; wherein said recommendation is a numeric value.
PCT/CA2003/000001 2003-01-03 2003-01-03 Interactive real time grid-based graphical trading system WO2004061729A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
AU2003201229A AU2003201229A1 (en) 2003-01-03 2003-01-03 Interactive real time grid-based graphical trading system
GB0516002A GB2412991A (en) 2003-01-03 2003-01-03 Interactive real time grid-based graphical trading system
PCT/CA2003/000001 WO2004061729A2 (en) 2003-01-03 2003-01-03 Interactive real time grid-based graphical trading system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CA2003/000001 WO2004061729A2 (en) 2003-01-03 2003-01-03 Interactive real time grid-based graphical trading system

Publications (1)

Publication Number Publication Date
WO2004061729A2 true WO2004061729A2 (en) 2004-07-22

Family

ID=32686695

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CA2003/000001 WO2004061729A2 (en) 2003-01-03 2003-01-03 Interactive real time grid-based graphical trading system

Country Status (3)

Country Link
AU (1) AU2003201229A1 (en)
GB (1) GB2412991A (en)
WO (1) WO2004061729A2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006041918A2 (en) * 2004-10-07 2006-04-20 Ameritrade Ip Company, Inc. Market motion detector
GB2419971A (en) * 2004-10-26 2006-05-10 Patsystems Electronic system for trading commodities
EP1752926A1 (en) * 2005-08-10 2007-02-14 Greenline Financial Technologies, Inc. Method and apparatus for electronic trading of financial instruments
US7908204B2 (en) 2006-04-25 2011-03-15 Yuri Boglaev Market speedometer
US11778167B1 (en) 2022-07-26 2023-10-03 Insight Direct Usa, Inc. Method and system for preprocessing optimization of streaming video data
US11849240B2 (en) 2021-12-29 2023-12-19 Insight Direct Usa, Inc. Dynamically configured processing of a region of interest dependent upon published video data selected by a runtime configuration file
US11961273B2 (en) 2021-12-29 2024-04-16 Insight Direct Usa, Inc. Dynamically configured extraction, preprocessing, and publishing of a region of interest that is a subset of streaming video data

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7567927B2 (en) 2004-10-07 2009-07-28 Ameritrade IP Company Inc. Market motion detector
WO2006041918A2 (en) * 2004-10-07 2006-04-20 Ameritrade Ip Company, Inc. Market motion detector
WO2006041918A3 (en) * 2004-10-07 2007-03-01 Ameritrade Ip Company Inc Market motion detector
GB2419971A (en) * 2004-10-26 2006-05-10 Patsystems Electronic system for trading commodities
US7624066B2 (en) 2005-08-10 2009-11-24 Tradehelm, Inc. Method and apparatus for electronic trading of financial instruments
AU2006201985B2 (en) * 2005-08-10 2009-03-12 Tradehelm, Inc. Method and apparatus for electronic trading of financial instruments
EP1752926A1 (en) * 2005-08-10 2007-02-14 Greenline Financial Technologies, Inc. Method and apparatus for electronic trading of financial instruments
US7702571B2 (en) 2005-08-10 2010-04-20 Tradehelm, Inc. Method for displaying information for use in electronic trading of financial instruments
US7908204B2 (en) 2006-04-25 2011-03-15 Yuri Boglaev Market speedometer
US11849240B2 (en) 2021-12-29 2023-12-19 Insight Direct Usa, Inc. Dynamically configured processing of a region of interest dependent upon published video data selected by a runtime configuration file
US11849241B2 (en) 2021-12-29 2023-12-19 Insight Direct Usa, Inc. Dynamically configured processing of a region of interest dependent upon published video data selected by a runtime configuration file
US11849242B2 (en) 2021-12-29 2023-12-19 Insight Direct Usa, Inc. Dynamically configured processing of a region of interest dependent upon published video data selected by a runtime configuration file
US11961273B2 (en) 2021-12-29 2024-04-16 Insight Direct Usa, Inc. Dynamically configured extraction, preprocessing, and publishing of a region of interest that is a subset of streaming video data
US11778167B1 (en) 2022-07-26 2023-10-03 Insight Direct Usa, Inc. Method and system for preprocessing optimization of streaming video data

Also Published As

Publication number Publication date
AU2003201229A1 (en) 2004-07-29
GB0516002D0 (en) 2005-09-07
GB2412991A (en) 2005-10-12

Similar Documents

Publication Publication Date Title
US20200364789A1 (en) Interactive grid-based graphical trading system for real time security trading
US20030004853A1 (en) Graphical front end system for real time security trading
US20210264506A1 (en) Method of buying or selling items and a user interface to facilitate the same
US20230196465A1 (en) System and Method for a Trading Interface Incorporating a Chart
US7580881B2 (en) System and method for a trading interface incorporating a chart
US20060080215A1 (en) Method and system for electronic trading including transactional history
US20100274706A1 (en) System and Method for Displaying Order Information in Relation to a Derivative of Price
WO2004061729A2 (en) Interactive real time grid-based graphical trading system
US20150012404A1 (en) Displaying Market Data in Multiple Formats

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SK SL TJ TM TN TR TT TZ UA UG UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase in:

Ref document number: 0516002

Country of ref document: GB

Kind code of ref document: A

Free format text: PCT FILING DATE = 20030103

WWE Wipo information: entry into national phase

Ref document number: 0516002.3

Country of ref document: GB

Ref document number: 3458/DELNP/2005

Country of ref document: IN

Ref document number: 2003201229

Country of ref document: AU

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase in:

Ref country code: JP

WWW Wipo information: withdrawn in national office

Ref document number: JP