METHODS AND SYSTEM FOR SHOWING PERSPECTIVE IN MARKET DATA

Methods and systems are disclosed for providing perspective to market data. A disaggregated view of market data may be generated from aggregated market data. Portions of disaggregated market data are emphasized to indicate important information (e.g., trading patterns, the number of orders or traders in the market at a given time or at a given price, the sequence of the orders at a given price, the trader's respective number of order entries, and or other user-defined characteristics associated with individual or groups of market orders) using a variety of techniques. Order entry techniques and other features are described herein.

DETAILED DESCRIPTION

The inventors have recognized that existing trading software does not efficiently deemphasize non-priority data while emphasizing more important data to enable the trader to quickly place orders based on real- or near real-time market data. Accordingly, the inventors developed software and/or hardware facilities for minimizing less important market data while generating and presenting a disaggregated view of market data that emphasizes important information (e.g., trading patterns, the number of orders or traders in the market at a given time or at a given price, the sequence of the orders at a given price, the trader's respective number of order entries, and/or user-defined characteristics associated with individual or groups of market orders.)

In some embodiments, the software and/or hardware facilities disaggregate into one or more orders portions of market data from raw market data for display as information that emphasizes one or more groups of orders at one or more prices, for example. In other embodiments, the software and/or hardware facilities display market data which has been partially processed (e.g. partially disaggregated), for example, based on one or more algorithms designed to approximate real market data and/or a market data having partial or full order details, such as data received from InterContinentalExchange (ICE). Disaggregating and or displaying orders from raw and/or partially processed aggregated data (“market data”) is important to a trader because it can provide a rich “microscopic” perspective of other traders' market activities, such as their “resting orders” (i.e., orders that have been in the market for a period of time), order sequencing across the same or different prices, and various trading patterns or user-defined identifiers, for example.

In various embodiments, the software and/or hardware facilities' method of interpolation is adjustable to control how granular or “aggressive” it recognizes an order or a user-defined order pattern. For example, instead of interpreting a total quantity to buy5items at a specific price as a single order, the software and/or hardware facilities can interpret that the 5 items are each from 5 separate orders, for example. Additionally and/or alternatively, the software and/or hardware facilities are configured to filter from display orders with item numbers above, below, or at a defined number (e.g., do not show any order for a quantity of less than 5 items). In some embodiments, the software and/or hardware facilities disaggregate orders by interpolating coalesced market data.

The software and/or hardware facilities emphasize disaggregated groups of market data using one or more of a variety of emphasis techniques. In some embodiments, visual indicators (e.g., color, color changes, highlighting, flashing, graphics, changing font size/color, icons, 2D or pseudo 3D shapes, a heat map, augmented reality, etc.) are used to emphasize orders, patterns, or other aspects within the disaggregated market data. In some embodiments, audible-based indicators (e.g., tones, music, etc.), electronic communication-based indicators (e.g., sending an email, SMS, or other messaging technique), and/or electro-mechanical indicators (e.g., an external alert system) are used by the software and/or hardware facilities to emphasize to a trader important information in the disaggregated market data. The software and/or hardware facilities are user configurable, e.g. a trader can adjust the software and/or hardware facilities to use any one or more of the above mentioned emphasis techniques to emphasize any one or more orders, patterns, user-defined identifiers, or other features within the disaggregated market data.

In some embodiments, the software and/or hardware facilities associate orders with one or more traders, brokerage firms, or user-defined analytics (e.g., trading software-based algorithms) by grouping orders based on their price, respective entry times, and/or quantity for example. In various embodiments, a trader or firm can be tracked based on a unique identifier in an order. Once identified, the software and/or hardware facilities can display and track the individual's or groups' activities (e.g., trades, cancellations, reduction, movement, etc.) within a real-time market environment (e.g., commodities trading). In various embodiments, order movement is tracked within a single price (e.g., a group of 10 orders at $100); however, in some embodiments, order movement is tracked from one price (e.g., 10 orders at $100) to another price (e.g., 10 orders at $110). Order activity is emphasized to a trader based on one or more of the above-mentioned variety of emphasis techniques.

For example, an aggregated market view of selling oil may be 500 items (e.g., contracts) at a specific price of $97.08. The disaggregated view of orders provided by the software and/or hardware facilities may consist of the sum (i.e., the overall quantity) of a first order of 100 items, a second order of 100 items, a third order of 100 items, a fourth order of 25 items, a fifth order of 75 items, and a sixth order of 100 items, for example. The software and/or hardware facilities can display the disaggregated groups of orders and indicate via one or more of the above-mentioned emphasis techniques that the first, second, third, and sixth orders are similar (i.e., each order is for 100 contracts) for example. For example, each of the first, second, third, and sixth order may be represented by flashing green shapes and/or icons, etc. This is useful to a trader because this pattern may be indicative of “auto-trading” (e.g., software that automatically enters orders based on an algorithm, etc.) or some other pattern that enables the trader a more educated view of the market. Isolating market order patterns allows a trader to “see” that the first order, for example, is a resting order that has been in the market for a lengthy period of time. In another example, the software and/or hardware technology can visually display temporal changes to market data. For example, disaggregated orders can be displayed as a heat-map that shows, for example, changes to an order over time. An order can fade between a gradient of colors based on when the order was placed, for example. Multiple orders spread across the same or a variety of prices are visually depicted as “hot” to “cold” indicators, such as fading from bright green to black as an order ages in the queue of orders. The rate at which an order fades is configured by a trader or predetermined by the software and/or hardware facilities. For example, a trader may select that orders older than 3 minutes begin to fade from green to black. Other scenarios have been considered by the inventors, such as choosing the heat map color scheme, using graphical indicators other than coloring (e.g., fading out an icon), and displaying price-specific heat maps (e.g., one price's heat map fades from blue-to-black for orders over 10 m minutes and second price's heat map fades from green-to-black for order over 3 minutes.)

The software and/or hardware facilities, in some embodiments, are used for creating and/or executing orders based on disaggregated market data. For example, order algorithms for executing a trade are, in a variety of embodiments, depicted as graphical indicia (e.g., shapes, icons, pictures, graphics, etc.) on a user-interface provided by the software and/or hardware facilities. In some embodiments, the graphical indicia are arranged relative to a holding “pen” containing representations of other algorithms. The graphical indicia can be configured to cause the software and/or hardware facilities to execute an algorithm for one or more orders based on one or more aspects of the disaggregated market data. For example, an icon representing an algorithm to purchase “X” numbers of contracts can be moved (e.g., slid across the screen via a finger or stylus, voice controlled, or dragged-and-dropped via a mouse, etc.) on top of or near a portion of the disaggregated data. The software and/or hardware facilities detects the proximity of the icon, for example, and can execute an order at the same price as the price represented by the disaggregated data. In some embodiments, an algorithm whose icon, for example, was placed on a portion of the disaggregated data delays execution based on the occurrence of an event. For example, the software and/or hardware facilities can follow the activity of an order selected from the disaggregated orders. If the selected order is traded, cancelled, or reduced, for example, the software and/or hardware facilities can automatically create a new order, modify an order, or cancel an order, for example.

Furthermore, the software and/or hardware facilities, in some embodiments, may include additional features and employ aspects of the assignee' US Patent Application entitled, “METHODS AND SYSTEMS FOR SHOWING PERSPECTIVE IN MARKET DATA,” (Ser. No. 13/463,753), filed on May 3, 2012, which is incorporated by reference herein in its entirety.

Various embodiments of the software and/or hardware facilities are described below. The following description provides specific details for a thorough understanding and enabling description of these embodiments. One skilled in the art will understand that the software and/or hardware facilities may be practiced without many of these details. Additionally, some well-known structures or functions may not be shown or described in detail, so as to avoid unnecessarily obscuring of the relevant description of the various embodiments.

The terminology used in the description presented is intended to be interpreted in its broadest reasonable manner, even though it is being used in conjunction with a detailed description of certain specific embodiments of the software and/or hardware facilities. Certain terms may even be emphasized below; however, any terminology intended to be interpreted in any restricted manner will be overtly and specifically defined as such in this Detailed Description section.

The techniques introduced below can be implemented by programmable circuitry programmed or configured by software and/or firmware, or entirely by special-purpose circuitry, or in a combination of such forms. Such special-purpose circuitry (if any) can be in the form of, for example, one or more application-specific integrated circuits (ASICs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), etc.

FIG. 1and the following discussion provide a brief, general description of a suitable computing environment in which aspects of the software and/or hardware facilities can be implemented. Although not required, aspects of the software and/or hardware facilities may be described herein in the general context of computer-executable instructions, such as routines executed by a general or special-purpose data processing device (e.g., a server or client computer). Aspects of the software and/or hardware facilities described herein may be stored or distributed on tangible computer-readable media, including magnetically or optically readable computer discs, hard-wired or preprogrammed chips (e.g., EEPROM semiconductor chips), nanotechnology memory, biological memory, or other data storage media. Alternatively, computer-implemented instructions, data structures, screen displays, and other data related to the software and/or hardware facilities may be distributed over the Internet or over other networks (including wireless networks) on a propagated signal on a propagation medium (e.g., an electromagnetic wave, a sound wave) over a period of time. In some implementations, the data may be provided on any analog or digital network (packet switched, circuit switched, or other scheme).

The software and/or hardware facilities can also be practiced in distributed computing environments where tasks or modules are performed by remote processing devices, which are linked through a communications network, such as a Local Area Network (LAN), Wide Area Network (WAN), or the Internet. In a distributed computing environment, program modules or sub-routines may be located in both local and remote memory storage devices. Those skilled in the relevant art will recognize that portions of the software and/or hardware facilities may reside on a server computer, while corresponding portions reside on a client computer (e.g., PC, mobile computer hybrid, tablet, visual aid, or smart phone). Data structures and transmission of data particular to aspects of the software and/or hardware facilities are also encompassed within the scope of the software and/or hardware facilities.

Referring toFIG. 1, the software and/or hardware facilities employs a computer100, such as a personal computer, workstation, phone, tablet, hybrid, or visual aid having one or more processors101coupled to one or more user input devices102and data storage devices104. The computer100is also coupled to at least one output device such as a display device106and one or more optional additional output devices108(e.g., printer, plotter, speakers, tactile, or olfactory output devices). The computer100may be coupled to external computers, such as via an optional network connection110, a wireless transceiver112, or both. For example, network hubs, switches, routers, or other hardware network components connected directly or indirectly to the network connection110and/or wireless transceiver112can couple one or more computers100.

The input devices102may include a keyboard and/or a pointing device such as a mouse. Other input devices are possible, such as a microphone, joystick, pen, game pad, scanner, digital camera, video camera, and the like. The data storage devices104may include any type of computer-readable media that can store data accessible by the computer100, such as magnetic hard and floppy disk drives, optical disk drives, magnetic cassettes, tape drives, flash memory cards, digital video discs (DVDs), Bernoulli cartridges, RAMs, ROMs, smart cards, etc. Indeed, any medium for storing or transmitting computer-readable instructions and data may be employed, including a connection port or node on a network, such as a LAN, WAN, or the Internet (not shown inFIG. 1).

Each of the above-mentioned features of the software and/or hardware facilities are further described below.

FIG. 2is a diagram showing a process flow200used by the software and/or hardware facilities to identify groups and patterns of orders from market data.FIG. 2includes blocks202-220. At step202, market data is received from an external source (e.g., NASDAQ, ICE, etc.) or from an internal source (e.g., synthetically generated content/orders to approximate real market data, based on mathematical models, etc.) At step204, aggregated market data is disaggregated into one or more groups of orders, based on various characteristics (e.g., the overall quantity of orders placed at a given time) detected in the market data. At step206, disaggregated groups are displayed using one or more of the above-mentioned variety of emphasis techniques. At step208, if any patterns or user-defined characteristics are detected within the market data then, at step210, the flow returns to step206where one or more groups of orders are emphasized using one or more of the above-described variety of emphasis techniques. However, if a pattern is not detected then, at step212, the flow goes to step214and the software and\or hardware facilities determine whether or not to process any new market data, if any. If so, at step216, the flow returns to step204where the new market data is disaggregated (in the case raw market data that is not disaggregated) into one or more groups, as described above. If there is no new market data to process, at step218, then the flow ends at step212.

Process flow200is described in more detail in reference toFIGS. 4-9. As described above, at step202, market data is received by the software and/or hardware facilities, as depicted inFIG. 3.FIG. 3is a block diagram300illustrating market data302. Market data302is an example of Level 1 market data that includes various orders304a-304nplaced at times301a-301n, respectively, for a total overall quantity310a-310eof one or more financial instruments (e.g., oil contracts, stock trades, currency trades, etc.) at a respective price308a-308n. Orders304a-304nare received chronologically based on their respective entry times301a-301n. Market data302can also include other data306a-306n, such as market “noise” or less important market information, that can be filtered by the software and/or hardware facilities.

FIG. 4is a graphical user interface400showing an aggregated view of bids406and orders402for securities (e.g., oil contracts). Offers402include price-quantity pairs404a-404cand bids406include price-quantity pairs404d-404f. Each price-quantity pair404a-404fincludes a corresponding price408a-408fand an aggregated quantity410a-410ffor trading the security. The aggregated quantities (e.g., the total quantity)410a-410fof the price-quantity pair404a-404fis the sum of all orders placed at a particular price (e.g.,408a). For example, price-quantity pair404amay represent a total quantity410aof 100 items (e.g., oil contracts) at a price408aof $93. Similarly, price-quantity pairs404b-404feach correspond to a respective price408b-408ffor a respective aggregated quantity410b-410fof orders. Each price-quantity pair404a-404fis stacked in relationship to their relative position to an inside market420(i.e., the spread between the highest bid price and lowest ask price). For example, offer402price-quantity pair404cand bid price-quantity pair404dare said to be in the inside market420because offer404chas the lowest offer price408cand bid404dhas the highest bid price408d.

Returning toFIG. 2, at step206, at least portions of the market data302is disaggregated into one or more groups of orders, as discussed in reference toFIG. 5a.FIG. 5ais a graphical user interface500implemented by the software and/or hardware facilities to show orders502a-504ndisaggregated from market data302. In some embodiments, the software and/or hardware facilities disaggregate orders501(e.g.,502a-502n) from market data302based on an order's quantity504a-504nand/or entry time506a-506n. For example, user interface500illustrates a disaggregated view of the overall quantity (e.g.,410a-410n) of price-quantity pairs404a-404n, respectively. Total order quantity410a, for example, is the sum of disaggregated quantities Q(A)-Q(c)504a-504n. Similarly, total order quantities410b-410nare each disaggregated by the software and/or hardware facilities into their corresponding disaggregated quantities504d-504n. Raw market data from certain providers may already have enough detailed information to discern the specific orders, their quantities, and sequence at a given price; however, the software and/or hardware facilities can disaggregate data that is not processed.

The software and/or hardware facilities, in some embodiments, emphasize the display of one or more disaggregated groups501based on one or more of the variety of emphasis techniques mentioned above. For example,FIG. 5adepicts orders502a-502nas 2D rectangles that are sized in proportion to their respective quantities504a-504nand to the overall quantity410a-410nat a respective price408a-408n. Order502c, for example, is represented by a larger rectangle than the rectangle used to represent orders502a-502bbecause order502chas a larger quantity504c. For instance, if an overall quantity410ais the sum of 100 oil contracts, then the software and/or hardware facilities, in some embodiments, present the disaggregated orders501as disaggregated quantity504a(e.g., 30 orders),504b(e.g., 10 orders) and504c(e.g., 60 orders), based on the interpolation techniques mentioned above. The inventors have contemplated other techniques for distinguishing and emphasizing disaggregated data, such as using various graphical indicators (e.g., icons, shapes, graphs, charts, heat maps, pictures, videos, images, etc.) to represent one or more disaggregated orders510. For example,FIG. 5bis a graphical user interface550that depicts various graphical indicators552-556that emphasize important market data302.FIG. 5bincludes an overall quantity (410) for each of various prices560a-560hand graphical indicators (e.g., circles552, “Xs” (554), and a rectangle556). In some embodiments, one type of indicator represents orders with a user-defined quantity552a-552b(e.g. orders of 50 items are represented as a circle), and another type of indicator depicts orders that were removed554a-554b(e.g., an ‘X’), for example.

In various embodiments, the software and/or hardware facilities determine when a disaggregated group501is displayed and how it is emphasized. For example, one or more disaggregated groups501can be selectively displayed or filtered based on each orders502a-502nrespective entry times506a-506n. For instance, orders entry times506a-506bthat exceed a configurable threshold time (e.g., 24 hours) can be filtered by the software and/or hardware facilities from display. In various embodiments, the software and/or hardware facilities are configured to allow a trader/user to adjust how orders are emphasized. For example, the user-interface500can be configured to emphasize, using one or more of the variety of emphasis techniques, that all order quantities504a-504nover 10 are displayed in one color, all orders under 10 are removed from displays, orders having a quantity504dof 50 items flashed, or similar orders are highlighted, indicated as being part of an order detected in a pattern, among others.

The software and/or hardware facilities, in some embodiments, generate and/or display synthetically generated information (e.g., implied orders, virtual orders, or orders that are not routed to an exchange) concurrently with (e.g., with the information overlays) a portion of the disaggregated orders501. For example, a virtual order is placed and displayed in a position on user interface500similar to a position as if the virtual order was actually entered into the market. The virtual order can be tracked in real or near-real time with the disaggregated orders501. In another example, disaggregated data501is illustrated as a graphical matrix of information (e.g., a heat map or fractal map) that can be displayed along with coalesced data and/or other representations of disaggregated data501. In some embodiments, the software and/or hardware facilities present the user interface500as a non-linear and or linear object. The object is configurable to have a shape of a 2D or pseudo 3D object, such as a bar, an arc, curve, parabola, sphere, wheel, or other geometrical shape. For example, the user interface can be depicted as a wheel having one or more graphical representations of orders placed in a non-linear position (i.e., about the curve of a 2D or pseudo 3D wheel). The wheel of orders appears to rotate about a static axis, based at least on an indication that a datum of the market data has changed.FIG. 6is a graphical user interface600showing a real or pseudo-real time progression610a-610gof aggregated620and disaggregated orders622-624at a single price (e.g., $100).FIG. 6shows movement of orders620-624over a period of time610a-610eat a single price (e.g., $100); however, movement relative to a single price is for example purposes only and is not a limitation of the software and/or hardware facilities. At time t0610a, aggregated market data620is received and has an unknown quantity because, for example, it is start of the day or the software and/or hardware facilities did not receive sufficient information in market data302to determine additional fidelity. In some embodiments, aggregated market data620is assumed to consist of a single order having an overall quantity of 30 items630a. Disaggregating orders is based at least on the type of information in the market data and the software and/or hardware's order estimation algorithm. The order estimation algorithm, in some embodiments, is hardware programmatically configured (e.g., using Boolean logic) to disaggregate and display orders based on the available (e.g., type/quality) of information in the market data302. Given a market data provider that provides only overall quantity410at each price level, the software and/or hardware technology estimates the makeup of the disaggregated market data501over time. Using the magnitude (difference) of the quantity change between a first and a second time, for example, the software and/or hardware facilities estimates that single orders of a known size are being added or removed from disaggregated market data. Additional market data302provided by the provider improves the order estimation algorithm. For example, the market data provider may disseminate every single quantity change to their customers and or an overall count of distinct orders (an “OrderCount”) at each price level. In other words, fidelity improves based on the quality of available information in the raw market data302.

At time t1610b, the overall quantity630achanges to 35630b. The software and/or hardware facilities, in some embodiments, will determine and indicate that a new order of 5 items was added. At time t2610c, the overall quantity630bdecreases to 25610c. The software and/or hardware facilities, in various embodiments, determines that 10 items from unknown aggregated market data620were removed, based on the presence of an order of 5622. In response, the user interface600is updated by removing 10 items from aggregated order620. At time t3, the overall quantity610cchanges from 25 to 40610d; therefore, it's likely that new order624of 15 items were added. At time t4610e, the overall quantity408adecreases by 10 to 30630e. The software and/or hardware facilities, in some embodiments, decreases the aggregated market data620by 10 items because neither of the last two orders622or624had quantities of 10 items, for example. At time t5610f, the overall quantity408changes by 5 to 25630f. In various embodiments, the software and/or hardware facilities will remove order622because it corresponds to the order for 5 items that was removed from order620and because the software and/or hardware may not have sufficient details to determine that the decrease corresponds to aggregated market data620. At time t6, the overall quantity408eto 15680g. This indicates a likelihood that order614, previously entered at time t3, is a single order for 15 items.

Returning toFIG. 2, at step208, the software and/or hardware facilities, in some embodiments, detect one or more patterns and/or user-defined characteristics in the market data302, as described in reference toFIG. 7.FIG. 7is a graphical user interface700generated by the software and/or hardware facilities that show various patterns (e.g., pattern 1702, pattern 2704, and pattern 3706) within disaggregated orders501at different prices708a-708i. Pattern 1702is indicated on user-interface700as three shaded orders702a-702cdisaggregated orders501, each represented by a proportionally sized rectangle having 10 items. As mentioned above, each order702a-702ecan be represented using a variety of graphical shapes and sizes and is not limited to the rectangle depicted inFIG. 7. In regard to pattern 1702, the software and/or hardware facilities detects that orders702a-702aare similar and potentially a result of computer-automated trading because, for example, each order702a-702cis for the same quantity of 10 items spread across three different adjacent prices602a-602band placed using staggered timing. A second pattern (i.e., pattern 2)704is shown in the disaggregated orders501as three horizontally shaded orders704a-704c. The trader can configure the software and/or hardware facilities to identify a set of orders (e.g.,704a-704e) based on their timing and or their quantity. For example, pattern 2 indicates every occurrence of an order of 20 items; however, the software and/or hardware facilities can be configured to indicate other aspects of the disaggregated data401. For instance, in various embodiments, to identify similar orders, a trader selects a first order (e.g.,704c) to find/emphasis other orders (e.g.,704a-704b) that have the same number of items, for example. A trader may select an order (e.g.,704c) via any one or more of a variety of techniques, such as a finger tap or slide, a mouse click or hover, voice activation, eye movement, a gesture, etc. A third pattern 706, includes orders706a-706e. The software and/or hardware facilities detect pattern 3706based on, for example, the quantity, time, and prices602e-602ifor orders706a-706e. Pattern 3706may indicate that a trader is attempting to corner the market (e.g., take first position across a number of prices602e-602f).

In some embodiments, one or more of patterns702-706are emphasized using one or more of the above-mentioned emphasis techniques. For example, the software and/or hardware facilities can color-code, flash, highlight, animate, and/or display icons to indicate each of the orders702a-702crepresented by pattern 1702. Similarly, the software and/or hardware facilities can emphasize pattern 2's704orders704a-704cbased on changing colors, fonts, or positions (e.g., appear to “wiggle” or animate) of the pattern 2704. In some embodiments, the software and/or hardware facilities can alert the trader that a pattern is detected. For example, detection of pattern 3706can trigger an event, such as using any of the above-mentioned emphasis techniques and/or initiate an audible tone, send one or more email/SMS, and/or send a message to another trader using the software and/or hardware facilities. In some embodiments, a pattern702-706is emphasized using a combination of the above-mentioned emphasis techniques. For example, the software and/or hardware facilities can detect pattern 1702, color code each of its orders702a-702c, initiate an audible alert (e.g., a bell), and send an SMS message to the trader. In some embodiments, the software and/or hardware facilities is user configurable. A trader can adjust the software and/or hardware facilities to use any one or more of the above-mentioned techniques (e.g., adjust colors, rate at which an order flashes) to emphasize any one or more orders702a-706ein the patterns702-706.

FIG. 8is a graphical user interface800configured for entering market orders based on using disaggregated market information501as part of the order. Graphical user interface800, in some embodiments, includes an area (e.g., a holding “pen”)802. The holding pen802includes one or more graphically represented, user-configurable order algorithms802a-802n. An algorithm, in some embodiments, is a programmatic process for generating an order based on configurable variables and or conditions (e.g., make order A for quantity B if order C is modified). Algorithms are not limited to complex scenarios. In some embodiments, an algorithm is a basic buy/sell order algorithm. Order algorithms802a-802n, in some embodiments, are represented by one or more shapes or graphics. For example, inFIG. 800, different order algorithms802a-802nare each represented by a rectangle810a-810n; however, any of the above-mentioned indicators are interchangeable (e.g., an icon). Placing a particular algorithm icon on an order causes the algorithm associated with that icon to be executed for that order. The software and/or hardware facilities include one or more techniques for placing a new order based on the position of the new order's algorithm's graphical representation. For example, orders802a-802ncan be configured to execute upon the occurrence of one or more events, such as placing a graphical representation810a-810nof the order on another order. Placing an order is performed by using a mouse, finger, gesture, eye/hand movement, etc.

The software and/or hardware facilities, in some embodiments, executes an order (e.g.,802a) when its graphical representation810a-810nis dragged and dropped onto or near a price308a. For example, an order (e.g.,802a) of 20 items804bof oil is placed at $93 (e.g., price308a) when its rectangle810ais dragged804ato price308a, at time to810a. Order algorithm802nindicates that an order802a-802n, in some embodiments, is based on the satisfaction of a condition (e.g., “Do Y, if X”). Algorithm B802cis configured to place an order that “follows” another order812(e.g., an order of 10 items) if Algorithm B's (802b) graphical representation810bis dragged to order812. Following an order allows a trader to position his or her position in response to the followed. For example, at time 1810b, algorithm B802cassociates order804bfor 20 items with order812at t1810b. The software and/or hardware facilities can modify order804bbased on a status of order812. At time 3810c, order812is canceled, fulfilled, or modified. In some embodiments, the software and/or hardware facilities trigger algorithm802bto execute by, for example, cancelling order804b, as shown at time 3810c. In some embodiments, an order is made and or an algorithm is triggered at quantity based on the total quantity410and a selected portion of the disaggregated data501. For example, at time810b, the total quantity is 50, disaggregated into orders of 5, 10, 2, 13, and 20 items. Selecting (e.g., by a mouse, finger, gesture, eye/hand movement, etc.) any position along these disaggregated orders indicates a quantity of items for a new order or a trigger for an algorithm802. A position half way along the disaggregated data (e.g., within the 13 item order) selects a quantity of 25 items because 25 is half of the overall quantity 50. Still referring to t1801b, selecting a position at the end of the disaggregated (e.g., at the end of order 20) selects a quantity of 50 items because 50 is the overall quantity at time t1801b. Selecting a position at the beginning of the disaggregated (e.g., at start of order 5) selects a quantity of 1, for example, because this is the start of the overall quantity of 50 items. The selected position along the disaggregated data501is indicated (e.g., by a graphical indicator) as a reference to the trader. In various embodiments, the indicator is used to trigger an initiation of an algorithm802. For example, the system and/or hardware facilities is configured to cancel, update, or modify a trader's order based on an overall quantity (e.g., 50) reaching a threshold (e.g., cancel my order for 25 items if the overall quantity drops below 30.)

FIG. 9are example embodiments900of computing devices capable of implementing various features of the software and/or hardware facilities.FIG. 9includes handheld device902(e.g., a smartphone, pager, PDA, or other messaging device) and mobile device904(e.g., a tablet, laptop, hybrid computer, pseudo 3D display, etc.). Each device902-904has a corresponding display906-908that is configured to display features of the software and/or hardware facilities including features ofFIGS. 3-8. In some embodiments, the displays906-908are touch screens configured to receive user input (e.g., a tap, slide, and gesture).

CONCLUSION

The teachings of the software and/or hardware facilities provided herein can be applied to other systems, not necessarily the system described herein. The elements and acts of the various embodiments described herein can be combined to provide further embodiments.

These and other changes can be made to the software and/or hardware facilities in light of the above Detailed Description. While the above description details certain embodiments of the technology and describes the best mode contemplated, no matter how detailed the above appears in text, the software and/or hardware facilities can be practiced in many ways. The software and/or hardware facilities may vary considerably in its implementation details, while still being encompassed by the technology disclosed herein. As noted above, particular terminology used when describing certain features or aspects of the software and/or hardware facilities should not be taken to imply that the terminology is being redefined herein to be restricted to any specific characteristics, features, or aspects of the technology with which that terminology is associated. In general, the terms used in the following claims should not be construed to limit the software and/or hardware facilities to the specific embodiments disclosed in the specification, unless the above Detailed Description section explicitly defines such terms. Accordingly, the actual scope of the software and/or hardware facilities encompasses not only the disclosed embodiments, but also all equivalent ways of practicing or implementing the software and/or hardware facilities.