Displaying strikes between bids and asks in a market over time using polygons

A system for displaying strikes between bids and asks in a market over time includes a computer system. The computer system receives data for a plurality of strikes reflecting values specified in the strikes for a plurality of strike variables. The computer system generates a display of the received data. The display includes multiple polygons each representing a strike between a bid and an ask. Each polygon includes multiple contiguous parallelograms each associated with one or more different strike variables. One or more dimensions of each parallelogram each reflecting a value specified in the represented strike for a strike variables associated with the parallelogram. The display includes a strike variable axis representing a range of values for an additional strike variable. Each polygon is positioned with respect to the strike variable axis according to the value specified in the represented strike for the additional strike variable. The display includes a time axis with respect to which each polygon is positioned according to the time at which the represented strike occurred.

TECHNICAL FIELD OF THE INVENTION

This invention relates generally to electronic commerce and more particularly to displaying strikes between bids and asks in a market over time using polygons.

BACKGROUND OF THE INVENTION

Business transactions are increasingly taking place over the Internet and other electronic communication networks. Electronic markets may provide a forum for such transactions, allowing buyers to locate sellers, and vice versa. A transaction may be initiated by the matching of an appropriate offer to buy (which may be referred to as a “bid”) with an appropriate offer to sell (which may be referred to as an “ask”). Such offers may include a number of offer variables, and there may be a number of possible values for each offer variable. For example, a bid may specify a bid price, a bid quantity, and possibly other values for other offer variables. Matches between bids and asks (which matches may be referred to as “strikes”) may include a number of strike variables, and there may be a number of possible values for each strike variable. For example, a strike between a bid and an ask may specify a strike price, a strike quantity, and possibly other values for other strike variables. Such values may include, for example, matching values between the bid and the ask. It may be advantageous for a buyer or seller participating in a market to monitor the strikes occurring in the market. By monitoring strikes, a buyer or seller may, for example, be able to identify trends in one or more strike variables, which trends may provide bases for buy or sell decisions. However, it may be difficult for a buyer or seller to monitor strikes occurring in a market for a number of reasons. As described above, each strike may specify a number of values for a number of strike variables. Additionally, a relatively large number of strikes may occur in a relatively short period of time. As a result, there may be a relatively large amount of information to monitor and relatively little time to analyze such information.

SUMMARY OF THE INVENTION

According to the present invention, disadvantages and problems associated with previous electronic markets may be substantially reduced or eliminated.

In one embodiment of the present invention, a system for displaying strikes between bids and asks in a market over time includes a computer system. Each strike specifies values for a plurality of strike variables. The computer system receives data for a plurality of strikes. The data reflects values specified in the strikes for a plurality of strike variables. The computer system generates a display of the received data. The display includes multiple polygons. Each polygon represents a strike between a bid and an ask, and each polygon includes multiple contiguous parallelograms each associated with one or more different strike variables. One or more dimensions of each parallelogram each reflecting a value specified in the represented strike for one of the strike variables associated with the parallelogram. The display includes a strike variable axis representing a range of values for an additional strike variable for which no value is reflected in one of the dimensions of the parallelograms. Each polygon is positioned with respect to the strike variable axis according to the value specified in the represented strike for the additional strike variable represented by the strike variable axis. The display includes a time axis that is substantially perpendicular to the strike variable axis. Each polygon is positioned with respect to the time axis according to the time at which the represented strike occurred.

Particular embodiments of the present invention may provide one or more technical advantages. In particular embodiments, for example, strikes between bids and asks in a market may be displayed over time. In particular embodiments, strikes between bids and asks may be displayed using shapes, one or more aspects of which may reflect values specified in the strikes for one or more strike variables. Displaying strikes between bids and asks in this manner may allow a buyer or seller to more easily monitor strikes occurring in a market, which may in turn allow a buyer or seller to more easily identify trends in one or more strike variables that may provide a basis for a buy or sell decision. Particular embodiments may allow a user to analyze a relatively large amount of information regarding a relatively large number of strikes in a relatively short amount of time.

Systems and methods incorporating one or more of these or other technical advantages may be well suited for modern electronic markets. One or more other technical advantages may be readily apparent to those skilled in the art from the figures, descriptions, and claims included herein.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

FIG. 1illustrates an example system10supporting one or more electronic markets. System10may include one or more buyers12, one or more sellers14, and at least one electronic marketplace16associated with a web site or other environment accessible to buyers12and sellers14. In general, electronic marketplace16or an associated device may receive bids from buyers12and asks from sellers14and match appropriate bids with appropriate asks. A bid may include an offer to buy, and an ask may include an offer to sell. Such offers may include a number of offer variables, and there may be a number of possible values for each variable. For example, a bid may specify a bid price, a bid quantity, and possibly other values for other offer variables. A bid may be matched with an ask (which match may be referred to as a “strike”) where one or more of the values specified in the bid substantially match one or more of the values specified in the ask. In addition or as an alternative, a bid may be matched with an ask where one or more of the values specified in the bid substantially match one or more of the values specified in the ask but one or more of the values specified in the bid do not substantially match one or more of the values specified in the ask. For example, a bid may be matched with an ask where the quantities specified in the bid and ask match each other but the bid price specified in the bid is greater than the ask price specified in the ask. In such a case, there may be an algorithm for determining a strike price for the strike between the bid and the ask. For example, the strike may be given a strike price equal to the specified ask price plus a suitable portion (such as one-half) of the price difference between the specified bid price and the specified ask price. In addition or as an alternative, a bid may be matched with an ask where there is no substantial match between any of the values specified in the bid and the values specified in the ask but a suitable relationship exists between at least some of the specified values. Strikes between bids and asks may include a number of strike variables, and there may be a number of possible values for each strike variable. For example, a strike between a bid and an ask may specify a strike price, a strike quantity, and possibly other values for other strike variables. Such values may include matching values between the bid and the ask, values determined based on a relationship between unmatched values specified in the bid and the ask, and other suitable values. The occurrence of a strike may cause a transaction to be initiated between the corresponding buyer12and seller14.

Although buyers12and sellers14are described as separate entities, a buyer12in one transaction may be a seller14in another transaction, and vice versa. Moreover, reference to a “buyer” or a “seller” may include a person, a computer system, an enterprise, or any other buying or selling entity, as appropriate. For example, a buyer12may include a computer programmed to autonomously identify a need for an item, search for that item, and buy that item upon identifying a suitable offer to sell. Although buying and selling are primarily described herein, the present invention contemplates any appropriate market transaction. Items may include raw materials, component parts, products, or any other tangible or intangible things that may be the subject of a transaction between a buyer12and a seller14, and a single item may include one or more other items. Additionally, items may include lots, blocks, bundles, bushels, or other suitable units of one or more individual items, where appropriate. For example, capacitors may be bought and sold in indivisible units of five hundred capacitors, instead of one capacitor at a time.

Buyers12, sellers14, and electronic marketplace16may be coupled to each other using links18that may each include one or more local area networks (LANs), metropolitan area networks (MANs), wide area networks (WANs), a portion of the Internet, or any other appropriate wireline, optical, wireless, or other links. The components of electronic marketplace16may operate on one or more computers at one or more locations, and electronic marketplace16may share one or more computers or other resources with one or more buyers12or one or more sellers14, according to particular needs. Bids and asks may be received by electronic marketplace16or an associated device in any suitable format, such as in the form of Hypertext Markup Language (HTML), Extensible Markup Language (XML), or other suitable files within Hypertext Transport Protocol messages.

Associated with electronic marketplace16, at one or more locations integral to or separate from electronic marketplace16, may be one or more market servers20and one or more databases containing transaction information22. In general, a market server20may support a particular electronic market for a particular item. For example, market server20may receive bids and asks for a particular item from buyers12and sellers14, prioritize bids and asks, match appropriate bids with appropriate asks, determine the occurrence of a strike between a bid and an ask, determine one or more values for a strike for one or more strike variables, cancel a bid or ask automatically or at the request of the corresponding buyer12or seller14or otherwise remove a bid or ask from the market, keep a record of a particular strike by storing associated transaction information22, initiate a transaction between buyer12and seller14in response to the occurrence of a strike, and perform other suitable tasks associated with supporting an electronic market. Transaction information22may include a number of records, each corresponding to a particular strike. A record of a strike may reflect a strike price, strike quantity, and possibly other values specified in the strike for other strike variables, a date and time, information identifying buyer12and seller14, and other suitable information. Transaction information22may be used by buyer12, seller14, and other appropriate entities to finalize a transaction between buyer12and seller14initiated as the result of a strike and for other suitable purposes.

FIG. 2illustrates an example display30of strikes between bids and asks in a market over time using polygons. Display30may be generated in any suitable manner for use by any suitable entities. For example, market server20may communicate data reflecting strikes between bids and asks to a computer system associated with a buyer12or seller14, which computer system may, using the communicated data, generate display30for the exclusive use of buyer12or seller14. As another example, market server20may locally generate all or certain portions of display30for a buyer12or seller14and communicate corresponding display data to a computer system associated with buyer12or seller14for the exclusive use of buyer12or seller14. As another example, market server30may locally generate certain portions of display30for use by a number of buyers12and sellers14and 5 communicate corresponding display data to computer systems associated with buyers12and sellers14, which computer systems may modify display30according to particular needs. Although example markets are described herein, the present invention contemplates any suitable market in which offers to buy are matched with offers to sell. For example, the present invention may provide a display of strikes in an auction-based market, an exchange-based market, a Request for Quote (RFQ-based market, or any other suitable market. Additionally, the present invention may provide a display of strikes in a market that is part of a larger market including a number of associated markets.

Display30may include a number of polygons32, each representing a strike between a bid and an ask. Each polygon32may include one or more contiguous parallelograms34, and one or more aspects of a parallelogram34may each reflect a value for a strike variable. Such aspects may include dimensions, colors, markings, or any other suitable aspect of parallelogram34. As an example, each polygon32may include two contiguous parallelograms34, one on top of the other. The height of the upper parallelogram34amay reflect a first value specified in the strike represented by polygon32, the width of the upper parallelogram34amay reflect a second value specified in the strike, the height of the lower parallelogram34bmay reflect a third value specified in the strike, and the width of the lower parallelogram34bmay reflect a fourth value specified in the strike. In particular embodiments, a user may select the strike variable for which values are reflected in each representative aspect of parallelograms34. This may allow a user to customize display30according to particular needs. Although display30is described and illustrated as including shapes having only two dimensions representing strikes between bids and asks, the present invention contemplates any suitable shapes having any suitable number of dimensions. For example, strikes may be represented by polyhedrons that each include one or more rectangular parallelepipeds.

Display30may also include a strike variable axis36representing a strike variable. Strike variable axis36may include a range of values for the represented strike variable, and each polygon32may be placed along strike variable axis36according to the value specified in the strike represented by polygon32for the represented strike variable. Strike variable axis36may represent any suitable strike variable, such as strike price. In particular embodiments, a user may, in addition or as an alternative to selecting the strike variables for which values are reflected in the representative aspects of parallelograms34, select the strike variable represented by strike variable axis36. As an example, a user may select the strike variable represented by strike variable axis36and the strike variable represented by each representative aspect of parallelograms34. As another example, a user may select the strike variable represented by strike variable axis36, and the strike variables represented by the representative aspects of parallelograms may be automatically selected from the remaining strike variables. As described above, polygons32may each include two contiguous parallelograms34, one on top of the other. In such case, strike variable axis36may be substantially vertical, and each polygon32may be placed along strike variable axis36such that the border between the two contiguous parallelograms34forming polygon32is aligned with a point along strike variable axis36corresponding to the value specified in the represented offer for the represented strike variable. Display30may also include a time axis38substantially perpendicular to strike variable axis36. The placement of a polygon32along time axis38may indicate the time at which the represented strike occurred. Time axis38may include a time period that “moves” as time advances. For example, time axis38may include a time period of thirty minutes, and strikes that have occurred within the last thirty minutes may be represented within display30.

As an example only and not by way of limitation, strikes between bids and asks in an exchange-based market may be represented within display30. Represented strikes may include a strike price variable, a strike quantity variable, a delivery date variable, a packaging size variable, and a purity variable, and each strike may specify a value for each of these variables. Each strike may be represented by a polygon32that includes two parallelograms34, one on top of the other. The height of the upper parallelogram34aof a polygon32may reflect the strike quantity specified in the represented strike, the width of the upper parallelogram34aof polygon32may reflect the packaging size specified in the represented strike, the height of the lower parallelogram34bmay represent the delivery date specified in the represented strike, and the width of the lower parallelogram34bmay represent the purity specified in the represented strike. Although the dimensions of parallelograms34are described and illustrated as reflecting values for strike variables, any suitable aspects of parallelograms34may reflect such values, as described above. Strike variable axis36may represent the strike price variable included within the represented strikes. Strike variable axis36may be substantially vertical and may include a range of strike prices. The point along strike variable axis36aligned with the border between the parallelograms forming a polygon32may indicate the strike price specified in the represented strike. Additionally, the placement of a polygon32along time axis34may indicate the time at which the represented strike occurred.

Strikes not meeting one or more criteria may be filtered from display30(or certain portions of display30). Any suitable criteria may be used to filter strikes from display30(or certain portions of display30). For example, strikes specifying one or more values that are (or are not) within certain ranges may be filtered from display30(or certain portions of display30). In addition or as an alternative, strikes between bids and asks from unapproved market participants may be filtered from display30. An unapproved market participant may include a seller14that is excluded from an applicable approved vendor list (AVL) or a buyer12that is excluded from an applicable approved buyer list. An approved market participant list may include an AVL for a buyer12or an approved buyer list for a seller14, as appropriate. Market participants may be excluded from an approved market participant list for any suitable reason. For example, a buyer12may exclude from an AVL all sellers14not within a certain geographical area. Approved market participant lists for a particular entity may vary from item to item. For example, an AVL for item A for a buyer12may include a particular seller14, while an AVL for item B for buyer12may exclude that seller14. A filter may be generated in any suitable manner. As an example, criteria that may be used to filter strikes from display30(or certain portions of display30) may be provided by a user. As another example, such criteria may be generated using data stored in one or more databases. Such data may one or more preferences for a user, one or more approved market participant lists for a user, or other suitable data. Any suitable combination of hardware and software supporting display30may filter strikes from display30(or certain portions of display30).

Display30may include one or more windows40within which strikes between bids and asks may be represented. For example, display30may include two windows40, window40aand window40b. All strikes occurring in the market may be represented within window40aas described above, and strikes occurring in the market not meeting one or more criteria may be filtered from window40bsuch that window40bprovides a “filtered version” of window40a. Although display30is described and illustrated as including only two windows40, display30may include any suitable number of windows40. For example, display30may include a window40within which all occurring strikes may be represented, another window40within which only those strikes passing through a first filter may be represented, another window40within which only those strikes passing through a second filter may be represented, and so on.

FIG. 3illustrates an example method for generating a display30of strikes between bids and asks in a market over time using polygons32. The method begins at step100, where a computer system associated with a buyer12receives data reflecting values specified in strikes occurring in a market. As described above, the data may be received from a market server20supporting the market. Although display30is described as being generated for a buyer12, the present invention contemplates display30being generated for any suitable entities (which may include buyers12, sellers14, or both) for any suitable purpose, as described above. Although display30is described as being locally generated using data received from a market server20, display30may be generated in any suitable manner, as described above. 5 At step102, the computer system generates a filter that may be applied to the strikes. As described above, any suitable criteria may be used to filter strikes from display30(or certain portions of display30). As described above, a filter may be generated in any suitable manner. As described above, any suitable combination of hardware and software supporting display30may filter strikes from display30(or certain portions of display30). At step104, the computer system generates display30using the received data the generated filter, and the method ends. As described above, display30may include two windows40. One such window, window40a, may be used for displaying all strikes occurring in the market, and the other, window40b, may be used for displaying only those strikes occurring in the market that pass through the generated filter.

Although the present invention has been described with several embodiments, divers changes, substitutions, variations, alterations, and modifications may be suggested to one skilled in the art, and it is intended that the invention may encompass all such changes, substitutions, variations, alterations, and modifications fall within the spirit and scope of the appended claims.