GB2420197A - A trading system - Google Patents

A trading system Download PDF

Info

Publication number
GB2420197A
GB2420197A GB0517177A GB0517177A GB2420197A GB 2420197 A GB2420197 A GB 2420197A GB 0517177 A GB0517177 A GB 0517177A GB 0517177 A GB0517177 A GB 0517177A GB 2420197 A GB2420197 A GB 2420197A
Authority
GB
United Kingdom
Prior art keywords
display
price
market
data
movable
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
GB0517177A
Other versions
GB0517177D0 (en
Inventor
John Tierney
David Shaw
Paul Dennis Cozens
Robert Bruce Mackenzie
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FFASTFILL PLC
Original Assignee
FFASTFILL PLC
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
Priority claimed from GB0424850A external-priority patent/GB0424850D0/en
Priority claimed from GB0515201A external-priority patent/GB0515201D0/en
Application filed by FFASTFILL PLC filed Critical FFASTFILL PLC
Publication of GB0517177D0 publication Critical patent/GB0517177D0/en
Priority to PCT/GB2005/004326 priority Critical patent/WO2006051293A1/en
Priority to EP05801605A priority patent/EP1825326A1/en
Publication of GB2420197A publication Critical patent/GB2420197A/en
Withdrawn legal-status Critical Current

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
    • G06F17/60
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/08Auctions

Landscapes

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

Abstract

A method of processing market data relating to trading on an electronic trading exchange comprises the steps of dynamically generating, in response to market data received from an interface connected to the exchange, a market information display comprising a plurality of entries relating to process levels on a price axis and moving the entries on the display in response to changes in the market data, allowing a user to select an entry by positioning a pointer over a selection area associated with the entry using an input device, in response to selection of an entry generating a display element 5000 comprising information relating to the entry, the display element being superimposed on the display at the location of the pointer; and in response to a further user input received while the pointer is positioned over the display element, performing a trading operation in relation to the selected entry. In further aspects the invention includes a trading exchange in which: selected data elements can be frozen, the display location of trading information can be changed, a trading operation is initiated in relation to a given entry if a further user input is received within a predetermined time period after movement of the given entry, the display can be scrolled, the size of a display segment associated with a selected entry is increased.

Description

TRADING SYSTEM
The invention relates to the processing of data, and in particular to the processing of movable elements, particularly movable data elements, which can move about a display screen, and which can be selected and unselected.
Such movable selectable elements are found in many systems and applications, but are of particular importance in financial and commodity market related systems and applications, and in particular in trading systems.
The invention relates in particular to lists of data elements which can move, by moving across, for instance, a display screen and br changing order.
1 5 The invention relates in particular to trading systems. The invention finds particular, but not exclusive, application in electronic trading systems. Particularly preferred examples of the invention relate to methods and apparatus for trading commodities, including grain, oil, coffee, or financial instruments and the like. Financial instruments can include currencies, bonds, stocks and shares, or derivatives based on such commodities or financial quantities, including futures, options, swaps, swaptions and more exotic derivatives.
Commodities may be traded by buying and selling contracts, embodied in standard legal agreements, between buyers and sellers concerning an underlying commodity.
Such contracts have traditionally been traded on exchanges which have existed as physical places where buyers and sellers and brokers gathered to trade. A popular system employed for trading at physical exchanges is referred to as the "open-outcry" method auction trading, where, for example, buyers and sellers gather around the outside of a pit or within a pit, and verbally and/or using pre-determined hand signals, agree contracts.
Over time, and with the growth of computerised information systems and communication technology, certain elements of open-outcry trading systems began to migrate to computer-based systems, resulting in new challenges, for example in communicating trading market information and executing trades.
For example, the advent of completely electronic exchanges providing live market information prompted the development of front-end trading systems for communicating more or less directly with electronic exchanges.
Using electronic exchanges, orders could be sent and filled electronically in shorter time intervals and in potentially greater numbers than previously possible in the open- outcry exchange, which depended on a slower manual system for recorded trades and prices. Also, the number of traders and brokers participating in an "electronic pit" could be far greater than previously possible in the open outcry model. Therefore, the existence of faster-placed orders and more traders connected to a single exchange created, in some markets, a more volatile market, where the best buying and selling prices changed more frequently.
One problem created by the above developments is that a market could now move adversely against a trader's intended result within the interval of time required for the trader to select, prepare, and send an electronic trade order to the exchange.
It is an aim of certain embodiments of the present invention to alleviate this and/or related problems and to improve the speed and accuracy of preparing and sending trade orders to an electronic exchange, resulting in an increase in probability of the trader obtaining a desired trading result when trading in a given market.
More generally, any system which provides movable elements, particularly movable data elements, which can move about a display screen presents the problem that a movable clement may move as a user is about to perform an operation on the element, or in relation to the element. This can cause the operation to fail, or to be carried out on an element other than the one intended, or can cause delay in performing the operation.
Problems may be particularly acute in systems where movable elements are moving rapidly or often, and in systems where many movable elements are provided. As well as financial and commodity market related systems and applications, in particular in trading systems, such systems can include:auction systems, for instance internet auction systems; computer games, including gambling games and arcade style games; transport management systems, including air traffic control systems, traffic flow systems, and rail management systems; and industrial process control systems, for instance used on production lines, or in oil and chemical processing plants.
Accordingly, in one aspect of the invention, there is provided a method of processing market data relating to trading on an electronic trading exchange, the method comprising the steps of: dynamically generating, in response to market data received from an interface connected to the exchange, a market information display comprising a plurality of entries relating to price levels on a price axis and moving the entries on the display in response to changes in the market data; allowing a user to select an entry by positioning a pointer over a selection area associated with the entry using an input device, in response to selection of an entry, generating a display element comprising information relating to the entry, the display element being superimposed on the display at the location of the pointer; and in response to a further user input received while the pointer is positioned over the display element, performing a trading operation in relation to the selected entry.
In this way, a user can more reliably perform trade operations in relation to a given entry. A trade operation is typically a trade order such as an order to buy, sell, bid or offer. An entry preferably comprises a data value or collection of data values (though it may alternatively or additionally comprise a label or other fixed information) , and may be in the form of a cell or group of cells in a table or grid, or in the form of a row or column or part of a row or column. For example, an entry may be (a cell containing) a bid or ask price relating to a price level or may be a row or column containing a price level and a bid or ask price. The term price level may refer to a price or to a price range. The term price axis generally refers to a price axis in an abstract or conceptual sense, and is not necessarily intended to refer to a visual representation of an axis, though the price axis may be visually represented. Often, a series of price levels are displayed which represent the price axis.
The term pointer preferably refers to any selection element which is moveable on a screen or display, usually in response to user input, in order to select, highlight or otherwise manipulate an entry or other element on the display. The pointer may be a mouse cursor. The display element may, for example, be a box, window, graphical overlay or any other graphical element suitable for conveying the relevant information. The display element is preferably superimposed on the display at the location of the pointer; here, "at the location of the pointer" preferably means that the pointer and the display element are adjacent or overlap, typically in such a way that the pointer points to the display element such that further user action (e.g. a mouse click) without movement of the pointer will be in respect of the display element.
Thus, while the display element is superimposed on the display, the pointer preferably remains superimposed on the display and, where overlapping, the display element.
The term "the pointer is positioned over the display element" shall be construed accordingly.
This and other aspects are set out herein in the context of electronic trading. However, while preferred embodiments relate to that context, the various aspects of the invention are not limited to that context. Thus, the aspects need not relate to market data received from an electronic trading exchange but can be applied to other forms of data in other application domains. Accordingly, the data need not be received from an exchange or an interface connected to an exchange. The information displayed need not relate to price levels on a price axis, and need not be in the form of a market information display. Other data may be displayed and manipulated, and instead of trading operations, the aspects may be applied to other forms of operations relevant to the application domain. Instead of the inside market, some other point or region of interest may be used. Thus, in summary, all aspects of the invention set out herein and claimed in the appended claims are not limited to the electronic trading domain and can be applied to any information processing domain where information can usefully be presented and manipulated in ways similar to those described herein. Some examples of other domains and systems to which the aspects can be applied have already been given above.
The method preferably comprises removing the display element relating to the entry from the display if the user moves the pointer away from the display element and/or away from the selection area of the selected entry, and preferably further comprises changing or replacing the display element to display information relating to another entry if the user moves the pointer to a selection area associated with the other entry.
Preferably, the method comprises keeping the display element static and continuing to display information relating to the selected entry in the display element when the selected entry moves away from the pointer.
In this way, a user can more reliably perform trade operations in relation to a given entry without having to constantly re-position the pointer as the entry moves, and certain user errors (for example performing a trade operation in relation to the wrong entry due to unexpected movement of entries) can be prevented.
The display element is preferably visually distinct from the market information display. The display element is preferably displayed at a location determined in dependence on either or both of the location of the pointer and the location of the selected entry. The display element may, for example, be aligned with at least one boundary of the selected entry, or may be aligned with the pointer.
The display element is preferably displayed at a location determined such that the pointer points to the display element. At least a portion of the display element maybe displayed with a translucent or transparent effect, such that information displayed in the market information display behind the portion remains at least partially visible.
This can prevent other information being obscured by the display element or changes of information being missed by the user.
For the same reason, the information is preferably displayed at a location within the display element such that the information does not overlap information displayed in the market information display behind the display element.
The input device may be a pointing device having movement input means for positioning the pointer and further input means for providing the further user input.
The further input means may be a button, the further user input being a button click.
The method prcferably comprises updating the information displayed in the display element in response to a change in the market data. This can ensure that the user sees up-to-date information when looking at the display element.
The selected entry is preferably associated with a given price level, the display clement displaying the price level. Alternatively or in addition, the selected entry may comprise a bid or offer (ask) volume or current working order volume associated with a given price level, the display element displaying the bid or offer (ask) volume or current working order volume. Preferably, the method comprises updating the bid or offer volume or current working order volume displayed in the display element in response to a change in the market data or user action (as an example of the latter, user action to increase or decrease an order volume may change the current working order volume). Offer volumes can also be referred to as ask volumes. Current working order volumes relate to any orders placed by the user at a given price level and are usually displayed in a Work' column in the display as described in more detail later.
In a further aspect of the invention, there is provided a method of processing market data relating to trading on an electronic trading exchange, the method comprising the steps of: dynamically generating, in response to market data received from an interface connected to the exchange, market display data comprising movable data elements for display on a display means; allowing a user to select and de-select, using a user input device, a movable data element; and whilst a movable data element is selected, displaying a frozen element including data relating to the selected movable data element such that at least one un- selected movable data element remains movable.
In a further aspect, the invention provides a method of processing market data relating to trading on an electronic trading exchange having an inside market defined by at least one price level, the method comprising the steps of: dynamically generating, in response to market data received from an interface connected to the exchange, a market information display comprising trading information relating to a plurality of price levels which define a price axis, including a first price level displayed at a first display location and a second price level displayed at a second display location, the first price level corresponding to the inside market; and in response to the inside market changing from the first price level to the second price level, adjusting the display of the trading information to move the price axis so that the second price level corresponding to the changed inside market is displayed at a third display location intermediate the first and second display locations. This adjustment preferably occurs in a single step, i.e. in the form of a sudden jump.
The third display location may be a specified distance from the first or second display location, the specified distance being determined either as a fixed distance (e.g. as a part, whole, or (possibly fractional) multiple of a row height or column width where the information is displayed in rows or columns, or as a number of pixels) or as a proportion of the distance between the first and second display locations (e.g. calculated in rows or columns, or pixels).
The method preferably further comprises scrolling the market information display to move the second price level corresponding to the changed inside market from the third display location to a selected display location, preferably to the first display location, or to a predetermined display location or a central display location.
The method preferably further comprises including in the display a visual indication of the inside market. The method preferably further comprises moving the indication in response to the change in the inside market. Preferably, the scrolling step also scrolls the visual indication. Including a visual indication may comprise highlighting information relating to the price level corresponding to the inside market.
Preferably, the trading information relating to the plurality of price levels is displayed in a plurality of adjacent display sections, the first and second price levels being displayed in adjacent display sections at the first and second display locations respectively, the third display location lying between and overlapping the first and second display locations.
Preferably, the trading information relating to the plurality of price levels is displayed in a plurality of adjacent display sections, and adjusting the display of the trading information to move the price axis comprises moving the adjacent display sections by a distance of a fraction of the size of a display section.
The method preferably further comprises scrolling the plurality of adjacent display sections to move the second price level corresponding to the changed inside market from the third display location to the first display location. The display sections may be rows or columns, preferably of a table or grid.
The inside market may be defined by at least one of a highest bid price and a lowest ask price.
In a further aspect of the invention, there is provided a method of processing market data relating to trading on an electronic trading exchange, the method comprising the steps of: dynamically generating, in response to market data received from an interface connected to the exchange, a market information display comprising a plurality of entries relating to price levels on a price axis and moving the entries on the display in response to changes in the market data; allowing a user to select a given entry by positioning a pointer over a selection area associated with the given entry using an input device; and where the given entry has moved after selection so that the pointer is no longer positioned over the selection area and a further user input is received to initiate a trading operation, initiating a trading operation in relation to the given entry if the further user input is received within a predetermined time period after movement of the given entry, and preferably initiating a trading operation in relation to another entry or not initiating a trading operation if the further user input is not received within the predetermined time period.
This can help prevent errors occurring due to the user's delayed reaction time where entries move on the display. Where the further user input is received more than the predetermined time period after movement of the given entry and at a time when the pointer is positioned over a selection area associated with another entry, the method preferably comprises initiating a trading operation in relation to the other entry.
In a further aspect of the invention, there is provided a method of processing market data relating to trading on an electronic trading exchange, the method comprising the steps of: dynamically generating, in response to market data received from an interface connected to the exchange, a market information display comprising a representation of a price axis having a plurality of price levels and trading information associated with the price levels, the generating step comprising: identifying a point or region of interest on the price axis; and generating the market information display with the identified point or region positioned in a predetermined region of the display; and, in response to changes in the market data resulting in a change of the point or region of interest: updating the display to reflect the changes in the market data, and scrolling the display so as to move the changed point or region of interest to the predetermined region.
In this way, the point or region of interest can always be displayed in the predetermined region so that the user can more easily access information relating to the point or region, without having to search for it on the display.
The updating step is preferably substantially instantaneous or sudden, at least when compared to the scrolling step. The scrolling step preferably scrolls the display at a speed selected in dependence on one or more predetermined criteria. The one or more predetermined criteria may include one or more of: the distance by which the display is to be scrolled, trading activity at the exchange, the rate of trading activity at the exchange, the rate or frequency of change of the point or region of interest, the distance of movement of the point or region of interest on the price axis, a cumulative or average indicator relating to trading activity on the exchange or to the movement or - 10- distance of movement of the point or region of interest on the price axis, the market data, and changes in the market data.
The scrolling step preferably varies the scrolling speed during scrolling, preferably by reducing the scrolling speed as the point or region of interest approaches the predetermined region.
The method preferably further comprises including in the market information display a visual indication of the point or region of interest and moving the visual indication to a new position in the display when the point or region of interest changes; and the scrolling step preferably scrolls the representation of the price axis, associated trading information and the visual indication. The visual indication may comprise a highlighting of a cell, column or row in the display at the point or region of interest.
The point or region of interest may relate to a best bid or ask price or inside market.
For easy access by the user, the predetermined region is preferably a substantially central region of the screen, display or window.
The method may comprise commencing scrolling of the display before updating the display or commencing scrolling of the display after updating the display to achieve a desired visual effect.
In a further aspect of the invention, there is provided a method of controlling a user interface for a trading application, the user interface receiving market data from an electronic trading exchange and comprising a market depth display displaying trading information based on the market data and including a plurality of entries relating to price levels forming a price axis, the entries being moveable on the display in response to changes in the market data; the user interface further comprising a pointer positionable within the display using a user input device, the method comprising: allowing a user to select an entry by positioning the pointer within a selection area associated with the entry; in response to selection of a given entry, superimposing on the market depth display a display segment displaying information relating to the -Il- given entry, the superimposed display segment being static whilst the plurality of entries including the given entry remain moveable behind the static superimposed display segment; in response to movcment input for movement of the pointer by the user after selection of the given entry and display of the static superimposed display segment, determining a location on the display to which to move the pointer in dependence on the movement input and in dependence on the location on the display of the given entry, and moving, by the user interface, the pointer to the determined location.
This can enable quicker navigation around a fast-moving market depth display.
The static superimposed display segment is preferably displayed at the location of the given entry. The method preferably comprises, in response to movement input by the user to move the pointer within the static superimposed display segment, moving, by the user interface, the pointer to a corresponding location in the given entry, and preferably comprises, in response to movement input by the user to move the pointer in a given direction to a location outside the static superimposed display segment, moving, by the user interface, the pointer to an entry adjacent the given entry in the given direction. The method may further comprise removing the static superimposed display segment from the display after movement of the pointer by the user interface.
In a further aspect of the invention, there is provided a method of controlling a user interface for a trading application, the user interface receiving market data from an electronic trading exchange and comprising a market depth display displaying trading information based on the market data and including a plurality of entries relating to price levels forming a price axis, the entries being moveable on the display in response to changes in the market data; the user interface further comprising a pointer positionable within the display using a user input device, the method comprising: allowing a user to select an entry by positioning the pointer within a selection area associated with the entry; in response to selection of a given entry, superimposing on the market depth display a display segment displaying information relating to the given entry, the superimposed display segment at least initially remaining static whilst the plurality of entries including the given entry remain moveable behind the static - 12 - superimposed display segment in response to changes in the market data; and where the given entry has moved on the display and a predetermined time period has elapsed since movement without user input being received in relation to the given entry or the superimposed display segment, moving the superimposed display segment on the display towards the location of the moved given entry.
The method preferably comprises continuing the movement until the superimposed display segment is displayed at the location of the moved given entry or until interrupted by user action. In this way, the superimposed display segment (which corresponds to the "frozen row" of certain embodiments described later) can be returned to its correct position after a while, the user thereby being provided with an up-todate display, whilst maintaining the benefit of temporarily "freezing" relevant information. The pointer may be moved (by the user interface) to follow the superimposed display segment as it returns to the correct position (the location of the moved given entry) in the same way as is described in relation to the tracking mechanism below.
In a further aspect, the invention provides a method of processing market data relating to trading on an electronic trading exchange, the method comprising the steps of: dynamically generating, in response to market data received from an interface connected to the exchange, a market information display comprising a plurality of entries relating to price levels on a price axis and moving the entries on the display in response to changes in the market data; allowing a user to select an entry by positioning a pointer over a selection area associated with the entry using an input device; in response to selection of an entry, displaying information relating to the entry in a display area separate from the market information display and/or the plurality of entries, and visually linking the separate display area to the selected entry.
The method preferably further comprises, in response to a further user input received while the entry is selected and the information is displayed in the separate display area, performing a trading operation in relation to the selected entry. - 13-
In this way, the user can see more clearly which entry is selected, and hence in respect of which entry a trade order may be issued without distraction from movement in the market information display. Preferably, the method further comprises, if the selected entry moves on the display, updating the visual link so that the separate display area remains visually linked to the selected entry. For clarity, visually linking the separate display area to the selected entry may comprise drawing a line or lines connecting the separate display area and the selected entry.
In a further aspect of the invention, there is provided a method of processing market data relating to trading on an electronic trading exchange, the method comprising the steps of: dynamically generating, in response to market data received from an interface connected to the exchange, a market information display comprising a plurality of entries relating to price levels on a price axis, each entry being displayed in an associated display segment; allowing a user to select an entry by positioning a 1 5 pointer over a selection area associated with the entry using an input device; and moving entries including a selected entry on the display in response to changes in the market data by moving the associated display segments; and wherein moving a selected entry on the display comprises increasing the size of the display segment associated with the selected entry.
in a further aspect of the invention, there is provided a method of processing market data relating to trading on an electronic tradingexchange having an inside market defined by at least one price level, the method comprising the steps of: dynamically generating, in response to market data received from an interface connected to the exchange, a market information display comprising trading information relating to a plurality of price levels which define a price axis, including a first price level displayed at a first display location and a second price level displayed at a second display location, the first price level corresponding to the inside market; and in response to the inside market changing in one direction from the first price level to the second price level, moving the price axis on the display in the opposite direction so as to move the second price level corresponding to the changed inside market beyond the first display location to a third display location.
This can help convey market changes to the user, especially in relation to successive changes of the inside market in the same direction, as is discussed later. Moving the price axis on the display preferably comprises scrolling the display. Moving the price axis on the display may comprise adjusting the display (preferably in a single step) so that the second price level corresponding to the changed inside market is displayed at a fourth display location intermediate the first and second display locations, and scrolling the display to move the second price level from the fourth display location beyond the first display location to the third display location. The scrolling step preferably scrolls the display by a distance corresponding to the distance between the first and second display locations. The plurality of price levels are preferably displayed in adjacent display segments (e.g. columns or rows), the distance between the first display location and the third display location being less than the size (e.g. column width or row height) of one display segment. In this way, each movement of the inside market causes a small but (especially cumulatively) perceptible shift in the display location of the inside market, which can help convey market trends.
The invention further provides apparatus for performing any of the methods set out herein, including those of the various method aspects set out above or below. Some apparatus aspects are set out in the appended claims.
In a further aspect of the invention there is provided a method of processing data, comprising generating display data comprising at least one movable element, the or each movable element being selectable and deselectable by positioning a selection element relative to that movable element, the selection element being movable using a user input device; monitoring whether the or each movable element is in a selected state or in a not selected state; and when a movable element is in a selected state, maintaining the relative position of the selection element and the selected movable element in such a way as to maintain the selected movable element in the selected state.
Thus, a user may reliably select a desired movable element, and in particular may reliably select a desired movable element even in the situation where a plurality of movable elements (which may form a list) are moving (either moving around a - 15 - display or changing order on the display). This is particularly advantageous in the situation where the user wishes subsequently to carry out an operation on a desired movable element. The movement of the movable elements may be continuous or discontinuous.
There is also provided a method of processing data, comprising generating display data comprising at least one movable element, the or each movable element being selectable and deselectable by positioning a selection element relative to that movable element, the selection element being movable using a user input device; monitoring whether the or each movable element is in a selected state or in a not selected state; and when a movable element is in a selected state, maintaining the selected movable element in the selected state despite movement of the selected movable element.
There is also provided a method of processing data, comprising generating display data comprising at least one movable element, the or each movable element being selectable and deselectable by positioning a selection element relative to that movable element; monitoring whether the or each movable element is in a selected state or in a not selected state; and when a movable element is in a selected state, moving the selection element in dependence upon movement of the selected movable element, preferably so that the selection element remains in the same position relative to the selected movable element andlor is moved to a desired position relative to the selected movable element.
A movable element is an element which can move either relative to a display, or relative to a portion of a display or relative to other elements or features. The term "move" includes "change".
As used herein, "select" or "selecting" and the like preferably connote either merely hovering over an element using a moveable indicator or selection element or (less usually) clicking on the element.
The various aspects of the method that are described herein include aspects which are directed to the freezing of a selectable movable data element and aspects which are directed to the movement of the selection element in dependence upon movement of a selected movable element.
By freezing of a moveahie element is meant maintaining the element in the same position relative to the display, for instance a window or screen, on which it is displayed. Data displayed within or associated with the moveable element may also be frozen, meaning that the displayed data remains the same, for instance having the same value, despite changes in the underlying (or source) data from which the displayed data is derived. Alternatively, the position of the moveable element may be maintained, but data displayed within or associated with the moveable element is updated in response to changes in the underlying (or source) data from which the displayed data is derived. Thus, "freeze" may mean freezing both position and content of the moveable element, or freezing position only.
Preferably, when the movable element is in the selected state a further operation may be carried out using the or a user input device without the selection element being moved relative to the movable element.
The user input device may be a mouse and the selection element may be a mouse cursor, for instance a mouse pointer, and the further operation may be carried out by clicking on the mouse, and preferably the further operation is a trading operation.
Preferably the or each movable element remains movable whilst in the selected state.
Preferably the or each movable element is not frozen whilst in the selected state.
Preferably the step of maintaining the relative position of the selection element and the selected movable element in such a way as to maintain the selected movable element in the selected state comprises moving the selection element in dependence upon movement of the selected movable element and separate from andlor in addition to any movement of the selection element using the user input device.
That feature of the invention is particularly important, and so in a further aspect there is provided a method of processing data, comprising generating display data comprising at least one movable element, the at least one movable element being selectable and deselectable using a selection element movable using a user input device, monitoring whether the at least one movable element is in a selected state or in a not selected state, and, when a movable element is in the selected state, moving the selection element in dependence upon movement of the selected movable element and separate from andlor in addition to any movement of the selection element using the user input device.
Preferably, the selection element is moved in dependence upon movement of the selected movable element until the selected movable element is deselected, and preferably until the selected element is deselected by operation of the or a user input device.
The step of maintaining the relative position of the selection element and the selected movable element in such a way as to maintain the selected movable element in the selected state may comprise maintaining the selected movable element in a stationary position.
Preferably the step of maintaining the selected movable element in a stationary position comprises freezing the selected movable element.
That feature is also particularly important, and so in a further aspect there is provided a method of processing data, comprising generating display data comprising movable elements; allowing a user to select and de-select, using a user input device, a movable element; and freezing the selected movable data element whilst it is selected such that at least one movable data element which is not selected remains movable.
Preferably, the or each movable element is adapted to remain in a selected state for a fixed period of time after being selected, and to become not selected at the expiry of the fixed period of time.
The user input device may be a mouse and the selection element may be a mouse cursor, for instance a mouse pointer.
Preferably, the or each movable element is adapted to move in a step-wise manner.
The or each movable element may be a movable data element. The or each movable element may be movable along an axis, preferably a price axis, and preferably the display data comprises a plurality of movable elements.
Preferably the method further comprises generating at least one display feature, the or each display feature being associated with a respective one of the movable elements and being such as to visually distinguish the respective one of the movable elements from other of the movable elements.
That feature is also important, and so in a further aspect there is provided a method of processing data, comprising generating display data comprising a plurality of data elements arranged along an axis, and movable along the axis; and generating at least one display feature, the or each display feature being associated with a respective one of the movable data elements and being such as to visually distinguish the respective one of the movable data elements from other of the movable data elements.
Preferably the or each display feature is associated with a selected movable element.
The or each display feature may be associated with the selection element.
The display feature may appear when a movable element is selected, remain whilst the movable element is selected, and disappear (or become associated with another movable element) when the movable element becomes deselected. The display feature may vary (for instance vary in colour) with time from the movable element being selected and/or with trading activity or other market activity.
That feature is also important, and so in a further aspect there is provided a method of processing data, comprising:- generating display data comprising at least one movable element, the or each movable element being selectable and deselectable using a selection element; the selection element being movable using a user input device; and monitoring whether the or each movable element is in a selected state or in a not selected state; and preferably generating at least one display feature, the or each display feature being associated with the selection element and being dependent on at least one of:- trading activity, market activity; movement of a movable element; whether or not one or more movable elements are in selected state; position of the selection element. The display feature may comprise at least one of colour of the selection element, size of the selection element, shape of the selection element, and shading of the selection element.
Preferably, the step of generating at least one display feature comprises generating a plurality of display features each associated with a respective one of the plurality of movable elements and each being such as to visually distinguish the respective one of the plurality of movable elements from other of the movable elements.
The plurality of display features may be spaced apart along the or an axis, and preferably are evenly spaced apart along the or an axis. Preferably the spacing of the plurality of display features is set by a user. Alternatively or additionally the spacing of the plurality of display features may be set in dependence upon the size of the area of the display in which the display features are displayed. The spacing may vary automatically if that area changes.
The plurality of display features may change an aspect of their appearance, for instance colour, in dependence upon trading activity or other market activity, for instance by the user or by another market participant, and in particular in dependence upon the last trading activity or other market activity.
The or each display feature may be adapted to move along the or an axis in dependence upon the movement of the respective associated movable element along the or an axis.
Preferably, the display data comprises a plurality of movable elements and the method further comprises choosing one of the plurality of movable elements and generating at least one display feature, the or each display feature being associated with the chosen - 20 - movable data element and being generated in dependence upon a trading action relating to the chosen movable data element.
Again, that feature is important, and in a further aspect there is provided a method of processing market data relating to trading on an electronic exchange, comprising generating display data comprising a plurality of movable data elements; choosing one of the plurality of movable data elements; and generating at least one display feature, the or each display feature being associated with the chosen movable data element and being generated in dependence upon a trading action relating to the chosen movable data element.
Preferably, the step of choosing one of the plurality of movable data elements comprises choosing a or the movable data element associated with a particular trading action. That particular trading action may be the last trading action to take place.
Preferably the or each display feature is generated in dependence upon the type of the trading action, and preferably the colour of the display feature varies with the type of the trading action.
The display feature may vary in dependence upon the time since it was generated andlor in dependence upon time since the or a trading action took place.
Preferably the or each display feature comprises the colour of a respective region of the screen. The or each display feature may comprise the colour of a portion of the respective associated movable element, and may comprise the colour of all of the respective associated movable element.
Preferably, the or each respective region of the screen comprises a row arranged perpendicular to the or an axis.
Preferably, the appearance of the or each display feature is set by a user, and preferably the colour of the or each display feature is set by a user. -21 -
The step of generating at least one display feature may comprise generating a plurality of display features, and the method may further comprise monitoring whether two or more display features overlap and applying at least one rule to determine the appearance of the two or more display features if they overlap. Preferably the at least one rule is set by a user.
Preferably the or each movable element comprises a respective at least one cell in an array of cells. More particularly, the or each movable element may comprise a respective row (or column) of cells, or portion of a row (or column) of cells, in an array of cells.
References to rows and columns herein may be used interchangeably, depending on the orientation of the rows and columns. So references to a row may be substituted by references to a column, with corresponding references to a column being substituted by references to a row.
The data may be market data, preferably relating to trading on an electronic exchange.
In addition or alternatively, the display data may be market display data.
Preferably, the step of generating the market display data comprises dynamically generating the market display data, in response to market data received from an interface connected to an electronic trading exchange.
The display data may be for display on a display means, and preferably the or each movable element is displayed on a display means.
In a further aspect of the invention there is provided a method of processing market data relating to trading on an electronic trading exchange, the method comprising the steps of: dynamically generating, in response to market data received from an interface connected to the exchange, market display data comprising movable data elements for display on a display means; allowing a user to select and de-select, using a user input device, a movable data element; and freezing a selected movable data - 22 - element whilst it is selected such that at least one (preferably the majority or every) un-selected movable data element remains movable.
Preferably, market data is the raw data relating to market prices, quantities, movement, bids, asks, time, and the like, received from the exchange.
Preferably, market display data is the data generated for display based on the raw market data, and may be used to generate a market depth display.
The movable data element associated with the market display data connotes preferably either an area of the display containing data or the data itself, that is, a value or a graphical icon associated with an underlying market trade parameter, such as price or quantity. A movable data element relating to a market can move in response to changes in the market, for example in response to changes in either or both of a highest bid (offer to buy) price and/or quantity and of a lowest ask (offer to sell) price and/or quantity. In other words, both the display containing the element and the data itself can "move" (which includes "change").
In this specification, "trade" or "trading" relates to taking action to do at least any of the following actions: buy or sell ("fill" an order); bid (offer to buy), or ask (offer to sell) ("join" the market); vary an order; or delete an order.
Generally, the faster and more accurately the user can communicate a trade to an exchange directly increases the chances of the user securing a desired result in the market.
Market information supplied by electronic exchanges to trading systems includes quantity information of a commodity which is available for buying and selling at different price levels in the market (market depth) which change dynamically during trading. In some cases the market information such as price might have changed before the user can effect a trade at the exchange, therefore causing the user to potentially harm his/her desired net market position with respect to existing holdings.
- 23 - Selecting or freezing a movable data element can assure the user that the value of a trade parameter selected or frozen, for example, the price, has not changed during the time taken by the user to use the user input device in performing the selection function, for example, moving a mouse pointer or other moveable indicator to hover over a desired price on a market depth display. The user therefore can know an exact price that will be used in a trade.
Once the price is known, the user can take advantage of being able to quickly confirm the trade for further transmission to the exchange, or alternatively being able to abandon the trade, for example if a different frozen price is shown than the price the user originally had contemplated or had attempted to select.
Preferably, the market data includes at least one bid price and associated bid quantity and at least one ask price and associated ask quantity.
A bid quantity normally represents all the bid quantities in the market at the bid price level. Similarly an ask quantity normally represents all the ask quantities at the ask price level. A quantity of zero is a valid quantity and can be displayed by a "0" numeral or a blank space or cell.
Preferably, the market display data is based on at least one bid price and associated bid quantity and at least one ask price and associated ask quantity.
Market display data may be presented in a different form to that which is received from the exchange interface. For example, raw market price data might be modified to improve its readability, for example by generating market display data for a trade parameter in truncated form. An example could be generating a price for display of 345, or 45, originally based on a market data price of 500.345. This could be used where some units do not vary in the market depth. This approach to display data may apply equally to any type of market data.
Similarly, the value of the selected or frozen data element is not necessarily the same as the actual market trading price, as the frozen data element could be a - 24 - representation, for example a truncated price, for improving a user's visibility.
Preferably, the freezing step freezes a bid price and associated bid quantity (and possibly other quantities).
Preferably, the freezing step freezes an ask price and associated ask quantity (and possibly other quantities).
Freezing both movable data items can confirm to the user the market depth information at a particular price level at a time of selection.
Preferably, the method includes a further step of trading using trading data relating to the selected or frozen moveable data element.
Trading data is data required for sending a trading instruction to the exchange, for example to trade. Trading may include buying, selling, or submitting a bid or ask, at a specified price level.
Preferably, the trading data includes a bid or ask price or a bid or ask quantity.
Preferably, trading (e.g. using the selected or frozen price) involves communicating a trade order to the exchange. Generally, there are four basic types of trade orders; buy and sell, and bid (offer to buy) and ask (offer to sell).
The selected price can be used for joining the market at any place in the market depth (including at the inside market), or filling an order at a particular price level, usually the best price level. Buying and selling typically are normally executed at inside market prices; therefore, a buy or sell order can be submitted without specifying a price (as buy/sell orders can only be executed at market price).
However, buying or selling using a selected or frozen price level in the market depth might for example consist of buying or selling (at inside market price) all of the available quantity up to a specific price level, for example, the price based on the - 25 - selected or frozen data element.
Preferably, the trading data (or possibly price check data) further includes a pre- determined upper and lower price limit not related to any specific selected or frozen data element.
Using price limits allows the user added flexibility when trading near a selected price level which is acceptable. Such limits might be set independently of a selected or frozen price, for example an upper limit could be a single tick above a selected or frozen price.
Preferably, trading is automatic at the exchange when a data element is selected or frozen.
A user may decrease the overall time taken to trade by automatically trading; which can be valuable especially in volatile markets.
Preferably, the trading step is dependent on the fulfilment of further conditions including a pre-determined time delay or a single action of the user input device or a pre-determined multiple action of the user input device.
Preferably, the trading step is initiated at the exchange upon user input with respect to a display element relating to either a price or a quantity, preferably when the user uses the user input device to click on a display data element relating to either a price or a quantity, although more usually the user would apply input with respect to a quantity.
Further, the user may apply input with respect to a different selected or frozen element.
Preferably, the step of selecting or freezing a moveable element, for instance a moveable data element, selects or freezes an area of the display, and more preferably the area is an area of data relating to a particular price, even more preferably a complete row or column containing that price.
- 26 - Preferably, the area is a row, part of a row, or a cell, or a column, part of a column or a cell.
Preferably, the area contains bid or ask price and/or quantity information, although it may contain other information instead or additionally.
Preferably, the area is a cell containing a price or quantity associated with a particular price.
Preferably, the area is any other combination of a row, part of a row, or cell.
As an example, a frozen row (or column) including a fixed price and variable quantity information stays fixed on the display whilst every other row moves on the display, one row at a time being overlaid by the frozen row (or column).
Selecting or freezing an area of the display allows the user to select, potentially for use in trading, any information contained in the selected or frozen area. It also graphically emphasises all related information contained in the selected area in comparison with other un-selected dynamically updateable and movable information.
Displaying data in cells or rows or other various combination of areas can enhance the selectability of data.
Preferably, the market data includes a plurality of bid and ask prices and associated quantities, including at least a lowest ask price and ask quantity and at least a highest bid price and bid quantity for a commodity.
The lowest ask price and the highest bid price and their related quantities define the "inside market" which are the prices at which commodity units are actually bought and sold in the market.
The highest bid price and/or the lowest ask price, typically referred to as the "inside market", (which term may also refer to the gap between these two prices) can change - 27 - when there is a change in either the lowest ask price or highest bid price. These price changes can occur, for example, when all available quantity at a particular price level at an inside market price is bought or sold, therefore making the next level up in the market depth the new "inside market" price and quantity. As used herein, preferably the term "market depth" includes the best bid and offer prices, although alternatively it might connote trading information outside the inside market.
A plurality of bid and ask price and quantity information can be used to display market depth, usually arranged in order of price levels at defined intervals, the lowest of which is typically referred to as a "price tick".
A market depth arranged by price level therefore can have two dimensions, a bid side and an ask side, for example, each side notionally beginning at the inside market bid and ask price levels, and extending out in opposite directions from those price levels.
A market depth view can be displayed such that only prices which have quantities are displayed, or alternatively, all price levels at a chosen "tick" resolution can be displayed regardless of whether there is a quantity for each price.
Preferably, the movable data elements include bid and ask prices and bid and ask quantities.
Movable data elements are used to represent the movement of the bid and ask data on the display screen which movement is based on changes in the inside market.
Preferably, a movable data element, relating to at least one bid pricewhich either is or is not the highest bid price, moves when there is a change in the highest bid price.
Preferably, a movable data element, relating to at least one ask price which either is or is not the lowest ask price, moves when there is a change in the lowest ask price.
Moving an ask price or a bid price which is not at the inside market allows the user to see movement of the market depth.
- 28 - Preferably, bid prices and associated bid quantities move together when there is a change in the highest bid price.
Moving bid price and quantity data together allows the user to see the bid market depth including quantity information, move with a change in the inside market.
Moving only bid data shows that the change in the inside market occurred on the bid side, not the ask side. Therefore the market depth for bids can move independently of the market depth of the asks.
Preferably, ask prices and associated ask quantities move together when there is a change in the lowest ask price.
1 5 Moving the ask price and quantity data together allows the user to see the ask market depth, including quantity information, move with a change in the inside market.
Preferably, a mid-point between a highest bid price and a lowest ask price is always shown at a fixed location or area of a market depth display shown on the display means, preferably substantially at the centre of the market depth display.
Preferably, a mid-point between a quantity having the highest bid price and a quantity having the lowest ask price is always shown at a fixed location or area of a market depth display shown on the display means, preferably substantially at the centre of the market depth display.
Generating market display data for display always at or centred around a fixed location, for example the centre, of a market depth display can allow a user to easily locate the inside market price/quantity, therefore saving the user valuable time. The location may be user-selectable.
in one preferred embodiment, the user is prevented from trading when a change in the market display data occurs when a data element is selected andlor frozen, although - 29 - more normally the user would continue trading even when there has been a change in the market display data, such as changes in the market depth or at the inside market.
Preferably, the user is prevented from trading when a change in the market display data occurs whilst an area is frozen.
Preferably, the user is prevented from trading when a lowest ask price or a highest bid price changes whilst an area is frozen.
Preferably, the method includes the step of automatically de-selecting (and/or unfreezing) the selected or frozen data element when the inside market changes.
Automatically de-selecting the selected or frozen data element guarantees protection of the user's trading position in trading situations where the user must trade using the trading value of a selected or frozen element, before the market changes in the depth (for example, before an existing bid or ask is pulled or deleted from the market by another trader), or before the inside market changes.
Preferably, the method includes the step of automatically de-selecting (and/or unfreezing) a selected or frozen data element when the user moves the user input device away from a selected or frozen area.
Automatically de-selecting a selected or frozen area can allow the user to enjoy full visibility of a dynamically updated market depth display, and also allows the user to select or freeze another trade parameter, if desired.
Preferably the method includes a step of generating an alert when any market display data changes whilst a movable data element is selected or frozen.
Preferably the method includes a step of generating an alert when either a highest bid price or a lowest ask price changes whilst a movable data element is selected or frozen.
Generating an alert based on changes in the market depth or at the inside market can allow a user to re-consider trading a selected/frozen value or price. This can be particularly valuable when trading in a market in which the user's trading position is very price-sensitive, for example to price changes of a single tick in either direction (up or down).
Preferably, the alert is visual; it may include modifying the background appearance of a selected/frozen area.
This feature can provide a potentially less obtrusive method of alerting the user, thereby avoiding distracting the user from other potential alerts which may appear on the trading screen.
Preferably, the alert is a moving graphical element.
This feature provides a potentially "higher" notional level of alert than the modification of the background appearance of a selected/frozen region but is potentially less obtrusive than an audible alert.
Alternatively or additionally, the alert may be audible.
This type of alert can be used when the user may not be looking at the same display screen; some users typically use multiple screens having displays of multiple exchanges, each displaying a different market.
In one possible embodiment, the user may be prevented from trading when any alert is gcnerated, although more normally the user would continue trading even when an alert has been generated or when there have been changes in the market depth or at the inside market.
Again, the method may include a step of automatically de-selecting (and/or unfreezing) the selected data element when an alert is generated, in which case preferably the selected display would move to the adjacent row (or column).
- 31 - The prevention or de-selection of a selected/frozen data element can guarantee protection of the user's trading position in trading situations where the user must trade using a selected/frozen price before the market changes or the inside market moves.
Preferably, additional information is displayed when the market moves. This may provide the user with visibility of the full market depth.
Preferably, the additional information is displayed in a pop-up window.
Preferably, a bid quantity is aligned with an associated bid price.
Preferably, an ask quantity is aligned with an associated ask price.
Preferably, the bid or ask quantity aligned with a price is aligned in a horizontal row.
Preferably, the bid or ask quantity aligned with a price is aligned in a vertical column.
Alignment of bid and ask prices with bid and ask quantities can assist the user to select one or both of the quantities based on their proximal association.
Preferably, the method includes a step of generating additional information for display to the user when a movable data element is selected or frozen.
Additional market information, for example, context-dependent information relative to that price level, such as summary or statistical market information, may allow the user to take a more informed decision regarding trading, whilst overcoming the constraint of limited space on a user's screen, which may have several market depth displays being displayed simultaneously.
Preferably, the step of generating additional information comprises the use of a pop- up window adjacent to the selected or frozen region.
- 32 - A pop-up window provides a convenient mechanism for temporary display of context-dependent information to a user. The size and shape of a pop-up window can also be varied depending on the quantity of information that is being generated for display.
Preferably, the additional information includes a cumulative quantity of a commodity being traded.
Generating a cumulative quantity for display to the user can provide a single figure showing the quantity of commodity units that need to be bought or sold before trading can occur at a particular price level. This information combined with the user's assessment of the potential market movement potentially allows the user to make a more informed decision regarding trading.
Preferably, the additional information includes information relating to movement of prices or quantities of an inside market.
Information relating to market movement provides the user with a specific figure, or alternatively a qualitative measure of the market movement, preferably over a recent interval, or even over a series of recent intervals. This information potentially allows the user to make a more informed decision regarding trading.
Preferably, the market display data is generated for display in at least one generally rectangular area.
Preferably, at least one rectangular area is oriented vertically.
Preferably, at least one rectangular area is oriented horizontally.
Rectangular areas may include fields, grids, regions, columns, rows.
Preferably, at least one of a bid or ask quantity is displayed in separate bid and ask areas, each area arranged on an opposite side of a central rectangular region. This - 33 - arrangement can allow a user to easily distinguish between bid and ask quantities.
Preferably, the at least one bid and ask prices are displayed in rectangular areas.
Those rectangular areas may be arranged on an opposite side of a rectangular area in which the at least one bid and ask quantities are displayed. A rectangular area or rectangular areas in which bid and ask prices are displayed may be arranged between a rectangular area in which bid quantities are displayed and a rectangular area in which ask quantities are displayed. A rectangular area or areas in which bid and/or ask prices are displayed may be arranged adjacent to or spaced apart from a rectangular area or areas in which bid and/or ask quantities are displayed. These arrangements can allow a user to easily distinguish between bid and ask prices.
Preferably, the market display data is displayed in separate bid price areas, ask price areas, bid quantity areas, and ask quantity areas.
Using separate rectangular areas can allow the separation of the bid and ask information such that there is no common price or quantity area or region, and movement of asks is not related to movement of bids and vice versa.
Preferably, the ask price area includes a display of prices at the level of at least one bid quantity.
Displaying ask prices at the level of the bid quantities can allow the price display for the ask quantities to extend beyond the point of the inside market.
Preferably, the bid price area includes a display of prices at the level of at least one ask quantity.
Displaying bid prices at the level of the ask quantities can allow the price display for the bid quantities to extend beyond the "bid side" of the inside market.
Preferably, the market display data of at least one bid quantity is aligned with the corresponding bid price data.
- 34 - Preferably, the market display data of at least one ask quantity is aligned with the corresponding ask price data.
Preferably, at least one ask quantity is movable relative to an associated, preferably an adjacent, ask price. In relation to an ask quantity, by "movable" is meant either that the quantity may change or that it may be moved to another cell, for example by dragging and dropping. As discussed above, "movable" in relation to a movable element means that the element may move, for instance on a display.
Preferably, the ask quantity does not move relative to a bid price.
Preferably, at least one bid quantity is movable relative to an associated, preferably an adjacent, bid price. Again, in relation to a bid quantity, by "movable" is meant either that the quantity may change or that it may be moved to another cell, for example by dragging and dropping.
Preferably, the bid quantity does not move relative to an ask price.
Preferably, a display of ask prices and corresponding ask quantities are displayed in adjacent rectangular areas at a location away from a display of bid prices and quantities.
Preferably, the arrangement of a rectangular area on the display can be determined by the user.
Preferably, the size of a rectangular area on the display can be determined by the user.
Preferably, the colour of a rectangular area on the display and/or the colour of text on the display can be determined by the user. Preferably the colour of the border of a rectangular area on the display can be determined by the user.
Customising the arrangement and/or sizes, and appearance of rectangular areas can - 35 - allow the user to vary the visibility and the level of emphasis given to different types of information, for example prices or quantities, participation levels, and/or information relating to previous trades. This may help the user to make best possible use of a limited display area.
Preferably, the method further comprises monitoring the position of the selection element and/or monitoring the position of the or each movable element.
The method may further comprise discriminating between the situation where the selection element is located over a movable element and the situation where the selection element is not located over a movable element, and preferably the method further comprises ensuring that a movable element is in the selected state when the selection element is positioned over that movable element and not selected when the selection element is not positioned over that movable element.
Preferably, the or each movable element comprises a respective active portion and, for the or each movable element, the method further comprises discriminating between the situation where the selection element is located over the active portion and the situation where the selection element is not located over the active portion, and preferably the method further comprises ensuring that a movable element is in the selected state when the selection element is positioned over the active portion and not selected when the selection element is not positioned over the active portion.
The movable elements may be adapted to be displayed within a display area, and the method may further comprise monitoring whether a selected movable element is located inside the display area and if the selected movable element is not located inside the display area then either deselecting the selected movable element or changing the display area so that the selected movable element is within the display area.
Aspects of the invention also provide for an apparatus for performing the above- mentioned independent and preferred methods of the invention.
- 36 - The invention also provides a computer program and a computer program product for carrying out any of the methods described herein andlor for embodying any of the apparatus features described herein, and a computer readable medium having stored thereon a program for carrying out any of the methods described herein and/or for embodying any of the apparatus features described herein.
The invention also provides a signal embodying a computer program for carrying out any of the methods described herein and/or for embodying any of the apparatus features described herein, a method of transmitting such a signal, and a computer product having an operating system which supports a computer program for carrying out any of the methods described herein and/or for embodying any of the apparatus features described herein.
The invention extends to methods andlor apparatus substantially as herein described with reference to the accompanying drawings.
Any feature in one aspect of the invention may be applied to other aspects of the invention, in any appropriate combination. In particular, method aspects may be applied to apparatus aspects, and vice versa.
Preferred features of the present invention will now be described, purely by way of example, with reference to the accompanying drawings, in which: Figure 1 shows a system architecture of an electronic trading environment with multiple electronic exchanges, trading software suppliers, and independent user trading platforms; Figure 2 shows a high level system implementation for electronic trading for a single user trading platform trading on a single electronic exchange; Figure 3 shows an illustration of the market information for a single exchange being displayed on the single user trading platform; Figures 4a and 4b illustrate the dynamic display of the market information on the single user platform when an inside market changes; - 37 - Figure 5 illustrates the selection of a part of the display and generation of a trade order when a trade order parameter is selected;
Figure 6 shows a representation of a trade order; Figures 7a and 7b illustrate a selected row when the inside market changes; Figure 8 shows an alternative display of market information for a single exchange wherein the bid and offer quantities are in a single column; Figures 9a and 9b show for the alternative display of market information, the effect of a change of the inside market when a row is selected; Figures 9c and 9d show examples of displays in which selected rows have been frozen; Figure 10 illustrates an alternative example which generates and displays additional information upon the initial selection of a price region; Figure 11 shows a screen-shot of a trading application on a single user trading platform; Figure 12 shows an updated screenshot after a change in the inside market; Figure 1 2b shows a yet further updated screenshot showing a frozen row when the inside market changes; Figure 13 shows a portion of a screenshot of a market depth view, similar to that of the front-end trading application of Figure 8; Figure 14 shows the portion of a screenshot of Figure 13 with a row selected; Figure 15 shows the portion of a screenshot of Figures 13 and 14 with the row selected, after the market has traded up; Figure 16 shows the portion of a screenshot of Figures 13, 14 and 15 with the row selected, after the market has traded up further; Figure 17 shows a portion of a screenshot of a market depth view with spaced apart rows being highlighted to indicate market flow; Figures 18 to 20 show a portion of a screenshot of a market depth view, and illustrate the colouring of a cell in the Last column in dependence upon the last market activity; Figures 21 to 25 show a portion of a screenshot of a market depth view, and illustrate the colouring of cells in the Price and Last columns in dependence upon the last market activity, and also illustrate the use of highlighted spaced apart rows to indicate market flow; Figures 26 and 27 show a portion of a screenshot of a market depth view, with the - 38 - tracking module functionality switched off and with a freezing capability enabled; Figures 28a, 28b, and 28c illustrate another embodiment; Figure 29 is a flow chart illustrating the operation of the tracking module; Figures 30a to 30c illustrate the re-centring of a price ladder; Figure 31 shows an example of a dialog box for configuring the re-centring process; Figures 32 to 36 are screen shots of further embodiments, some including an order tooltip; Figures 37 and 38 are example screen shots of dialog boxes for configuring the tooltip and other user interface options; and Figures 39 and 40 show screen shots of further alternative trading screens.
Figures 1 to 3 will be used to describe a system architecture used in an electronic trading environment including a market depth trading screen, and a basic description of four types of trade orders and examples of how those trade orders might be used in practice.
Further description of the behaviour of the market when it is open for trading, that is showing the dynamic nature of the market depth information, is described with reference to Figure 4.
Figure 5 shows an example of a system which is adapted to select a portion of the trading system, and outlines various options for submitting a trade order. An additional feature of providing an alert when the market has changed whilst a portion of the trading screen is selected is shown in Figures 7a and 7b.
Alternative examples of market depth views, using a different arrangement of columns for displaying prices and quantities and examples of trading using those views are described with reference to Figures 8 and 9a to 9d, and Figure 10 illustrates a further alternative example which generates and displays additional information upon the initial selection of a price region.
Screenshots of various example front-end trading applications' market depth views are shown with reference to Figures 11 to 29, and additional functionality, applicable to any of the examples described herein, is also described with reference to those and the remaining figures.
I. ARCHITECTURE As discussed above, a basic architecture for supporting an electronic trading environment will now be described with reference to Figures 1 to 3.
Figure 1 shows nine individual independent users (with trading devices) 2102 which are capable of connecting to one or more of three electronic exchanges 2104 via one or more data centres 2106. The data centres are connected to the exchanges via leased line connections 2108 whilst the users 2102 are connected to the data centres using internet protocol (IP) devices and communication systems, represented by a cloud 2110. The dotted lines 2112 connecting the users 2102 to the data centres 2106 represent the specific data centre to which each user is connected.
Using this system architecture, a user 2102 is able to connect to one or more independent electronic exchanges, receive live market information, and execute trades and submit offers to trade by sending appropriate electronic trade orders (not shown) to the relevant exchange. Each exchange consecutively processes received trade orders, regardless of which user 2102 or data centre 2106 the order originates from.
For clarity, only a small number of users, data centres and exchanges are shown in Figure 1. Typically, such systems may support hundreds, or even thousands of users and many more electronic exchanges.
It will also be understood that this system architecture can be modified as appropriate, for example, the internet connections shown (2110) can be substituted by other communications systems such as leased line (traditional or optical), mobile communications networks, and the like.
The key components of a system which enables the user to communicate with an electronic exchange will now be shown with reference to Figure 2.
- 40 - An arrangement 2200 which allows a single user trading terminal 2202 to connect to a single exchange 2204 via a data centre 2206 is shown. Data centre 2206 is connected to the exchange 2204 via a leased line connection 2208, and to the trading terminal 2202 via an IP communications system 2210.
Data centre 2206 contains a port 2212 directly connected to the exchange. The port 2212 communicates with an ISV gateway 2214 that allows an ISV trading system 2216 to send information such as trade orders and receive information such as market depth data to and from the exchange. The trading system 2216 receives market information from the exchange (via the gateway) and communicates this information using a suitable Markup Language, for example Extensible Markup Language (XML), to the trading terminal via client-server application software 2218. In this example, a CitrixTM client 2220 is installed on the trading terminal 2202, which allows a front- end trading screen 2222 to be interactively displayed over an IP communications system 2210 (e.g. the internet) on a display screen 2222 on a trading terminal.
It will be understood that the system described in Figure 2 is purely an example, and that the interactive display of the market information and trading functionality could be provided using an alternative combination of system components and communication systems.
Typically the preferred embodiment is implemented to operate over a local area network or, in certain variants, over the internet, via an internet browser front end, typically Microsoft Internet Explorer version 6 and above. The preferred embodiment works on Microsoft operating systems such as Server 2003 and XP.
II. FRONT-END Further detail relating to the display of market information using a system as shown in Figure 3 will now be described.
Figure 3 shows a rectangular front-end trading screen 2302 for use by a user / trader, -41 - hereinafter referred to as a user'. Within screen 2302 market depth information is displayed in vertical or horizontal columns of individual cells which contain prices and quantities at which the goods or commodities being traded can be bought or sold.
In this example, market depth data is shown in the vertical orientation.
The grid as a whole provides a visual representation of the market depth including other users' offers to buy 2306, or "bids" which can be understood to represent quantities and related prices at which the user can sell (to other users). Similarly, other users' offers to sell 2308, or "asks" can be understood to represent prices and quantities which are available for the user to buy (from other users).
The price column 2310 is located between the bid and offer columns and shows the prices for bids and asks. It is important to note that in this example any given price level (grid position) can only relate to either a bid or an ask but never to both. This is due to the automatic centering of the market, which will be described below with reference to Figures 4a and 4b.
The prices in the price column are separated by intervals of one price unit, or what is commonly referred to as a price "tick", which always represents the minimum price interval between two closest buying or selling prices which can be specified for a tradeable commodity.
The market depth display shown in Figures 3 to 13 can show all price levels in the market depth, regardless of whether there is any tradeable quantity for that price.
However, market depth displays are not limited to showing all price levels of market depth; other examples (not shown) display only price levels for which quantities are available (for buying or selling) in the market. Yet further examples of market depth displays show price levels separated by a fixed multiple of price ticks; this is used to collapse a market depth into a shorter viewable area, which is sometimes required to save display space on a user's desktop trading environment.
The displayed location and relative arrangement of the bid offer and price columns is variable and can be manipulated according to an individual user's preferences. For - 42 - example, bid and offer columns can be displayed adjacent to each other and away from the price column and each or any of the columns can be displayed horizontally or at an angle, or following a defined straight line or a curved path.
It will be appreciated that where a quantity in a bid or ask column is more than one, this could represent orders from more than one user. The number of users participating in the market at different price levels is not shown in any of these examples; however there is the facility (not shown) for the system to display the user's contribution or holding in either a bid or ask quantity at any price level.
Each number in the bid 2306 or ask 2308 columns represents the total number of bids or asks, respectively, in the market at a specific moment in time. For example, the bid 23 at price 107 may include bids from several users, the quantity shown is the sum of all quantities of the users who will buy at that price. In some variants each number in the bid 2306 and ask 2308 columns represents the number of bids or asks available to a particular user at a specific moment in time which, for some markets, may differ from the total number of bids and asks in the market at the moment in time, as a particular uscr may not be able to participate in some trades or with some counterparties.
The inside market is designated as the (best) highest bid price 2312 of 108 and the (best) lowest ask price 2314 of 111. The inside market spreadis the price difference between the best bid and ask prices. In the example shown the spread has a value of 3 price units. In this example, the values of ticks within the spread are not shown, however in other examples a price level is shown for each tick value within the best bid and ask prices.
In other examples, the inside market spread could be a single tick. For example, for certain products on the International Financial Futures and Options Exchange (LIFFE) the inside market is normally separated by a single tick, although in other markets several ticks may separate the inside market.
- 43 - III. BASIC TRADING The basic transactions and rules governing trading on an electronic trading market will now be described.
A user can perform four basic trading transactions in the market.
1. Buy at market 2. Sell at market 3. Offer to buy in the market depth 4. Offer to sell in the market depth Both the offer to buy and the offer to sell effectively constitute a queue of orders waiting behind - and at the best price.
In addition, other trading transactions are possible, including:- 5. Adjustment of an order (whilst leaving it in the market) 6. Pulling (cancelling an order) The rules of the market may include that buying and selling transactions are only to be executed at the inside market prices.
When a user buys or sells (accepts another user's existing offer to sell or buy, respectively), an order is placed into the market which can typically only be filled at the inside market prices.
For example, with reference to Figure 3, consider a situation in which the user (user) is holding 12 units, say, of grain, which were purchased earlier at a price of 106 per unit.
If the user believes that the selling price of grain will increase, then he/she might want to hold on to their position, or potentially buy some more at the current market price of 111. Therefore, for example if the user wanted to buy 10 additional units, then a - 44 - buy order submitted to the market for 10 units, assuming no other user previously submitted an order for the same units, would be filled at the market price of 111 for the ten units, leaving 2 units available for the user or another user in the market to buy the remaining grain at that price.
If the user believes the market might fall, then he/she might want to sell some or all of the position to realise a profit or to exit the market. The user then could submit a sell order to the exchange, for example for 12 units, which would be filled at the market selling price of 108 (for the first unit) and a selling price of 107 for the remaining 11 units, thereby making a net increase of ((lxlO8+1 1x107) - (12x106)), or 13 price units.
If the user wants to buy or sell at prices other than the market prices, he/she can participate or trade in the market depth by submitting offers to buy and offers to sell.
Such orders might only be filled when the trading activity of the market forces the inside market buy/sell prices up or down so that the previously entered offer to buy or sell is at the inside market price, and therefore can be filled by another user's order.
The system displays prices and quantities dynamically; therefore a change in the inside market brought about by trading activity will be represented by the bid or offer quantities and prices moving together with the movement of the market, such that the inside market quantities and prices are always displayed at the centre of the trading screen. If the window is resized, the mid-point between the best bid and offer quantities is kept in the middle of the screen.
Showing the inside market at the mid point or centre of the market depth screen provides the advantage that the best bid and ask prices will not move and therefore will be easily available to the user. However, in a volatile market this gives rise to a situation in which the prices at which a user may wish to trade are moving about on the screen. This dynamic movement of the market will now be described with reference to Figures 4a and 4b.
Figure 4a shows the inside market and the market depth before a trade occurs. In this - 45 - example, there is in the market one user willing to buy one unit at the market price of 108 and one or more users offering 2 units for sale at the market sell price of Ill.
Figure 4b shows the appearance of the market after a trade has occurred. In this instance, a user (elsewhere connected to the exchange) bought the 2 units for sale at the price of 111. Accordingly, the two units are no longer available and are no longer displayed.
Assuming no further trading activity has taken place on the market, the display now shows the best sale price for units on the market as 112, for which there are 54 units available. The best ask price 112 and quantity 54 have both moved to the centre line 2402, which represents the location of the inside market. The best bid price and quantity have remained in the same position. Accordingly, the market depth at prices 113, 114 has moved downwards. The market price of 115 (not shown previously in Figure 4a) has now appeared at the top of the ask column on the market display.
The user can see instantly the best bid and ask quantities and the best bid and ask prices, as they are always located on either side of the inside market line 402.
It will be understood that this is a basic representation of the location of the inside market; other representations could be used, for example, using icons and other graphic elements having variable attributes including; variable size and shape, colour, sound, and movement.
IV. ORDER ENTRY DEVICE - TRACKING MECHANISM ("STICKY MOUSE") Preferred embodiments provide mechanisms for ensuring that the user can trade quickly and accurately at a selected market price at a pre-determined order quantity even though prices are moving about on the screen with the movement of the inside market.
This is achieved by providing user interface features which assist the user in selecting and issuing trade orders at the intended price point, for example by moving the - 46 - selection with the movement of the market information or by freezing a portion of the displayed information.
An order entry device will now be described with reference to Figure 5, which shows an order entry apparatus 2500 that uses the system architecture described in Figures 1 and 2 and the market depth display behaviour shown in Figures 3 and 4a and 4b.
The elements of the order entry apparatus 2500 will now be described, followed by a
description of a worked example.
A trading screen 2504 shows a market depth display 2501 which represents market information provided by an electronic exchange 2506. An exchange interface 2513 housed in a data centre 2508 receives data from the exchange 2506 via a leased line connection. Market information is supplied to the trading screen 2504 from a trading application program 25 12 via internet protocol communications network 2510.
Trading application program 2512 uses a generating module 2515 to dynamically generate, in response to the market information received from the interface 2513, values of trade order parameters, for example commodity prices and quantities.
In this example, the market price is selected for use in a trade order. It will be understood that a trade order also requires a predetermined or automatically determined order quantity. The application program allows the user to set a predetermined trade order quantity before executing the trade so that this variable can be selected or set in advance of selecting the desired market price. This is set using a variable selection interface (not shown) on the trading screen which uses graphically displayed symbols including arrows and/or roman numeral symbols to allow the user to vary the pre-selected order quantity by individual units or multiples such as ten or twenty, for example, providing a convenient and fast method for changing an order quantity.
It will be understood, however, that other examples for use in other suitable markets could use a dynamically displayed quantity and a preselected price.
- 47 - The order entry system 2512 includes a user input device 2503, in this example a mouse which moves arrow 2502, which allows a user to select a specific dynamically generated value, in this example, a price value, by "hovering" over a specific price region or cell on the market grid associated with that price.
Using a pointing device also enables the user to save time in selecting a value of interest. It will be appreciated that in alternative examples, the user input device could be a keyboard, or a voice-recognition system, or an eye-tracking device such as those common in the art of pointing and selecting user input devices.
A tracking module 2520, discussed in more detail later, is used to monitor the position of a selected price region or cell on the grid, and to ensure that whilst the price region or cell is selected, the arrow 2502 remains over the selected region or cell despite any movement of the selected region or cell across the screen, in particular any movement of the selected region or cell up or down the market grid. The tracking module 2520 can operate independently of the user input device, so even if the user does not operate the user input device, the tracking module 2520 will move the arrow 2502 to ensure that it remains over the selected region or cell, whilst the selected region or cell remains selected. Typically the user can deselect a selected region or cell by moving the arrow 2502 off the selected region or cell. When the region or cell is deselected, the tracking module ceases to ensure that the arrow 2502 remains over that region or cell.
Thus, whilst selected, the mouse cursor (i.e. arrow 2502) "sticks" to the selected row.
This tracking mechanism is thus also referred to herein as a "sticky mouse" mechanism.
A trade order generator 2519 is used for generating trade orders 25 14 for transmission to the exchange for placing buy or sell orders at market prices (filling), or orders to buy or sell in the market depth (joining or participating).
An illustration showing some relevant information included on an electronic trade - 48 - order is shown in Figure 6. A trade order 2602 is shown which includes the type of order 2604, a price 2608 (if applicable), and a quantity 2610 to be traded or offered for trade.
Turning back to Figure 5, use of the order entry system by a trader (user) to select a portion of the display will now be described.
When the user wants to trade, for example, in the market depth, the user moves the mouse arrow 2502 over or in alignment with the row, or in a variant part of the row, or even a specific cell containing the desired trading price.
The application program 2512 senses the position of the mouse arrow 2502 and when the position of the tip of the mouse arrow is within the location of a region of the grid which relates to or is associated with a specific price, the row in which that price appears is selected. Once the row is selected, the tracking module 2520 monitors the position of the row. Even if the market changes and the selected row moves up or down the screen, the tracking module 2520 ensures that whilst the row is selected, the arrow 2502 remains over the selected row despite any movement of the selected row across the screen.
In the preferred embodiment the quantities in the other columns of the row, namely the Bid and Ask columns 2306 and 2308, change in line with the market. If the display includes further columns, the information in these may also change in line with the market, so that the information in the selected row updates in the same way as the other, unselected, rows in the grid.
The selected nature of the row is shown in Figure 5 by the emboldening of the screen font of the values and border of the row containing price 112 and the quantity 54 when the tip of the mouse arrow hovers within the relevant part of the grid. The price 112 is received 2516 (shown by a downward pointing arrow) by the trading application 2512 and the trade order generator 2519 as a price at which the user might participate (e.g. submit an ask trade order 2514) in the market. Specific details concerning the setting up of a trade order vary from exchange to exchange.
- 49 - Ensuring that a selected cell or region is monitored by the tracking unit 2520, so that the mouse arrow 2502 will be positioned over the selected cell or region despite any movement of the cell or region across the screen allows the user an important time advantage of being able to quickly confirm an order for further transmission to the exchange, with greatly reduced risk of error, even in a rapidly moving market.
The user can set the trading application program 2512 to generate and/or submit 2518 (shown by a downward pointing arrow) a trade order 2514 (generated by trade order generator 2519) automatically or if certain conditions are fulfilled or particular actions taken.
Automatic transmission of the trade order to the exchange will provide the user with potentially the fastest-placed order, and that provides the user an enhanced time advantage which is important when trading in particularly volatile markets.
For example, the program 2512 can be set to submit the order upon receiving one or more clicks (for instance, either a down click or the subsequent up click) of a mouse key whilst the mouse pointer is hovering in the defined area, or is pointing to a particular sub-region of the row, for example the blank cell to the left of the price cell having the price of 112.
Alternatively, the trade order can be sent by the system if the inside market does not move within a specified or user-defined period of time from the row being selected, for example, two tenths or one half of a second.
This delay is used to allow the user to abandon the trade order, for example by actuating a user-input device such as a keyboard, or by moving the mouse before expiry of the pre-determined time period.
These features increase the user's chances of acquiring a desired position within the market depth or of the trade order filling or being filled at the exchange before the market moves or as close as possible to the desired price.
- 50 - The system can also be set to send varying types of trade orders whilst the row is selected, depending on the location of the mouse pointer and on which mouse button, or input device selection function, is actuated.
For example, a left click on the bid column buys the default quantity at that price.
The order may be submitted on the button release but can be set to be submitted when the mouse button is initially pressed, and a left click on the ask column can sell the default quantity at that price.
Other input devices can also be used to signal the application to generate and/or submit a trade order to the exchange using the selected static price, such as a keyboard, motion tracking device, foot pedal, or another mouse.
The trading system is also adapted to provide visual indication to the user, or other functionality, if the inside market changes after the user hovers the mouse pointer over a particular price region before a trade order is sent. Providing the user with such a market change alert allows the user to re-consider sending a trade order in view of a change in market conditions. An example of this functionality is shown with reference to Figures 7a and 7b.
Figure 7a shows the trading screen of Figure 4a when a user hovers the mouse pointer over the region containing price 112 and quantity 54. Figure 7b shows that after the inside market has changed, the selected region containing price 112 and quantity 54 has moved down the screen and that the mouse pointer is still positioned over the selected region, even though the user has not used the user input device to move the mouse pointer.
An alternative screen display of the market depth, in which the bid and ask quantities are displayed in a single column, will now be described with reference to Figures 8 and 9a and 9b.
In this example, the lowest ask price and highest bid prices appear centered in separate columns and are dynamically updated in response to changes in the inside market.
Figure 8 shows a market display 31 00 showing a price column for bids 3104 located in the left lower region of the market grid, and the price column for asks 3106 located in the right upper region. A column showing quantities for bids and asks 3108 is shown in the centre.
The dynamic display of the market data shown in Figure 8 will now be described with reference to a market depth view 3200 shown in Figures 9a and 9b.
A selected row 3202 having a price 112 and quantity 54 is shown in both Figure 9a and 9b to illustrate the effect of the change in the inside market. When the inside market changes, as shown in Figure 9b, the selected row containing price 112 and quantity 54 has moved down the screen and the mouse pointer is still positioned over the selected region, even though the user has not used the user input device to move the mouse pointer.
V. FREEZING MECHANISM ("FROZEN ROW") In an alternative embodiment, instead of forcing the mouse cursor to follow the selected row as it moves up or down the screen (e.g. using a tracking module as described), the selected row is frozen in its current position after selection such that, regardless of the movement of other rows, the selected row remains displayed at the position it occupied prior to selection.
In some examples, this could lead to another row (which, after movement of the selected row would ordinarily take the place of the selected row) not being displayed or being obscured. To address this, the frozen row may be superimposed on the row(s) behind in such a way that the information behind remains at least partially visible, for example using a partial transparency or translucency effect.
In other respects, this embodiment functions similarly to the mouse tracking - 52 - embodiment described above. As in the above embodiment, selection is achieved by hovering the mouse cursor over certain cells (though other methods of selection, such as clicking, may also be used). The selected row or area is then frozen.
Thus, the user can freeze a portion of interest of the dynamically displayed market depth whilst the other data is continuously updated, by pointing to the desired region with a mouse. The value of the parameter which is frozen is held for use in generating a trade order for further transmission to the exchange. The frozen portion of the display can be returned to its former dynamic state when the mouse pointer is moved away from the desired region.
Instead of the tracking module 2520 described with reference to Figure 5 above, a freezing display module is used to freeze the mouse-selected price value whilst keeping the other non-selected values continually updateable. That is, the row does not move even though the other rows in the display may move. The data values in the frozen row may also be frozen, that is to say they may retain their value from the point the row was selected despite changes to the underlying data. Alternatively, the data values may change with the underlying data.
Freezing a selected dynamically generated value allows the user to know that the information remains steady on the screen once it is selected. This provides the user an important time advantage of being able to quickly confirm the order for further transmission to the exchange or abandon the order, for example if a different static price is shown than the price the user originally had in mind, and can prevent mistakes occurring where there is movement of market information between selection of a row and transmission of a trade order.
An example of a display in which a region has been frozen is displayed in Figure 9c.
Figure 9c corresponds to Figure 9b described above, except that, instead of the tracking of mouse movement to follow the selected row as it moves, here, the selected row has been frozen.
Starting from the situation depicted in Figure 9a, the same change in the market - 53 - occurs as was depicted in Figure 9b, resulting in the three top rows moving down by one row. In this case, however, the selected row 3202 having a price 112 and quantity 54 remains displayed in its current position and is hence "frozen". In the present example, this leads to a duplication of that row in the display. One row, containing the values 12 and 113 (see Figures 9a and 9b) is now hidden behind the frozen row.
Only the position of the selected row may be frozen, in which case the data values in that row continue to be updated. Alternatively, the data values may remain fixed at their pre-selection values. In either case, a change to the data values in the frozen row can be communicated, for example, by changing the background of the frozen row 3202 (for example by using a different background colour for cells whose value has changed or for the entire row). Changes in the inside market can be similarly communicated. Highlighting of cells and rows to communicate certain changes in the data will be discussed in more detail below.
A further example is shown in Figure 9d, this time using a central price column. The display shown corresponds to the display of Figure 7b, but again using the freezing mechanism instead of the mouse-tracking mechanism.
More specifically, starting from the position of Figure 7a, the same change occurs to the market as depicted in Figure 7b. However, in Figure 9d, after the inside market changes, the information in the hovered-over (selected) region is frozen, whilst the other regions having different price levels continue to be updated dynamically and to move up and down in response to market changes.
When the mouse pointer is moved away from the grid or region associated with the trading price, that grid or region is deselected and the market depth display returns to its prior state (with no row selected, as shown in Figures 4a, 4b and 8), or an alternative row is selected (depending on whether the mouse cursor is moved outside the selection region, or to a selection region of a different row). Where the freezing mechanism is used, the frozen row becomes dynamically updated. Where the mousetracking mechanism is used, the tracking module ceases to operate on that grid or region.
- 54 - VI. DISPLAY OF ADDITIONAL INFORMATION FOR SELECTED ROW Further features of the system used to display additional information will now be described with reference to Figure 10.
In preferred embodiments, additional information relating to the market, for example, relating to a price level, such as summary or statistical market information, is presented to the user. Such information can be useful in allowing the user to make a more informed decision regarding trading. To overcome the constraint of limited space on a user's screen, which may have several market depth displays being displayed simultaneously, such additional information is preferably displayed in a pop-out window or region for the selected row only.
Figure 10 shows a market depth display 3302 of such an embodiment, having a central bid and ask quantity column 3304 similar to those described above with reference to Figures 8 and 9a to 9c. The system is adapted to provide further information 3306 in a pop-out region or window 3308 which is generated when the initial selection (hovering over) of a cell or region is performed by the user.
In the example shown, the further information 3306 generated includes: the current quantity at price 112 (it can be seen that the quantity has changed since the row was selected) 3305, the cumulative quantity 3310 of other users' offers priced a tick lower than the user's selected price of 112; the cumulative quantity 3312 of other users' offers priced a tick higher than the user's selected price of 112; the difference between the current best ask price and the best ask price over a specified past time interval, in this example, ten minutes prior 3314; and the difference between the current best ask price and the best ask price over another specified time interval, in this example, one hour prior 3316.
As already mentioned, in some embodiments, in contrast to the embodiment illustrated in Figure 10, data in a selected row (whether selected using the mouse- tracking mechanism or the freezing mechanism described above) is updated - 55 - automatically, in the same manner as for non-selected rows (only the screen position of the row being frozen). In such cases, the current quantity at price 112 is not included in the further information provided in the pop-out region, as the quantity information in the bid and ask quantity column would anyway be updated to be current.
The market depth display returns to its prior state, that is, the pop-up window disappears (and, if the freezing mechanism is used, the frozen row becomes dynamically updateable), as shown in Figure 8, when the mouse pointer is moved away from the grid or region associated with the trading price which was previously selected.
In preferred embodiments, a visual indication of a change of the market information, for example by way of a change in background appearance, colour, sound, or movement of a graphical object, occurs to alert the user that the inside market has changed. In for example Figure 7b the visual indication is shown as a change in the background shading which does not obscure the price and quantity information.
In another example, the system prevents the user from trading at the selected displayed price if the market moves before the trade order is sent.
Preventing the generation or sending of the order provides an important automatic fail-safe feature for the user for situations in which it is imperative that a trade order is submitted at the desired price.
The system also allows the user to set criteria for preventing sending of a trade order to allow for situations in which a user in a given position prefers to be prevented from trading only when the market moves in a particular direction, e.g. down. This is achieved for example by providing customisable limits for trade order parameters which may include price, market spread or direction of market movement.
- 56 - VII. EXAMPLE SCREEN SHOTS OF A TRADING APPLICATION Screenshots from a front-end trading application providing functionality similar to that as described with reference to Figures 1 to 7a and 7b will now be described.
Figures 11, 12 and 1 2b show screen-shots of a trading application for a single user trading platform.
Figure I 1 shows a screenshot of a market depth view 2800 with a top row 2802 positioned horizontally above the (vertical) columns.
Each market depth trading view has a movable order entry parameter ticket (not shown), columns which are movable and resizable and which have resizable display fonts.
The column headings will now be described.
The Net Column 2804 shows the current net position at that price level.
The Inf (lnfront) column 2806 shows the quantity left in the market until the user's order is filled. For markets that work on a first come-first served basis, the Inf quantity is estimated by taking the quantity in the market when the order is submitted and then removing the last traded quantities as they get traded. When all the quantity has been traded this cell is left blank. For markets that are pro-rata (that is, markets in which lots are bought from or sold to traders pro rata to the number of lots in those traders' working orders) the user's order would start to get filled before this volume disappears. The quantity left in the market until the user's order is filled can only be guessed in some cases, even for markets that work on a first come-first served basis, as, for instance, some orders in the market, ahead of the user's order, may be pulled before being filled.
The Wrk column 2808 shows the quantity of lots the user is trading at thatprice. This shows the extent to which the user is "participating" in the market at that price level.
- 57 - The bid column 2810 shows the current bid quantity at each price level. The price column 2812 shows the price level for either of a bid or ask quantity. The ask column 2814 shows the current ask quantity at each price level.
The inside market is shown at about the centre of the screen at 2803 with inside market prices of 97.795/97.800.
The Last column 2816 shows the last traded quantity. Whenever the last traded price and quantity changes, a small pop-up (not shown) with the quantity appears temporarily half line below the last traded price.
The top row 2802 data shows data for five variables measured over the course of a trading day.
The High cell 2818 shows the day's highest price, the Low cell 2820 shows the day's lowest price, the Move cell 2822 shows the day's move, which is equal to the current price minus the settlement price from the previous Trading Day. The Vol cell 2824 shows the day's total traded quantity or volume. The Limit cell 2826 shows the limit allotted to the user in the market; that is the maximum amount they can be long or short for that market. In particular variants there is also a Clipsize cell (not shown) which limits the value of a single order which can be submitted to the market to a given "clipsize".
This particular screen employs a pointing device, for example, a mouse, to instruct an application program to generate and send trade orders. The mouse functionality will now be described.
A left click in the Bid column 2810 at a location where the price is higher than the inside market buys the default volume at the best price, not the price level relevant to that location (since in nearly all exchanges a buy or sell will only be made at the best available price). Such a process is otherwise referred to as the "filling" of an order.
On the other hand, a left click in the Bid column at a location where the price is at or - 58 - lower than the inside market submits a bid order at the price level relevant to that location, hence enabling a user to "join" the market. Such a bid order is otherwise known as a "working order", that is one that has not yet been filled.
A left click in the Ask column 2814 at a location where the price is lower than the inside market sells the default volume at the best price. A left click in the Ask column at a location where the price is at or higher than the inside market submits an ask order at that price level.
In variants of the preferred embodiment, two different default volumes can be set up, one applied using a left click and one applied using a right click. In the present example, considered in relation to those variants, a right click in the Ask column 2814 at a location where the price is lower than the inside market sells, at the best price, a different default volume to the default volume which would be sold using a left click.
The order is submitted upon release of the clicked mouse button - but can alternatively be set on mouse down or one-click if that option is chosen in the application program preferences. In other words, the user can trade on the down click of a mouse or on the up click, according to preference.
In one variant, by repeatedly clicking at particular locations in the bid and ask columns, bid and offer quantities at prices corresponding to those locations are incremented by pre-set amounts.
A left click in the Wrk column 2808 pulls (deletes) the last order entered by the user at that price level.
A right click in the Wrk column 2808 allows the user to adjust the order (for instance the volume or price). Pushing down on the right button combined with movement of the mouse enables a drag and drop feature which allows the user to move an existing order at one price to another price.
- 59 - A left click on the Price column 2812 sets the chart levels, in the sense that a left click on a particular price highlights that price permanently. if a user clicks on say two prices either side of the inside market this can assist the user for example in trading between those two prices. A price can be unhighlighted by clicking on it again.
The columns and cells described above are shown in Figures 12 and 13.
Figure 12 shows an updated screenshot 2900 after a change in the inside market 2902.
It can be seen that for the state of the market shown in Figure 12, a user could place a bid at any price up to and including 97.800 (any bid above that price would immediately be filled at the inside market price). Similarly a user could place an offer at any price down to and including 97.800 (any bid below that price would immediately be filled at the inside market price).
in the preferred embodiment, the price at the middle of the screen is always the price at the middle of the inside market. if the inside market price shifts then the display shifts to take account of that shift.
In the preferred embodiment, the colour of an entire row is changed when the row is selected.
In alternative embodiments, the colour of only the three bid, price, and ask cells of the selected row is changed upon selection of a row. In further alternative embodiments the colour of the border of the cells in a selected row, or at least some of those cells, is changed upon selection of the row.
In the preferred embodiment, the colour of the cells of the selected row is further changed when there is a change in the inside market.
In variants of the preferred embodiment, whether or not the colour of cells, text, and borders of cells changes automatically upon selection of a row - and which cells, text, and borders, and to which colours - is determined by the user. Similarly, whether or - 60 - not any further changes of a selected row occur automatically upon a change in the inside market is also determined by the user.
The front-end trading application described may use the mouse-tracking mechanism described above to force the mouse cursor to follow a selected row on the display.
Alternatively or in addition, the freezing mechanism described above may be used.
As an example of the latter, Figure 1 2b shows a screen shot corresponding to Figure 12, but where a row has previously been selected and frozen. The frozen row is superimposed over other rows and remains in its position despite movement of other rows. Specifically, display 3500 shows a frozen row 3502 and a highlighted 3504 change in background appearance of the frozen row 3502 after the inside market 3506 has changed.
1 5 In the example shown, the colour of all cells in the frozen row 3502 has been changed. In alternative embodiments, the colour of only the three bid, price, and ask cells of the frozen row is changed upon selection of the row. In further alternative embodiments the colour of the border of the cells in the frozen row, or at least some of those cells, is changed upon selection of the row.
VIII. SCREEN SHOTS OF AN ALTERNATIVE TRADING APPLICATION Figures 13 to 16 show portions of screenshots from an alternative front-end trading application. In these examples, the mouse-tracking mechanism (described above) is used when a row is selected, but the freezing mechanism could also be used.
Figure 13 shows a portion of a screenshot of a market depth view, similar to that of the front-end trading application of Figure 8. The column headings shown in Figure 13 (namely Net, Inf, Wrk, Bid, Ask, Price, and Last) have already been described in connection with Figure 11.
ln Figure 1 3, the mouse pointer 4000 is resting over the 96.02 cell in the price column. No row is selected, as in the embodiment of Figures 13 to 16 particular rows are selected only by positioning the mouse pointer 4000 over cells in the Wrk, Bid, and Ask columns, and not by positioning the mouse pointer 4000 over cells in the Net, Inf, Price and Last columns. The inside market is at 96.0 1/96.02.
In Figure 14, the inside market is still at 96.01/96.02. The mouse pointer 4000 has been positioned over the Ask cell in the row corresponding to a price of 96.02, and that row has thus been selected. It can be seen that the row has changed colour to indicate that it has been selected. In the preferred embodiment the user can choose how they wish the selection of a row to be indicated; for instance the colour of the selected row can be chosen by the user, or the user can choose to change the colour of only particular cells in the selected row.
If the user were now to left click on the mouse, they would submit an order (either on the down click or on the up click, depending on the setup chosen by the user) at the ask price of 96.02. If instead the user were to move the mouse one cell to the left, into the bid column, and then to left click on the mouse they would buy the default volume at the price of 96.02. If instead the user were to move the mouse one cell upwards to the row corresponding to the price of 96.02 would be deselected, and instead the row corresponding to the price of 96.03 would be selected.
In Figure 15, the user has merely left the mouse pointer 4000 in position over the Ask cell in the row corresponding to the price of 96.02, and the market has now traded up and is at 96.02/96.03. It can be seen that the mouse pointer 4000 has moved, under control of the tracking module rather than the mouse, so that it is still position over the Ask cell in the row corresponding to the price of 96.02, with that row remaining selected.
If the user were now to left click on the mouse, they would sell the default volume at the best price of 96.02. If instead the user were to move the mouse one cell to the left, into the Bid column, and then to left click on the mouse they would submit an order at the bid price of 96. 02.
In Figure 16, the user has again merely left the mouse pointer 4000 in position over - 62 - the Ask cell in the row corresponding to the price of 96.02 and the market has again moved up. it can be seen that, once again, the mouse pointer 4000 has moved, under control of the tracking module rather than the mouse, so that it is still in position over the Ask cell in the row corresponding to the price of 96.02, with that row remaining selected.
It can be seen from Figures 14 to 16 that the selected row flows up and down the screen as the market changes, remaining selected, with the mouse pointer 4000 following automatically the movement of the selected row, without any input from the user being required. Thus user can see very clearly the flow of the selected row, and the position of the selected row relative to the inside market. The user is also aware that he can trade at the price corresponding to the selected row with only a single click of the mouse, or with only a movement of the mouse pointer one cell to the left or right followed by a single click of the mouse.
The mouse pointer, or cursor, is specific to the price in the cell and the row moves according to market conditions.
As described above in relation to Figures 14 to 16, the flow of the market up and down can readily be seen by the user due to the selected row being a different colour to the other rows and flowing up and down with the market.
A feature of a variant of the preferred embodiment which provides enhanced visibility to a user of market flow is now described with reference to Figure 1 7, which shows a portion of a screenshot from a variant of the front-end trading application described with reference to Figures 1 3 to 16.
It can be seen in Figure 17 that again the mouse pointer 4100 is positioned over the 96.04 cell in the Price column and that no row is selected (again in this variant, particular rows are selected only by positioning the mouse pointer 4100 over cells in the Wrk, Bid, and Ask columns, and not by positioning the mouse pointer 4100 over cells in the Net, Inf, Price and Last columns).
- 63 - It can also be seen that rows 4104, 4106 and 4108, corresponding to prices 96.05, 96.02 and 95.99 respectively, are highlighted, even though none of those rows have been selected using the mouse pointer 4100.
The highlighted rows 4104, 4106, and 4108 move with movement of the corresponding prices (96.05, 96.02, and 95.99) up and down the market, and the use of the highlighted rows provides a striking visual indication of movement of the market, and enables a user to discern movement in the market without having to read the numbers appearing in particular cells in the Price column. The user is able to discern movement in the market easily and immediately and, for example, even when using only peripheral vision to look at the display.
The highlighted rows 4104, 4106 and 4108 shown in Figure 17 are evenly separated by three price ticks.
The user is able to set the separation of the highlighted rows to be any desired separation from two ticks upwards. The user is also able to specify that the highlighted rows are not unevenly separated, or to specify that only a single row is highlighted.
It can be seen in Figure 17 that it is the cells in the Net, lnf, Wrk, Price and Last columns of the highlighted rows 4104, 4106 and 4108 that are highlighted. The highlighting of the Price cell and the Last cell in the highlighted row 4106 has been overridden, and those cells are coloured green, to reflect the last trading action that has taken place. That feature of cells being coloured to reflect the last trading action is discussed in more detail in connection with Figures 18 to 25. In the preferred embodiment, the user is able to specify which cells in each highlighted row are highlighted, and how the highlighting should be overridden, if at all, by other display features.
The user is also able to specify the manner in which each cell is highlighted, for instance by a difference in colour, a difference in shading, by inclusion of additional text, characters or lines.
- 64 - In Figure 17, it can be seen that the highlighted cells in the Price column of the highlighted are rows are of a different shade from the other highlighted cells (Net, Inf, and Wrk) in the highlighted rows 4104, 4106 and 4108, which provides increased contrast of the highlighted cells in the Price column with respect to the other cells in the Price column.
The user is able to set the various options relating to the highlighted rows, including spacing of highlighted rows, shading, and colouring options, from a drop-down menu.
In order to provide further information to the user concerning changes in the market, the preferred embodiment also provides the user with the option of setting the colour of particular cells, for instance the cells in the Last column, to be dependent upon the last trade that occurred in the market. That feature is illustrated in Figures 1 8 to 20, each of which shows a portion of a screenshot from a variant of the front-end trading application described with reference to Figures 13 to 16.
It can be seen that the colour of the highlighted cell in the Last column in each of Figures 18, 19 and 20 is different. This reflects the fact that the last trading activity that has taken place is of a different type in each of Figures 18, 19, and 20.
In Figure I 8, the last trading activity that has taken place is a buy trade at the Ask price. The highlighted cell 4200 in the Last column has been coloured blue as the last trade was at a lower price than that of the previous trade.
In Figure 19, the last trading activity that has taken place is a sell trade at the Bid price. The highlighted cell 4202 in the Last column has been coloured red as the last trade was at a higher trade than that of the previous trade.
In Figure 20, the last trading activity that has taken place is a trade at the same price as the previous last trade price. The highlighted cell 4204 in the Last column has been coloured green as the last trade was at the same price as the previous trade.
- 65 - By colouring this highlighted cell in the Last column in dependence upon the last trading activity that has taken place, the user is provided with a visual indication of market change.
In variants of the preferred embodiment, the colour of the highlighted cell in the Last column also varies with time since the last trade took place, usually towards a default colour. Thus in Figures 18, 19 and 20 the highlighted cells 4200, 4202, 4204 in the Last column would each change to the same default colour within a fixed period of time after the last trade took place. Typically each of the highlighted cells 4200, 4202, 4204 would fade towards the same default colour (for instance grey) from blue, red, and green respectively.
In the preferred embodiment, the user is able to choose the possible colours of the cells in the Last column (or indeed in any other column) and the conditions under which those cells appear in those colours, in dependence upon the last trade that took place, and whether and on what timescales the colours vary after the last trade. In the preferred embodiment the user is also able to specify other market events - in addition to type of last trade, and time since last trade - which cause particular cells to change colour.
An example is now provided, with reference to Figures 21 to 25, which show a series of portions of screen shots following a series of consecutive trading activities.
Figures 21 to 25 show an example of the highlighted row feature described above with reference to Figure 17, and an example of the colouring of cells in dependence of last trading activity features described above in relation to Figures 18, 19, and 20.
In Figures 21 to 25, Net, Inf, Wrk, Bid, Ask, Price, and Last columns are shown. In contrast to Figure 17, and Figures 18 to 20, the Price column is located between the Bid and Ask columns.
In each of Figures 21 to 25 the mouse pointer is not present on the portion of the screen shown, and no row is selected.
- 66 - In Figure 21, the last trade has taken place at a price of 96.02 which is the same price as the previous last trade price, and accordingly the cell 4300 in the Last column corresponding to a price of 96.02 has been coloured green. In this example cells in the Price column are also set to change colour in dependence on the last trading activity, and thus the 96. 02 Price cell 4302 has also been coloured green.
It can also be seen in Figure 21 that rows 4304 4306 4308 corresponding to prices 96.05, 96.02, and 95.99 have been highlighted by colouring them yellow. The rows have not been selected but rather are coloured yellow to visually indicate flow of the market to a user, as described with reference to Figure 17 in another example.
It can be seen that the Bid and Ask cells in the highlighted rows have not been coloured yellow (in variants of the embodiment the Bid and Ask cells in a highlighted row are coloured in the same way as other cells in the highlighted row, in this case yellow).
It can also be seen that the cells in the Price column in the highlighted rows have been coloured a darker shade of yellow in order to provide a greater contrast with the grey colour of the other cells in the Price column. The exception to this is the cell at a price of 96.02 in the Price column, which is coloured green. in this example the colouring green of that cell in dependence on the last trading activity has overridden the colouring yellow of the cell due to the row being highlighted. Similarly, the colouring green of the Last cell in the row corresponding to a Price of 96.02 has overridden the colouring yellow of the cell due to the row being highlighted.
Moving on from the situation shown in Figure 21, someone has subsequently traded all of the volume at a price of 96.02 out of the market. Then 58 lots have been traded at a price of 96.03. Following that trade, the screen has the appearance shown in Figure 22.
Tt can be seen that the Price cell 4400 and Last cell 4402 in the row corresponding to a price of 96.03 have been coloured red, as the last traded price, of 96.03, is towards the offer depth.
- 67 - The Price and Ask cells in the row corresponding to a price of 96.02 are no longer coloured green as the price of 96.02 is no longer the last traded price. Instead those Price and Ask cells are coloured yellow as they are in a highlighted row.
Next, there is a further trade at a price of 96.03, which trades all of the volume at that price. Following that trade, the screen has the appearance shown in Figure 23. It can be seen that the Price 4400 and Last 4402 cells in the row corresponding to a price of 96.03 have now been coloured green, as the last traded price, of 96.03, is the same as the previous last trade price.
Next, there 13 lots are traded at a price of 96.04. Following that trade, the screen has the appearance shown in Figure 24. It can be seen that the Price 4500 and Last 4502 cells in the row corresponding to a price of 96. 04 have now been coloured red, as the last trade was at a higher price than that of the previous trade (the last traded price is towards the offer depth).
Next, more volume (580 lots) is put into the market at a price of 96.03, and finally 20 lots have been traded at a price of 96.03. Following that trade, the screen has the appearance shown in Figure 25. It can be seen that the Price 4400 and Last 4402 cells in the row corresponding to a price of 96.03 have now been coloured blue, as the last trade was at a lower price than that of the previous trade (which was 96.04).
As mentioned above, the colouring of the cells in dependence on the last trading activity is determined by a user in the preferred embodiment. Considering other options which may be determined by a user, it is a feature of the preferred embodiment that the user is able to select whether or not to use the highlighted rows feature to indicate market flows. In certain variants the user is also able to select whether the tracking module is used when a row is selected, or whether an alternative method is used when a row is selected, for example the freezing mechanism described above.
In a variant of the embodiment of Figures 13 to 16, the user is able to select whether - 68 - the tracking module is used when a row is selected, or whether the selected row is frozen.
Figures 26 and 27 show a portion of a screenshot of a market depth view, in a variant of the embodiment of Figures 13 to 16 in which the user has chosen not to use the tracking module but instead has chosen that selected rows be frozen.
It can be seen in Figure 26 that the mouse pointer 4000 has been positioned over the Ask cell in the row corresponding to a price of 96.02, and that row has thus been selected. It can be seen that the row has changed colour to indicate that it has been selected and is now frozen.
In Figure 27, the market has now traded up and the frozen row remains in the same position, and the mouse pointer 4000 also remains in the same position over the Ask cell in the frozen row. The display continues to update with new market information, and the display now includes a second row corresponding to a price of 96.02 which contains identical information to the frozen row. The second row corresponding to a price of 96.02 will continue to update with new market information and to move up and down as the market moves, whilst the frozen row, which contains identical information to the second row will remain frozen in position. The user can submit orders, and perform other operations, as appropriate, at the price of 96.02 by clicking in the appropriate cells either in the frozen row or in the second row corresponding to a price of 96.02.
Thus it can be seen that the user is able to set up the application to their own personal preferences, and to trade in the way that they find most effective.
Before considering the operation of the tracking module, a brief description of a further embodiment is provided.
The further embodiment relates to the processing of trades after they have been placed. Such post trade processing might typically be carried out in a middle office or back office environment. Rather than viewing, for instance, a list of bid and ask - 69 prices and quantities as described above with reference to Figures 7 to 27, a user would instead view a list of individual trades ordered, for instance, by trader name, company name, counterparty name, time of trade, trade size, or price.
The user selects one or more of the trades and then takes further action with regard to the one or more trades. Such further action includes one of pulling the trade; amending the details of the trade; including one or more of the details of the trade in a further process such as a risk management, settlement, or audit process; or authorising settlement of the trade.
In the further embodiment, as with the described embodiments relating to front-end trading applications, the trades in the list move, both individually (appearing, disappearing, and changing order) and as a whole (the whole list moving across a display). As with the described embodiments relating to front-end trading applications the user selects and deselects trades by hovering a mouse cursor over particular areas of the display, and subsequently takes further actions by clicking on the mouse (although in variants, other user input devices and methods of selecting, deselecting, and carrying out further processes are used).
There are two particular variants of the preferred embodiment:- one in which once a trade is selected the element corresponding to the trade is frozen on the display (as described herein in relation to front-end trading embodiments), and one in which a tracking module ensures that the mouse pointer follows the movement of the element corresponding to the selected trade across the screen (as described herein in relation to front-end trading embodiments). Some other variants and embodiments are described below.
Thus it can be ensured that the user does not inadvertently select the wrong trade, for instance due to movement on a display of elements corresponding to the various trades, and that the user carries out any further operations on the correct trade.
Another embodiment is described with respect to Figures 28a, 28b, and 28c. Four movable elements, A, B, C, and D are shown displayed on a screen 4500 in each of - 70 - Figure 28a, Figure 28b, and Figure 28c. A cursor 4502 is also shown in each of the figures. The cursor 4502 is movable using a mouse (not shown).
Figures 28a, 28b, and 28c illustrate the movement of the movable elements and the cursor with time.
In Figure 28a, none of the movable elements are selected.
Subsequently, movable element A is selected by movement of the cursor to a position adjacent to movable element A. No further movement of the cursor using the mouse then occurs. However, after being selected, the movable elements move across the screen and the cursor follows the movement of movable element A, under control of a tracking module (such as that of the preferred embodiment), not under control of the mouse. The situation is then as shown in Figure 28b. It can be seen that movable element A is emboldened indicating that it is selected.
Subsequently, the movable elements move across the screen and are reordered.
Again, the cursor follows the movement of movable element A under control of the tracking module, not under control of the mouse. The situation is then as shown in Figure 28c. Again, it can be seen that movable element A is emboldened indicating that it is selected.
IX. OPERATION OF THE TRACKING MODULE More detailed information is now provided concerning the operation of the tracking mechanism and tracking module discussed above in relation to various embodiments.
When no row is selected the mouse pointer is moved in response to movement of the mouse in the usual way.
Whilst a row is selected the tracking module monitors the movement of the selected row and ensures that the mouse pointer remains positioned over the selected row regardless of the movement of the selected row. - 71 - The operation of the tracking module, for variants of the preferred
embodiment, when there is a price movement which causes rows to move (that is which causes the price ladder to move; the rows positioned one above another in price order can be thought of as a price ladder) is described in overview in the flowchart of Figure 29.
Typically there might be a number of consecutive price movements which cause rows to move, and for each price movement the tracking module operates according to the flowchart of Figure 29.
The reference to a sticky column' in the flowchart is to any column which causes a row to be selected when the mouse pointer is positioned over the column (for instance any of the Wrk, Bid, and Ask columns in the embodiments described with reference to Figures 13 to 17 for instance).
It can be seen with reference to the flowchart that if mouse pointer is not over a sticky column - that is, if a row is not selected - then no action will be taken with regard to the mouse pointer position by the tracking module.
If the mouse pointer is over a sticky column - that is, if a row is selected - then the tracking module will first consider whether the price column has moved up (which is the same as considering whether the selected row has moved up).
If the price column has moved up then the tracking module considers whether, if the mouse pointer is made to follow the movement of the price column, the mouse pointer will move off the area of the screen in which the rows and columns are displayed (this is equivalent to considering whether the selected row has moved off that area of the screen). In the flowchart, the area of the screen in which the rows and columns are displayed is referred to as the quick trade screen.
If the mouse pointer will move off the area of the screen in which the rows and columns are displayed then no action is taken with regard to the mouse pointer position by the tracking module (although more typically in the preferred embodiment - 72 - the quick trade screen automatically reconfigures to ensure that the selected row is always displayed in the quick trade screen despite movement of the selected row. In other variants of the embodiment, the screen does not reconfigure but the mouse follows the selected row even when the selected row has moved off the quick trade screen).
If the mouse pointer will not move off the area of the screen in which the rows and columns are displayed then the tracking module causes the mouse pointer to move up the number of pixels that make up a row, thus ensuring that the mouse pointer remains positioned over the selected row.
Following the flow chart, if the price column has not moved up, it must have moved down, and then the tracking module operates as described in the three preceding paragraphs but with references to moving up being replaced with references to moving down.
In the preferred embodiment, operating in a local area network environment, the Windows User Interface library of functions is used by the system to interact with a mouse controlled by a user, and the tracking module uses the SetCursorPos(x,y) function to change the position of the mouse cursor to move the mouse cursor in dependence upon the movement of a selected movable element, in particular a selected row or cell.
The SetCursorPos function moves the cursor to specified screen coordinates. In particular variants of the preferred embodiment, in which the ClipCursor function is used to set limits of movement of the cursor, if the new coordinates are not within a screen rectangle set by the most recent ClipCursor function call, the system automatically adjusts the coordinates so that the cursor stays within the rectangle. In other variants, the new coordinates are not adjusted and the cursor moves outside the rectangle. In still other variants, the rectangle is automatically resized so that the new coordinates fall within the new rectangle.
- 73 - The syntax of the SetCursorPos function is BOOL SetCursorPos( intX, intY ) ; The parameter X specifies the new x-co-ordinate of the cursor, in screen coordinates.
The parameter Y specifies the new y-co-ordinate of the cursor, in screen coordinates.
If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, the GetLastError function can be called.
Usually, the cursor is a shared resource and a window should move the cursor only when the cursor is in its client area.
Usually, the calling process has WINSTAWRITEATTRIBUTES access to the window station.
Use of the SetCursorPos function in the preferred embodiment usually requires:- user32.dll as a minimum; a header declared in Winuser.h, including Windows.h; User32.lib as the import library; and Windows 95 or Windows NT 3.1 or later operating systems.
The SetCursorPos function is typically used in conjunction with one or more of the following functions:- ClipCursor, GetCursorPos, SetCaretPos, SetCursor, ShowCursor.
A code listing implementing the operation set out in the flow chart of Figure 29 is now provided, and showing the use of the SetCursorPos function in the preferred embodiment is now provided:- - 74 - void CCornpositescalpview: :Keepr1ouseFloatinq() if (mlFloatingprice == NIJLL PRICE) return; long riRow = GetRowForPrice (in lFioatingPrice) it (nRow 0 && nRow 1= m_nFloatingRow) ROWCOL nTopRow = GetTopRow, ROWCOL nllottomRow = nTopRow + (long) Get-VisibleRowCount 0; it (nRow nTopRow:i nRow nTopRow - 2; else if (nRow > n}lottomRow) nRow nBottomRow 1, int dy (nRow mnFloatingRow) * GetRowHeight (nRow) iii nFloatingRow = nRow, POINT cursor; it ( :GetCursorpos (&cursor) SetCursorPos (cursor x, cuisor y + dy) The pseudocode corresponding to the code listing is also provided:Start If the cell the mouse pointer is over is not a sticky' column cell Then do nothing end if Get the row number for the cell we are over If the row is a valid row Then Get the visible top row Get the visible bottom row end if If the current row is higher than the top row Then Calculate and store a valid row CV) end if If the current row is lower than the bottom row Then Calculate and store a valid row CV) end if Calculate the distance the mouse cursor must move by using: - 75 - (valid row (V) - current row) * the row height Remember the new floating row If a mouse pointer exists Then move the mouse pointer by the calculated distance end if End In particular variants of the preferred embodiment, operating via a web browser, ActiveX components are used by the system to interact with a mouse controlled by a user. The ActiveX components enable the use of the same function calls, in this case 1 5 SetCursorPos(x,y), as locally installed executables. ActiveX components that give functionality for mouse manipulation are currently available.
Mechanisms have been described above for assisting the user in keeping track of a desired or selected row and to ensure that trading instructions are submitted in relation to the intended row despite movement in the market display. This can be useful especially where trading instructions can be submitted by way of a single mouse click, so that mistakes could otherwise easily be made. The mechanisms described include the tracking mechanism in which the mouse pointer is automatically moved to follow a selected row, and the freezing mechanism, in which a selected row remains static on the screen despite movement of other rows. Other mechanisms can also be used, and features of the mechanisms described may be combined freely. Some further embodiments and variants are described in the following section. The terms "variant" and "embodiment" are used herein interchangeably.
X. FURTHER EMBODIMENTS AND VARIANTS Trading displays in which the price column or axis remains fixed and the inside market moves up and down the display in response to trading activity can have the advantage of reducing confusion due to movement of price levels and can also reduce the likelihood of trade orders accidentally being placed at the wrong price level.
However, a disadvantage is that the position of the inside market may not be immediately apparent, and may even move off the display.
- 76 - In the trading displays described herein, the market display generally displays the inside market at a pre-determined location, usually approximately at the centre of the screen or window. This gives the user clear and instant access to the most important market information. To achieve this, the price axis moves up and down in response to trading activity (in some examples described above, only part of the price axis may move, e.g. the part above or below the inside market, in particular where price ticks without an associated bid or offer volume are not shown) . However, a disadvantage associated with a moving price axis is that movement of price levels can lead to mistakes by the user since the position of a given price level is not always immediately apparent and may change rapidly and suddenly.
Mechanisms have been described which aim to alleviate the latter problem by ensuring that, once a price point has been selected, future trade orders are processed with respect to the selected price point, for example by freezing the relevant row on the display.
Dampened price ladder An alternative approach will now be described which combines some of the advantages of both the fixed and moving price axis approaches. In this example, when movement in the market occurs, the price axis initially remains fixed, and the inside market moves up or down the display (for example by highlighting / unhighuighting relevant cells). The display is then subsequently scrolled in the opposite direction (moving the price axis) until the inside market returns to its central position. Unlike the initial jump of the inside market, this scrolling movement is preferably sufficiently slow so that the user can track the movement but sufficiently fast for the movement to be noticeable (preferably clearly noticeable). The user, being made aware of the movement in the market, will be less likely to accidentally place an order in relation to the wrong price level and instead will be able to reposition his mouse pointer to the desired price level. Thus, instead of the sudden movement of the price ladder as may occur in some of the previously described examples, in this example, the movement of the price ladder is (in effect) dampened.
- 77 - The scrolling of the price ladder to return the inside market to the central position is referred to herein as centring or re-centring the price ladder (or price axis or display).
It will be understood that the position to which the inside market is scrolled need not necessarily be the actual centre of the screen, display or window, but could be some other position (the user may for example select the display position at which the inside market should be shown); and references herein to a central position and to re- centring shall be interpreted accordingly.
An example of this re-centring process will now be described with reference to Figures 30a to 30c.
Figure 30a shows the market situation before movement of the inside market. Using a system as described previously, an upward movement of the inside market by four price ticks might lead directly to the situation shown in Figure 30c. This sudden jump of the price axis could, as already mentioned, be disorienting and cause errors.
Therefore, instead of moving directly to the display of Figure 30c, in the present example, the price axis initially remains static, with the inside market jumping to a position further up the display as shown in Figure 30b. As can be seen, the price axis in this display has not yet moved and is identical to that of Figure 30a.
In this example, the position of the inside market is depicted by the highlighting of a relevant cell, in this case the highest bid price (alternatively, the lowest ask price could be highlighted), by displaying the cell using a lighter background colour.
Additionally, the background colour in each of the bid and ask columns changes at the inside market, resulting in a clear visual demarcation. Additionally or alternatively, a marker such as a line or arrow could be displayed overlaid on or adjacent the location of the inside market. This would then also be moved when the inside market first jumps. After the display has been updated to reflect the change of the inside market, the user interface then begins to scroll the price axis down smoothly (in the direction of the arrow shown in Figure 30b), until arriving at the situation depicted in Figure 30c. The same end result is therefore achieved, but the movement of the information, - 78 - and in particular the price levels, is made obvious to the user, which can help to prevent mistakes. Furthermore, though during trading the best bid/offer volumes (i.e. the inside market) may move up and down the display, they always end up centred in the middle of the display after a short while, which can assist the user in identifying the most important market information relatively quickly.
Preferably, the information is scrolled smoothly on a pixel-by-pixel basis or in small scroll steps of a few pixels, rather than, for example, in row-by-row steps. In this way, the movement can be more effectively communicated to the user.
The speed of the scrolling movement of the price axis during re-centring is preferably user-definable, for example by way of a slider, or by selection of one of a number of defined speed settings. For example, "off', "slow", "medium" and "fast" settings could be provided, with "off' corresponding to no scrolling, and "slow", "medium" and "fast" corresponding to scroll speeds of, say, 1, 1.5 and 2 rows per second respectively. If the re-centring / scrolling speed is set to zero or "off' then the price axis is re-centred without scrolling (i.e. immediately / instantaneously). Alternatively, switching off scrolling could result in a fixed price axis display.
Scrolling at the correct speed can be achieved by calculating a time increment by dividing the scroll time by the number of pixels to be scrolled (e.g. I second divided by the number of pixels in a row for a 1 row/second speed), and then repeatedly scrolling the displayed price axis by I pixel at intervals defined by the time increment.
Instead of 1 pixel, a different minimum step size could be used for scrolling. For example, the minimum step size could be defined as a proportion of the row height (which may itself be variable), rounded down or preferably up to the nearest whole number of pixels. For example, where the minimum scroll step size is one eighth of a row height, the minimum step sizes for row heights of 16, 20 and 24 pixels may be 2, 3 and 3 pixels respectively. The time interval would be calculated accordingly (i.e. for a scroll speed of 1 row/second with a row height of 16 pixels, the price axis could be scrolled by 2 pixels every one eighth of a second).
- 79 - Additionally the speed of re-centring may be varied depending on the distance of movement of the inside market from the centre of the display - the further the rows in question have to move during the re-centring operation, the faster they are moved. For example, the speed may be adjusted so that re-centring takes a substantially constant amount of time regardless of the distance.
In one embodiment, the user can specify the speed and behaviour of the recentring process by way of a number of configuration parameters. Firstly, a Time parameter (for example, set as a value between 1 and 10 seconds) specifies the time that the user interface will take to re-centre the price ladder. This time limit may be independent of the distance of the inside market jump (i.e. the distance to be scrolled during re- centring), so that a larger jump (greater distance) would result in quicker movement, for example by increasing a scrolling step size.
Additionally, a Frequency parameter may be used to specify the number of frames, movements or steps per second. A higher frequency would typically mean smaller scrolling steps and hence a smoother scrolling effect but may be more processor- intensive.
The product of the Time and Frequency settings defines a maximum number of movements (scrolling steps) required to re-centre the price ladder (for example 5 steps per second for 3 seconds would result in a maximum of 15 scrolling steps). The minimum possible scrolling step size is typically I pixel. The frequency thus also determines the minimum number of pixels the ladder will be moved per second.
The above parameters may provide an upper bound, i.e. the user interface may in some examples (for example where the distance is very short) recentre the price ladder more quickly.
The scroll speed may also vary during re-centring, for example starting faster nearer the edge of the display and gradually slowing as the inside market approaches the centre of the display (or vice versa) to achieve the desired visual effect.
- 80 - Thus, in addition to the above parameters, an Acceleration or Deceleration parameter may be provided to specify that the scrolling should accelerate or decelerate as the central position is approached. By way of example, a Deceleration parameter could take values between 0 and 20 with a value of 0 defining a constant speed and all other values defining varying degrees of deceleration to be applied during scrolling, so that the re-centring slows down as the central position is approached.
In a specific example, the inside market moves by 5 ticks corresponding to 5 rows each having a row height of 16 pixels. The total distance to be scrolled is then 5 x 16 = 80 pixels. With a Time setting of 2 seconds and a Frequency setting of 10, the total (maximum) number of scroll steps is 20, so that, at constant speed (zero deceleration) each step would be 4 pixels.
In this example, a deceleration setting of 1 may correspond to very light deceleration, in which the step size starts at 5 pixels (slightly faster than at the constant speed setting) and ends at 3 pixels (slightly slower than for constant speed). Deceleration setting 5 may correspond to a normal deceleration which starts with 8 pixel steps and ends with 2 pixel steps. A strong deceleration may be represented by a deceleration setting of 10, which starts with 12 pixel steps, with the last five steps being I -pixel steps. Deceleration settings greater than 10 could start with large initial steps (e.g. 20 pixels), with scrolling finishing in less than the maximum 20 steps.
A First Step parameter may also be provided (for example with a value range of 1-16) which corresponds to the number of pixels the price ladder is moved before the inside market is updated on the display. For example, for I 6-pixel rows, a 4 pixel initial step could be specified. In this case, the price ladder is initially not static as described above. This aspect is described in more detail below in relation to the hybrid dynamic price ladder embodiment.
Preferably, the user can disable scrolling (and hence re-centring) altogether if desired.
- 81 - By way of example, a screen shot of a configuration dialog box for setting the above parameters is shown in Figure 31 (including a check box with which scrolling can be selectively enabled and disabled).
Alternatively, as described above for speed settings, a predefined set of deceleration options could be provided (e.g. selectable by way of radio buttons), for example "off" corresponding to no deceleration and hence fixed scroll step sizes (e.g. 1 pixel), and "slow", "medium" and "fast" settings starting at, say, 5, 8 and 1 5 pixel step sizes respectively (for a 20 pixel row height) and decelerating to single pixel steps (or some other minimum step size such as an eighth of a row height as in the example above).
The automatic re-centring of the inside market may be combined with the mouse tracking mechanism described above. In that case, if a row has been selected by hovering the mouse pointer over a relevant cell, and recentring occurs following a change in the inside market, leading to movement of the selected row, then the user interface forces the mouse cursor to follow the selected row as it moves. In this way, the user can continue to issue trade orders at the selected price level during recentring without needing to reposition the mouse pointer.
A time delay, preferably set by the user, may be introduced between the original jump of the inside market and re-centring of the price axis. The speed of movement during re-centring could also be adjusted automatically in response to market conditions, for example, in response to the rate at which market changes are occurring. Thus, in more turbulent markets, recentring can operate more quickly to ensure that the user is not confused by excessive movement.
Instead of (or in addition to) automatic re-centring, the user interface may allow the user to manually re-centre the display, for example by way of a dedicated button, or by dragging a marker associated with the inside market to a desired location to indicate where the inside market should be displayed (which need not be the actual centre of the window or screen as already mentioned).
- 82 - In a further variant, a change in the inside market may be visually anticipated by commencing the re-centring movement of the price axis shortly before the display is updated to reflect the change in the inside market. Thus, in the display shown in Figure 30b, the re-centring movement would already have begun before the second row was highlighted to indicate the position of the inside market.
The user interface may enable the user to manually scroll the price axis, for example to re-centre the price axis where automatic re-centring is disabled, or simply to view information not currently being displayed. Where the user manually scrolls the price axis and automatic re-centring is enabled, re-centring may operate (e.g after a suitable delay) to recentre the inside market in the same way as described above.
Hybrid dynamic price ladder Instead of either keeping the price axis fixed and moving the inside market to a new position on the fixed price axis, or moving the price axis so as to keep the inside market centred, in a further embodiment a hybrid approach is used. In this approach, the display is adjusted so as to move the inside market to an intermediate position between the position to which it would move on a fixed price axis (as shown, for example, in Figure 30B) and the centred position. This requires the price axis to be shifted in the direction opposite to the movement of the inside market so that the inside market appears at that intermediate position. In this way, though movement of the inside market still occurs, the extent of movement is reduced.
The initial shift of the price axis is preferably carried out in a single step, i.e. in the form of a sudden jump, before highlighting of the new inside market. Re-centring of the price ladder (as described above in relation to the dampened price ladder embodiment) may then optionally be used to gradually scroll the inside market back to the centred position. Re-centring in that case would typically start from the intermediate position after the inside market shift (but could alternatively be commenced before the shift as already mentioned).
- 83 - Often, the inside market moves by a single row at a time. In such cases, the inside market may be moved up by part of a row's height (corresponding to a downward shift of the price axis by part of a row's height), after which (optionally) the inside market drifts back to the central position by way of the re-centring process. Even where the inside market moves more than a single price tick, the initial jump of the price axis may be fixed at part of a row's height. The initial jump can simply serve as a visual indication that a change has occurred without necessarily being related in distance to the extent of the change.
In one example, where the inside market moves upwards by a single price tick (i.e. a single row) the price axis is moved down towards the inside market by half a row height and the (new) inside market is highlighted as normal. The inside market is thus displayed half a row above its previous position but half a row below the position it would be displayed at if the price axis remained completely static. If used, the re- centring process then smoothly scrolls the inside market back down to the central position. Because the inside market is not moved all the way (as in the example of Figure 30b), but instead the price axis is moved towards the central point before the visible re-centring process begins, a similar visual effect is achieved, whilst reducing the time needed to re-centre the display. The distance by which the inside market or price axis is moved need not be haIfa row but could instead be, for example, a tenth, a quarter, a third, two thirds, three quarters or nine tenths of a row. A distance of between half and three-quarters of a row height is preferred, preferably slightly more than half a row height, for example half a row height plus one pixel.
Thus, in this example, a sudden jump of the price axis is followed by the smooth drift towards the re-centred position - in effect, the re-centring process thus operates as before, except that part of the re-centring distance is skipped. As mentioned, the distance skipped need not necessarily be half a row. For example, in a 16 pixel row, the distance skipped could be 8 pixels, 4 pixels, 2 pixels or even just a single pixel (smaller values might produce an effect similar to that described above as visually anticipating movement of the inside market).
- 84 - Where the inside market moves more than a single price tick (typically where the volume at several price ticks is cleared during a single update) , the initial shift of the price axis may similarly be a proportion (such as a quarter, third, half, two thirds or three quarters) of the total distance that the inside market would move on a fixed price axis (or put another way, of the total distance to be traversed during re-centring). For example, in a four tick upward shift of the inside market (corresponding to a four-row leap on the display) the price axis may be shifted down by 2 rows, i.e. half the total distance.
Alternatively, the price axis could be shifted by a fixed amount regardless of the distance (on the price axis) by which the inside market moves. That fixed distance could, for example, be a part of a row as in the examples given above (e. g. a half- row), a single row, or multiple rows. Where rows are resizable, "fixed distance" may mean fixed with regard to the row size (i.e. changing with adjustment of the row size) or may mean an absolute distance such as a fixed screen distance (i.e. a fixed number of pixels, not changing in response to adjustment of the row size).
In one variant, the price axis is always moved by half a row. Thus, by way of example, a movement of the inside market upwards by one tick results in the downward shift of the price axis by half a row. The cell highlighting is then updated to reflect the changed position of the inside market. This corresponds to the above example and results in the inside market being displayed haifa row above its previous location. In a further example, the inside market moves up by four ticks. Again, the price axis is first moved down by the fixed distance of half a row. The new inside market is highlighted, and is now positioned three and a half rows above the previous (central) location. The initial jump of the price axis (in this case by half a row) can help instantly convey the occurrence and direction of the market change to the user.
Re-centring is then preferably used as described above to automatically reposition the inside market. The distance by which the price axis is scrolled is reduced by the distance of the initial jump (in the above example by half a row). Thus, following the previous example, a one-tick inside market change results in a half-row initial jump - 85 - followed bya half-row scroll of the price axis, while a four-tick inside market change results in a half-row initial jump followed by a three and a half row scroll.
Scroll drfi In a further variant, the scrolling which follows the initial jump may scroll some other distance, typically a distance greater than is required to return the inside market to its previous (central) location. Preferably, the distance scrolled is the full distance by which the inside market has changed; thus, in the above example, a one-tick inside market change produces the half-row initial jump of the price axis followed by the highlighting of the new inside market and then scrolling of the price axis by a full row. Similarly, a four-tick change in the inside market produces the half-row initial jump followed by scrolling of the price axis by four full rows. Thus, this modified re- centring process actually overshoots the previous (or central) position of the inside market slightly, in these examples by half a row. This overshooting (which can occur in either direction) can help convey cumulative changes in the market over time: where the market remains relatively steady, successive upward and downward movements of the inside market will keep the inside market displayed approximately at the desired (central) display position, but where over time the market moves in a particular direction, the cumulative effect of the inside market overshooting its previous position on successive inside market changes will result in a slow drift of the display position of the inside market towards the edge of the display. For this reason, this overshooting feature is also referred to herein as "scroll drift", and it can help convey the general trend of market changes whilst keeping the display position of the inside market relatively steady in the short term. To achieve the latter, the overshoot is preferably relatively small (usually less than a row), and preferably is of the same distance as the initial price axis jump, which can be achieved by always scrolling the price axis by a full number of rows after the initial jump. However, the scroll drift feature can also be used without the initial price axis jump (for example with the dampened price ladder embodiment described above).
To enable cumulative drift of the display position of the inside market to be corrected, the interface may allow manual re-centring of the price axis, for example by way of a dedicated button, as already mentioned.
- 86 - In particularly preferred variants, the initial jump of the price axis is fixed as a proportion of a row height, preferably of between half and three-quarters of a row height. An initial jump of just over half a row is preferred. For example, the initial jump may be set as haifa row height plus one pixel. The initial jump may be fixed in an absolute sense or may be fixed with respect to a variable row height, i.e. changing in response to a change in the row height (for example as a result of the user zooming the display, resizing rows, changing display fonts or cell margins or the like).
Thus, in a specific example, assuming a row height of 20 pixels, the initial jump distance may be II pixels. In response to a single tick movement of the inside market, the price axis is then shifted by the initial jump distance of 11 pixels, and the new inside market is highlighted. The price axis is then scrolled by a full row height of 20 pixels. Thus, the inside market is then displayed below or above its previous position, and can slowly drift away from its preferred (central) position in response to successive inside market changes as already mentioned.
The scroll drift feature is preferably a user-selectable option. With the scroll drift option disabled, the initial Ii pixel jump would be followed by a scrolling of the price axis by 9 pixels (i.e. a single row height minus the initial jump distance), so that the total movement distance of the price axis is 20 pixels (one row height), resulting in the inside market returning (after movement) to its previous position. This option thus corresponds to the automatically re-centred hybrid dynamic price ladder embodiment already described.
The re-centring process described above in its various variants combines the advantages of a fixed-priced axis with those of a centralised display of the inside market which requires a moving price axis. In particular, the system provides a relatively high certainty that when a trade order is issued by clicking on a row the trade order will be issued in respect of the intended price level (since though the inside market can jump suddenly, price levels mostly move smoothly). At the same time the user is always able to find the position of the inside market on the display - 87 - very quickly (since this will usually be either at or visibly moving towards the centre of the display).
Dampened frozen row A process similar to the re-centring or dampening process may be used in combination with the freezing mechanism described above. In such examples, the price axis moves freely, with a selected row being frozen and displayed superimposed over the market information behind, as already described. In this variant however the frozen row, after a certain delay period without interaction by the user, begins to move back towards the correct position (assuming the price axis has moved since the row was frozen), the correct position being the equivalent row in the moving price ladder displayed behind the frozen row. Thus, over time, the frozen row creeps back into the correct position in the market depth display. As a further addition, the tracking mechanism described above could be used to force the mouse cursor to follow the frozen row as it moves towards the correct position in the price ladder.
Tool tip A further embodiment, in some ways similar to the freezing mechanism described above, will now be described with reference to Figures 32 to 35. In this variant, instead of freezing an entire row and/or portions of the row and superimposing these over the corresponding portions of the rows behind, a small overlay is displayed when the mouse cursor hovers over a selectable area of a row. The overlay is graphically clearly distinguished from the market depth display, and displays the price point and bid or offer quantity (or current working volume) of the relevant row. This overlay is preferably in the form of a tooltip (as used, for example, by applications on the Microsoft WindowsTM operating system to provide help text in relation to toolbar buttons).
An example of a trading screen before selection of a row is shown in Figure 32. The screen is similar to those described above, having a central price column and adjacent Bid, Offer and Work columns (amongst others). As before, a row can be selected by - 88 - moving the mouse cursor over the Bid, Offer or Work columns. As is shown in Figure 33, when the mouse is moved over a cell in one of these columns (here the bid column at price 1225.50), the relevant price level is selected and a tooltip 5000 is displayed showing the price (1225.50) and volume (232) information for that row and column.
In the example shown, the tooltip is vertically aligned with the cell over which the mouse pointer is hovering. Alternatively, as shown in Figure 34, the tooltip 5000 (here generated in response to the mouse hovering over the bid column at price level 1225.75) may be vertically positioned with respect to the position of the mouse pointer. Horizontal alignment could similarly be determined by reference to the cell or to the mouse pointer. Alignment may also be based on a combination of the mouse pointer position and the cell. For example, the tooltip could be vertically aligned with the upper and lower cell boundaries (as in Figure 33), and horizontally aligned with (or positioned with respect to) the position of the mouse pointer.
In the example shown in Figure 33, the tooltip is substantially the same height as a row and is vertically aligned with the upper and lower row boundaries of the row, but without being horizontally aligned with leftor right-hand boundaries of the row (though this could also be the case).
Regardless of the alignment, however, the tooltip remains tied to the mouse pointer meaning that it does not move when the inside market changes and the price axis moves (thus the tracking mechanism is preferably not used in this example). As an example, Figure 35 shows a tooltip (this time on the Offer column) relating to price level 1226.25. Since positioning of the mouse pointer to select that price level and display the tooltip, the price axis has moved down, but the tooltip remains displayed at its original position, and orders can still be placed at that price level without repositioning the mouse pointer.
The tooltip may move with the pointer or may instead remain static, with the mouse pointer moveable within the tooltip.
By clicking anywhere in the tooltip, a trade order is submitted at the price point displayed in the tooltip using the currently applicable quantity (as set by the user) and - 89 - other currently applicable trade rules/parameters. If the mouse cursor is moved outside the tooltip but within the same cell (assuming this has not moved) then the tooltip may be re-drawn at a new position (i.e. following the mouse cursor). If the mouse cursor is moved outside the tooltip to a different selectable cell, either in the same row or in a different row, then the tooltip changes (or is replaced with a new tooltip) to contain the price and volume for the new cell or row. The volume displayed in the tooltip is preferably updated as the market information changes. Where the mouse cursor is hovered over a Work column cell, the tooltip shows the contents of that cell together with the price, and clicking on the tooltip performs a relevant action such as reducing or cancelling a bid or offer volume at that price level.
The tooltip disappears if the mouse pointer is moved away from the selectable cells.
The tooltip could also be used with columns other than the Bid, Offer and Work columns, with information relevant to the given column being displayed in the tooltip.
As already described, in some embodiments, the user may drag-and-drop entries in the Work column from one row to another (by pressing down the mouse button on the entry or cell, moving the mouse within the Work column to a new row and releasing the mouse button). In one example, the interface may continue to display the tooltip over the original cell until the mouse button is released and then optionally redisplay the tooltip for the new cell. Alternatively, the tooltip may move with the mouse pointer to the new cell, optionally being updated to reflect the contents of any cells it passes or hovers over (or at least being updated on release of the mouse button).
The tooltip is designed to appear visually distinct so that it is clear that the information displayed is not part of the main price ladder. Typically, the tooltip will be displayed as a box having a dark outline and a background colour distinct from those used for the different areas of the price ladder (as shown in Figures 33 to 35).
As is also shown, the tooltip (or the tooltip background) may have a translucent appearance so that data displayed underneath remains at least partially visible. The tooltip may also be justified depending on the column over which the mouse pointer is located; in the present example, hovering the mouse cursor over the bid column - 90 - produces a tooltip positioned (mostly) to the left of the mouse cursor (Figure 33), whereas positioning the mouse cursor over a cell in the offer column results in a tooltip positioned (mostly) to the right of the mouse cursor (Figure 35). In this way, less of the market information is obscured.
As the present examples also show, a translucent tooltip may be used with the information displayed in an outside portion, so that the information does not obscure the price ladder behind. For example, in the case of an offer cell being selected (Figure 35), the tooltip is displayed (mostly) to the right of the mouse cursor, and the price and volume values are centre- or right-justified within the (sufficiently wide) tooltip so that no information is obscured. In that case, only the relevant portion of the tooltip or its background (the portion overlapping the relevant part of the price ladder) need be translucent (though in the example shown, the entire background of the tooltip is translucent). The opacity of the tooltip may be set by the user, for example using a slider. This can allow the user to adjust the opacity in dependence on their own particular display settings (for example colour and font settings) to ensure both the tooltip and the information in the price ladder can be clearly seen.
The tooltip preferably stays visible until the user moves the mouse away from the tooltip and/or away from the relevant cell, and a trade order can be entered by clicking anywhere within the tooltip area. The user may select options relating to the display of the tooltip, such as the alignment and display colour of the tooltip and may be able to turn the tooltip feature on or off. By way of comparison, Figure 36 shows a similar screen but with the tooltip feature disabled - instead, the selected row is highlighted (here in grey), and the mouse tracking mechanism ("sticky mouse") could instead be used. Alternatively, the highlighting of the selected row could be combined with the display of the tooltip to enable the user to quickly identify the row to which the tooltip relates (since this may move).
In a further variant, the tooltip is not displayed immediately when a row is selected by positioning of the mouse pointer, but only if the selected row moves due to market changes. This can again prevent the user accidentally clicking on the wrong row; to issue a trade order, the user can then click on the tooltip as before.
- 91 - Instead of the tooltip as described, a custom mouse cursor could be used to display the relevant information. For example, the normal arrow-shaped cursor could be replaced with a graphical element similar to the tooltip displaying the relevant information as soon as the mouse cursor moves to a selectable cell. If the user moves the mouse within the selectable columns, then the information displayed in the custom cursor changes depending on the cell over which the mouse cursor is positioned. If the user moves the mouse cursor away from the relevant columns, then the mouse cursor reverts to the conventional arrow icon.
Figure 37 shows an example of an options dialog box 5100 for setting various options relating to the operation of the trading screen and the tooltip feature. The dialog allows the selection of the highlighting mechanism (by way of option group 5102 "Trading Style") from a number of options, including "Sticky mouse" (the mouse tracking mechanism already described) and "Order tooltip". Here, the tooltip functionality has been selected, and a number of further options are available: * "Display grey-out (operational) row" (5104): For selecting whether the selected (operational) row should be highlighted (by greying out the cell
backgrounds)
* "Opacity" (5106): For setting the opacity of the tooltip (by way of a slider) * "Order Tooltip Align" (5108): For specifying how the tooltip should be aligned with respect to the mouse pointer. Alignment can be configured individually for each column by selecting the column to be configured in drop- down box 5 110 (here, the Bid column is selected) and then selecting the required alignment using a 3-by-3 grid of buttons 5112. The grid positions correspond to possible alignments; thus, by activating a button in the left- hand, middle or right-hand column of the grid, left-alignment, centred alignment or right-alignment of the tooltip with respect to the mouse pointer are respectively selected. The vertical alignment of the tooltip with respect to the mouse pointer is configured analogously. Alternatively, the tooltip can be set to be vertically aligned with the relevant cell (and not the mouse pointer) by checking box 5114 ("Middle Of Original Cell"). In that case, the grid 5 112 - 92 preferably changes to show only one row of three buttons for configuring only the horizontal alignment with reference to the mouse pointer (as shown in Figure 38). Vertical alignment would then be determined based on the position of the selected row as shown, for example, in Figure 33. In the specific example of Figure 37, the tooltip is set to be centrally aligned with respect to the mouse pointer in the vertical direction, and horizontally left-aligned.
The options relating to the tooltip feature (e.g. opacity setting 5106 and alignment settings 5108) would typically not be displayed or would be greyed out if a different trading style was selected in option group 5102. Other relevant settings could then instead be displayed.
The tooltip feature can be combined with other mechanisms described above, such as the dampened price ladder (automatic re-centring) and hybrid dynamic price ladder embodiments described above.
Figure 38 shows a variant of the options dialog of Figure 37 which includes further options relating to the scrolling performed to re-centre the price ladder in those embodiments. Specifically, the dialog 5100 includes a speed setting 5120 ("Smooth Scroll") for setting the scroll speed (or switching off re-centring altogether) and an acceleration I deceleration setting 5122 for configuring the acceleration I deceleration behaviour as described above. A check box 5124 ("Scroll drift") is provided to allow the user to enable or disable the scroll drift feature (described above). Where scrolling is disabled by selecting "Off' in the speed setting 5120, the other related settings such as acceleration I deceleration setting 5122 and scroll drift 5124 are preferably greyed- out as they are then not relevant.
Safe trading As an alternative to displaying the relevant trading information in a tooltip or as part of the mouse pointer, in a further variant the information is displayed in a separate display area of the screen which does not interfere with the market display. By hovering the mouse cursor over a row, that row becomes selected and its data (e.g. 93 - price and volume) are copied to this separate display area. Movement of the price axis does not cause the information to change, and the mouse cursor is preferably also forced to follow that movement using the tracking mechanism described above. In this case, when deciding to issue a trade order, the user would be focusing not directly on the price ladder, but instead on this separate display area. The user then knows that any trade order issued will be issued in respect of the price level displayed in the separate display area, which can prevent confusion caused by movement or changes in the main price ladder. Preferably, the pricing information displayed in this separate display area is visually linked to the relevant (selected) row in the price ladder, for example by using a connecting line. As the price axis moves, the line is continuously re-drawn so that it remains connected to the selected row. This makes it easy for the user to find the selected price level in the moving price ladder.
Reaction delay The user's delayed reaction time to movement of the price axis may mean that the user clicks to issue a trade order in respect of a certain row when that row has in fact already moved. This could lead to an incorrect trade order being entered into the system. This problem can be alleviated in a number of ways.
In one embodiment, to address this problem, a delay mechanism is provided. Here, the system maintains a delay period time setting describing the user's reaction time (this may be set by the user). If a mouse click occurs within the set time period after the mouse pointer has left a given row due to movement of the row (that is to say, the row moves so that the pointer is now over a different row with a different price level), then the system issues a trade order not at the actual price at which the mouse cursor is now positioned but at the previous price. This preferably only applies if the row is moved due to movement of the price axis, not if the user moves the mouse pointer.
The delay period is preferably at least Sms, more preferably at least 1 Oms or at least 25ms. The delay period may be SOms or more or even lOOms or 250ms or more. The delay period is preferably no more than I second and typically no more than half a second. More preferably, the delay period is no more than 250ms or no more than I OOms or SOms.
- 94 - The delayed reaction feature can be switched off by the user, for example by setting the delay period to zero. The delay period can preferably be set in milliseconds with a default value, for example, of 10 or 20 milliseconds.
The above delay mechanism can prevent a trade order being issued at the wrong price level if the market information suddenly starts moving just as the user is about to issue a trade order. Whilst the price ladder is moving (e.g. re-centring) it is less likely that the user will click on the wrong row; though if they do click just on the edge of a row as the display moves to the next row, then this delayed reaction time should mean that the order is issued at the correct price level.
Morphing Another approach to dealing with this problem is to increase the size of the selected row temporarily during movement of the price information. For example, the selected row may be "grown" by half of a row height (or some other distance) in the direction opposite to the movement of the price axis. This may occur before movement of the price axis or simultaneously. Other rows' heights may be reduced correspondingly.
Subsequently, the selected row's height is decreased from the other direction (for example when arriving at the final position). The row is thus first stretched and then contracted (providing a morphing effect), with the expansion providing an extra time period to accommodate the user's delayed reaction time.
The exact degree of expansion will depend on the movement speed of the price ladder and the estimated reaction time of the user and is selected so that the expansion is sufficient to catch any delayed reaction trade orders. The morphing effect can be combined with the re-centring process (e.g. the dampened price ladder) and/or tracking mechanism described above.
- 95 - Mouse tracking ("sticky mouse") in frozen row In a further variation to the frozen row mechanism described above, freezing of a selected row occurs as already described. However, when a selected row is frozen, the movement of a cursor by the user can have the following effects: 1. If the user moves the cursor either up or down away from the frozen row, the mouse cursor is moved by the user interface not to the row adjacent to the frozen row but to the row adjacent (in the relevant direction) to the live version of the frozen row (where the price axis has moved since the row was frozen). The new row may then become the selected row and may be frozen.
2. Movement within the row to another cell moves the cursor to the equivalent cell in the live version of the row, and the frozen row disappears. Again, the live version of the row may then be frozen. (This may also be applied to movement within the current cell.) 3. In all cases, the cursor would at all times hover over the price at which a trade would take place if the user clicked on the mouse.
ln the above, by live version' is meant the row having the same price level as the frozen row in the moving price ladder. This approach can enable efficient movement around the price ladder in a fast-moving market.
All the embodiments and variants described herein may be combined in any suitable manner. For example, variants of the mouse tracking or frozen row mechanisms may be combined with the re-centring price axis, dampened price ladder or hybrid dynamic price ladder embodiments described above.
Where the user's mouse has a scroll wheel, this may be used to enhance the user interface functionality in many of the above variants. For example, movement of the scroll wheel up or down may move the mouse pointer or the selection in the market depth display up or down a row. Where a row at a particular price point has been frozen, movement of the mouse wheel upwards or downwards may replace the information in the frozen row with the information at a price point one tick above or below that currently displayed in the frozen row. Alternatively, the scroll wheel could - 96 be used to scroll the market display up or down. In that case, once the user stops using the scroll wheel (e.g. after a short delay), the system may re-centre the price ladder so that the inside market returns to the centre of the screen, preferably by smooth scrolling as described above. In a yet further example, the scroll wheel could be used to adjust quantity values up or down while the mouse is hovered over a bid or ask cell.
The selected quantity would be displayed separately. Clicking the mouse on that cell would then issue a trade order at the selected price point using the selected quantity.
The quantity value may be increased or decreased in units or intervals (say, of five or ten units). The interval may be selectable.
Some alternative trading displays are shown in Figures 39 and 40. Figure 39 shows a trading screen similar to that of Figure 33, with a tooltip being displayed in relation to a selected row. Additional user interface elements are provided for performing actions such as setting a default trading volume, pulling all bids and/or offers and the like.
Figure 40 shows a trading screen for use in scalping. The term scalping refers to the placing of bids or offers at exactly one price tick better than the current market price.
For this purpose, a large button 5202 is displayed at the centre of the price axis at the position of the inside market, with offer and bid data displayed respectively above and below the button. Depending on how the screen is configured, clicking on the button places either a bid or offer trade order at one price tick lower or higher than the inside market (with the currently set default volume). As before, the inside market (and hence the scalping button) may move across the screen with changes in the market, or the inside market and button may be kept centred on the screen. The mouse tracking mechanism could be used to follow the scalping button if it does move, and variants of the re-centring process could be used to return the inside market and scalping button to the central position after a movement. Other mechanisms and features described above could similarly be integrated into the scalping screen, the main difference between this and the previously described trading screens being that here, orders can only be placed in respect of specific price levels (i.e. one tick better than the current market price), and instead of selecting specific rows with the mouse pointer, the scalping button (displayed at the inside market position) is selected. The scalping button and functionality can, however, be combined with the functionality of other described trading screens to enable both scalping and normal trading as - 97 - described above from a single screen. The scalping screen shown again includes a variety of other user interface features, including a group of numbered buttons 5204 for setting the default trading volume and a "Single Click" button 5206 for switching between single click mode (in which trade orders at default volume can be placed by clicking on a relevant cell, as in the various embodiments described herein) and another mode in which trade orders are manually specified, e.g. via a separate window or dialog box. The various user interface features shown in Figures 39 and 40 may be integrated into any of the trading screens described above.
Any of the functionality described herein (for example the tracking module or freezing module or the entire trading application) may be performed on a single computer, on a client or server computer or elsewhere in adistributed system or may be distributed across such a system as is appropriate to a given implementation. The above description of the system architecture is purely by way of example. For example, the trading screen 2504 and trading application program 2512 (or certain functions thereof) may operate at a user's (trader's) client terminal or may be separated across a network connection.
It will be understood that the present invention has been described above purely by way of example, and modification of detail can be made within the scope of the invention.
Each feature disclosed in the description, and (where appropriate) the claims and drawings may be provided independently or in any appropriate combination.

Claims (1)

  1. - 98 - CLAIMS: 1. A method of processing market data relating to trading
    on an electronic trading exchange, the method comprising the steps of: dynamically generating, in response to market data received from an interface connected to the exchange, a market information display comprising a plurality of entries relating to price levels on a price axis and moving the entries on the display in response to changes in the market data; allowing a user to select an entry by positioning a pointer over a selection area associated with the entry using an input device, in response to selection of an entry, generating a display element comprising information relating to the entry, the display element being superimposed on the display at the location of the pointer; and in response to a further user input received while the pointer is positioned over the display element, performing a trading operation in relation to the selected entry.
    2. A method according to Claim 1, comprising removing the display element relating to the entry from the display if the user moves the pointer away from the display element and/or away from the selection area of the selected entry.
    3. A method according to Claim I or 2, comprising changing or replacing the display element to display information relating to another entry if the user moves the pointer to a selection area associated with the other entry.
    4. A method according to any of the preceding claims, comprising keeping the display element static and continuing to display information relating to the selected entry in the display element when the selected entry moves away from the pointer.
    5. A method according to any of the preceding claims, wherein the display element is visually distinct from the market information display.
    - 99 - 6. A method according to any of the preceding claims, wherein the display element is displayed at a location determined in dependence on either or both of the location of the pointer and the location of the selected entry.
    7. A method according to Claim 6, wherein the display element is aligned with at least one boundary of the selected entry.
    8. A method according to any of the preceding claims, wherein the display element is displayed at a location determined such that the pointer points to the display element.
    9. A method according to any of the preceding claims, wherein at least a portion of the display element is displayed with a translucent or transparent effect, such that information displayed in the market information display behind the portion remains at least partially visible.
    10. A method according to any of the preceding claims, wherein the information is displayed at a location within the display element such that the information does not overlap information displayed in the market information display behind the display element.
    11. A method according to any of the preceding claims, wherein the input device is a pointing device having movement input means for positioning the pointer and further input means for providing the further user input.
    12. A method according to Claim 11, wherein the further input means is a button, the further user input being a button click.
    13. A method according to any of the preceding claims, comprising updating the information displayed in the display element in response to a change in the market data.
    - 100 - 14. A method according to any of the preceding claims, wherein the selected entry is associated with a given price level, the display element displaying the price level.
    15. A method according to any of the preceding claims, wherein the selected entry comprises a bid or offer volume or current working order volume associated with a given price level, the display clement displaying the bid or offer volume or current working order volume.
    16. A method according to Claim 15, comprising updating the bid or offer volume or current working order volume displayed in the display element in response to a change in the market data or user action.
    17. A method of processing market data relating to trading on an electronic trading exchange, the method comprising the steps of: dynamically generating, in response to market data received from an interface connected to the exchange, market display data comprising movable data elements for display on a display means; allowing a user to select and de-select, using a user input device, a movable data element; and whilst a movable data element is selected, displaying a frozen element including data relating to the selected movable data element such that at least one un-selected movable data element remains movable.
    18. A method of processing market data relating to trading on an electronic trading exchange having an inside market defined by at least one price level, the method comprising the steps of: dynamically generating, in response to market data received from an interface connected to the exchange, a market information display comprising trading information relating to a plurality of price levels which define a price axis, including a first price level displayed at a first display location and a second price level displayed at a second display location, the first price level corresponding to the inside market; and - 101 - in response to the inside market changing from the first price level to the second price level, adjusting the display of the trading information to move the price axis so that the second price level corresponding to the changed inside market is displayed at a third display location intermediate the first and second display locations.
    19. A method according to Claim 18, further comprising scrolling the market information display to move the second price level corresponding to the changed inside market from the third display location to a selected display location, preferably to the first display location.
    20. A method according to Claim 18 or 19, further comprising including in the display a visual indication of the inside market.
    21. A method according to Claim 20, comprising moving the indication in response to the change in the inside market.
    22. A method according to Claim 20 or 21 when dependent on Claim 19, wherein the scrolling step also scrolls the visual indication.
    23. A method according to any of Claims 20 to 22, wherein including a visual indication comprises highlighting information relating to the price level corresponding to the inside market.
    24. A method according to any of Claims 18 to 23, wherein the trading information relating to the plurality of price levels is displayed in a plurality of adjacent display sections, the first and second price levels being displayed in adjacent display sections at the first and second display locations respectively, the third display location lying between and overlapping the first and second display locations.
    25. A method according to any of Claims 18 to 24, wherein the trading information relating to the plurality of price levels is displayed in a plurality of - 102 - adjacent display sections, and wherein adjusting the display of the trading information to move the price axis comprises moving the adjacent display sections by a distance of a fraction of the size of a display section.
    26. A method according to Claim 24 or 25, further comprising scrolling the plurality of adjacent display sections to move the second price level corresponding to the changed inside market from the third display location to the first display location.
    27. A method according to any of Claims 24 to 26, wherein the display sections are rows or columns, preferably of a table or grid.
    28. A method according to any of Claims 18 to 27, wherein the inside market is defined by at least one of a highest bid price and a lowest ask price.
    29. A method of processing market data relating to trading on an electronic trading exchange, the method comprising the steps of: dynamically generating, in response to market data received from an interface connected to the exchange, a market information display comprising a plurality of entries relating to price levels on a price axis and moving the entries on the display in response to changes in the market data; allowing a user to select a given entry by positioning a pointer over a selection area associated with the given entry using an input device; and where the given entry has moved after selection so that the pointer is no longer positioned over the selection area and a further user input is received to initiate a trading operation, initiating a trading operation in relation to the given entry if the further user input is received within a predetermined time period after movement of the given entry, and initiating a trading operation in relation to another entry or not initiating a trading operation if the further user input is not received within the predetermined time period.
    30. A method according to Claim 29, comprising, where the further user input is received more than the predetermined time period after movement of the given entry - 103 - and at a time when the pointer is positioned over a selection area associated with another entry, initiating a trading operation in relation to the other entry.
    3 1. A method of processing market data relating to trading on an electronic trading exchange, the method comprising the steps of: dynamically generating, in response to market data received from an interface connected to the exchange, a market information display comprising a representation of a price axis having a plurality of price levels and trading information associated with the price levels, the generating step comprising: identifying a point or region of interest on the price axis; and generating the market information display with the identified point or region positioned in a predetermined region of the display; in response to changes in the market data resulting in a change of the point or region of interest: updating the display to reflect the changes in the market data, and scrolling the display so as to move the changed point or region of interest to the predetermined region.
    32. A method according to Claim 31, wherein the scrolling step scrolls the display at a speed selected in dependence on one or more predetermined criteria.
    33. A method according to Claim 32, wherein the one or more predetermined criteria include one or more of: the distance by which the display is to be scrolled, trading activity at the exchange, the rate of trading activity at the exchange, the rate or frequency of change of the point or region of interest, the distance of movement of the point or region of interest on the price axis, a cumulative or average indicator relating to trading activity on the exchange or to the movement or distance of movement of the point or region of interest on the price axis, the market data, and changes in the market data.
    34. A method according to any of Claims 31 to 33, wherein the scrolling step varies the scrolling speed during scrolling, preferably by reducing the scrolling speed as the point or region of interest approaches the predetermined region.
    35. A method according to any of Claims 31 to 34, further comprising including in the market information display a visual indication of the point or region of interest and moving the visual indication to a new position in the display when the point or region of interest changes; and wherein the scrolling step preferably scrolls the representation of the price axis, associated trading information and the visual indication.
    36. A method according to Claim 35, wherein the visual indication comprises a highlighting of a cell, column or row in the display at the point or region of interest.
    37. A method according to any of Claims 31 to 36, wherein the point or region of interest relates to a best bid or ask price or inside market.
    38. A method according to any of Claims 31 to 37, wherein the predetermined region is a substantially central region of the display.
    39. A method according to any of Claims 31 to 38, comprising commencing scrolling of the display before updating the display.
    40. A method according to any of claims 31 to 38, comprising commencing scrolling of the display after updating the display.
    41. A method of controlling a user interface for a trading application, the user interface receiving market data from an electronic trading exchange and comprising a market depth display displaying trading information based on the market data and including a plurality of entries relating to price levels forming a price axis, the entries being moveable on the display in response to changes in the market data; the user interface further comprising a pointer positionable within the display using a user input device, the method comprising: allowing a user to select an entry by positioning the pointer within a selection area associated with the entry; - 105- in response to selection of a given entry, superimposing on the market depth display a display segment displaying information relating to the given entry, the superimposed display segment being static whilst the plurality of entries including the given entry remain moveable behind the static superimposed display segment, in response to movement input for movement of the pointer by the user after selection of the given entry and display of the static superimposed display segment, determining a location on the display to which to move the pointer in dependence on the movement input and in dependence on the location on the display of the given entry, and moving, by the user interface, the pointer to the determined location.
    42. A method according to Claim 41, wherein the static superimposed display segment is displayed at the location of the given entry.
    43. A method according to Claim 41 or 42, comprising, in response to movement input by the user to move the pointer within the static superimposed display segment, moving, by the user interface, the pointer to a corresponding location in the given entry.
    44. A method according to any of Claims 41 to 43, comprising, in response to movement input by the user to move the pointer in a given direction to a location outside the static superimposed display segment, moving, by the user interface, the pointer to an entry adjacent the given entry in the given direction.
    45. A method according to Claim 43 or 44, further comprising removing the static superimposed display segment from the display after movement of the pointer by the user interface.
    46. A method of controlling a user interface for a trading application, the user interface receiving market data from an electronic trading exchange and comprising a market depth display displaying trading information based on the - 106 - market data and including a plurality of entries relating to price levels forming a price axis, the entries being moveable on the display in response to changes in the market data; the user interface further comprising a pointer positionable within the display using a user input device, the method comprising: allowing a user to select an entry by positioning the pointer within a selection area associated with the entry; in response to selection of a given entry, superimposing on the market depth display a display segment displaying information relating to the given entry, the superimposed display segment at least initially remaining static whilst the 1 0 plurality of entries including the given entry remain moveable behind the static superimposed display segment in response to changes in the market data; and where the given entry has moved on the display and a predetermined time period has elapsed since movement without user input being received in relation to the given entry or the superimposed display segment, moving the superimposed display segment on the display towards the location of the moved given entry.
    47. A method according to Claim 46, comprising continuing the movement until the superimposed display segment is displayed at the location of the moved given entry or until interrupted by user action.
    48. A method of processing market data relating to trading on an electronic trading exchange, the method comprising the steps of: dynamically generating, in response to market data received from an interface connected to the exchange, a market information display comprising a plurality of entries relating to price levels on a price axis and moving the entries on the display in response to changes in the market data; allowing a user to select an entry by positioning a pointer over a selection area associated with the entry using an input device, in response to selection of an entry, displaying information relating to the entry in a display area separate from the market information display and/or the plurality of entries, and visually linking the separate display area to the selected entry.
    - 107 - 49. A method according to Claim 48, further comprising, in response to a further user input received while the entry is selected and the information is displayed in the separate display area, performing a trading operation in relation to the selected entry.
    50. A method according to Claim 48 or 49, further comprising, if the selected entry moves on the display, updating the visual link so that the separate display area remains visually linked to the selected entry.
    51. A method according to any of Claims 48 to 50, wherein visually linking the separate display area to the selected entry comprises drawing a line or lines connecting the separate display area and the selected entry.
    52. A method of processing market data relating to trading on an electronic trading exchange, the method comprising the steps of: dynamically generating, in response to market data received from an interface connected to the exchange, a market information display comprising a plurality of entries relating to price levels on a price axis, each entry being displayed in an associated display segment; allowing a user to select an entry by positioning a pointer over a selection area associated with the entry using an input device; and moving entries including a selected entry on the display in response to changes in the market data by moving the associated display segments; and wherein moving a selected entry on the display comprises increasing the size of the display segment associated with the selected entry.
    53. A method of processing market data relating to trading on an electronic trading exchange having an inside market defined by at least one price level, the method comprising the steps of: dynamically generating, in response to market data received from an interface connected to the exchange, a market information display comprising trading information relating to a plurality of price levels which define a price axis, including a first price level displayed at a first display location and a second - 108 - price level displayed at a second display location, the first price level corresponding to the inside market; and in response to the inside market changing in one direction from the first price level to the second price level, moving the price axis on the display in the opposite direction so as to move the second price level corresponding to the changed inside market beyond the first display location to a third display location.
    54. A method according to Claim 53, wherein moving the price axis on the display comprises scrolling the display.
    55. A method according to Claim 53 or 54, wherein moving the price axis on the display comprises adjusting the display (preferably in a single step) so that the second price level corresponding to the changed inside market is displayed at a fourth display location intermediate the first and second display locations, and scrolling the display to move the second price level from the fourth display location beyond the first display location to the third display location.
    56. A method according to Claim 54 or 55, wherein the scrolling step scrolls the display by a distance corresponding to the distance between the first and second display locations.
    57. A method according to any of Claims 53 to 56, wherein the plurality of price levels are displayed in adjacent display segments, the distance between the first display location and the third display location being less than the size of one display segment.
    58. Apparatus for processing market data relating to trading on an electronic trading exchange, the apparatus comprising: means for dynamically generating, in response to market data received from an interface connected to the exchange, a market information display comprising a plurality of entries relating to pnce levels on a price axis and moving the entries on the display in response to changes in the market data; - 109- means for allowing a user to select an entry by positioning a pointer over a selection area associated with the entry using an input device, means for, in response to selection of an entry, generating a display element comprising information relating to the entry, the display element being superimposed on the display at the location of the pointer; and means for, in response to a further user input received while the pointer is positioned over the display element, performing a trading operation in relation to the selected entry.
    59. Apparatus for processing market data relating to trading on an electronic trading exchange, the apparatus comprising: means for dynamically generating, in response to market data received from an interface connected to the exchange, market display data comprising movable data elements for display on a display means; means for allowing a user to select and de-select, using a user input device, a movable data element; and means for, whilst a movable data element is selected, displaying a frozen element including data relating to the selected movable data element such that at least one un-selected movable data element remains movable.
    60. Apparatus for processing market data relating to trading on an electronic trading exchange having an inside market defined by at least one price level, the apparatus comprising: means for dynamically generating, in response to market data received from an interface connected to the exchange, a market information display comprising trading information relating to a plurality of price levels which define a price axis, including a first price level displayed at a first display location and a second price level displayed at a second display location, the first price level corresponding to the inside market; and means for, in response to the inside market changing from the first price level to the second price level, adjusting the display of the trading information to move the price axis so that the second price level corresponding to the changed inside market is displayed at a third display location intermediate the first and second display locations.
    61. Apparatus for processing market data relating to trading on an electronic trading exchange, the apparatus comprising: means for dynamically generating, in response to market data received from an interface connected to the exchange, a market information display comprising a plurality of entries relating to price levels on a price axis and moving the entries on the display in response to changes in the market data; means for allowing a user to select a given entry by positioning a pointer over a selection area associated with the given entry using an input device; and means for, where the given entry has moved after selection so that the pointer is no longer positioned over the selection area and a further user input is received to initiate a trading operation, initiating a trading operation in relation to the given entry if the further user input is received within a predetermined time period after movement of the given entry, and initiating a trading operation in relation to another entry or not initiating a trading operation if the further user input is not received within the predetermined time period.
    62. Apparatus for processing market data relating to trading on an electronic trading exchange, the apparatus comprising: means for dynamically generating, in response to market data received from an interface connected to the exchange, a market information display comprising a representation of a price axis having a plurality of price levels and trading information associated with the price levels, the generating means comprising: means for identifying a point or region of interest on the price axis; and means for generating the market information display with the identified point or region positioned in a predetermined region of the display; the apparatus further comprising means for, in response to changes in the market data resulting in a change of the point or region of interest, updating the display to reflect the changes in the market data, and scrolling the display so as to move the changed point or region of interest to the predetermined region.
    - 111 - 63. Apparatus for controlling a user interface for a trading application, the user interface receiving market data from an electronic trading exchange and comprising a market depth display displaying trading information based on the market data and including a plurality of entries relating to price levels forming a price axis, the entries being moveable on the display in response to changes in the market data; the user interface further comprising a pointer positionable within the display using a user input device, the apparatus comprising: means for allowing a user to select an entry by positioning the pointer within a selection area associated with the entry; means for, in response to selection of a given entry, superimposing on the market depth display a display segment displaying information relating to the given entry, the superimposed display segment being static whilst the plurality of entries including the given entry remain moveable behind the static superimposed display segment, means for, in response to movement input for movement of the pointer by the user after selection of the given entry and display of the static superimposed display segment, determining a location on the display to which to move the pointer in dependence on the movement input and in dependence on the location on the display of the given entry, and moving, by the user interface, the pointer to the determined location.
    64. Apparatus for controlling a user interface for a trading application, the user interface receiving market data from an electronic trading exchange and comprising a market depth display displaying trading information based on the market data and including a plurality of entries relating to price levels forming a price axis, the entries being moveable on the display in response to changes in the market data; the user interface further comprising a pointer positionable within the display using a user input device, the apparatus comprising: means for allowing a user to select an entry by positioning the pointer within a selection area associated with the entry; means for, in response to selection of a given entry, superimposing on the market depth display a display segment displaying information relating to the given entry, the superimposed display segment at least initially remaining static whilst the plurality of entries including the given entry remain moveable behind the static superimposed display segment in response to changes in the market data; and means for, where the given entry has moved on the display and a predetermined time period has elapsed since movement without user input being received in relation to the given entry or the superimposed display segment, moving the superimposed display segment on the display towards the location of the moved given entry.
    65. Apparatus for processing market data relating to trading on an electronic trading exchange, the apparatus comprising: means for dynamically generating, in response to market data received from an interface connected to the exchange, a market information display comprising a plurality of entries relating to price levels on a price axisand moving the entries on the display in response to changes in the market data; means for allowing a user to select an entry by positioning a pointer over a selection area associated with the entry using an input device, means for, in response to selection of an entry, displaying information relating to the entry in a display area separate from the market information display and/or the plurality of entries, and visually linking the separate display area to the selected entry.
    66. Apparatus for processing market data relating to trading on an electronic trading exchange, the apparatus comprising: means for dynamically generating, in response to market data received from an interface connected to the exchange, a market information display comprising a plurality of entries relating to price levels on a price axis, each entry being displayed in an associated display segment; means for allowing a user to select an entry by positioning a pointer over a selection area associated with the entry using an input device; and means for moving entries including a selected entry on the display in response to changes in the market data by moving the associated display segments; 113- and wherein moving of a selected entry by the moving means comprises increasing the size of the display segment associated with the selected entry.
    67. Apparatus for processing market data relating to trading on an electronic trading exchange having an inside market defined by at least one price level, the apparatus comprising: means for dynamically generating, in response to market data received from an interface connected to the exchange, a market information display comprising trading information relating to a plurality of price levels which define a price axis, including a first price level displayed at a first display location and a second price level displayed at a second display location, the first price level corresponding to the inside market; and means for, in response to the inside market changing in one direction from the first price level to the second price level, moving the price axis on the display in the opposite direction so as to move the second price level corresponding to the changed inside market beyond the first display location to a third display location.
    68. Apparatus according to any of Claims 58 to 67, further comprising means for performing a method as claimed in any of Claims I to 57.
    69. A computer program or computer program product comprising software code adapted, when executed on a data processing apparatus, to perform a method as claimed in any of Claims I to 57.
    70. A user interface adapted to perform a method as claimed in any of Claims 1 to 57.
    71. A system, apparatus or user interface substantially as described herein with reference to andlor as illustrated in any of the accompanying drawings.
    72. A method substantially as described herein with reference to and/or as illustrated in any of the accompanying drawings.
    Additional claims - Set A' Al. A method of processing data, comprising:generating display data comprising at least one movable element, the or each movable element being selectable and deselectable by positioning a selection element relative to that movable element, the selection element being movable using a user input device; monitoring whether the or each movable element is in a selected state or in a not selected state; and when a movable element is in a selected state, maintaining the relative position of the selection element and the selected movable element in such a way as to maintain the selected movable element in the selected state.
    A2. A method according to Claim Al, wherein when the movable element is in the selected state a further operation may be carried out using the or a user input device without the selection element being moved relative to the movable element.
    A3. A method according to Claim A2, wherein the user input device is a mouse and the selection element is a mouse cursor, and the further operation is carried out by clicking on the mouse, and preferably the further operation is a trading operation.
    A4. A method according to any preceding claim, wherein the or each movable element remains movable whilst in the selected state, and preferably the step of maintaining the relative position of the selection element and the selected movable element in such a way as to maintain the selected movable element in the selected state comprises moving the selection element in dependence upon movement of the selected movable element and separate from and/or in addition to any movement of the selection element using the user input device.
    AS. A method of processing data, comprising generating display data comprising at least one movable element, the at least one movable element being selectable and deselectable using a selection element movable using a user input device, monitoring - 115- whether the at least one movable element is in a selected state or in a not selected state, and, when a movable element is in the selected state, moving the selection element in dependence upon movement of the selected movable element and separate from andlor in addition to any movement of the selection element using the user input device.
    A6. A method according to Claim A4 or A5, wherein the selection element is moved in dependence upon movement of the selected movable element until the selected movable element is deselected, and preferably until the selected element is deselected by operation of the or a user input device.
    A7. A method according to any of Claims Al to A3, wherein the step of maintaining the relative position of the selection element and the selected movable element in such a way as to maintain the selected movable element in the selected state comprises maintaining the selected movable element in a stationary position.
    A8. A method according to Claim A7, wherein the step of maintaining the selected movable element in a stationary position comprises freezing the selected movable element.
    A9. A method of processing data, comprising generating display data comprising movable elements; allowing a user to select and de-select, using a user input device, a movable element; and freezing the selected movable data element whilst it is selected such that at least one movable data element which is not selected remains movable.
    A 10. A method according to any preceding claim, wherein the or each movable element is adapted to remain in a selected state for a fixed period of time after being selected, and to become not selected at the expiry of the fixed period of time.
    Al 1. A method according to any preceding claim, wherein the user input device is a mouse and the selection element is a mouse cursor.
    A12. A method according to any preceding claim, wherein the or each movable element is adapted to move in a step-wise manner.
    A13. A method according to any preceding claim, wherein the or each movable element is a movable data element.
    A14. A method according to any preceding claim, wherein the or each movable element is movable along an axis, preferably a price axis.
    Al5. A method according to any preceding claim, wherein the display data comprises a plurality of movable elements.
    A16. A method according to Claim Al 5, further comprising generating at least one 1 5 display feature, the or each display feature being associated with a respective one of the movable elements and being such as to visually distinguish the respective one of the movable elements from other of the movable elements.
    A17. A method of processing data, comprising:- generating display data comprising a plurality of data elements arranged along an axis, and movable along the axis; and generating at least one display feature, the or each display feature being associated with a respective one of the movable data elements and being such as to visually distinguish the respective one of the movable data elements from other of the movable data elements.
    Al8. A method according to Claim Al6 or A17, wherein the step of generating at least one display feature comprises generating a plurality of display features each associated with a respective one of the plurality of movable elements and each being such as to visually distinguish the respective one of the plurality of movable elements from other of the movable elements.
    - 117- A19. A method according to Claim Al 8, wherein the plurality of display features are spaced apart along the or an axis, and preferably are evenly spaced apart along the or an axis.
    A20. A method according to Claim A19, wherein the spacing of the plurality of display features is set by a user.
    A2 I. A method according to any of Claims A 16 to A20, wherein the or each display feature is adapted to move along the or an axis in dependence upon the movement of the respective associated movable element along the or an axis.
    A22. A method according to any preceding claim, wherein the display data comprises a plurality of movable elements and the method further comprises choosing one of the plurality of movable elements and generating at least one display feature, the or each display feature being associated with the chosen movable data element and being generated in dependence upon a trading action relating to the chosen movable data element.
    A23. A method of processing market data relating to trading on an electronic exchange, comprising:- generating display data comprising a plurality of movable data elements; choosing one of the plurality of movable data elements; and generating at least one display feature, the or each display feature being associated with the chosen movable data element and being generated in dependence upon a trading action relating to the chosen movable data element.
    A24. A method according to Claim A22 or A23, wherein the step of choosing one of the plurality of movable data elements comprises choosing a or the movable data element associated with a particular trading action.
    A25. A method according to Claim A24, wherein the particular trading action is the last trading action to take place.
    A26. A method according to any of Claims A22 to A25, wherein the or each display feature is generated in dependence upon the type of the trading action, and preferably the colour of the display feature varies with the type of the trading action.
    A27. A method according to any of Claims A22 to A26, wherein the or each display feature varies in dependence upon the time since it was generated andlor in dependence upon time since the or a trading action took place.
    A28. A method according to any of Claims A16 to A27, wherein the or each display feature comprises the colour of a respective region of the screen.
    A29. A method according to Claim A28, wherein the or each respective region of the screen comprises a row arranged perpendicular to the or an axis.
    A30. A method according to Claim A28 or A29, wherein the or each display feature comprises the colour of a portion of the respective associated movable element, and preferably comprises the colour of all of the respective associated movable element.
    A31. A method according to any of Claims A16 to A30, wherein the appearance of the or each display feature is set by a user, and preferably the colour of the or each display feature is set by a user.
    A32. A method according to any of Claims Al6 to A3l, wherein the step of generating at least one display feature comprises generating a plurality of display features, and the method further comprises monitoring whether two or more display features overlap and applying at least one rule to determine the appearance of the two or more display features if they overlap.
    A33. A method according to Claim A32, wherein the at least one rule is set by a user.
    A34. A method according to any preceding claim, wherein the or each movable element comprises a respective at least one cell in an array of cells.
    A35. A method according to Claim A34, wherein the or each movable element comprises a respective row of cells, or portion of a row of cells, in an array of cells.
    A36. A method according to any preceding claim, wherein the data is market data, preferably relating to trading on an electronic exchange.
    A37. A method according to any preceding claim, wherein the display data is market display data.
    A38. A method according to Claim A37, wherein the step of generating the market display data comprises dynamically generating the market display data, in response to market data received from an interface connected to an electronic trading exchange.
    A39. A method according to any preceding claim wherein the display data is for display on a display means, and preferably the or each movable element is displayed on a display means.
    A40. A method according to any preceding claim, further comprising monitoring the position of the selection element and/or monitoring the position of the or each movable element.
    A4 1. A method according to Claim A40, wherein the method further comprises discriminating between the situation where the selection element is located over a movable element and the situation where the selection element is not located over a movable element, and preferably the method further comprises ensuring that a movable element is in the selected state when the selection element is positioned over that movable element and not selected when the selection element is not positioned over that movable element.
    A42. A method according to Claim A40 or A41, wherein the or each movable element comprises a respective active portion and, for the or each movable element, the method further comprises discriminating between the situation where the selection element is located over the active portion and the situation where the selection element is not located over the active portion, and preferably the method further comprises ensuring that a movable element is in the selected state when the selection element is positioned over the active portion and not selected when the selection element is not positioned over the active portion.
    A43. A method according to Claim A40, wherein the movable elements are adapted to be displayed within a display area, and the method further comprises monitoring whether a selected movable element is located inside the display area and 1 0 if the selected movable element is not located inside the display area then either deselecting the selected movable element or changing the display area so that the selected movable element is within the display area.
    A44. Apparatus for processing data, comprising:- means for generating display data comprising at least one movable element, the or each movable element being selectable and deselectable by positioning a selection element relative to that movable element; a user input device for moving the selection element; means for monitoring whether the or each movable element is in a selected state or in a not selected state; and means for maintaining the relative position of the selection element and a selected movable element in such a way as to maintain the selected movable element in the selected state.
    A45. Apparatus according to Claim A44, arranged so that a further operation may be carried out when the movable element is in the selected state using the or a user input device, without the selection element being moved relative to the movable element.
    A46. Apparatus according to Claim A45, wherein the user input device is a mouse and the selection element is a mouse cursor, and the further operation is earned out by clicking on the mouse, and preferably the further operation is a trading operation.
    - 121 - A47. Apparatus according to any of Claims A44 to A46, wherein the or each movable element remains movable whilst in the selected state, and preferably the maintaining means is adapted to move the selection element in dependence upon movement of the selected movable element and separate from and/or in addition to any movement of the selection element using the user input device.
    A48. Apparatus for processing data, comprising:- means for generating display data comprising at least one movable element, the or each movable element being selectable and deselectable by positioning a selection element relative to that movable element; a user input device for moving the selection element; means for monitoring whether the or each movable element is in a selected state or in a not selected state; and tracking means for moving the selection element in dependence upon movement of a selected movable element and separate from and/or in addition to any movement of the selection element using the user input device.
    A49. Apparatus according to Claim A47 or A48, arranged so that the selection element is moved in dependence upon movement of the selected movable element until the selected movable element is deselected, and preferably until the selected element is deselected by operation of the or a user input device.
    A50. Apparatus according to any of Claims A44 to A46, wherein the maintaining means is adapted to maintain the selected movable element in a stationary position.
    AS I. Apparatus according to Claim A50, wherein the maintaining means is adapted to freeze the selected movable element.
    A52. Apparatus for processing data, comprising:- means for generating display data comprising movable elements; means for allowing a user to select and de-select, using a user input device, a movable element; and 122 - means for freezing a selected movable element whilst it is selected such that at least one movable data element which is not selected remains movable.
    A53. Apparatus according to any of Claims A44 to A52, comprising means for ensuring that the or each movable element is adapted to remain in a selected state for a fixed period of time after being selected, and to become not selected at the expiry of the fixed period of time.
    AM. Apparatus according to any of Claims A44 to A53, wherein the user input device is a mouse and the selection element is a mouse cursor.
    ASS. Apparatus according to any of Claims A44 to A54, comprising means for moving the or each movable element in a step-wise manner.
    A56. Apparatus according to any of Claims A44 to A55, wherein the or each movable element is a movable data element.
    A57. Apparatus according to any of Claims A44 to A56, wherein the or each movable element is movable along an axis, preferably a price axis.
    A58. Apparatus according to any of Claims A44 to A57, wherein the display data comprises a plurality of movable elements.
    A59. Apparatus according to Claim A58, further comprising means for generating at least one display feature, the or each display feature being associated with a respective one of the movable elements and being such as to visually distinguish the respective one of the movable elements from other of the movable elements.
    A60. Apparatus for processing data, comprising:- means for generating display data comprising a plurality of data elements arranged along an axis, and movable along the axis; and means for generating at least one display feature, the or each display feature being associated with a respective one of the movable data elements and being such as - 123 - to visually distinguish the respective one of the movable data elements from other of the movable data elements.
    A61. Apparatus according to Claim A59 or A60, wherein the means for generating at least one display feature is adapted to generate a plurality of display features each associated with a respective one of the plurality of movable elements and each being such as to visually distinguish the respective one of the plurality of movable elements from other of the movable elements.
    A62. Apparatus according to Claim A6 1, wherein the means for generating at least one display feature is adapted to generate a plurality of display features spaced apart along the or an axis, and preferably evenly spaced apart along the or an axis.
    A63. Apparatus according to Claim A62, comprising means for setting the spacing of the plurality of display features on command of a user.
    A64. Apparatus according to any of Claims A59 to A63, comprising means for moving the or each display feature along the or an axis in dependence upon the movement of the respective associated movable element along the or an axis.
    A65. Apparatus according to any of Claims A44 to A64, wherein the display data comprises a plurality of movable elements and the apparatus further comprises means for choosing one of the plurality of movable elements and means for generating at least one display feature, the or each display feature being associated with the chosen movable data element and being generated in dependence upon a trading action relating to the chosen movable data element.
    A66. Apparatus for processing market data relating to trading on an electronic exchange, comprising:- means for generating display data comprising a plurality of movable data elements; means for choosing one of the plurality of movable data elements; and - 124 - means for generating at least one display feature, the or each display feature being associated with the chosen movable data element and the means for generating the at least one display feature being adapted to generate the at least one display feature in dependence upon a trading action relating to the chosen movable data element.
    A67. Apparatus according to Claim A65 or A66, wherein the choosing means is adapted to choose a or the movable data element associated with a particular trading action.
    A68. Apparatus according to Claim A67, wherein the particular trading action is the last trading action to take place.
    A69. Apparatus according to any of Claims A65 to A68, wherein the means for generating at least one display feature is adapted to generate the or each display feature in dependence upon the type of the trading action, and preferably to set the colour of the display feature in dependence upon the type of the trading action.
    A70. Apparatus according to any of Claims A65 to A69, further comprising means for varying the or each display feature in dependence upon the time since it was generated andlor in dependence upon time since the or a trading action took place.
    A71. Apparatus according to any of Claims A59 to A70, wherein the or each display feature comprises the colour of a respective region of the screen.
    A72. Apparatus according to Claim A71, wherein the or each respective region of the screen comprises a row arranged perpendicular to the or an axis.
    A73. Apparatus according to Claim A7l or A72, wherein the or each display feature comprises the colour of a portion of the respective associated movable element, and preferably comprises the colour of all of the respective associated movable element.
    - 125 - A74. Apparatus according to any of Claims A59 to A73, further comprising means for setting the appearance of the or each display feature upon command of a user, and preferably said means for setting the appearance of the or each display feature is adapted to set the colour of the or each display feature upon command of a user.
    A75. Apparatus according to any of Claims A59 to A74, wherein the means for generating at least one display feature is adapted to generate a plurality of display features, and the apparatus further comprises monitoring means for monitoring whether two or more display features overlap, and control means adapted to apply at least one rule to determine the appearance of overlapping display features.
    A76. Apparatus according to Claim A75, wherein the control means is adapted to receive input from a user and to set the at least one rule in dependence upon the user input.
    A77. Apparatus according to any of Claims A44 to A76, wherein the or each movable element comprises a respective at least one cell in an array of cells.
    A78. Apparatus according to Claim A77, wherein the or each movable element comprises a respective row of cells, or portion of a row of cells, in an array of cells.
    A79. Apparatus according to any of Claims A44 to A78, wherein the data is market data, preferably relating to trading on an electronic exchange.
    A80. Apparatus according to any of Claims A44 to A79, wherein the display data is market display data.
    A8 I. Apparatus according to Claim A80, wherein the means for generating display data is adapted to dynamically generate the market display data in response to market data received from an interface connected to an electronic trading exchange.
    A82. Apparatus according to any of Claims A44 to A8 I, further comprising display means for displaying at least some of the display data, and preferably for displaying - 126- the or each movable element.
    A83. Apparatus according to any of Claims A44 to A82, further comprising means for monitoring the position of the selection element andlor the position of the or each movable element.
    A84. Apparatus according to Claim A83, wherein the apparatus further comprises means for discriminating between the situation where the selection element is located over a movable element and the situation where the selection element is not located over a movable element, and preferably the apparatus is adapted to ensure that a movable element is in the selected state when the selection element is positioned over that movable element and not selected when the selection element is not positioned over that movable element.
    A85. Apparatus according to Claim A83 or A84, wherein the or each movable element comprises a respective active portion and, for the or each movable element, the apparatus further comprises means for discriminating between the situation where the selection element is located over the respective active portion and the situation where the selection element is not located over the respective active portion, and preferably the apparatus is adapted to ensure that each movable element is in the selected state when the selection element is positioned over the respective active portion and not selected when the selection element is not positioned over the respective active portion.
    A86. Apparatus according to Claim A83, wherein the movable elements are adapted to be displayed within a display area, and the monitoring means is adapted to monitor whether the or each selected movable element is located inside the display area and if the or each selected movable element is not located inside the display area then either deselecting the or each selected movable element or changing the display area so that the or each selected movable element is within the display area.
    A87. A method substantially as herein described with reference to one or more of the accompanying figures.
    - 127 - A88. A system substantially as herein described with reference to one or more of the accompanying figures.
    Additional claims - Set B' B 1. A method of processing market data relating to trading on an electronic trading exchange, the method comprising the steps of: dynamically generating, in response to market data received from an interface connected to the exchange, market display data comprising movable data elements for display on a display means; allowing a user to select and de-select, using a user input device, a movable data element; and freezing a selected movable data element whilst it is selected such that at least one un-selected movable data element remains movable.
    B2. A method according to claim BI wherein the market data includes at least one bid price and associated bid quantity and at least one ask price and associated ask quantity.
    B3. A method according to claim B! or claim B2 wherein the market display data is based on at least one bid price and associated bid quantity and at least one ask price and associated ask quantity.
    B4. A method according to claim B2 or claim B3 wherein the freezing step freezes a bid price and associated bid quantity.
    B5. A method according to any one of claims B2 to B4 wherein the freezingstep freezes an ask price and associated ask quantity.
    B6. A method according to any one of the preceding claims including a step of trading using trading data relating to the frozen moveable data element.
    - 128 - B7. A method according to claim B6 wherein the trading data includes a bid or ask price or a bid or ask quantity.
    B8. A method according to claim B6 or claim B7 wherein the trading data further includes a pre-determined upper and lower price limit not related to any specific frozen data element.
    B9. A method according to any one of claims B6 to B8 wherein trading is automatic at the exchange when a data element is frozen.
    BlO. A method according to any one of claims B6 to B9 wherein the trading step is dependent on the fulfilment of further conditions including a predetermined time delay or a single action of the user input device or a pre-determined multiple action of the user input device.
    B I I. A method according to any one of claims B6 to B 10 wherein the trading step is initiated at the exchange upon user input with respect to a display data element relating to either a price or a quantity.
    B12. A method according to any one of the preceding claims wherein the step of freezing a movable data element freezes an area of the display, and preferably the area is an area of data relating to a particular price.
    B13. A method according to claim B12 wherein the area is a row, part of a row, or a cell, or a column, part of a column or a cell.
    Bl4. A method according to claim Bl2 or claim B13 wherein the area contains bid or ask price andlor quantity information.
    B15. A method according to any one of claims Bl2 to B14 wherein the area is a cell containing a price or quantity associated with a particular price.
    B16. A method according to any one of claims B12 to B15 wherein the area is any - 129 - other combination of row, part of a row, or cell.
    BI 7. A method according to any one of the preceding claims wherein the movable data elements include bid and ask prices and bid and ask quantities.
    BI 8. A method according to any one of the preceding claims wherein the market data includes a plurality of bid and ask prices and associated quantities, including at least a lowest ask price and ask quantity and at least a highest bid price and bid quantity for a commodity.
    B 19. A method according to claim B 18 wherein a movable data element, relating to at least one bid price, which either is or is not the highest bid price, moves when there is a change in the highest bid price.
    B20. A method according to any one of claims B 18 or B 19 wherein a movable data element, relating to at least one ask price which either is or is not the lowest ask price, moves when there is a change in the lowest ask price.
    B2 1. A method according to any one of claims B 18 to B20 wherein bid prices and associated bid quantities move together when there is a change in the highest bid price.
    B22. A method according to any one of claims B 18 to B2 1 wherein ask prices and associated ask quantities move together when there is a change in the lowest ask price.
    B23. A method according to any of claims B18 to B22 wherein a mid-point between a highest bid price and a lowest ask price is always shown about at the centre of a market depth display shown on the display means.
    B24. A method according to any of claims B 18 to B23 wherein a mid-point between a quantity having the highest bid price and a quantity having the lowest ask price is always shown at about the centre of a market depth display shown on the display means.
    B25. A method according to any one of the preceding claims wherein the user is prevented from trading when a change in the market display data occurs when a data element is frozen.
    B26. A method according to any one of the preceding claims wherein the user is prevented from trading when a change in the market display data occurs whilst an area is frozen.
    B27. A method according to any one of the preceding claims wherein the user is prevented from trading when a lowest ask price or a highest bid price changes whilst an area is frozen.
    B28. A method according to any one of the preceding claims including the step of automatically de-selecting the selected data element when the inside market changes.
    B29. A method according to any one of the preceding claims including the step of automatically de-selecting a selected data element when the user moves the user input device away from a frozen area.
    B30. A method according to any one of the preceding claims including a step of generating an alert when any market display data changes whilst a movable data element is frozen.
    B3 1. A method according to any one of the preceding claims including a step of generating an alert when either a highest bid price or a lowest ask price changes whilst a movable data element is frozen.
    B32. A method according to claim B30 or claim B31 wherein the alert is visual, and preferably includes modifying the background appearance of a selected area.
    - 131 - B33. A method according to any of claims B30 to B32 wherein the alert includes a moving graphical element.
    B34. A method according to any of claims B30 to B33 wherein the alert is audible.
    B35. A method according to any one of claims B30 to B34 wherein the user is prevented from trading when an alert is generated.
    B36. A method according to any preceding claim including a step of automatically de-selecting the selected data element when an alert is generated.
    B37. A method according to any preceding claim wherein additional information including data hidden by the frozen area is displayed when the market moves.
    B38. A method according to claim B37 wherein the additional information is displayed in a pop-up window.
    B39. A method according to any preceding claim wherein a bid quantity is aligned with an associated bid price.
    B40. A method according to any preceding claim wherein an ask quantity is aligned with an associated ask price.
    B41. A method according to any preceding claim wherein the bid or ask quantity aligned with a price is aligned in a horizontal row.
    B42. A method according to any preceding claim wherein the bid or ask quantity aligned with a price is aligned in a vertical column.
    B43. A method according to any preceding claim including a step of generating additional information for display to the user when a movable data element is frozen.
    - 132 - B44. A method according to claim B43 wherein the step of generating additional information comprises the use of a pop-up window adjacent to a selected area.
    B45. A method according to claim B43 or claim B44 wherein the additional information includes a cumulative quantity of a commodity being traded.
    B46. A method according to any one of claims B43 to B45 wherein the additional information includes information relating to movement of prices or quantities of an inside market.
    B47. A method according to any one of the preceding claims wherein the market display data is generated for display in at least one generally rectangular area.
    B48. A method according to claim B47 wherein at least one rectangular area is oriented vertically.
    B49. A method according to claim B47 or claim B48 wherein at least one rectangular area is oriented horizontally.
    B50. A method according to any one of claims B47 to B49 wherein at least one of a bid or ask quantity is displayed in separate bid and ask areas, each area arranged on an opposite side of a central rectangular region.
    B5 I. A method according to any one of claims B47 to B50 wherein the at least one bid and ask prices are displayed in rectangular areas arranged on an opposite side of a rectangular area in which the at least one bid and ask quantities are displayed.
    B52. A method according to any one of the preceding claims wherein the market display data is displayed in separate bid price areas, ask price areas, bid quantity areas, and ask quantity areas.
    B53. A method according to claim B52 wherein the ask price area includes a - 133 - display of prices at the level of at least one bid quantity.
    B54. A method according to claim B52 or claim B53 wherein the bid price area includes a display of prices at the level of at least one ask quantity.
    B55. A method according to any one of claims B52 to B54 wherein the market display data of at least one bid quantity is aligned with the corresponding bid price data.
    B56. A method according to any one of claims B52 to B55 wherein the market display data of at least one ask quantity is aligned with the corresponding ask price data.
    B57. A method according to any one of claims B52 to B56 wherein at least one ask quantity is movable relative to an adjacent ask price.
    B58. A method according to any one of claims B52 or B57 wherein at least one bid quantity is movable relative to an adjacent bid price.
    B59. A method according to any one of claims B52 to B58 wherein a display of ask prices and corresponding ask quantities are displayed in adjacent rectangular areas at a location away from a display of bid prices and quantities.
    B60. A method according any one of claims B47 to B59 wherein the arrangement of a rectangular area on the display can be determined by the user.
    B6 I. A method according to any one of claims B47 to B60 wherein the size of a rectangular area on the display can be determined by the user.
    B62. A method according to any of claims B47 to B6l wherein the colour of a rectangular area on the display can be determined by the user.
    B63. Apparatus for putting into effect a method according to any one of the - 134- preceding claims.
    864. Apparatus for processing market data relating to trading on an electronic trading exchange, the apparatus comprising: means for dynamically generating, in response to market data received from an interface connected to the exchange, market display data comprising movable data elements for display on a display means; means for allowing a user to select and de-select, using a user input device, a movable data element; and means for freezing a selected movable data element whilst it is selected such that at least one un-selected movable data element remains movable.
    B65. Apparatus according to claim B64 wherein the market data includes at least 1 5 one bid price and associated bid quantity and at least one ask price and associated ask quantity.
    B66. Apparatus according to claim B64 or claim B65 wherein the market display data is based on at least one bid price and associated bid quantity and at least one ask price and associated ask quantity.
    B67. Apparatus according to claim B65 or claim B66 wherein the means for freezing is adapted to freeze a bid price and associated bid quantity.
    B68. Apparatus according to any one of claims B64 to B68 wherein the means for freezing is adapted to freeze an ask price and associated ask quantity.
    B69. Apparatus according to any one of claims B64 to B68 including means for trading using trading data relating to the frozen moveable data element.
    B70. Apparatus according to claim B69 wherein the trading data includes a bid or ask price or a bid or ask quantity.
    - 135 - B71. Apparatus according to claim B69 or claim B70 wherein the trading data further includes a pre-determined upper and lower price limit not related to any specific frozen data element.
    B72. Apparatus according to any one of claims B69 to B7 I wherein the means for trading is adapted to trade automatically at the exchange when a data element is frozen.
    B73. Apparatus according to any one of claims B69 to B72 wherein the means for trading is adapted to trade dependent on the fulfilment of further conditions including a pre-determined time delay or a single action of the user input device or a pre-determined multiple action of the user input device.
    B74. Apparatus according to any one of claims B69 to B73 wherein the means for trading is adapted to initiate trading at the exchange when the user uses the user input device to click on a display data element relating to either a price or a quantity.
    B75. Apparatus according to any one of claims B64 to B74 wherein the means for freezing step is adapted to freeze an area of the display.
    B76. Apparatus according to claim B75 wherein the area is a row, part of a row, or a cell.
    B77. Apparatus according to claim B75 or claim B76 wherein the area contains bid or ask price and/or quantity information.
    B78. Apparatus according to any one of claims B75 to B77 wherein the area is a cell containing a price or quantity associated with a particular price.
    B79. Apparatus according to any one of claims B75 to B78 wherein the area is any other combination of row, part of a row, or cell.
    B80. Apparatus according to any one of claims B64 to B79 wherein the movable data elements include bid and ask prices and bid and ask quantities.
    B8 1. Apparatus according to any one of claims B64 to B80 wherein the market data includes a plurality of bid and ask prices and associated quantities, including at least a lowest ask price and ask quantity and at least a highest bid price and bid quantity for a commodity.
    B82. Apparatus according to claim B81 wherein the means for dynamically generating market display data comprising a movable data element, relating to at least one bid price which is not the highest bid price, is adapted to move the data element when there is a change in the highest bid price.
    B83. Apparatus according to any one of claims B8 1 or B82 wherein the means for dynamically generating market display data comprising a movable data element, relating to at least one ask price which is not the lowest ask price, is adapted to move the data element move when there is a change in the lowest ask price.
    B84. Apparatus according to any one of claims B8l to B83 wherein bid prices and associated bid quantities move together when there is a change in the highest bid price.
    B85. Apparatus according to any one of claims B81 to B84 wherein ask prices and associated ask quantities move together when there is a change in the lowest ask price.
    B86. Apparatus according to any of claims B81 to B85 wherein a mid-point between a highest bid price and a lowest ask price is always shown about at the centre of a market depth display shown on the display means.
    B87. Apparatus according to any of claims B81 to B86 wherein a mid-point between a quantity having the highest bid price and a quantity having the lowest ask price is always shown at about the centre of a market depth display shown on the display means.
    B88. Apparatus according to any one of claims B64 to B87 adapted to prevent the user from trading when a change in the market display data occurs when a data element is frozen.
    B89. Apparatus according to any one of claims B64 to B88 wherein the apparatus is adapted to prevent the user from trading when a change in the market display data occurs whilst an area is frozen.
    B90. Apparatus according to any one of claims B64 to B89 wherein the apparatus is adapted to prevent the user from trading when a lowest ask price or a highest bid price changes whilst an area is frozen.
    B9l. Apparatus according to any one of claims B64 to B90 including means for automatically de-selecting the selected data element when the inside market changes.
    B92. Apparatus according to any one of claims B64 to B91 including means for automatically de-selecting a selected data element when the user moves the user input device away from a frozen area.
    B93. Apparatus according to any one of claims B64 to B92 including means for generating an alert when any market display data changes whilst a movable data element is frozen.
    B94. Apparatus according to any one of claims B64 to B93 including means for generating an alert when either a highest bid price or a lowest ask price changes whilst a movable data element is frozen.
    B95. Apparatus according to claim B93 or claim B94 wherein the means for generating an alert is adapted to modify the background appearance of a 138 - selected area.
    B96. Apparatus according to any one of claims B93 or claim B95 wherein the alert is audible.
    B97. Apparatus according to any one of claims B93 to B96 wherein the alert is a moving graphical element.
    B98. Apparatus according to any one of claims B93 to B97 adapted to prevent the user from trading when an alert is generated.
    B99. Apparatus according to any one of claims B64 to B98 including means for automatically dc-selecting the selected data element when an alert is generated.
    B 100. Apparatus according to any one of claims B64 to B99 adapted to display additional information including data hidden by the frozen area is adapted to display when the market moves.
    B 101. Apparatus according to claim B 100 adapted to display the additional information in a pop-up window.
    B102. Apparatus according to any one of claims B64 to BlOl adapted to align a bid quantity with an associated bid price.
    B 103. Apparatus according to any one of claims B64 to B102 adapted to align an ask quantity with an associated ask price.
    B 104. Apparatus according to any one of claims B64 to B103 adapted to align the bid or ask quantity with a price in a horizontal row.
    BIOS. Apparatus according to any one of claims B64 to B104 adapted to align the bid or ask quantity with a price in a vertical column.
    - 139- B 106. Apparatus according to any one of claims B64 to B 105 including means for generating additional information for display to the user when a movable data element is frozen.
    B107. Apparatus according to claim B106 wherein the means for generating additional information is adapted to use a pop-up window adjacent to a selected area.
    B108. Apparatus according to claim Bl06 or claim B107 wherein the additional information includes a cumulative quantity of a commodity being traded.
    B109. Apparatus according to any one of claims B106 to B108 wherein the additional information includes information relating to movement of prices or quantities of an inside market.
    B 110. Apparatus according to any one of claims B64 to B 109 wherein the means for dynamically generating market display data is adapted to generate for display market display data in at least one generally rectangular area.
    Bill. Apparatus according to claim B 110 wherein at least one rectangular area is oriented vertically.
    B 112. Apparatus method according to claim BIlO or claim Bill wherein at least one rectangular area is oriented horizontally.
    B 113. Apparatus according to any one of claims B 110 to B 112 wherein the means for dynamically generating market display data is adapted to generate for display at least one of a bid or ask quantity in separate bid and ask areas, each area arranged on an opposite side of a central rectangular region.
    B 114. Apparatus according to any one of claims B 110 to B 113 wherein the at least one bid and ask prices are displayed in rectangular areas arranged on an - 140- opposite side of a rectangular area in which the at least one bid and ask quantities are displayed.
    B115. Apparatus according to any one of claims B64 to B114 wherein the market display data is displayed in separate bid price areas, ask price areas, bid quantity areas, and ask quantity areas.
    B 116. Apparatus according to claim B 115 wherein the ask price area includes a display of prices at the level of at least one bid quantity.
    B 117. Apparatus according to claim B 115 or claim B 116 wherein the bid price area includes a display of prices at the level of at least one ask quantity.
    B 118. Apparatus according to any one of claims B 115 to B 117 wherein the market display data of at least one bid quantity is aligned with the corresponding bid price data.
    B 119. Apparatus according to any one of claims B 115 to B 118 wherein the market display data of at least one ask quantity is aligned with the corresponding ask price data.
    B 120. Apparatus according to any one of claims B 115 to B 119 wherein at least one ask quantity is movable relative to an adjacent ask price.
    B 121. Apparatus according to any one of claims B 115 or B 120 wherein at least one bid quantity is movable relative to an adjacent bid price.
    B 122. Apparatus according to any one of claims B115 to B121 wherein a display of ask prices and corresponding ask quantities are displayed in adjacent rectangular areas at a location away from a display of bid prices and quantities.
    B123. Apparatus according any one of claims BI 10 to B122 wherein the 141 - arrangement of a rectangular area on the display can be determined by the user.
    B 124. Apparatus according to any one of claims B 110 to B 123 wherein the size of a rectangular area on the display can be determined by the user.
    B125. Apparatus according to any of claims BI 10 to B124 wherein the colour of a rectangular area on the display and/or the colour of text on the display can be determined by the user.
    B 126. A method substantially as herein described with reference to one or more of the accompanying figures.
    B 127. Apparatus substantially as herein described with reference to one or more of the accompanying figures.
GB0517177A 2004-11-10 2005-08-22 A trading system Withdrawn GB2420197A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/GB2005/004326 WO2006051293A1 (en) 2004-11-10 2005-11-10 Trading system
EP05801605A EP1825326A1 (en) 2004-11-10 2005-11-10 Trading system

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB0424850A GB0424850D0 (en) 2004-11-10 2004-11-10 Trading system
GB0505551A GB0505551D0 (en) 2004-11-10 2005-03-17 Trading system
GB0515201A GB0515201D0 (en) 2004-11-10 2005-07-22 Trading system

Publications (2)

Publication Number Publication Date
GB0517177D0 GB0517177D0 (en) 2005-09-28
GB2420197A true GB2420197A (en) 2006-05-17

Family

ID=35098088

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0517177A Withdrawn GB2420197A (en) 2004-11-10 2005-08-22 A trading system

Country Status (1)

Country Link
GB (1) GB2420197A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2202628A1 (en) * 2008-12-24 2010-06-30 Research In Motion Limited Methods and systems for managing memory and processing resources for the control of a display screen to fix displayed positions of selected items on the display screen
US10521860B2 (en) 2010-06-30 2019-12-31 Trading Technologies International, Inc. Order entry actions
US20220261911A1 (en) * 2004-07-29 2022-08-18 Bgc Partners, Inc. Systems and methods for providing price axes
US20220358593A1 (en) * 2004-07-29 2022-11-10 Bgc Partners, Inc. Dynamic price axes in featured user interfaces

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030009411A1 (en) * 2001-07-03 2003-01-09 Pranil Ram Interactive grid-based graphical trading system for real time security trading
EP1426880A2 (en) * 2002-11-29 2004-06-09 Nippon Telegraph and Telephone Corporation Support for browsing and continuous browsing of linked contents
US20050149428A1 (en) * 2003-12-12 2005-07-07 Michael Gooch Apparatus, method and system for providing an electronic marketplace for trading credit default swaps and other financial instruments, including a trade management service system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030009411A1 (en) * 2001-07-03 2003-01-09 Pranil Ram Interactive grid-based graphical trading system for real time security trading
EP1426880A2 (en) * 2002-11-29 2004-06-09 Nippon Telegraph and Telephone Corporation Support for browsing and continuous browsing of linked contents
US20050149428A1 (en) * 2003-12-12 2005-07-07 Michael Gooch Apparatus, method and system for providing an electronic marketplace for trading credit default swaps and other financial instruments, including a trade management service system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220261911A1 (en) * 2004-07-29 2022-08-18 Bgc Partners, Inc. Systems and methods for providing price axes
US20220358593A1 (en) * 2004-07-29 2022-11-10 Bgc Partners, Inc. Dynamic price axes in featured user interfaces
EP2202628A1 (en) * 2008-12-24 2010-06-30 Research In Motion Limited Methods and systems for managing memory and processing resources for the control of a display screen to fix displayed positions of selected items on the display screen
US10521860B2 (en) 2010-06-30 2019-12-31 Trading Technologies International, Inc. Order entry actions
US10902517B2 (en) 2010-06-30 2021-01-26 Trading Technologies International, Inc. Order entry actions
US11416938B2 (en) 2010-06-30 2022-08-16 Trading Technologies International, Inc. Order entry actions
US11908015B2 (en) 2010-06-30 2024-02-20 Trading Technologies International, Inc. Order entry actions

Also Published As

Publication number Publication date
GB0517177D0 (en) 2005-09-28

Similar Documents

Publication Publication Date Title
JP6330079B2 (en) System and method for providing a dynamic price axis
US10795530B2 (en) Dynamic functionality based on window characteristics
US7805355B2 (en) Graphical user interface to facilitate rapid and reliable electronic trading assessment and execution
US9619839B2 (en) Systems and methods for viewing and trading futures
US7693780B2 (en) Trading system and method having a configurable market depth tool with dynamic price axis
CA2781755C (en) Method and system for displaying a cursor on a trading screen
US20060129474A1 (en) Electronic trading system
US20070150401A1 (en) Graphical user interface and method for displaying market data and entering trading orders
AU2009245833A1 (en) Systems and Methods for Providing Dynamic Price Axes in Featured User Interfaces
WO2006096607A2 (en) Trading system having a market depth tool with dynamic price axis
GB2420197A (en) A trading system
US20140188765A1 (en) Interactive user interface for input of forecasts and risk priorities and display of related strategies in a trading system
WO2006051293A1 (en) Trading system
US20220318906A1 (en) Interactive Grid-based Graphical Trading System with Smart Order Action
JP2013532861A (en) How to display market order information and place an order
WO2007103856A2 (en) Trading system and method having a configurable market depth tool with dynamic price axis

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)