WO2002095528A2 - Trading system - Google Patents

Trading system Download PDF

Info

Publication number
WO2002095528A2
WO2002095528A2 PCT/US2002/014756 US0214756W WO02095528A2 WO 2002095528 A2 WO2002095528 A2 WO 2002095528A2 US 0214756 W US0214756 W US 0214756W WO 02095528 A2 WO02095528 A2 WO 02095528A2
Authority
WO
WIPO (PCT)
Prior art keywords
host
user
posted
traders
bid
Prior art date
Application number
PCT/US2002/014756
Other languages
French (fr)
Other versions
WO2002095528A3 (en
Inventor
Mark Alger
Shankar Jagadeesaiyer
Mark Fairchild
Harry Parlette
John Jordan
Keith Bishop
Justin Navaretta
Original Assignee
Dynegy, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dynegy, Inc. filed Critical Dynegy, Inc.
Priority to AU2002305508A priority Critical patent/AU2002305508A1/en
Publication of WO2002095528A2 publication Critical patent/WO2002095528A2/en
Publication of WO2002095528A3 publication Critical patent/WO2002095528A3/en

Links

Classifications

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

Definitions

  • This invention relates generally to trading systems, and in particular to online trading systems.
  • a system for trading products includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, permitting the host traders to hit posted user bids and lift posted user offers, permitting the user traders to hit posted host bids and lift posted host offers, matching posted host bids and posted user offers, matching posted user bids and posted host offers, and executing hit posted user bids, lifted posted user offers, hit posted host bids, lifted posted host offers, matched posted host bids and posted user offers, and matched posted user bids and posted host offers.
  • a system for trading products includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes permitting the host traders to create a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to host traders within the marketplace, permitting the host traders to create trading windows within the marketplace for trading products, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to user traders within the marketplace, permitting the user traders to create trading windows within the marketplace for trading products, transmitting information to the host traders and the user traders on a real time basis, permitting the host traders to automatically control changes in posted host bids and offers, permitting the user traders to automatically control changes in posted user bids and offers, permitting the host traders to arbitrage posted user bids and offers, permitting the host traders to hit posted user bids and lift posted user offers, permitting the user traders to hit posted host
  • a computer implemented marketplace for trading products between a host and one or more users includes one or more host trading windows for trading products, and one or more user trading windows for trading products.
  • the host trading windows are created by the host, and the user trading windows are created by the users.
  • a computer implemented marketplace for trading products between a host and one or more users includes one or more host trading windows for trading products, and one or more user trading windows for trading products.
  • the host trading windows are created by the host by a process that includes the host selecting a name for the host trading window, the host selecting an access type for the host trading window, the host selecting a trading desk assigned to the host trading window, the host selecting a commodity assigned to the host trading window, the host selecting the deal type assigned to the host trading window, the host selecting the location assigned to the host trading window, and the host selecting one or more products for the host trading window.
  • the user trading windows may be created by each of the users by a process that includes the user selecting a name for the user trading window, the user selecting an access type for the user trading window, the user selecting a commodity assigned to the user trading window, the user selecting the deal type assigned to the user trading window, the user selecting the location assigned to the user trading window, and the user selecting one or more products for the user trading window.
  • a system for trading products includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from the user traders within the marketplace, permitting the host traders to post host offers to sell products to the user traders within the marketplace, permitting the user traders to hit host bids, permitting the user traders to lift host offers, reposting host bids that are hit by one of the user traders with different prices, and reposting host offers that are hit by one of the user traders with different prices.
  • a system for trading products includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from the user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to hit posted host bids and lift posted host offers, if a user trader hits a posted host bid for a particular product, then reposting the host bid for the particular product with a reduced price and a predefined volume and reposting the host offer for the particular product with a reduced price and the predefined volume, and if a user trader lifts a posted host offer for a particular product, then reposting the host offer for the particular product with an increased price and a predefined volume and reposting the host bid for the particular product with an increased price and the predefined volume.
  • a system for trading products includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from the user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to hit posted host bids and lift posted host offers, permitting a host trader to operably couple a parent product and a child product, and changing the prices of the posted host bid and posted host offer for the child product as a function of the prices of the posted host bid and posted host offer for the parent product.
  • a system for trading products includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from the user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to hit host bids and lift host offers, if a user trader hits a host bid for a particular product, then calculating a price change value as a function of the difference between the price of the host bid for the particular product and the host offer for the particular product and then reducing the prices of the posted host bid and offer for the particular product by the price change value, and if a user trader lifts a host offer for a particular product, then calculating a price change value as a function of the difference between the price of the host bid for the particular product and the host offer for the particular product and then increasing the prices of the
  • a system for trading products includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from the user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from the host traders and user offers to sell products to host traders within the marketplace, and controlling the prices of the posted host bids as a function of the prices of the posted users bids.
  • a system for trading products includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from the user traders and host offers to sell products to user traders within the marketplace, permitting a host trader to define a trading chain that operably couples host bids and/or host offers, permitting the user traders to hit posted host bids and lift posted host offers, if a user trader hits a posted host bid or lifts a posted host offer, then determining if the hit posted host bid or lifted posted host offer is part of the trading chain, and if the hit posted host bid or lifted host offer is part of the trading chain, then reducing the volume of all of the posted host bids and offers that are part of the trading chain.
  • a system for trading products includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the user traders to post user bids to purchase products from the host traders and user offers to sell products to host traders within the marketplace, if a user trader posts a new user bid, determining if the price of the new user bid is greater than the price of an existing user offer, if the price of the new user bid is greater than the price of an existing user offer, then determining if the difference between the price of the new user bid and the price of an existing user offer is greater than a predetermined minimum price spread; if the difference between the price of the new user bid and the price of an existing user offer is greater than a predetermined minimum price spread, then executing the new user bid and the existing user offer, if a user trader posts a new user offer, determining
  • a system for trading products includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, and matching posted user bids and posted host offers by a process that includes: determining if the price of a posted user bid for a particular product is greater than or equal to the price of a posted host offer for the particular product, if the price of the posted user bid for a particular product is greater than or equal to the price of the posted host offer for the particular product, then determining if the posted user bid for the particular product is all or nothing, if the posted user bid for the particular product is not all or nothing, then executing
  • a system for trading products includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, one or more user traders coupled to the Internet, and one or more counterparty user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, permitting the counterparty user traders to post counterparty user bids to purchase products from user traders and counterparty user offers to sell products to user traders within the marketplace, and matching posted user bids and posted host or counterparty user offers by a process that includes: determining if the price of a posted user bid for a particular product is greater than or equal to the price of a posted host offer for the particular product, if the price of the posted user bid for a particular product is greater than or equal to the price of the posted host offer for the particular product, then determining if the posted user bid for the particular product is all or nothing, if the posted user bid for the particular product is not all or nothing, then executing a trade between the corresponding user trader and the corresponding
  • a system for trading products includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, permitting host traders to hit posted user bids and lift posted user offers, permitting user traders to hit posted host bids and lift posted host offers, matching posted host bids and posted user offers, matching posted user bids and posted host offers, and executing trades for a particular product initiated by matched posted host bids and posted user offers, matched posted user bids and posted host offers, hit host bids, lifted host offer, hit user bids, and lifted users offer by a process that includes determining if the trade for the particular product was initiated by a
  • a system for trading products includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting a host trader to operably couple posted host bids and offers within a trading chain, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, permitting host traders to hit posted user bids and lift posted user offers, permitting user traders to hit posted host bids and lift posted host offers, matching posted host bids and posted user offers, matching posted user bids and posted host offers, and executing trades for a particular product initiated by matched posted host bids and posted user offers, matched posted user bids and posted host offers, hit host bids, lifted host offer, hit user bids, and lifted users
  • a system for trading products includes the Internet, a host computer coupled to the Internet, a message server coupled to the host computer and the Internet, one or more host traders coupled to the Internet, one or more user traders coupled to the Internet, and an event filter coupled to each of the user traders.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplacepermitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, pushing information to the message server, the event filter for each user trader determining if information has been pushed to the message server, and the event filter for each user trader extracting information pushed to the message server to the corresponding user trader.
  • a system for trading products includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to add a rolling term product to the marketplace for trading products that is defined by an initial term, an initial term start time, and an initial term roll time, if the marketplace time is greater than or equal to the term start time for the rolling term product, then permitting the rolling term product to be traded and/or delivered within the marketplace, if the marketplace time is equal to the initial term roll time, then not permitting the rolling term product to be traded and/or delivered within the marketplace, generating a new term and a new term roll time for the rolling term product, changing the product description for the rolling term product to reflect the new term and new term roll time, and permitting the rolling term product to be traded and/or delivered within the marketplace.
  • a system for trading products includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, and permitting the host traders to create trading calendars that define on what dates and times corresponding products may be traded within the marketplace.
  • a system for trading products includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, and permitting the host traders to create descriptions of the products traded within the marketplace by a process that includes creating one or more product description templates, defining unique characteristics of the products traded within the marketplace, and generating unique product descriptions for each product traded within the marketplace by combining the unique characteristics of the products with one or more product description templates.
  • a computer implemented marketplace for trading products between a host and one or more users includes one or more host trading windows for trading products, and one or more user trading windows for trading products.
  • the host trading windows are created by the host by a process that includes the host selecting one or more products for the host trading window by a process that includes the host defining a host product selection criteria for defining what products may be selected from the available products, and one or more products being selected for inclusion in the host trading window using the host product selection criteria.
  • the user trading windows may be created by each of the users by a process that includes the user selecting one or more products for the user trading window by a process that includes the user defining a user product selection criteria for defining what products may be selected from the available products, and one or more products being selected for inclusion in the user trading window using the user product selection criteria.
  • a system for trading products that includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post bids to buy products from the user traders, permitting the host traders to post offers to sell products to the user traders, and permitting the host traders to change the prices of host bids and offers by a process that includes selecting a plurality of products for which the prices of the corresponding host bids and offers will be changed, and changing the prices of the host bids and offers for the selected products by the same amount.
  • a system for trading products includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post bids to purchase products from the host traders, permitting the host traders to post offers to sell products to the host traders, controlling the prices of the posted host bids and offers using one or more price control strategies by a process that includes determining if an event has occurred that will trigger the execution of one or more of the price control strategies, locking all host bids and offers that will be controlled by the price control strategies that were triggered, determining the hierarchical order in which the price control strategies that were triggered will be executed, and executing the triggered price control strategies in the determined hierarchical order by a process that includes executing each triggered price control strategy by selecting the price control strategies one at a time in the determined hierarchical order until all price control strategies have been executed, during the
  • a system for trading products includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, one or more user traders coupled to the Internet, a communication interface coupled to the host computer, and a trading system coupled to the communication system adapted to permit the host traders and the user trader to trade products.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, permitting the host traders to hit posted user bids and lift posted user offers, permitting the user traders to hit posted host bids and lift posted host offers, matching posted host bids and posted user offers, matching posted user bids and posted host offers, and executing hit posted user bids, lifted posted user offers, hit posted host bids, lifted posted host offers, matched posted host bids and posted user offers, and matched posted user bids and posted host offers.
  • a system for trading products includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, one or more user traders coupled to the Internet, a communication interface coupled to the host computer, and one or more printers coupled to the communication interface.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplacepermitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, permitting the host traders to hit posted user bids and lift posted user offers, permitting the user traders to hit posted host bids and lift posted host offers, matching posted host bids and posted user offers, matching posted user bids and posted host offers, executing hit posted user bids, lifted posted user offers, hit posted host bids, lifted posted host offers, matched posted host bids and posted user offers, and matched posted user bids and posted host offers, if a trade is executed, then generating a deal sheet object and a printer name, and printing the deal sheet object on the named printer.
  • a system for trading products includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, permitting the host traders to hit posted user bids and lift posted user offers, permitting the user traders to hit posted host bids and lift posted host offers, if a host bid is hit by a user trader, then determining if the host bid was hit for partial volume, if the host bid was hit for partial volume, then decreasing the volume of the hit host bid the volume that the host bid was hit, if the host bid was not hit for partial volume, then placing the hit host bid on hold and reducing the volume of the hit host bid to zero,
  • FIG. 1a is a schematic illustration of an exemplary embodiment of a system for trading products.
  • Fig. 1 b is a schematic illustration of an exemplary embodiment of the market for trading products of the system of Fig. 1 a.
  • Fig. 1c is a schematic illustration of an exemplary embodiment of the market for trading products of Fig. 1b.
  • Fig. 1d is a schematic illustration of an exemplary embodiment of one of the trading windows of the market for trading products of Fig. 1c.
  • Fig. 2 is a flow chart illustration of an exemplary embodiment of a method for operating the system of Figs. 1a-1d.
  • Figs. 3a-3c are flow chart illustrations of an exemplary embodiment of the method for setting up the market by the host of the method of Fig. 2.
  • Figs. 4a-4c are illustrations of an exemplary embodiment of the addition of users using the method of Figs. 3a-3c.
  • Figs. 4d-4e is an illustration of an exemplary embodiment of the editing of users using the method of Figs. 3a-3c.
  • Fig. 4f is an illustration of an exemplary embodiment of the addition of products using the method of Figs. 3a-3c.
  • Fig. 4g is an illustration of an exemplary embodiment of the defining of a trading calendar for a product using the method of Figs. 3a-3c.
  • Figs. 5a-5c are flow chart illustrations of an exemplary embodiment of the method for market making by the host of the method of Fig. 2.
  • Figs. 6a-6j are illustrations of an exemplary embodiment of the creation of trading windows using the method of Figs. 5a-5c.
  • Fig. 6k is an illustration of an exemplary embodiment of the viewing of the activity history of the method of Figs. 5a-5c.
  • Fig. 61 is an illustration of an exemplary embodiment of the posting of a host bid or host offer for trading within the system using the method of Figs. 5a- 5c.
  • Fig. 6m is an illustration of an exemplary embodiment of the placing a bid or offer on hold using the method of Figs. 5a-5c.
  • Fig. 6n is an illustration of an exemplary embodiment of placing a trading floor or a trading desk on hold using the method of Figs. 5a-5c.
  • Figs. 60 is an illustration of an exemplary embodiment of editing a bid or offer using the method of Figs. 5a-5c.
  • Fig. 6p is an illustration of an exemplary embodiment of the hitting or lifting of a bid or offer with or without review using the method of Figs. 5a-5c.
  • Figs. 7a-7d are illustrations of an exemplary embodiment of a stack manager price strategy.
  • Figs. 8a-8c are illustrations of an exemplary embodiment of a parent-child price strategy.
  • Fig. 9 is an illustration of another exemplary embodiment of a parent-child price strategy.
  • Figs. 10a-10b are illustrations of another exemplary embodiment of a parent-child price strategy.
  • Fig. 11 is an illustration of an exemplary embodiment of a multi- generational implementation of a parent-child product relationship.
  • Figs. 12a-12d are illustrations of an exemplary embodiment of a mid- market price strategy.
  • Figs. 13a-13d are illustrations of an exemplary embodiment of a lean-on price strategy.
  • Figs. 14a-14c are illustrations of another exemplary embodiment of a lean- on price strategy.
  • Figs. 15a-15c are illustrations of another exemplary embodiment of a lean- on price strategy.
  • Figs. 16a-16c are illustrations of another exemplary embodiment of a lean- on price strategy.
  • Figs. 17a-17d are illustrations of another exemplary embodiment of a lean- on price strategy.
  • Figs. 18a-18b are illustrations of another exemplary embodiment of a lean- on price strategy.
  • Figs. 19a-19d are illustrations of an exemplary embodiment of one cancels others price strategy.
  • Figs. 19e-19g are illustration of an exemplary embodiment of a parent child price strategy.
  • Fig. 20 is a flow chart illustration of an exemplary embodiment of the method for the host evaluating bids/offers of the method of Fig. 2.
  • Figs. 21a-21d are illustrations of an exemplary embodiment of an arbitrage method.
  • Fig. 22 is a flow chart illustration of the method for deal execution for the host of the method of Fig. 2.
  • Fig. 23 is a schematic illustration of an exemplary embodiment of the order matching engine and the order execution engine of the system of Figs. 1 a and 1 b.
  • Figs. 24a-24f are illustrations of an exemplary embodiment of a method for operating the order matching engine of Fig. 23.
  • Figs. 25a-25d are illustrations of an exemplary embodiment of a method for operating the order execution engine of Fig. 23.
  • Figs. 26a-26c is an illustration of an exemplary embodiment of a method for processing bids and offers within the system of Figs. 1a and 1 b.
  • Fig. 27 is an illustration of an exemplary embodiment of the method for credit administration for the host of the method of Fig. 2.
  • Fig. 28 is a flow chart illustration of an exemplary embodiment of the method for operating the trading floor for users of the method of Fig. 2.
  • Figs. 29a-29b are illustrations of an exemplary embodiment of the posting of user bids and offers.
  • Fig. 29c is an illustration of an exemplary embodiment of the placing of user bids and offers on hold, removing user bids and offer from hold, and canceling user bids and offers.
  • Fig. 29d is an illustration of an exemplary embodiment of a deal sheet.
  • Fig. 29e is an illustration of an exemplary embodiment of a legal description for a product.
  • Figs. 30a-30b are illustrations of an exemplary embodiment of a system and method for real time messaging.
  • Fig. 31 is a flow chart illustration of an exemplary embodiment of the method for users evaluating bids/offers of the method of Fig. 2.
  • Fig. 32 is an illustration of an exemplary embodiment of the viewing of bids and offers.
  • Fig. 33 is a flow chart illustration of an exemplary embodiment of the method for users executing deals of the method of Fig. 2.
  • Fig. 34 is an illustration of an exemplary embodiment of an activity history.
  • Fig. 35 is a flow chart illustration of an exemplary embodiment of the method for the host and the users to generate reports of the method of Fig. 2.
  • Fig. 36a is a schematic illustration of an exemplary embodiment of a product having a limited term.
  • Fig. 36b is a schematic illustration of an exemplary embodiment of a product having a rolling term.
  • Figs. 36c-36d is a flow chart illustration of an exemplary embodiment of a method for managing rolling term products.
  • Fig. 37a is a flow chart illustration of an exemplary embodiment of a method for creating trading calendars.
  • Fig. 37b is an illustration of an exemplary embodiment of the creation of a trading calendar.
  • Figs. 38a and 38b are schematic illustrations of an exemplary embodiment of the generation of product descriptions.
  • Fig. 39a is a flow chart illustration of an exemplary embodiment of a method for selecting products for a trading window using filter criteria.
  • Fig. 39b is an illustration of an exemplary embodiment of the selection of products for a trading window using filter criteria.
  • Fig. 40a is a flow chart illustration of an exemplary embodiment of a method for adjusting the prices of the host bids and offers using spinner boxes.
  • Fig. 40b is an illustration of an exemplary embodiment of the adjustment of prices for host bids and offers using spinner boxes.
  • Figs. 41a-41 d are illustrations of an exemplary embodiment of a method for managing price control strategies.
  • Figs. 42a-42b are schematic illustrations of an exemplary embodiment of a system for trading products.
  • Figs. 43a-43d are illustrations of a system and method for printing reports in a trading system.
  • a trading system that permit products such as, for example, energy products to be traded using the Internet. In this manner, the products may be traded in a more efficient manner thereby reducing the transaction costs associated with the trading of products.
  • an exemplary embodiment of a system 10 for trading products includes a web host computer 12 that is operably coupled to the Internet 14 by a communications link 16.
  • Users A and B, 18a and 18b, respectively, are operably coupled to the Internet 14 by communication links, 20 and 22, respectively, and master users A and B, 24a and 24b, respectively, are operably coupled to the Internet 14 by communication links, 26 and 28, respectively.
  • a host administrator 30, and host traders, 32a and 32b, are operably coupled to the web host computer 12 by communication links, 34, 36, and 38, respectively.
  • the design and operation of the Internet 14 is well known to persons having ordinary skill in the art.
  • the communication links, 16, 20, 22, 26, 28, 34, 36, and 38 may be, for example, any conventional communications links.
  • the users A and B, 18a and 18b, respectively, master users A and B, 24a and 24b, respectively, host administrator 30, and host traders, 32a and 32b may include, for example, programmable general purpose computers that utilize a conventional Internet service provider and a web browser. In several alternative embodiments, a local area network, a wide area network, and/or a wireless network may be substituted for, or used in combination with, the Internet 14.
  • the web host computer 12, the host administrator 30, and the host traders, 32a and 32b are associated with a host company 40
  • the user A 18a and the master user A 24a are associated with a company A 42
  • the user B 18b and the master user B 24b are associated with a company B 44. In this manner, the host company 40 may trade products with the companies A and B, 42 and 44.
  • the host company 40 creates and maintains a market for trading products 46 in which the users A and B, 18a and 18b, the master users A and B, 24a and 24b, the host administrator 30, and the host traders, 32a and 32b, may place bids to purchase products 48a, 48b, 48c, and 48d, and/or offer the products for sale.
  • the products, 48a, 48b, 48c, and/or 48d may include products and/or services.
  • users 18 and master users 24 may hit or lift host bids or offers, respectively, posted for trading in the marketplace by the host administrator 30 and/or host traders 32.
  • the host administrator 30 and the host traders 32 may hit or lift user bids or offers, respectively, posted for trading in the marketplace by the users 18 and/or master users 24.
  • this indicates the acceptance for execution of a trade by the host trader at the price and volume of the user bid.
  • a host trader lifts a user offer this indicates the acceptance for execution of a trade by the host trader at the price and volume of the user offer.
  • a user trader when a user trader hits a host bid, this indicates the acceptance for execution of a trade by the user trader at the price and volume of the host bid. In an exemplary embodiment, during the operation of the marketplace 46, when a user trader lifts a host offer, this indicates the acceptance for execution of a trade by the user trader at the price and volume of the host offer. In an exemplary embodiment, during the operation of the marketplace 46, a user bid and a host offer may be matched up for automatic execution of a trade if the prices and volumes of the user bid and host offer are identical.
  • a user offer and a host bid may be matched up for the automatic execution of a trade if the prices and volumes of the user offer and host bid are identical.
  • the resulting trade will be executed using the price of the user bid or the user offer, respectively.
  • a user bid and a host offer may be matched up for automatic execution of a trade if the prices and volumes of the user bid and host offer are not identical.
  • a user offer and a host bid may be matched up for the automatic execution of a trade if the prices and volumes of the user offer and host bid are not identical.
  • the market for trading products 46 may include one or more trading windows 50 that each may each include one or more products 48.
  • the users A and B, 18a and 18b, the master users A and B, 24a and 24b, the host administrator 30, and the host traders, 32a and 32b may place bids to purchase products 48a, 48b, 48c, and 48d, and/or offer the products for sale using one or more trading windows 50.
  • the market for trading products 46 provides a direct online electronic order execution system. Referring to Fig.
  • the system 10 implements a method of operating a trading system 200 in which users A and B, 18a and 18b, master users A and B, 24a and 24b, the host administrator 30, and the host traders, 32a and 32b, may logon to the web host computer 12 in step 202.
  • the host administrator 30 and the host traders, 32a and 32b may select market setup for host in step 204, market making for host in step 206, bid/offer evaluation for host in step 208, deal execution for host in step 210, and/or credit administration for host in step 212
  • the users, 18a and 18b, and the master users, 24a and 24b may select trading floor for users in step 214, bid/offer evaluation for users in step 216, and deal execution for users in step 218, and, (c) the users A and B, 18a and 18b, the master users A and B, 24a and 24b, the host administrator 30, and the host traders, 32a and 32b, may select reports for host and users in step 220.
  • the host administrator 30 and the host traders A and B, 32a and 32b may then select maintain users in step 302, maintain products in step 304, and/or maintain attributes in step 306.
  • the host administrator 30 and the host traders A and B, 32a and 32b may then select add users in step 302a, edit user profiles in step 302b, reset user passwords in step 302c, disconnect users in step 302d, hold/cancel user bid/offer in step 302e, or hold postings in step 302f.
  • a host trader 32 may be added to the system 10 by entering the name 402 of the host trader, the trading desk 404 associated with the host trader, and the active or inactive status 406 of the host trader.
  • a master user 24 may also be added to the system 10 by entering the company 408 associated with the master user, the name 410 of the master user, the active or inactive status 412 of the user or master user, and the trading access rights 414 of the master user.
  • the trading access rights 414 of the master user may be execute, read only, or none.
  • a user 18 may also be added to the system 10 by entering the company 416 associated with the user, the name 418 of the user, the customer type 420, the trading access rights 422 of the user on a product-by-product basis, the active or inactive status 424 of the user, the global creditworthiness 426 of the user, and the creditworthiness on a product-by-product basis 428 of the user.
  • the profile for a master user 24 may be edited by revising the company 408 associated with the master user, the name 410 of the master user, the active or inactive status 412 of the user or master user, and the trading access rights 414 of the master user.
  • the profile for a master user 24 may be edited by revising the company 408 associated with the master user, the name 410 of the master user, the active or inactive status 412 of the user or master user, and the trading access rights 414 of the master user.
  • the profile for a user 18 may also be edited by revising the company 416 associated with the user, the name 418 of the user, the customer type 420, the trading access rights 422 of the user on a product-by-product basis, the active or inactive status 424 of the user, the global creditworthiness 426 of the user, and the creditworthiness on a product-by-product basis 428 of the user.
  • step 302c the password for a user 18, master user 24, host administrator 30, or host trader 32 may be reset.
  • step 302d a user 18, a master user 24, a host administrator 30, or a host trader 32 may be disconnected from the system 10.
  • step 302e a bid or offer of a user 18, a master user 24, a host administrator 30, or a host trader 32 may be placed on hold or removed from the system.
  • step 302f a posted bid or offer of a user 18, a master user 24, a host administrator 30, or a host trader 32 may be placed on hold.
  • the host administrator 30 and the host traders A and B, 32a and 32b may then select add products in step 304a or edit products in step 304b.
  • the host administrator 30 and the host traders A and B, 32a and 32b may then select add products in step 304a or edit products in step 304b.
  • a product may be added to the system 10 by entering one or more of the following product attributes: the major commodity name 430 of the product; the minor commodity name 432 of the product; the type of trading calendar 434 for the product; the deal type 436 for the product; the trading desk 438 for the product; the term 440 of the product; the price mechanism 442 of the product; the country 444 of the product; the price unit of measure 446 of the product; the volume unit of measure 448 of the product; the trading currency 450 of the product; the display formula 452 of the product; the quality of service 454 of the product; the contact user 456 of the product; the location 458 of the product; the settlement type 460 of the product; the delivery time 462 of the product; the priority of service 464 of the product; and the transportation type 466 of the product.
  • the major commodity name 430 of the product may, for example, be US Natural Gas
  • the minor commodity name 432 of the product may, for example, be US Natural Gas
  • the type of trading calendar 434 for the product may, for example, be Natural Gas Standard
  • the deal type 436 for the product may, for example, be Physical
  • the trading desk 438 for the product may, for example, be East Natural Gas Desk
  • the term 440 of the product may, for example, be Next Day
  • the price mechanism 442 of the product may, for example, be Fixed Price
  • the country 444 of the product may, for example, be USA
  • the price unit of measure 446 of the product may, for example, be MMBtu
  • the volume unit of measure 448 of the product may, for example, be MMBtu
  • the trading currency 450 of the product may, for example, be US Dollars
  • the display formula 452 of the product may, for example, be US Natural Gas - Not Swap
  • the quality of service 454 of the product may, for example, be Firm
  • step 304b one or more of the attributes associated with a selected product may be edited.
  • the host administrator 30 and the host traders A and B, 32a and 32b may then select define a trading calendar in step 306a, edit trading calendar in step 306b, add a country in step 306c, add a customer type in step 306d, add a deal type in step 306e, add a delivery time for a product in step 306f , add a trading desk in step 306g, add a downstream system for a product in step 306h, add/edit the general terms and conditions for a product in step 306i, adding a product location in step 306j, add a major commodity category in step 306k, add a minor commodity category in step 3061, add a price unit of measure in step 306m, add a price mechanism for a product in step 306n, add a priority of service category in step 306o, add a security role in step 306p, add a settlement price mechanism in step 306q, create a product long description template in step 306
  • a trading calendar 468 may be added to the system 10 by entering the name 470 of the trading calendar, the month 472 and year 474 of the trading calendar, and the trading start time 476 and the trading stop time 478 for each day of the trading calendar.
  • one or more trading calendar templates may be created that can then be used to define the trading calendar for one or more of the products 48.
  • the trading calendar 468 may also be edited.
  • a country category may be added to the system 10. In this manner, a catalog of possible countries for product delivery may be maintained.
  • a customer type may be added to the system 10.
  • customer types include Gas Trading Company or Producer.
  • a catalog of possible customer types may be maintained within the system 10 that may be used to characterize users 18 and master users 24.
  • a deal type may be added to the system 10.
  • deal types include Physical or Basis Swap.
  • a catalog of deal types may be maintained within the system 10 that may be used to characterize products 48.
  • a delivery time category for a product may be added to the system 10.
  • delivery time categories include Peak and Off Peak.
  • a catalog of delivery times may be maintained within the system 10 that may be used to characterize products 48.
  • a trading desk may be added to the system 10.
  • Each trading desk is associated with the host company 40 and may be responsible for the trading of one or more products 48.
  • Examples of trading desks include East Power, Coal, and Emissions.
  • a catalog of trading desks may be maintained within the system 10 that may be used to characterize products 48.
  • a downstream system for a product may be added to the system 10.
  • a downstream system refers to a delivery system or destination that is downstream from the location of the product. Examples of downstream locations include Abacus and Right Angle.
  • a catalog of downstream systems may be maintained within the system 10 that may be used to characterize products 48.
  • the general terms and conditions for a product may be added to, or edited within, the system 10.
  • a catalog of general terms and conditions may be maintained within the system 10 that may be used to characterize products 48.
  • a product location may be added to the system 10. In this manner, a catalog of product locations may be maintained within the system 10 that may be used to characterize products 48.
  • a major commodity category may be added to the system 10.
  • major commodity categories include Power and US Natural Gas.
  • a catalog of major commodity categories may be maintained within the system 10 that may be used to characterize products 48.
  • a minor commodity category may be added to the system 10.
  • minor commodity categories include East Power and West Power.
  • a catalog of minor commodity categories may be maintained within the system 10 that may be used to characterize products 48.
  • a price unit of measure for a product may added to the system 10.
  • price units of measure include MMBtu and MWhr.
  • a catalog of price units of measure may be maintained within the system 10 that may be used to characterize products 48.
  • a price mechanism for a product may be added to the system 10.
  • price mechanisms include Fixed Price and NYMEX Last Day Settlement.
  • a catalog of price mechanisms may be maintained within the system 10 that may be used to characterize products 48.
  • a priority of service category may be added to the system 10.
  • priority of service categories include Firm and Interruptible.
  • a catalog of priority of service categories may be maintained within the system 10 that may be used to characterize products 48.
  • a security role category may be added to the system 10.
  • security role categories include Host Trader and Host Administrator.
  • a catalog of security role categories may be maintained within the system 10 that may be used to characterize users, 18 and 24.
  • a settlement price mechanism may be added to the system 10.
  • settlement price mechanism categories include NYMEX Last Day Settlement and Inside FERC TETCO ELA Index.
  • a catalog of settlement price mechanisms may be maintained within the system 10 that may be used to characterize products 48.
  • a product long description template may be added to the system 10.
  • a catalog of product long description templates may be maintained within the system 10 that may be used to characterize products 48.
  • a product long description template may be edited.
  • a product term category may be added to the system 10.
  • product term categories include Next Day and Prompt Month.
  • a catalog of product term categories may be maintained within the system 10 that may be used to characterize products 48.
  • a transportation type may be added to the system 10. Examples of transportation types include Barge and Train. In this manner, a catalog of transportation types may be maintained within the system 10 that may be used to characterize products 48.
  • tolerances may be defined within the system 10. Tolerances provide safeguards for host and user traders. Examples of tolerances include % price change and maximum volume. In this manner, the operation of the system 10 may adjusted by adjusting the tolerances. In an exemplary embodiment, the tolerances may be defined on a system wide basis and/or on a product-by-product basis. In an exemplary embodiment, in step 306w, rolling terms for products may be defined within the system 10. A product 48 having a rolling term is automatically renewed for trading upon the expiration of the term. In this manner, a catalog of rolling terms may be maintained within the system 10 that may be used to characterize products 48.
  • a type of currency for trading products may be added to the system 10.
  • a catalog of currencies for trading products may be maintained within the system 10 that may be used to characterize products 48.
  • a volume unit of measure may be added to the system 10. Examples of volume units of measure include MMBtu and MWhr.
  • a catalog of volume units of measure may be maintained within the system 10 that may be used to characterize products 48.
  • the legal description of a product may be edited.
  • the host administrator 30 and the host traders A and B, 32a and 32b may then select create trading windows in step 206a, open trading windows in step 206b, change products in trading windows in step 206c, delete trading windows in step 206d, arrange trading windows in step 206e, manage views in step 206f, view activity history in step 206g, set up product price and volume in step 206h, view order depth in step 206i, view order details in step 206j, place products and postings on hold in step 206k, release products and postings from hold in step 2061, holding a trading window, a trading floor, or a trading desk in step 206m, change a posting in step 206n, change prices using bid/offer spinners in step 206o, change prices using the all spinner in step 206p, change prices using the spread spinner in step 206q, hit/lift bid/offer with review in step 206
  • a trading window 602 may be added to the system 10 by entering the name 604 of the trading window, the access type 606 for the trading window, the trading desk(s) 608 assigned to the trading window, the commodities 610 assigned to the trading window, the deal type(s) 612 for the trading window, the location(s) 614 for products within the trading window, the individual products 616 to be traded within the trading window.
  • the access type 606 may be a trading window or a viewing only window.
  • the host administrator 30 and host traders 32 may create customized trading windows 602 for use by the corresponding host administrator or host traders, or for use by any host administrator, host trader, user 18, and/or master user 24.
  • a host bid 618 posted by the host administrator 30 or host traders 32 to purchase the product 616 from the users 18 or master users there may a host offer 620 posted by the host administrator or host traders to sell the product to the users or master users, a user bid 622 posted by the users 18 or master users 24 to purchase the product from the host administrator or host traders, and a user offer 624 posted by the users or master users to sell the product to the host administrator or host traders.
  • the users bids and offers, 622 and 624 are positioned above or below the host bid and offer, 618 and 620, for the product 616.
  • the trading window 602 includes a plurality of rows that correspond to products 616a-616h.
  • each product 616 within the trading window includes the corresponding commodity name 626, the currency 628, the price unit 630, the priority 632, the deal type 634, the term date 636, the location 638, the price mechanism 640, the depth 642 of the user bid position for the product, the status 644 of the host and user bids, 618 and 622, respectively, for the product, the host and user bids for the product, the host and user offers for the product, 620 and 624, respectively, the status 646 of the host and user offers for the product, the depth 648 of the user offer position for the product, and the net host position 650 for the product.
  • the depth 642 of the user bid position refers to aggregate amount of user bids for a particular product
  • the depth 648 of the user offer position refers to the aggregate amount of user offers for a particular product
  • the host net position 650 refers to the amount by which the host is long or short for the particular product.
  • one or more trading windows may be opened thereby permitting one or more trading windows 602 to be viewed simultaneously.
  • step 206c the products 616 within in the trading windows 602 may be changed thereby permitting the content of the trading windows to be customized.
  • step 206d one or more trading windows
  • 602 may be deleted from the system 10.
  • the trading windows 602 may be arranged on the screen of the host administrator 30 or host trader 32.
  • Examples of trading window arrangements include Tile and Cascade. In this manner, the appearance of the graphical user interface provided by the trading windows 602 may be customized.
  • step 206f the appearance of the various fields of the trading window 602 may be customized.
  • the trading activity history 652 for a user 18, a master user 24, a host administrator 30, or a host trader 32 may be generated for viewing that includes the activity code 652a, the order type 652b, the product description 652c, the volume 652d, the price per unit volume 652e, the counterparty 652f, the date and time of the transaction 652g, the transaction number 652h, and the user ID 652L
  • the activity code 652a may indicate a successful or a failed trade execution
  • the order type 652b may indicate a buy or a sell.
  • the host administrator 30 or the host trader 32 may enter a bid to purchase a product 616 and/or an offer to sell a product within the trading window 602 by entering the bid price, bid volume, offer price, and/or offer volume into the corresponding cells within the trading window.
  • the entered information is displayed in a preview mode. The host administrator 30 or the host trader 32 may then either submit the entered information for posting in the system 10, or cancel the entered information.
  • the depth of a buy or sell order may be viewed.
  • the order depth includes information such as the counterparty, the volume, the price, and the all-or-nothing status of the order.
  • products and postings may be placed on, or released from, hold by selecting the product 616 within the trading window 602 and then selecting hold order 654 or unhold order 656.
  • hold order 654 or unhold order 656 Once an buy order or a sell order has been placed on hold, a hold designation appears in the corresponding status column, 644 and 646, adjacent to the corresponding bid or offer column, 618 and 620, respectively. Orders placed on hold may not be executed by the system 10 unless, and until, they are released from hold.
  • a trading window 602 or a trading desk may be placed on hold by selecting hold trading floor 658 or hold trading desk 660. Once a trading window or a trading desk has been placed on hold, all of the buy and sell orders associated with the trading window or trading desk are also placed on hold.
  • the host administrator 30 or the host trader 32 may edit a bid to purchase a product 616 and/or an offer to sell a product within the trading window 602 by editing the bid price, bid volume, offer price, and/or offer volume into the corresponding cells within the trading window.
  • the entered information is displayed in a preview mode. The host administrator 30 or the host trader 32 may then either submit the edited information for posting in the system 10, or cancel the edited information.
  • the per unit prices for the bids or the offers for a product 616 may be changed by selecting the bid or offer for the product within the trading window 602 and then increasing or decreasing the per unit price using the bid spinner 662 or the offer spinner 664.
  • the per unit prices for all bids and offers for a particular product 616 entered by the host administrator 30 or host trader 32 may be changed by selecting the product within the trading window 602 and then increasing or decreasing the per unit prices for all of the bids or offers using the all spinner 666.
  • the per unit prices for all bids and offers for a particular product 616 within a trading window 602 entered by the host administrator 30 or host traders 32 may be changed by selecting the product within the trading window and then increasing or decreasing the spread between the per unit prices for the bids and offers for the selected product using the spread spinner 668.
  • the host administrator 30 or the host traders 32 may hit/lift bids/offers with review entered by the users 18 or master users 24 by selecting the particular bid or offer and then selecting execute with review 670.
  • the host administrator 30 or host traders 32 when the host administrator 30 or host traders 32 hit a user bid posted by the users 18 or master users 24 to purchase a product from the host administrator or host traders, the host administrator or host trader generate a hit request to sell a volume of the corresponding product to the corresponding user or master user at the price of the posted user bid.
  • the hit request may then be processed by the system to generate an executed trade.
  • the volume of the host hit request generated by the hit may be less than or equal to the total volume of the user bid.
  • the host administrator 30 or host traders 32 when the host administrator 30 or host traders 32 lift an offer posted by the users 18 or master users 24 to sell a product to the host administrator or host traders, the host administrator or host traders generate a lift request to purchase a volume of the corresponding product from the corresponding user or master user at the price of the posted user offer.
  • the lift request may then be processed by the system to generate an executed trade.
  • the volume of the host lift request generated by the lift may be less than or equal to the total volume of the user offer.
  • execute with review permits the host administrator 30 or host trader 32 to review the execution of the order prior to the actual execution. Furthermore, in an exemplary embodiment, execute with review also permits the host administrator 30 or host trader 32 to change the volume of the hit or lift to permit a trade to be executed if the user bid or offer is not all or nothing.
  • the host administrator 30 or host traders 32 may hit/lift bids/offers entered by the users 18 or master users 24 by selecting quick execute 672.
  • the host administrator 30 or host traders 32 may select stack manager thereby implementing a stack manager program 700 that permits the host administrator 30 or host traders 32 to control the movement of the per unit prices of the host bids and host offers for products posted by the host administrator or host traders for trading products within the system 10.
  • the operating parameters 702a for stack manager may be selected.
  • operating parameters 702a for stack manager include one or more of the following: the identity 702b of the product, the active or inactive status 702c of stack manager, the price change 702d, the next volume 702e, the number of iterations 702f, the number of iterations remaining 702g, warn on 702h, the shift market selector 702i, and the execute when zero selector 702j.
  • the identity 702b of the product identifies the product for which the stack manager program 700 will be implemented
  • the active or inactive status 702c of stack manager indicates whether or not the stack manager program 700 is active or inactive
  • the price change 702d indicates the amount to decrease or increase the per unit price of the corresponding host bid or offer, respectively, each time the host bid or the host offer is hit or lifted
  • the next volume 702e indicates what the new volume should be for the host bid or the host offer each time the host bid or the host offer is hit or lifted
  • the number of iterations 702f indicates the number of times to execute the stack manager program 700 before ending
  • the number of iterations remaining 702g indicates the number of iterations remaining.
  • the stack manager program 700 will provide a warning indicator if the number of iterations remaining 702g approaches zero. If the shift market selector 702i is selected, the stack manager program 700 will adjust the per unit prices of the host bid and the host offer each time the host bid or the host offer is hit or lifted. If the execute when zero selector 702j is selected, the stack manager program 700 will not adjust the per unit prices unless the host bid or offer is hit or lifted for the full volume of the host bid or offer.
  • step 704 the system 10 determines if stack manager has been activated by the host administrator 30 or host traders 32. If stack manager has been activated, then, in step 706, the system 10 determines if the host bid or offer for the selected product was hit or lifted.
  • steps 708, 710, 712, and 714 provide a default program for controlling the movement of the prices and volumes of host bids and offers.
  • step 706 determines if there are remaining iterations to be executed in step 716. If there are remaining iterations, then the system 10 determines if it can execute stack manager on zero volume in step 718. If the system 10 determines that there are no remaining iterations in step 716, then the system 10 executes steps 710, 712, and/or 714 as described above. If the system 10 determines that it can execute stack manager on zero volume in step 718, then the system determines if the host bid or offer was hit or lifted for partial volume in step 720.
  • the system 10 can execute stack manager on zero volume, the system can only execute stack manager if the host bid or offer is hit or lifted for the full volume of the host bid or offer. If the host bid or offer was not hit or lifted for partial volume, then the system 10 determines if it can shift markets in step 722. If the system 10 can shift markets, then the system 10 will change the per unit price and the volume for the host bid and offer in step 724. In an exemplary embodiment, if the host bid was hit, the per unit price is decreased in step 724, and, if the host offer was lifted, the per unit price is increased in step 724.
  • the system 10 will change the per unit price and volume for the host bid or offer that was hit or lifted in step 726.
  • the per unit price is decreased in step 726, and, if the host offer was lifted, the per unit price is increased in step 726.
  • the system 10 determines that it can execute stack manager on non-zero volume in step 718, then the system 10 executes steps 722, 724, and/or 726 as described above. If the system 10 determines that the host bid or offer was hit or lifted for partial volume in step 720, then the system executes step 712 as described above.
  • the stack manager program 700 provides an method for controlling the movement of the per unit prices and volumes of the host bid and/or offer for a selected product. In this manner, the management and control of the market for trading products 46 is enhanced. More generally, the teachings of the stack manager program 700 may be utilized to control the movement of the per unit prices of host and/or user posted bids and/or offers for products.
  • the host administrator 30 or the host traders 32 may then select one of the following price change strategies: parent/child in step 206ua, mid market in step 206ub, or lean on in step 206uc. In this manner, the host administrator 30 and the host traders 32 may further control the movement of prices and volumes for host bids and offers during operation of the system 10.
  • the host administrator 30 or the host traders 32 may implement a parent/child program 800 in which the movement of the per unit prices of host bids and offers for a parent product 800a and a child product 800b within the market for trading products 46 may be controlled.
  • the host administrator 30 or the host traders 32 may enter the operating parameters 802a for the parent/child program 800.
  • the operating parameters 802a for the parent/child program 800 include one or more of the following: the identity 802aa of the parent product, the identity 802ab of the child product, the bid price offset 802ac for the parent/child, ,. the offer price offset 802ad for the parent/child, the minimum price spread 802ae for the bids/offers of the child, the bid offset multiplier 802af for the parent/child, the offer offset multiplier 802ag for the parent/child, and the number of children 802ah for the parent.
  • the bid price offset 802ac for the parent/child defines the offset between the host bid prices for the parent and child products
  • the offer price offset 802ad for the parent/child defines the offset between the host offer prices for the parent and child products
  • the minimum price spread 802ae for the bids/offers of the child defines the minimum spread between the host bids and offers for the child products
  • the parent/child bid offset multiplier 802af defines the multiple of a price change to a parent host bid that will be applied to a child host bid
  • the parent/child offer offset multiplier 802ag defines the multiple of a price change to a parent host offer that will be applied to a child host offer
  • the number of children 802ah defines the number of children products that are assigned to a particular parent product.
  • the bid price offset 802ac for the parent/child products and the offer price offset 802ad for the parent/child products cause changes in the host bid or offer prices for the parent product 802aa to result in corresponding changes in the host bid or offer prices for the child product 802ab.
  • the system adjusting the host bid and offer prices for the child product 802ab to maintain the corresponding parent/child bid/offer price offsets, 802ac and 802ad.
  • step 804 the system 10 determines if the price for the host bid or offer for the parent product 802aa has been changed. If the price for the host bid or offer for the parent product 802aa has been changed, then the system 10 determines if, as a result of the change in the price for the host bid or offer for the parent product 802aa, the resulting changes in the host bid and offer prices for the child product 802ab will violate the minimum spread 802ae between the host bid and offer price for the child product in step 806.
  • the system 10 multiplies the parent/child bid/offer price offsets, 802ac and 802ad, respectively, by the parent/child bid/offer offset multipliers, 802af and 802ag, respectively, in step 808. In this manner, the parent/child bid/offer price offsets, 802ac and 802ad, are updated.
  • the system 10 then changes the host bid and/or offer price for the child product to set the price spread between the host bid and offer prices for the child product 802ab equal to the minimum child bid/offer price spread 802ae in step 810. If the spread between the host bid and offer price for the child product
  • 802ab will not be less than the minimum spread 802ae between the host bid and offer price for the child product, then the system 10 multiplies the parent/child bid/offer price offsets, 802ac and 802ad, respectively, by the parent/child bid/offer offset multipliers, 802af and 802ag, respectively, in step 812. In this manner, the parent/child bid/offer price offsets, 802ac and 802ad, are updated. The system 10 then changes the price of the host bid or offer for the child product 802ab using the parent/child bid price offset 802ac or the parent/child offer price offset 802ad in step 814.
  • the host administrator 30 or the host traders 32 may implement a parent/child program 900 in which the movement of the per unit prices for host bids and offers for the parent product 800a and the child product 800b within the market for trading products 46 may be further controlled.
  • the parent/child program 900 operates in combination with the parent/child program 800.
  • step 902 the system 10 determines if the host bid or offer price for the child product 802ab has changed. If the host bid or offer price for the child product 802ab has changed, then the system 10 calculates the resulting new values for the parent/child bid or offer price offset, 802ac or 802ad, in step 904.
  • the host administrator 30 or the host traders 32 may implement a parent/child program 1000 in which the movement of the per unit prices for host bids and offers for the parent product 800a and the child product 800b within the market for trading products 46 may be further controlled.
  • the parent/child program 1000 operates in combination with the parent/child program 800 and/or the parent child program 900.
  • step 1002 the system 10 determines if the host bid and offer prices for the parent product 802aa are also being controlled by the stack manager program 700. If the host bid and offer prices for the parent product 802aa are also being controlled by the stack manager program 700, the system 10 then determines if the host bid or offer for the parent product 802aa have been hit or lifted in step 1004. If the host bid or offer for the parent product 802aa have been hit or lifted, then the system 10 changes the host bid and/or offer prices for the parent product 802aa using the stack manager program 700 in step 1006.
  • the system 10 determines if the new host bid and offer prices for the child product 802aa caused by the new host bid and offer prices for the parent product 802aa will cause the spread between the host bid and offer prices for the child product to violate the minimum child bid/offer price spread 802ae in step 1010.
  • the system 10 multiplies the parent/child bid/offer price offsets, 802ac and 802ad, respectively, by the parent child bid/offer offset multipliers, 802af and 802ag, respectively, in step 1012. In this manner, the parent/child bid/offer price offsets, 802ac and 802ad, are updated. The system 10 then changes the host bid and/or offer price for the child product 802ab to set the price spread between the host bid and offer prices for the child product equal to the minimum child bid/offer price spread 802ae in step 1014.
  • the system 10 multiplies the parent/child bid/offer price offsets, 802ac and 802ad, respectively, by the parent/child bid/offer offset multipliers, 802af and 802ag, respectively, in step 1016. In this manner, the parent/child bid/offer price offsets, 802ac and 802ad, are updated. The system 10 then changes the price of the host bid or offer for the child product 802ab using the parent/child bid price offset 802ac or the parent/child offer price offset 802ad in step 1018.
  • the parent/child programs 800, 900, and 1000 permit the host administrator 30 and the host traders 32 to control the movement of host bid and offer prices for parent and child products. More generally, the teachings of the parent/child programs 800, 900, and 1000 may be utilized to control the host bid and offer prices for parent, child, and grandchild products. More generally still, the teachings of the parent/child programs 800, 900, and 1000 may be utilized to control the host bid and offer prices for any number of generations of products. More generally still, the teachings of the parent/child programs 800, 900, and 1000 may be utilized to control the host and/or user bid and offer prices for any number of generations of products. In an exemplary embodiment, as illustrated in Fig.
  • the system 10 when implementing the parent/child programs 800, 900, and/or 1000, the system 10 permits the host administrator 30 and host traders 32 to control the bid and/or offer prices of products having multi generational relationships.
  • the bid and/or offer prices of a grandparent product 1102, parent products, 1104 and 1106, and child products, 1108, 1110, and 1112 may be controlled using the parent/child programs 800, 900, and/or 1000.
  • the child product B 1110 has a parent/child relationship with parent product A 1104 and parent product B 1108.
  • the system 10 permits parent/child product relationships that are both multi generational and pluralistic.
  • the host administrator 30 or the host traders 32 may implement a mid- market price strategy program 1200 in which the movement of the per unit prices for host bids and offers for products posted by the host administrator 30 and the host traders 32 for trading products may be controlled.
  • the host administrator 30 or the host traders 32 may enter the operating parameters 1202a for the mid-market price strategy program 1200.
  • the operating parameters 1202a for the mid-market price strategy program 1200 include the identity 1202aa of the product, and a scaling factor 1202ab.
  • the identity 1202aa of the product identifies the product 48 for which host bid prices and offer prices will be controlled by the mid-market price strategy program 1200, and the scaling factor 1202ab provides a scaling factor for adjusting the degree to which the host bid and offer prices for the product will be adjusted.
  • the system 10 determines if the host bid or the host offer for the product have been hit or lifted.
  • the system 10 locks the host bid and offer for the product in step 1206. Once the host bid and offer are locked, they cannot be modified by the host administrator 30 or the host traders 32 until the end of the mid-market price strategy program 1200. If the host bid and offer for the product are successfully locked, then the system 10 calculate a price change PRICECHANGE1 using the following equation in step 1210:
  • PRICECHANGE1 (HOST OFFER PRICE - HOST BID PRICE)/2 If the host bid and offer for the product are not successfully locked, then the system 10 sends a warning message to the host administrator 30 or host traders 32 in step 1212.
  • step 1214 the system 10 determines if changes in the host bid and offer prices are volume sensitive.
  • changes in the host bid and offer prices are volume sensitive if the host bid hit volume or the host offer lift volume are less than a predetermined sensitivity value or less than a predetermined sensitivity percentage of the volumes of the host bid and offer.
  • the host administrator 30 or host traders 32 may adjust the sensitivity values at any point during the attempted execution of a trade by the system 10.
  • PRICECHANGE2 PRICECHANGE1 OLUME OF TRADE*SCALING FACTOR where Volume Of Trade is equal to the volume of the user hit request or the user lift request created by hitting or lifting the host bid or offer.
  • the system 10 determines if the host bid was hit or the host offer was lifted in step 1218. If the host bid was hit, then the system 10 reduces the host bid and offer prices for the product by an amount equal to PR1CECHANGE2 in step 1220. Alternatively, if the host offer was lifted, then the system 10 increases the host bid and offer prices for the product by an amount equal to PRICECHANGE2 in step 1222.
  • the system 10 determines if the host bid was hit or the host offer was lifted in step 1224. If the host bid was hit, then the system 10 reduces the host bid and offer prices for the product by an amount equal to PRICECHANGE1 in step 1226. Alternatively, if the host offer was lifted, then the system 10 increases the host bid and offer prices for the product by an amount equal to PRICECHANGE1 in step 1228.
  • the mid-market price strategy program 1200 provides a method of controlling the movement of prices of host bids and offers. More generally, the teachings of the mid-market strategy program 1200 may be utilized to control the prices of user bids and offers for products.
  • the host administrator 30 or the host traders 32 may implement a lean-on price strategy program 1300 in which the movement of the per unit prices for host bids and offers for products posted by the host administrator and the host traders for trading products in the system may be controlled.
  • the host administrator 30 or the host traders 32 may enter the operating parameters 1302a for the lean-on strategy program 1300 into the system 10.
  • the operating parameters 1302a for the lean-on strategy program 1300 include the identity of the product 1302aa, the margin amount 1302ab, and the use volume of user bid indicator 1302ac.
  • the identity of the product 1302aa defines which host bid and offer prices will be controlled by the lean-on strategy program 1300
  • the margin amount 1302ab defines the amount by which the host bid and offer prices will vary from user bid and offer prices posted by the users 18 and master users 24 for the product 1302aa
  • the use volume of user bid indicator 1302ac indicates whether or not the host bid should use the volume of the user bid.
  • step 1304 the system 10 determines if the users 18 or master users 24 posted a new user bid 1304a for the product 1302aa. If the users 18 or master users 24 posted a new user bid 1304a for the product 1302aa, then the system 10 determines if the price of the new posted user bid 1304a is greater than the price for the original posted host bid 1306a for the product 1302aa plus the margin amount 1302ab in step 1306. If the price of the new posted user bid 1304a is greater than the price of the original posted host bid 1306a for the product 1302aa plus the margin amount 1302ab, then the system 10 determines if the price of the new posted user bid 1304a is greater than the price for all other users bids 1308a in step 1308.
  • the system 10 stores the original posted host bid
  • the system 10 calculates a new host bid 1312a for the product 1302aa having a price that is equal to the price of the new user bid 1304a for the product 1302aa minus the margin amount 1302ab in step 1312.
  • step 1314 the system 10 determines if the volume of the new host bid 1312a should be equal to the volume of the new user bid 1304a for the product 1302aa by checking the value of the use the volume of user bid indicator 1302ac. If the volume of the new host bid 1312a should be equal to the volume of the new user bid 1304a for the product 1302aa, then the system 10 posts the new host bid 1312a for the product 1302aa into the system with the volume of the new host bid equal to the volume for the new user bid 1304a in step 1316.
  • the system 10 posts the new host bid for the product into the system with the volume of the new host bid equal to the volume of the original host bid 1306a.
  • the host administrator 30 or the host traders 32 may implement a lean-on price strategy program 1400 in which the movement of the per unit prices for bids and offers for products posted by the host administrator and the host traders may be controlled.
  • the lean-on price strategy program 1400 operates in combination with the lean-on price strategy program 1300.
  • the system 10 determines if the users 18 or master users 24 posted a new user bid 1402a for the product 1302aa by, for example, changing an existing user bid for the product.
  • the system 10 determines if the price of the new posted user bid 1402a is greater than the price of the original posted host bid 1404a plus the margin amount 1302ab in step 1404.
  • the system 10 determines if the price of the new posted user bid 1402a is greater than the bid price of all other user bids 1406a posted by the users 18 or master users 24 in step 1406. Alternatively, if the price of the new posted user bid 1402a is less than or equal to the price of the original posted host bid 1404a price plus the margin amount 1302ab, the system 10 posts the original host bid 1404a for trading in step 1408.
  • the system 10 stores the original host bid 1404a in step 1410. Alternatively, if the price of the new posted user bid 1402a is less than or equal to the price for all other user bids 1406a posted by the users 18 or master users 24, then the system 10 calculates and posts a new host bid 1412a having a price equal to the highest price of all of the user bids 1412b minus the margin amount for trading in step 1412.
  • the system 10 After storing the original host bid 1404a in step 1410, the system 10 calculates a new host bid 1414a for the product 1302aa having a price equal to the price of the new posted user bid 1402a minus the margin amount 1302ab in step 1414. The system 10 then determines if the volume of the new host bid 1414a should be equal to the volume of the new posted user bid 1402a in step 1416. If the volume of the new host bid 1414a should be equal to the volume of the new posted user bid 1402a for the product 1302aa, then the system 10 posts the new host bid for the product into the system for trading using the volume for the new user bid 1402a in step 1418.
  • the system 10 posts the new host bid for the product 1302aa into the system for trading using the volume for the original posted host bid 1408a in step 1420.
  • the host administrator 30 or the host traders 32 may implement a lean-on price strategy program 1500 in which the movement of the per unit prices for bids and offers for products posted by the host administrator and the host traders may be controlled.
  • the lean-on price strategy program 1500 operates in combination with the lean-on price strategy program 1300 and/or the lean-on strategy program 1400.
  • step 1502 the system 10 determines if the users 18 or master users 24 canceled or placed an existing posted user bid 1502a for the product 1302aa on hold. If the users 18 or master users 24 canceled or placed a existing posted user bid 1502a for the product 1302aa on hold, then the system 10 locks the existing current host bid 1504a for the product 1302aa in step 1504. The system 10 then checks to see if the existing current host bid 1504a for the product 1302aa was locked in step 1506.
  • the system 10 determines if the price of the existing current posted host bid 1504a is greater than the price of the original posted host bid 1508a for the product 1302aa in step 1508.
  • the system 10 determines if the price of the canceled or held existing posted user bid 1502a for the product 1302aa is greater than the prices of all other existing user bids 1510a for the product posted by the users 18 or master users 24 in step 1510.
  • the system 10 determines if the prices of any of the other existing posted user bids 1510a for the product 1302aa are greater than the price of the original posted host bid 1508a plus the margin amount 1302ab in step 1512.
  • the system 10 If the prices of any of the other existing posted user bids 1510a for the product 1302aa are greater than the price of the original posted host bid 1508a plus the margin amount 1302ab, then the system 10 generates a new host bid 1514a having a price equal to highest price of the other existing posted user bids 1510a minus the margin amount 1302ab in step 1514. Alternatively, If the prices of any of the other existing posted user bids 1510a for the product 1302aa are less than or equal to the price of the original posted host bid 1508a plus the margin amount 1302ab, then the system 10 posts the original host bid 1508a for trading in step 1516.
  • the system 10 determines if the volume of the new host bid 1514a should be equal to the volume of the existing posted user bid 1502a in step 1518. If the volume of the new host bid 1514a should be equal to the volume of the existing posted user bid 1502a for the product 1302aa, then the system 10 posts the new host bid 1514a for the product 1302aa into the system for trading using the volume for the existing user bid 1502a in step 1520. Alternatively, if the volume of the new host bid 1514a should not be equal to the volume of the existing posted user bid 1502a for the product 1302aa, then the system 10 posts the new host bid 1514a for the product 1302aa into the system using the volume for the original posted host bid 1508a in step 1522.
  • the system 10 unlocks the current existing host bid 1504a in step 1524.
  • the system 10 unlocks the current existing host bid 1504a in step 1524.
  • the host administrator 30 or the host traders 32 may implement a lean-on price strategy program 1600 in which the movement of the per unit prices for host bids and offers for products posted by the host administrator and the host traders for trading products in the system 10 may be controlled.
  • the lean-on price strategy program 1600 operates in combination with the lean-on price strategy program 1300 and/or the lean-on strategy program 1400 and/or the lean-on strategy program 1500.
  • step 1602 the system 10 determines if the host administrator 30 or host traders 32 hit a current posted user bid 1602a for the product 1302aa. If the host administrator 30 or host traders 32 hit a current posted user bid 1602a for the product 1302aa, then the system 10 determines if the price of the current host bid 1604a is greater than the price of the original host bid 1604b for the product 1302aa in step 1604.
  • the system 10 determines if the price of the hit current posted user bid 1602a for the product 1302aa is greater than the prices of all other user bids 1606a for the product in step 1606. If the price of the hit current posted user bid 1602a for the product 1302aa is greater than the prices of all other user bids 1606a for the product, then the system determines if the price of any of the other posted user bids 1606a for the product are greater than the price of the current posted host bid 1604a plus the margin amount 1302ab in step 1608.
  • the system 10 locks the current host bid and offer, 1604a and 1610a, for the product in step 1610.
  • the system 10 posts the original host bid 1604b for trading in step 1612. After locking the current host bid and offer, 1604a and 1610a, for the product 1302aa, the system 10 then checks to see if the current host bid and offer were actually locked in step 1614.
  • the system 10 calculates a new host bid 1616a for the product 1302aa having a price that is equal to the highest price of the other posted user bids 1606a minus the margin amount in step 1616. Alternatively, If the current host bid and offer were not actually locked, then the system 10 posts a warning in step 1618.
  • the system 10 After calculating the new host bid 1616a for the product 1302aa, the system 10 then determines if the volume of the new host bid 1616a should be equal to the volume of the current posted user bid 1602a in step 1620. If the volume of the new host bid 1616a should be equal to the volume of the current posted user bid 1602a for the product 1302aa, then the system 10 posts the new host bid for the product into the system for trading using the volume for the current posted user bid 1602a in step 1622.
  • the system 10 posts the new host bid for the product into the system for trading using the volume for the original posted host bid 1604b in step 1624.
  • the host administrator 30 or the host traders 32 may implement a lean-on price strategy program 1700 in which the movement of the per unit prices for host bids and offers for products posted by the host administrator and the host traders for trading products in the system 10 may be controlled.
  • the lean-on price strategy program 1700 operates in combination with the lean-on price strategy program 1300 and/or the lean-on strategy program 1400 and/or the lean-on strategy program 1500 and/or the lean-on strategy program 1600.
  • step 1702 the system 10 determines if the users 18 or master users 24 hit a current posted host bid 1702a for the product 1302aa. If the users 18 or master users 24 hit a current posted host bid 1702a for the product 1302aa, then the system 10 determines if the price of the hit current host bid is greater than the price of the original host bid 1704a for the product in step 1704.
  • the system 10 determines if the leaned on user bid 1706a for the product should be automatically executed when the host bid 1702a was hit in step 1706.
  • the leaned on user bid 1706a is the user bid whose price is being leaned on to define the price for the host bid 1702a.
  • the host administrator 30 or host users 32 may select the automatic execution functionality. If the leaned on user bid 1706a for the product should be automatically executed when the host bid 1702a was hit, then the system 10 will hit the leaned on user bid 1706a with the volume of the hit equal to the volume of the host bid 1702a in step 1708.
  • the system 10 determines if the price of any of the posted user bids 1710a for the product 1302aa are greater than the price of the current posted host bid 1702a plus the margin amount 1302ab in step 1710. If the price of any of the posted user bids 1710a for the product 1302aa are greater than the price of the current posted host bid 1702a plus the margin amount 1302ab, then the system 10 calculates a new host bid 1712a for the product 1302aa having a price that is equal to the highest price of the posted user bids 1710a minus the margin amount in step 1712.
  • the system 10 posts the original host bid 1704a for the product for trading in the system in step 1714.
  • the system 10 determines if the volume of the new host bid 1712a should be equal to the volume of the current posted user bid 1710a having the highest price in step 1716. If the volume of the new host bid 1712a should be equal to the volume of the current posted user bid 1710a having the highest price for the product 1302aa, then the system 10 posts the new host bid for the product into the system 10 for trading using the volume for the current posted user bid having the highest price in step 1718.
  • the system 10 posts the new host bid for the product into the system 10 for trading with the volume of the new host bid equal to the volume for the original posted host bid 1704a in step 1720.
  • the host administrator 30 or the host traders 32 may implement a lean-on price strategy program 1800 in which the movement of the per unit prices for host bids and offers for products posted by the host administrator and the host traders for trading products in the system 10 may be controlled.
  • the lean-on price strategy program 1800 operates in combination with the lean-on price strategy program 1300 and/or the lean-on strategy program 1400 and/or the lean-on strategy program 1500 and/or the lean-on strategy program 1600 and/or the lean-on strategy program 1700.
  • step 1802 the system 10 determines if the host administrator 30 or host traders 32 posted a new host bid 1802a for the product 1302aa. If the host administrator 30 or host traders 32 posted a new host bid 1802a for the product 1302aa, then the system 10 determines if the price of the new posted host bid 1802a is greater than or equal to the price of a new host bid 1804a generated using any one of the lean on price strategy programs, 1300, 1400, 1500, 1600, or 1700.
  • the system 10 posts the new host bid 1802a to the system 10 for trading products in step 1806.
  • the system 10 (a) disables the lean on price strategy programs 1300 and/or 1400 and/or 1500 and/or 1600 and/or 1700 and/or 1800 and/or (b) resets the margin amount 1302ab to a predetermined default value and/or (c) saves the new host bid 1802a as the original host bid 1808a and/or (d) posts the new host bid 1804a generated using any one of the lean on price strategy programs, 1300, 1400, 1500, 1600 or 1700, to the system 10 for trading products in step 1808.
  • the lean on strategy programs 1300, 1400, 1500, 1600, 1700, and 1800 permit the prices of host bids for products to be controlled as a function of the prices of user bids for products. More generally, the teachings of the lean on strategy programs 1300, 1400, 1500, 1600, 1700, and 1800 may be utilized to control the prices of host bids and offers for products to be controlled as a function of the prices of user bids and offers for products. More generally, the teachings o the lean on strategy programs 1300, 1400, 1500, 1600, 1700, and 1800 may be utilized to control the prices of host and/or user bids and offers for products to be controlled as a function of the prices of user and/or host bids and offers for products.
  • one or more of the lean on strategy programs 1300, 1400, 1500, 1600, 1700, and 1800 may be further programmed to permit the prices of host bids and/or offers on one product to lean on the prices of user and/or host bids and/or offers on another product.
  • one or more of the lean on strategy programs 1300, 1400, 1500, 1600, 1700, and 1800 may be further programmed to respond differently depending upon the source of the user bids and/or offers. Examples of different sources of user bids and/or orders include user bids/offers generated by the host administrator 30 or host traders 32.
  • the host administrator 30 or the host traders 32 may implement a one cancels others (OCO) price strategy program 1900 in which the movement of the per unit prices for host bids and offers for products posted by the host administrator and the host traders for trading products in the system 10 may be controlled.
  • OOCO one cancels others
  • the host administrator 30 or the host traders 32 may enter the operating parameters 1902a for the OCO price strategy program 1900 into the system 10.
  • the operating parameters 1902a for the OCO price strategy program 1900 include the identity of the members of one or more OCO chains.
  • the operating parameters 1902a may include a first OCO chain 1902aa and a second OCO chain 1902ab.
  • Each OCO chain, 1902aa and 1902ab may include one or more host bids and/or host offers posted by the host administrator 30 or host traders 32 for trading products in the system 10 that are operably coupled to one or more corresponding OCO chains.
  • the first OCO chain 1902aa includes host bid 1 , host bid 2, host bid 3, and host offer 1
  • the second OCO chain 1902ab includes host bid 2, host bid 4, host bid 5, and host offer 2.
  • host bid 2 is operably coupled to both the first and the second OCO chain, 1902aa and 1902ab, respectively.
  • step 1904 the system 10 determines if any of the host offers or host bids posted by the host administrator 30 or the host traders 32 were hit or lifted. If the system 10 determines that one of the host offers or host bids posted by the host administrator 30 or host traders have been hit or lifted, then the system determines if the hit or lifted host bid or offer is part of one or more OCO chains in step 1906. If the hit or lifted host bid or offer is part of one or more OCO chains, then the system 10 retrieves and locks all of the posted bids and/or offers that are a part of the corresponding OCO chains in steps 1908 and 1910.
  • step 1912 the system 10 determines if all of the posted bids and/or offers that are part of the corresponding OCO chains are locked. If all of the posted bids and/or offers that are part of the corresponding OCO chains are locked, then the system 10 reduces the volume of all of the posted bids and/or offers in the corresponding OCO chains by the volume that was hit or lifted in step 1914. Alternatively, if all of the posted bids and/or offers that are part of the corresponding OCO chains are not locked, then the system 10 determines if the system has attempted to lock all of the posted bids and/or offers that are part of the corresponding OCO chains a predetermined n number of times in step 1916.
  • step 1904 the system 10 determines that the system has attempted to lock all of the posted bids and/or offers that are part of the corresponding OCO chains a predetermined n number of times. If the system 10 determines that the system has not attempted to lock all of the posted bids and/or offers that are part of the corresponding OCO chains a predetermined n number of times, then the system proceeds to step 1910.
  • the system 10 After reducing the volume of all of the posted bids and/or offers in the corresponding OCO chains by the volume that was hit or lifted in step 1914, the system 10 then executes the stack manager program 700 for all members of the corresponding OCO chains, as applicable, in step 1918.
  • the reductions in volume may be treated by stack manager program 700 as a hit or lift of the corresponding host bid or offer.
  • the stack manager program 700 may be implemented as a result of a volume change to a host bid or offer caused by the OCO program in step 1914.
  • the system 10 determines if the volume of any of the posted bids and/or offers in the corresponding OCO chains now have volumes less than or equal to zero in step 1920. If the volume of the any of the posted bids and/or offers in the corresponding OCO chains now have volumes that are less than or equal to zero, the system 10 places the corresponding bid and/or offer postings on hold in step 1922.
  • the OCO price strategy program 1900 permits the host administrator
  • the teachings of the OCO price strategy program 1900 may be utilized to control movements in the volume of a plurality of posted host and/or bids and/or offers during operation of the system 10.
  • the host administrator 30 or the host traders 32 may also implement a parent/child program 19100 in which the movement of the per unit prices for host bids and offers for the parent product 800a and the child product 800b within the market for trading products 46 that may be part of the same OCO chain may be further controlled.
  • the parent/child program 19100 operates in combination with the parent/child program 800, and/or the parent child program 900, and/or the parent/child program 1000 and/or the OCO price strategy program 1900.
  • the system 10 determines if the host bid or offer for the child product 802ab was hit or lifted.
  • the system 10 determines if the host bid and offer prices for the parent product 802aa and the child product 802ab are also being controlled by the stack manager program 700 in step 19104. If the host bid and offer prices for the parent product 802aa and the child product 802ab are also being controlled by the stack manager program 700, the system 10 then determines if the parent product and the child product are part of the same OCO chain in step 19106. If the parent product 802aa and the child product 802ab are part of the same OCO chain, then the system 10 determines if shift markets was selected in the stack manager program 700 in step 19108. If the parent product 802aa and the child product 802ab are not part of the same OCO chain, then the system 10 executes the stack manager program 700 for the host bid and offer prices for the child product 802ab in step 19110.
  • the system 10 changes the host bid and offer prices for the child product 802ab using the stack manager program 700 in step 19112. If shift markets was not selected in the stack manager program 700, then the system 10 changes the host bid or offer price for the child product 802ab using the stack manager program 700 in step 19114.
  • the system 10 After completing steps 19112 or 19114, the system 10 then, as required, adjusts the host bids and offers for the parent product 802aa and any other children products caused by the operation of the stack manager program 700 on the child product 802ab in step 19116.
  • the system 10 determines if the host bid or offer for the parent product 802aa has changed due to the operation of the stack manager program 700 in step 19118.
  • the system 10 attempts to change the host bid and/or offer price for the child product 802ab using one or more of the price change programs, 700, 800, 900, 1000, 1200, 1300, 1400, 1500, 1600, 1700, and/or 1800 in step 19120.
  • the system 10 determines if the difference between the new host bid and offer prices for the child product 802ab generated in step 19120 are the most conservative in step 19122.
  • the most conservative host bid for the child product 802ab is the host bid having the lowest price in the marketplace 46 for the product, and the most conservative host offer for the child product is the host offer having the highest price in the marketplace for the product.
  • the system 10 multiplies the parent/child bid/offer price offsets, 802ac and 802ad, respectively, by the parent/child bid/offer offset multipliers, 802af and 802ag, respectively, in step 19124. In this manner, the parent/child bid/offer price offsets, 802ac and 802ad, are updated. The system 10 then changes the host bid and/or offer prices using the parent/child bid/offer offsets, 802ac and 802ad, in step 19126. Alternatively, if the new bid and offer price for the child product 802ab generated in step 19 20 are not the most conservative, then the system 10 does not change the new host bid and/or offer prices for the child product 802ab in step 19128.
  • the parent/child program 19100 permits the host administrator 30 and the host traders 32 to control the movement of host bid and offer prices for parent and child products that may be part of the same OCO chain. More generally, the teachings of the parent/child program 19100 may be utilized to control the host bid and offer prices for parent, child, and grandchild products. More generally still, the teachings of the parent/child program 19100 may be utilized to control the host bid and offer prices for any number of generations of products. More generally still, the teachings of the parent/child program 19100 may be utilized to control the host and/or user bid and offer prices for any number of generations of products.
  • the host administrator 30 and the host traders 32 may then select arbitrage in step 208a.
  • the host administrator 30 and the host traders 32 may implement an arbitrage trading program 2100 in which, in step 2102, the host administrator and the traders may enter the operating parameters 2102a for the arbitrage trading program.
  • the operating parameters 2102a include the identity 2102aa of the product to be traded using the arbitrage program 2100, and the minimum price spread 2102ab for determining when a trade will occur using the arbitrage program 2100.
  • the system 10 determines whether the users 18 or master users 24 have posted a new user offer 2104a or a new user bid 2104b for the product 2102aa.
  • the system determines if: (a) the price of the new posted user offer is less than the price of an existing posted user bid 2106a for the product; or (b) the price of the new posted user bid is greater than an existing posted user offer 2106b for the product in step 2106.
  • step 2108 the system 10 determines if the price spread, 2108a or 2108b, between: (a) the price of the new posted user offer 2104a and the price of the existing posted user bid 2106a or (b) the price of the new posted user bid 2104b and the existing posted user offer 2106b, respectively, is greater than or equal to the minimum price spread 2102ab.
  • the system 10 executes: (a) the new posted user offer and the existing posted user bid or (b) the new posted user bid and the existing posted user offer, respectively, in step 2110.
  • the arbitrage program 2100 permits the host administrator 30 and host traders 32 to generate additional profits when user bids exceed user offers for a product within the marketplace 46. More generally, the teachings of the arbitrage program 2100 may be utilized to permit the users 18 and master users 24 to generate additional profits when host bids exceed host offers for a product within the marketplace 46. Furthermore, the arbitrage program 2100 can be programmed by the host administrator 30 or host traders 32 to execute for bids on one product and offers on another product.
  • the host administrator 30 and the host traders 32 may then select order matching engine in step 210a, order execution engine in step 210b, multiple order execution in step 210c, sweep order execution in step 21 Od, counterparty deal push in step 21 Oe, or update net position in step 21 Of.
  • bids 2302 and offers 2304 are received and processed by the order matching engine 210a to selectively generate matched bids and offers 2306.
  • the matched bids and offers 2306, hit bids 2308, and/or lifted offers 2310 are then processed by the order execution engine 210b to selectively generate executed trades 2312 within the system 10.
  • hit bids 2308 generate hit requests and lifted offers 2310 generate lift requests for processing by the order execution engine 210b.
  • the operation of the order matching engine 210a may be automatic or may be selected for operation by the host administrator 30 and the host traders 32 in step 210.
  • the operation of the order execution engine 210b may be automatic or may be selected for operation by the host administrator 30 and the host traders 32 in step 210b.
  • the system 10 may implement an order matching engine program 2400 for operating the order matching engine 210a in which, in step 2402, the host administrator 30 or the host traders 32 may enter the operating parameters 2402a for the program.
  • the operating parameters may include a predefined margin 2402aa.
  • the predefined price margin 2402aa defines a threshold price differential below which a bid and offer will not be matched up.
  • the system 10 determines if the users 18 or master users 24 posted a user bid to buy or a user offer to sell a product in the system.
  • the system determines if the host administrator 30 or the host traders 32 posted a host offer to sell or a host bid to buy the corresponding product in step 2406.
  • the system 10 determines if the price of the posted user bid is greater than or equal to the price of the posted host offer or if the price of the user offer is less than or equal to the price of the posted host bid, respectively, in step 2408. If the price of the posted user bid is greater than or equal to the price of the posted host offer or if the price of the posted user offer is less than or equal to the price of the posted host bid, then the system 10 determines if the posted user bid or the posted user offer, respectively, was all or nothing in step 2410.
  • the system 10 determines if the volume of the posted host offer or posted host bid is greater than or equal to the volume of the posted user bid or posted user offer, respectively, in step 2412. Alternatively, if the posted user bid or the posted user offer was not all or nothing, then the system 10 sends an execute request to the order execution engine 210b that includes a matched posted user bid and posted host offer or a matched posted user offer and posted host bid for which the price of the trade is equal to the price of the posted user bid or offer and the volume of the trade is equal to the lesser of the volume of the posted user bid or offer or the volume of the posted host offer or bid in step 2414. In this manner, a trade for the product may then be executed by the order execution engine 210b.
  • the system 10 sends an execute request to the order execution engine 210b that includes a matched posted user bid and posted host offer or a matched posted user offer and posted host bid for which the price of the trade is equal to the price of the posted user bid or offer and the volume of the trade is equal to the volume of the posted user bid or offer in step 2416.
  • a trade for the product may then be executed by the order execution engine 210b.
  • the system 10 determines if there is a counterparty offer to sell or a counterparty bid to buy the product posted by a counterparty 2418a in step 2418.
  • the system 10 determines if the difference between the price of the posted user bid or offer and the price of the posted counterparty offer or bid, respectively, is greater than or equal to the predefined price margin 2402aa in step 2420. Alternatively, if there is not a counterparty offer to sell or a counterparty bid to buy the product posted by a counterparty 2418a, then the user bid or offer is posted for trading in the system 10 in step 2422.
  • the system 10 determines if the posted user bid or offer is all or nothing in step 2424. Alternatively, if the difference between the price of the posted user bid or offer and the price of the posted counterparty offer or bid, respectively, is less than the predefined price margin 2402aa, then the user bid or offer is posted for trading in the system 10 in step 2426.
  • the system 10 determines if the volume of the posted counterparty offer or bid is greater than or equal to the volume of the posted user bid or offer, respectively, in step 2428. Alternatively, if the posted user bid or offer is not all or nothing, then the system 10 sends an execute request to the order execution engine 210b that includes a matched posted user bid and posted counterparty offer or a matched posted user offer and posted counterparty bid for which the price of the trade is equal to the price of the posted user bid or offer and the volume of the trade is equal to the lesser of the volume of the posted user bid or offer or the posted counterparty offer or bid, respectively, in step 2430. In this manner, a trade for the product may then be executed by the order execution engine 210b.
  • the system 10 sends an execute request to the order execution engine 210b that includes a matched posted user bid and posted counterparty offer or a matched posted user offer and posted counterparty bid for which the price of the trade is equal to the price of the posted user bid or offer and the volume of the trade is equal to the volume of the posted user bid or offer in step 2432.
  • a trade for the product may then be executed by the order execution engine 210b.
  • the volume of the posted counterparty offer or bid is less than the volume of the posted user bid or offer, respectively, then the user bid or offer is posted for trading in the system 10 in step 2434.
  • the system 10 may implement an order execution engine program 2500 for controlling the operation of the order execution engine 210b in which, in steps 2502a, 2502b, and 2502c, the system 10 determines if the users18 or master users 24 hit or lifted posted host bids or offers, respectively, if the host administrator 30 or host traders 32 hit or lifted posted user bids or offers, respectively, or if the order matching engine 210a submitted an execution request as described in steps 2414, 2416, 2430, or 2432 above.
  • the system 10 determines if the corresponding product is active in step 2504.
  • the system 10 determines if the trading day for the corresponding product is still open in step 2506. If the trading day for the corresponding product is still open, then the system 10 determines if the user that is a party to the trade is credit worthy in step 2508. If the user that is a party to the trade is credit worthy, then the system 10 determines if the corresponding product is on hold in step 2510. If the corresponding product is not on hold, then the system 10 determines if the trade was initiated by a request to execute from the order matching engine 210a or by the host administrator 30 or host traders 32 hitting or lifting a user bid or offer in step 2512.
  • the system 10 determines if the price of the posted host bid is greater than or equal to the price of the user hit request or if the price of the posted host offer is less than the price of the user lift request in step 2514.
  • the price and volume of a hit request may, or may not, be equal to the price and volume of the corresponding bid.
  • the price and volume of a lift request may, or may not, be equal to the price and volume of the corresponding offer.
  • the system 10 determines if the user hit request or user lift request is all or nothing in step 2516. If the user hit request or the user lift request is all or nothing, then the system 10 determines if the volume of the posted host bid or offer is greater than or equal to the volume of the user hit request or the user lift request, respectively, in step 2518.
  • the system 10 executes the trade with the price equal to (a) the lowest of the posted host bid or the user hit request, or (b) the higher of the posted host offer or the user lift request, and the volume equal to the lesser of the volume of (c) the posted host bid or the user hit request, or (d) the posted host offer or the user lift request, respectively, in step 2520.
  • the system 10 executes the trade with the price equal to (a) the lowest of the posted host bid or user hit request, or (b) the higher of the posted host offer or the user lift request, and the volume equal to the volume of the user hit or lift request in step 2522.
  • the system 10 executes the trade using (1) the price and volume defined by the order matching engine 210a, or (2) the price of the user bid or offer and the volume equal to (a) the volume generated by the order matching engine, or (b) the volume of the user bid or offer in step 2524.
  • the system publishes the execution of the trade to a printer, publishes the execution of the trade to the corresponding downstream system, and transmits a confirmation of the execution of the trade to the corresponding user, respectively.
  • the corresponding user receives the confirmation of the execution of the trade, and, in step 2534, the corresponding user acknowledges the confirmation.
  • the system 10 also updates the host net position in step 2536 and pushes the executed trade to throughout the system 10 in step 2538.
  • the system 10 sends a trade execution rejected message to the corresponding user in step 2540.
  • the corresponding user may then receive the trade execution rejected confirmation in step 2542, and, in step 2544, the corresponding user may acknowledge receipt of the trade execution rejected confirmation.
  • step 210c the host administrator 30 or the host traders 32 may execute multiple orders by selecting a plurality of trades for simultaneous execution using the order matching engine 210a and/or the order execution engine 210c.
  • step 21 Od the host administrator 30 or the host traders 32 may sweep multiple orders by selecting a plurality of trades for sweep execution using the order matching engine 210a and/or the order execution engine 210c.
  • step 21 Oe the host administrator 30 or the host traders 32 may implement a counterparty deal push.
  • a counterparty deal push is automatically executed during operation of the order execution engine 210b.
  • the host administrator 30 or the host traders 32 may update the net position for the host administrator 30 or the host traders 32.
  • the system 10 implements a trading records management program 2600 in which the system 10 determines if a posted bid or offer have been matched by the order matching engine 210a in step 2602a or if a posted bid or offer have been hit or lifted, respectively, in step 2602b. If a posted bid or offer have been matched by the order matching engine 210a in step 2602a or if a posted bid or offer have been hit or lifted, respectively, then the system 10 determines if the trading day for the corresponding product has expired in step 2604. If the trading day for the corresponding product has not expired, then the system 10 determines if the corresponding product is active in step 2606. Alternatively, if the trading day for the corresponding product has expired, then the system 10 sends a trading failure message to the parties to the attempted trade in step 2608.
  • the system 10 determines if the corresponding product has expired in step 2610. If the corresponding product has not expired, then the system 10 determines if the term for the corresponding product has expired in step 2614. Alternatively, if the corresponding product has expired, then the system 10 sends a trading failure message to the parties to the attempted trade in step 2616. Alternatively, if the corresponding product is not active, then the system 10 sends a trading failure message to the parties to the attempted trade in step 2616.
  • the system 10 determines if the company associated with the corresponding user 18 or master user 26 is credit worthy in step 2618. Alternatively, if the term for the corresponding product has expired, then the system 10 sends a trading failure message to the parties to the attempted trade in step 2620.
  • the system 10 locks the posted bid and offer and any other posted bids and offers operably coupled to the posted bid and offer by any OCO chains in step 2622.
  • the system 10 sends a trading failure message to the parties to the attempted trade in step 2624.
  • the system 10 determines if the posted bid and offer are locked in step 2626. If the posted bid and offer are locked, then the system 10 executes the trade in step 2628. Alternatively, if the posted bid and offer are not locked, then the system 10 sends a trading failure message to the parties to the attempted trade in step 2630. After completing the execution of the trade, the system 10 unlocks the posted bid and offer and any other posted bids and offers operably coupled to the posted bid and offer by an OCO chain in step 2632. In an exemplary embodiment, as illustrated in Fig. 27, after selecting credit administration for host in step 212, the host administrator 30 and the host traders 32 may then select registering new users in step 212a, maintaining user accounts in step 212b, and intraday credit evaluation in step 212c.
  • the host administrator 30 and the host traders 32 may select set-up user account in step 212aa in which the parameters associated with the access of users 18 and master users 24 may be created.
  • the host administrator 30 and the host traders 32 may select edit user profile in step 212ba and activate/deactivate user credit in step 212bb.
  • the profile that defines the parameters associated with the access of users 18 and master users 24 to the system 10 may be edited by the host administrator 30 and the host traders 32.
  • the credit worthiness for companies associated with the users 18 and master users 24 may, for example, be activated or deactivated (1) globally, (2) on a product-by-product basis, (3) by deal type, (4) by term, or (5) by commodity type, by the host administrator 30 and the host traders 32.
  • the host administrator 30 and the host traders 32 may select proactive credit evaluation in step 212ca and reactive credit evaluation in step 212cb.
  • the credit worthiness of the companies associated with the users 22 and master users 24 may be proactively evaluated by reviewing a report of consumed credit versus total available credit.
  • the credit worthiness of the users 22 and master users 24 may be reactively evaluated by reviewing credit alerts indicating that a company has, or soon will, consume all of its available credit.
  • the users 18 and master users 24 may then select create trading windows in step 214a, open trading windows in step 214b, change products in trading window in step 214c, delete trading windows in step 214d, arrange trading windows in step 214e, manage views in step 214f, view activity history in step 214g, enter bid/offer for products in step 214i, place bids/offers on hold in step 214j, release bids/offers from hold in step 214k, edit bids/offers in step 2141, cancel bids/offers in step 214m, acknowledge confirmations in step 214n, view deal sheets in step 214o, view product legal description in step 214p, view general terms and conditions for products in step 214q, hit or lift host bids or offers in step 214r, and/or view real time pricing messages in step 214s,.
  • the master users 24 may add/edit users in step 214h.
  • the users 18 and master users 24 may create trading windows, open trading windows, change products in trading windows, delete trading windows, arrange trading windows, manage views, and view activity history, respectively, substantially as described above with reference to steps 206a, 206b, 206c, 206d, 206e, 206f, and 206g, respectively. In this manner, the users 18 and master users 24 may customize the appearance and operation of the marketplace 46.
  • the master users 24 may add and/or edit users.
  • adding and/or editing users permits the master users 24 to define and/or revise the operating parameters for controlling access to the system 10 for corresponding users 18 that are operably coupled to one or more of the master users.
  • the users 18 and master users 24 may post bids and/or offers for products into the system 10 for trading.
  • users 18 and master users 24 may post bids and/or offers for products into the system 10 for trading, by selecting a product 2902 within a trading window 2904, and then posting a user bid or offer 2906 into the system.
  • the user bids and offers 2906 include the product name, the volume, the price, the expiration date of the user bid, and an indication of whether or not the user bid is all or nothing.
  • the users 18 and master users 24 may place user bids and/or user offers posted by the users and master users on hold, and in step 214k, the users 18 and master users 24 may release bids and/or offers from hold that were previously placed on hold by the users and master users.
  • the users 18 and master users 24 may select a user bid or offer 2908 within a trading window 2910, and then place the bid or offer on hold. In reverse fashion, the same held user bid or user offer 2908 may then be re-selected within the trading window 2910 and unheld by the users 18 and master users 24.
  • the users 18 and master users 24 may edit user bids and/or user offers previously posted by the users and master users.
  • the users 18 and master users 24 may cancel user bids and/or user offers previously posted by the users and master users.
  • the users 18 and master users 24 may select the user bid or offer 2908 within the trading window 2910, and then cancel the selected user bid or offer.
  • the users 18 and master users 24 may acknowledge confirmations of trade executions and/or confirmations of trade failures.
  • a deal sheet 2912 may include, for example, the name of the product, the date and time of the trade, the buyer name, the seller name, the priority of service, the volume, the location of delivery, the start date of delivery, the end date of delivery, and the price instrument.
  • the users 18 and master users may view the deal sheets for trade.
  • a deal sheet 2912 may include, for example, the name of the product, the date and time of the trade, the buyer name, the seller name, the priority of service, the volume, the location of delivery, the start date of delivery, the end date of delivery, and the price instrument.
  • a legal description 2914 for a product may include, for example, the product description, the obligations of the parties, and the price, quantity, delivery point, and term of the product.
  • the users 18 and master users 24 may view the general terms and conditions for products.
  • the general terms and conditions for products may include, for example, the base commodity purchase and sales agreement.
  • the users 18 and master users may view the general terms and conditions for products.
  • a user hit of a host bid generates a user hit request that includes the product name, the price, the vo ume, an e a or no ng s a us o t e user
  • an a user o a os o er generates a user lift request that includes the product name, the price, the volume, and the all or nothing status of the user lift.
  • the user hit and lift requests are then processed by the order execution engine 21 Ob as described above with respect to Figs. 25a-25d and 26a-26c.
  • the users 18 and master users 24 may select viewing real time pricing messages.
  • real time pricing messages are provided to the users 18 and master users 24 by a real time messaging system 3000 that includes an production database 3002 that is operably coupled to an application server 3006.
  • the application server 3006 is also coupled to a message server 3008, and a web server 3010.
  • the message server 3008 and the web server 3010 are operably coupled to users, 3012a and 3012b, by corresponding event filters, 3014a and 3014b.
  • the message server 3008 is also coupled to interface services 3016, deal capture systems 3018, and a print server 3020.
  • the interface services 3016 are also coupled to other trading systems 3022, and the print server 3020 is also coupled to printers 3024.
  • One or more trading floors 3026 that may each include one or more of the trading windows 50, are also operably coupled to the web server 3010.
  • the production database 3002, the application server 3006, the message server 3008, and the web server 3010 are incorporated into the web host computer 12.
  • the interface services 3016 operably couple the message server 3008 to one or more trading systems 3022 for trading products.
  • the system 10 may be operably coupled and transmit information to and receive information from the other trading systems 3022.
  • the users 3012 may also conduct trading operations using the other trading systems 3022.
  • the deal capture systems 3018 include systems for gathering information regarding trades of products.
  • the deal capture systems 3018 include commercially available deal capture systems such as, for example, Abacus and Right Angle.
  • the system 10 implements a messaging program 30100 in which the application server 3006 pushes system information to the message server 3008 in step 30102 using conventional data pushing methods.
  • the information is pushed to the message server 3008 using a Tibco communication bus.
  • the system information may include, for example, bids, offers, and any other type of information processed and/or generated by the system 10.
  • step 30104 the event filters 3014 detect the presence of the messages pushed to the message server 3008 and determine if the corresponding users 3012 are subscribed to receive the messages. If system information has been pushed to the message server 3008 and the users 3012 are subscribed to receive the messages, then the users 3012 may then extract the pushed system information in step 30106.
  • One or more of the trading floors 3026 are then updated to reflect the information contained within the messages in step 30108.
  • the messaging system 3000 and the messaging program 30100 are also used to provide real-time messaging information to the host administrator 30 and the host traders 32.
  • the users 18 and master users 24 may then select view host bids/offers in step 216a, and/or review user bids/offers in step 216b.
  • the users 18 and master users 24 may view host bids and offers by viewing one or more trading windows.
  • the users 18 and master users 24 may view a trading floor including a 3200 trading window 3202 that includes a plurality of products 3204.
  • Each product 3204 may include a host bid 3206 and a host offer 3208 and one or more user bids 3210 and user offers 3212.
  • the host bid and offer, 3206 and 3208, respectively are positioned in the same row as the product 3204 description, and the user bid and offer, 3210 and 3212, respectively, for the product 3204 are positioned below the host bid and offer.
  • user bids 3210 appear in green
  • user offers 3212 appear in red.
  • the background color for a host or user bid, 3206 or 3210, or a host or user offer, 3208 or 3212 temporarily changes to red if the price has been lowered and temporarily changes to green if the price has been raised.
  • information contained in status columns, 3214 and 3216 provide an indication of whether or not the user bid 3210 or user offer 3212 are on hold.
  • 24 may view user bids and offers by viewing one or more of the trading windows 3202.
  • the users 18 and master users 24 may select hit/lift host bids/offers in step 218a, view confirmations in step 218b, update activity history in step 218c, or order matching engine in step 218d.
  • users 18 and master users 24 may hit host bids posted by the host administrator 30 or host traders 32 or lift host offers posted by the host administrator 30 or host traders 32.
  • the users and master users when users 18 or master users 24 hit a host bid, the users and master users generate a user hit request to the sell a volume of the corresponding product to the host administrators 30 or traders 32 for the price of the posted host bid.
  • the volume of the user hit request generated by the hit may be less than or equal to the total volume of the host bid.
  • the users 18 and master users 24 lift a host offer the users and master users create a user lift request to purchase a volume of the corresponding product for the price of the posted host bid price.
  • the volume of the user lift request generated by the lift may be less than or equal to the total volume of the host offer.
  • the user hit and lift requests may then be processed by the order execution engine 210b.
  • users 18 and master users 24 may view confirmation of successfully executed trades or failed trade execution.
  • users 18 and master users 24 may view the activity history 3402 for the user or master user that includes, for each trading activity, an indication of: whether the trade was successful or not, whether the order was a buy or a sell; the product description, the volume of the trade, and the per unit price of the trade.
  • users 18 and master users 24 may select manual or automatic operation of the order matching engine 210a.
  • the users 18, master users 24, host administrator 30, and host traders 32 may select list of users report in step 220a, counterparty listing in step 220b, daily transaction report in step 220c, open orders report in step 220d, open orders details in step 220e, activity report 220f, product catalog listing in step 220g, deal sheet in step 220h, view long product descriptions in step 220i, and view general terms and conditions in step 220j.
  • the users 18, master users 24, host administrator 30, and host traders 32 may select a report listing all of the authorized users 18, master users 24, host administrator 30 and/or host traders 32, of the system 10.
  • step 220b the users 18, master users 24, host administrator 30, and host traders 32 may select a report listing all of the counterparty users 2418a of the system 10.
  • step 220c the users 18, master users 24, host administrator 30, and host traders 32 may select a report detailing all of the daily transactions for the user, master user, host administrator, and/or host trader.
  • the users 18, master users 24, host administrator 30, and host traders 32 may select a report of all of the open orders within the system 10 for the users, master users, host administrator, and/or host traders.
  • the users 18, master users 24, host administrator 30, and host traders 32 may select a report that provides the details of all of the open orders within the system 10 for the users, master users, host administrator, and/or host traders.
  • the users 18, master users 24, host administrator 30, and host traders 32 may obtain a report that provides all of the trading activity within the system 10 for the users, master users, host administrator, and/or host traders.
  • the report may include failed transactions, orders, postings, and executed transactions.
  • step 220g the users 18, master users 24, host administrator 30, and host traders 32 may obtain a report that provides a catalog of all of the products within the system 10.
  • step 220h the users 18, master users 24, host administrator 30, and host traders 32 may obtain a report that provides the deal sheets for all of the trades within the system 10.
  • step 220i the users 18, master users 24, host administrator 30, and host traders 32 may obtain a report that provides the long product descriptions for products within the system 10.
  • the users 18, master users 24, host administrator 30, and host traders 32 may obtain a report that provides the general terms and conditions for products within the system 10.
  • the functions performed by the users 18 and the master users 24 within the system 10 may be combined in whole or in part.
  • the functions performed by the host administrator 30 and the host traders 32 may be combined in whole or in part.
  • the types of reports available to the users 18, master users 24, host administrator 30, and/or host traders 32 may differ depending upon the type of system user. Furthermore, the contents of the reports may be filtered to only include data relevant to the particular system user.
  • the trade is executed by the system 10 with the price of the trade equal to the price of the host bid, and if a user or master user lifts a host offer, the trade is executed by the system with the price equal to the price of host offer.
  • the trade is executed by the system 10 with the price of the trade equal to the price of the user bid, and if a host administrator or host trader lifts a user offer, the trade is executed by the system with the price equal to the price of user offer.
  • the price of the resulting trade is equal to the price of the user bid.
  • the price of the resulting trade is equal to the price of the user offer.
  • the products traded within the marketplace 46 are defined by an obligation period attribute referred to as a term 3602 that begins at a term start date and time 3604 and ends at a term end date and time 3606.
  • a product defined by a term 3602 is only available for trading within the marketplace 46 and/or for delivery to a buyer of the product in the marketplace during the course of the term.
  • one or more of the products traded within the marketplace 46 have terms 3608 that roll, also referred to as rolling terms or rolling term products, that are defined by an initial term start date and time 3610 and a term roll date and time 3612.
  • rolling terms or rolling term products that are defined by an initial term start date and time 3610 and a term roll date and time 3612.
  • the term of the rolling term product is continually regenerated at the term roll dates and times 3612 for each rolling term.
  • the product is available for trading and/or delivery beginning on the initial start term date and time 3610a and ending on the initial term roll date and time 3612a.
  • the rolling term product is regenerated for another term 3608b that will end on the subsequent term roll date and time 361 b.
  • the rolling term product is once again regenerated for another term. This process may continue for as long as defined by the host administrator 30 or host traders 32 for the particular rolling term product. In this manner, a rolling term product can be automatically programmed to be available for trading and/or delivery within the marketplace 46 on a repeated periodic basis.
  • the length of the rolling term 3608 for a product is constant.
  • the system 10 implements a rolling term product management program 36100 in which the host administrator 30 or host traders 32 initially define the rolling term . formula for a product in step 36102.
  • the terms of the rolling term formula include the initial product term 3608a, the initial term start date and time 3610a, and the initial term roll date and time 3612a.
  • rolling term rule types include: (1) first day of month (FDM); (2) first day of next month (FDNM); (3) first day of week (FDW); (4) first trading day of week (FTDW); (5) last day of month (LDM); (6) last day of next month (LDNM); (7) last day of week (LDW); (8) last day of next week (LDNW); (9) last trading day of month (LTDM); (10) last trading day of next month (LTDNM); (11) last trading day of week (LTDW); (12) last trading day of next week (LTDNW); (13) next day (ND); (14) next trading day (NTD); (15) next week day (NWD); (16) same day (SD); (17) same trading day (STD); and/or (18) same trading day Friday turns into Saturday (STDFS).
  • the rolling term rule types are used to define the initial product term 3608a, the initial term start date and time 3610a, and the initial term roll date and time 3612a.
  • the rolling term increments may be a positive or negative integer.
  • the rolling term units of measure include (1) day (D); (2) trading day (TD); (3) week day (WD); and/or (4) month (M).
  • the system 10 determines If the current date and time is equal to the initial term start date and time 3610a in step 36104. If the current date and time is equal to the initial term start date and time 3610a, then the system 10 permits the product to be traded and/or delivered within the marketplace 46 during the initial term 3608a in step 36106.
  • the system 10 determines If the current date and time is equal to the initial term roll date and time 3612a in step 36108. If the current date and time is equal to the initial term roll date and time 3612a, then the product expires and is no longer available for trading and/or delivery within the marketplace 46 in step 36110.
  • the system 10 then generates a new term 3608b and a new term roll date and time 3612b for the product in step 36112.
  • the new term roll date and time 3612b defines the term roll date and time for the next rolling term 3608b for the product.
  • the system 10 then automatically generates and pushes a new product description for the product to the marketplace 46 in steps 36114 and 36118.
  • the automatically generated new product description for the rolling term product includes the information contained in the old product description for the product except that the product term 3608 and roll date and time 3612 are updated.
  • any outstanding host or user bids or offers for the product defined by the old product description are automatically cancelled since the product description for the product has been updated and, in effect, the old product no longer exists in the system 10.
  • many of the product traded in the marketplace 46 are rolling term products.
  • the rolling term product management program 36100 automates the process of adding new rolling term products to the marketplace 46.
  • the host administrator 30 and host traders 32 do not have to manually deactivate and then reactivate rolling terms products.
  • the trading floors 50 within the marketplace 46 may be defined by product type and term type, rolling term products having the selected term type for the trading floor, will be automatically updated within the corresponding trading floor.
  • the users 18, the master users 24, the host administrator 30, and the host traders 32 do not have to manually add rolling term products back into the trading floors 50 every time the rolling term products roll over to a new term.
  • the host administrator 30 or the host traders 32 may implement a trading calendar management program 3700 for creating trading and/or rolling term calendars 3702a in which, in step 3702, the name 3702b of the trading calendar may be entered.
  • the trading days 3704a within the trading calendar 3702a may then be selected in step 3704.
  • the trading days 3704a within the trading calendar 3702a defines those days on which trading is permitted.
  • the trading start and stop times, 3706a and 3706b, respectively, for each trading day 3704a may then be selected in step 3706.
  • steps 3702, 3704, and 3706 may also be used to edit a preexisting trading calendar 3702a.
  • each calendar 3702a may be used to define the rolling term behavior of an assigned rolling term product.
  • each trading calendar 3702a may be assigned to and define the trading calendar for one or more products, commodities, and/or trading floors.
  • the system 10 may implement a product description generation program 3800 in which the host administrator 30 and the host traders 32 may enter unique product attributes 3802 into a product description template 3804 to thereby create a unique product description 3804.
  • unique product descriptions may be created for describing the products 48 traded within the marketplace 46.
  • unique product descriptions for products A, B and C may be created using a product template D.
  • the generation of product descriptions for products 48 traded within the marketplace 46 is facilitated and enhanced.
  • the system 10 does not have to maintain hundreds, or even thousands, of complete product descriptions. Rather, only a handful of product description templates may be maintained.
  • the system 10 only needs to change the corresponding small number of product description templates. Therefore, the use of the product description generation program 3800 provides an efficient and cost-effective manner of creating, maintaining, and updating product descriptions.
  • the system 10 may implement a trading window product selection program 3900 in which the users 18, master users 24, host administrator 30, or host traders 32 may select products for inclusion in a trading window using filtering criteria in which, in step 3902, the system 10 determines if the user, master user, host administrator, or host trader has selected product selection using filter criteria 3902a in step 3902. If the user 18, master user 24, host administrator 30, or host trader 32 has selected product selection using filter criteria 3902a, then the system 10 determines if the filtering criteria for the trading window has been defined in step 3904.
  • the system 10 selects products from the available products 3906a using the defined filtering criteria for inclusion in the selected products 3906b.
  • the system 10 permits the user 18, master user 24, host administrator 30, or host trader 32 to enter the product selection filtering criteria in step 3908.
  • the trading window product selection program 3900 permits users
  • trading window product selection program 3900 may be further modified to permit full time automatic product selection of products for the trading window based upon the filtering criteria assigned to the trading window. In this manner, as new products are added to the system 10, they can be automatically added to the trading window on a real-time basis.
  • the system 10 implements a spinner box price change program 4000 in which the host administrator 30 or host traders 32 may change the prices of host bids and offers by selecting one or more products 4002a within a trading window 4002b.
  • the host administrator 30 or host traders 32 may then increase or decrease the bid and/or offer prices for each of the selected products 4002a using a bid price spinner 4004a, an offer price spinner 4004b, an all price spinner 4004c, and a price spread spinner 4004d in step 4004.
  • the bid price spinner 4004a permits the bid prices for all of the selected products 4002a to be increased or decreased together
  • the offer price spinner 4004b permits the offer prices for all of the selected products to be increased or decreased together
  • the all price spinner 4004c permits the bid and offers prices for all of the selected products to be increased or decreased together
  • 4004d permits the bid prices to be increased while the offer prices are decreased or the bid prices to be decreased while the offer prices are increased for all of the selected products.
  • the host administrator 30 or host traders 32 may then preview the price changes in step 4006 by selecting preview 4006a.
  • the host administrator 30 or host traders 32 may view the impact of the proposed price changes upon the marketplace 46.
  • the proposed price changes will be displayed in italics. If the price changes are acceptable in step 4008, then the host administrator 30 or host traders 32 may submit the price changes in step 4010 by selecting submit 4010a.
  • the order matching engine 210a and the order execution engine 210b may as a result of the submitted price changes, execute one or more trades for the products.
  • the effect of the price changes upon the marketplace 46 will be indicated using a color coded display.
  • the color coded display includes: (1) black for host bid or offer prices outside the host bid and offer price spread; (2) blue for host bid or offer prices inside the host bid and offer price spread; and (3) red for automatic trade execution.
  • step 4008 the host administrator 30 or host traders 32 may cancel the price changes in step 4012 by selecting cancel 4012a.
  • the spinner box price change program 4000 permits the host administrator 30 or host traders 32 to efficiently move the bid and/or offer prices of a group of products simultaneously.
  • the system 10 further includes a trader intelligence engine 4102 that processes one or more of the price control strategies 4104 to generate host bids and offers 4106.
  • the price control strategies 4104 include one or more of the price control strategies 700, 800, 900, 1000, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, and/or 19100 described above.
  • Figs. as illustrated in Figs.
  • the trader intelligence engine 4102 implements a price change strategy management program 41100 in which the trade intelligence engine determines if an event triggering a response by one or more of the price control strategies, 700, 800, 900, 1000, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, and/or 19100, has occurred in step 41102.
  • the trader intelligence engine 4102 determines if, as a result of the triggering event, the price strategies should be executed in step 41104.
  • the price strategies should be executed, if, as a result of the triggering event, the execution of one or more price strategies 4104 would result in host bid and/or offer price changes greater than a predetermined threshold value.
  • the trader intelligence engine 4102 identifies all applicable price strategies that will be executed as a result of the triggering event in step 41106.
  • the trader intelligence engine 4102 locks all of the corresponding host bids and offers that will be effected by the attempted execution of the applicable price strategies in step 41108.
  • the trader intelligence engine 4102 determines the order in which to attempt to execute the applicable price control strategies in step 41110.
  • the hierarchical order in which the trader intelligence engine 4102 will attempt to execute the applicable price control strategies may be predetermined by the host administrator 30 and/or determined as a function of the degree of the global effect on the marketplace 46 caused by the ordering of the attempted execution.
  • the trader intelligence engine 4102 will then attempt to execute the applicable price control strategies in step 41112.
  • the trader intelligence engine 4102 will attempt to execute the applicable price control strategies by selecting the price control strategy 4104 having the highest priority in step 41200.
  • the trader intelligence engine 4102 will then determine the new host bid and offer prices generated by using the price control strategy in step 41202.
  • the trader intelligence engine will then determine if the new host bid and offer prices generated by the execution of the selected price control strategy in step 41202 are more conservative than the new host bid and offer prices generated by any other price control strategies triggered by the triggering event for the corresponding host bids and offers in step 41204.
  • the new price of the host bid or offer generated by the selected price control strategy is more conservative than the new price of the host bid or offer generated by another price control strategy if the new price of the host bid or offer generated by the selected price control strategy is less than the new price of the host bid or offer generated by the other price control strategy.
  • the trader intelligence engine 4102 will apply the price changes generated by the selected price control strategy to the corresponding host bids and offers in step 41206 thereby causing the new host bid and offer prices to become the current host bid and offer prices.
  • the trader intelligence engine 4102 determines if there are any more applicable price control strategies remaining to be selected and executed in step 41208.
  • the trader intelligence engine 4102 selects the next price control strategy in the hierarchy in step 41210, and then proceeds to execute steps 41202, 41204, 41204, 41026, and 41208, as applicable, as described above.
  • the trader intelligence engine 4102 will then unlock all of the host bids and offers that were be effected by the execution of the applicable price strategies in step 41114.
  • an exemplary embodiment of a system 4200 for trading products includes external users 4202 and internal users 4204 that are operably coupled to an application server 4206 and a communication interface 4208.
  • the external users 4202 include the users 18 and the master users 24, the internal users 4204 include the host administrator 30 and the host traders 32, and the application server 4206 includes the web host computer 12.
  • the communication interface 4208 is a commercially available Tibco RVA/RVD communication interface.
  • the application server 4206 is also operably coupled to one or more databases 4210 that include system trading information.
  • the application server 4206 and the communication interface 4208 are also further operably coupled to a communication bus 4212.
  • the communication bus 4212 is a commercially available Tibco messaging bus.
  • the communication bus 4212 is also operably coupled to an interface service 4214.
  • the interface service 4214 is operably coupled to one or more databases 4216 and another trading system 4218.
  • the other trading system 4218 includes and is operably coupled to a trading system trading engine 4220.
  • the other trading system 4218 is the commercially operating trading system Trade Spark.
  • the interface service 4214 includes a command layer 4214a, a context layer 4214b, a business function layer 4214c, metadata 4214d, and a Java virtual machine 4214e.
  • the business function layer 4214c includes an exchange A business function layer 4214ca, an exchange B business function layer 4214cb, and an exchange C business function layer 4214cc.
  • the exchanges A, B and C may be commercially available trading systems.
  • the exchange A business function layer 4214ca includes a trade execution and marking making module 4214caa, a connection session management module 4214cab, a market data module
  • exchange B and C business function layers, 4214cb and 4214cc, respectively, also each include similar corresponding modules.
  • An exchange A API 4214f operably couples the interface service 4214 to the exchange A trading system 4214g
  • an exchange B API 4214h operably couples the interface service to the exchange B trading system 4214j
  • an exchange C API 4214i operable couples the interface service to the exchange C trading system 4214k.
  • command layers, context layers, business function layers, Java virtual machines, metadata, and APIs is considered well known in the art.
  • the trading system 4200 permits the internal and external users, 4202 and 4204, to trade using the trading system 10 and the trading systems 4214g, 4214i, and 4214k.
  • a system 4300 for printing reports in a trading system includes an application server 4302 that is operably coupled to a communication interface 4304.
  • the application server 4302 includes, or is operably coupled to, the web host computer 12 of the trading system 10.
  • the communication interface 4304 is a commercially available Tibco Rendevous communication interfaces.
  • the communication interface 4304 is also operably coupled to a printer server A 4306 and a printer server B 4308.
  • the printer servers A and B, 4306 and 4308 are commercially available Windows NT printer servers.
  • the printer servers A and B, 4306 and 4308 are both also operably coupled to a communication interface 4310.
  • the communication interface 4310 is a Windows NT print cluster communication interface.
  • a gas printer 4312, a liquid printer 4314, a power printer 4316, and a coal and emissions printer 4318 are all operably coupled to the communication interface 4310.
  • gas printer 4312 generates trading reports for gas products
  • the liquid printer 4314 generates trading reports for liquid products
  • the power printer 4316 generates trading reports for power products
  • the coal and emissions printer 4318 generates trading reports for coal and emissions products.
  • the system 4300 for printing reports in a trading system implements a printing program 43100 in which the system determines if a trade has been executed in step 43102. If a trade has been executed, then the system 4300 creates a deal sheet object and reads a corresponding printer name in step 43104. The system 4300 then generates and sends a Tibco message 43106a in steps 43106 and 43108. The Tibco message 43106a is then received by the printer servers A and B, 4306 and 4308, in step 43110.
  • the system 4300 determines if at least one of the printer servers A and B, 4306 and 4308, are active in step 43112. If at least one of the printer servers A and B, 4306 and 4308, are active, then the system extracts the deal sheet from the Tibco message 43106a and creates a postscript in step 43114. The system 4300 then writes the postscript to the named printer for printing in step 43116.
  • the system 4300 ignores the Tibco message 43106a in step 43118.
  • the system 4300 then generates an error log in step 43120.
  • a system for trading products includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, permitting the host traders to hit posted user bids and lift posted user offers, permitting the user traders to hit posted host bids and lift posted host offers, matching posted host bids and posted user offers, matching posted user bids and posted host offers, and executing hit posted user bids, lifted posted user offers, hit posted host bids, lifted posted host offers, matched posted host bids and posted user offers, and matched posted user bids and posted host offers.
  • a system for trading products includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes permitting the host traders to create a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to host traders within the marketplace, permitting the host traders to create trading windows within the marketplace for trading products, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to user traders within the marketplace, permitting the user traders to create trading windows within the marketplace for trading products, transmitting information to the host traders and the user traders on a real time basis, permitting the host traders to automatically control changes in posted host bids and offers, permitting the user traders to automatically control changes in posted user bids and offers, permitting the host traders to arbitrage posted user bids and offers, permitting the host traders to hit posted user bids and lift posted user offers, permitting the user traders to hit posted host bids and lift
  • a computer implemented marketplace for trading products between a host and one or more users includes, among other things, one or more host trading windows for trading products, and one or more user trading windows for trading products.
  • the host trading windows are created by the host, and the user trading windows are created by the users.
  • a computer implemented marketplace for trading products between a host and one or more users includes, among other things, one or more host trading windows for trading products, and one or more user trading windows for trading products.
  • the host trading windows are created by the host by a process that includes the host selecting a name for the host trading window, the host selecting an access type for the host trading window, the host selecting a trading desk assigned to the host trading window, the host selecting a commodity assigned to the host trading window, the host selecting the deal type assigned to the host trading window, the host selecting the location assigned to the host trading window, and the host selecting one or more products for the host trading window.
  • the user trading windows may be created by each of the users by a process that includes the user selecting a name for the user trading window, the user selecting an access type for the user trading window, the user selecting a commodity assigned to the user trading window, the user selecting the deal type assigned to the user trading window, the user selecting the location assigned to the user trading window, and the user selecting one or more products for the user trading window.
  • a system for trading products has been described that includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from the user traders within the marketplace, permitting the host traders to post host offers to sell products to the user traders within the marketplace, permitting the user traders to hit host bids, permitting the user traders to lift host offers, reposting host bids that are hit by one of the user traders with different prices, and reposting host offers that are hit by one of the user traders with different prices.
  • a system for trading products includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from the user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to hit posted host bids and lift posted host offers, if a user trader hits a posted host bid for a particular product, then reposting the host bid for the particular product with a reduced price and a predefined volume and reposting the host offer for the particular product with a reduced price and the predefined volume, and if a user trader lifts a posted host offer for a particular product, then reposting the host offer for the particular product with an increased price and a predefined volume and reposting the host bid for the particular product with an increased price and the predefined volume.
  • a system for trading products includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from the user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to hit posted host bids and lift posted host offers, permitting a host trader to operably couple a parent product and a child product, and changing the prices of the posted host bid and posted host offer for the child product as a function of the prices of the posted host bid and posted host offer for the parent product.
  • a system for trading products includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from the user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to hit host bids and lift host offers, if a user trader hits a host bid for a particular product, then calculating a price change value as a function of the difference between the price of the host bid for the particular product and the host offer for the particular product and then reducing the prices of the posted host bid and offer for the particular product by the price change value, and if a user trader lifts a host offer for a particular product, then calculating a price change value as a function of the difference between the price of the host bid for the particular product and the host offer for the particular product and then increasing the prices of the posted host bid and
  • a system for trading products includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from the user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from the host traders and user offers to sell products to host traders within the marketplace, and controlling the prices of the posted host bids as a function of the prices of the posted users bids.
  • a system for trading products includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from the user traders and host offers to sell products to user traders within the marketplace, permitting a host trader to define a trading chain that operably couples host bids and/or host offers, permitting the user traders to hit posted host bids and lift posted host offers, if a user trader hits a posted host bid or lifts a posted host offer, then determining if the hit posted host bid or lifted posted host offer is part of the trading chain, and if the hit posted host bid or lifted host offer is part of the trading chain, then reducing the volume of all of the posted host bids and offers that are part of the trading chain.
  • a system for trading products includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the user traders to post user bids to purchase products from the host traders and user offers to sell products to host traders within the marketplace, if a user trader posts a new user bid, determining if the price of the new user bid is greater than the price of an existing user offer, if the price of the new user bid is greater than the price of an existing user offer, then determining if the difference between the price of the new user bid and the price of an existing user offer is greater than a predetermined minimum price spread; if the difference between the price of the new user bid and the price of an existing user offer is greater than a predetermined minimum price spread, then executing the new user bid and the existing user offer, if a user trader posts a new user offer, determining if the price
  • a system for trading products includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, and matching posted user bids and posted host offers by a process that includes: determining if the price of a posted user bid for a particular product is greater than or equal to the price of a posted host offer for the particular product, if the price of the posted user bid for a particular product is greater than or equal to the price of the posted host offer for the particular product, then determining if the posted user bid for the particular product is all or nothing, if the posted user bid for the particular product is not all or nothing, then executing a trade between the
  • a system for trading products includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, one or more user traders coupled to the Internet, and one or more counterparty user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, permitting the counterparty user traders to post counterparty user bids to purchase products from user traders and counterparty user offers to sell products to user traders within the marketplace, and matching posted user bids and posted host or counterparty user offers by a process that includes: determining if the price of a posted user bid for a particular product is greater than or equal to the price of a posted host offer for the particular product, if the price of the posted user bid for a particular product is greater than or equal to the price of the
  • a system for trading products includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, permitting host traders to hit posted user bids and lift posted user offers, permitting user traders to hit posted host bids and lift posted host offers, matching posted host bids and posted user offers, matching posted user bids and posted host offers, and executing trades for a particular product initiated by matched posted host bids and posted user offers, matched posted user bids and posted host offers, hit host bids, lifted host offer, hit user bids, and lifted users offer by a process that includes determining if the trade for the particular product was initiated by a hit host bid or
  • a system for trading products includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting a host trader to operably couple posted host bids and offers within a trading chain, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, permitting host traders to hit posted user bids and lift posted user offers, permitting user traders to hit posted host bids and lift posted host offers, matching posted host bids and posted user offers, matching posted user bids and posted host offers, and executing trades for a particular product initiated by matched posted host bids and posted user offers, matched posted user bids and posted host offers, hit host bids, lifted host offer, hit user bids, and lifted users offer by a
  • a system for trading products includes, among other things, the Internet, a host computer coupled to the Internet, a message server coupled to the host computer and the Internet, one or more host traders coupled to the Internet, one or more user traders coupled to the Internet, and an event filter coupled to each of the user traders.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, pushing information to the message server, the event filter for each user trader determining if information has been pushed to the message server, and the event filter for each user trader extracting information pushed to the message server to the corresponding user trader.
  • a system for trading products has been described that includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to add a rolling term product to the marketplace for trading products that is defined by an initial term, an initial term start time, and an initial term roll time, if the marketplace time is greater than or equal to the term start time for the rolling term product, then permitting the rolling term product to be traded and/or delivered within the marketplace, if the marketplace time is equal to the initial term roll time, then not permitting the rolling term product to be traded and/or delivered within the marketplace, generating a new term and a new term roll time for the rolling term product, changing the product description for the rolling term product to reflect the new term and new term roll time, and permitting the rolling term product to be traded and/or delivered within the marketplace.
  • a system for trading products includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, and permitting the host traders to create trading calendars that define on what dates and times corresponding products may be traded within the marketplace.
  • a system for trading products includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, and permitting the host traders to create descriptions of the products traded within the marketplace by a process that includes creating one or more product description templates, defining unique characteristics of the products traded within the marketplace, and generating unique product descriptions for each product traded within the marketplace by combining the unique characteristics of the products with one or more product description templates.
  • a computer implemented marketplace for trading products between a host and one or more users has been described that includes, among other things, one or more host trading windows for trading products, and one or more user trading windows for trading products.
  • the host trading windows are created by the host by a process that includes the host selecting one or more products for the host trading window by a process that includes the host defining a host product selection criteria for defining what products may be selected from the available products, and one or more products being selected for inclusion in the host trading window using the host product selection criteria.
  • the user trading windows may be created by each of the users by a process that includes the user selecting one or more products for the user trading window by a process that includes the user defining a user product selection criteria for defining what products may be selected from the available products, and one or more products being selected for inclusion in the user trading window using the user product selection criteria.
  • a system for trading products includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post bids to buy products from the user traders, permitting the host traders to post offers to sell products to the user traders, and permitting the host traders to change the prices of host bids and offers by a process that includes selecting a plurality of products for which the prices of the corresponding host bids and offers will be changed, and changing the prices of the host bids and offers for the selected products by the same amount.
  • a system for trading products includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post bids to purchase products from the host traders, permitting the host traders to post offers to sell products to the host traders, controlling the prices of the posted host bids and offers using one or more price control strategies by a process that includes determining if an event has occurred that will trigger the execution of one or more of the price control strategies, locking all host bids and offers that will be controlled by the price control strategies that were triggered, determining the hierarchical order in which the price control strategies that were triggered will be executed, and executing the triggered price control strategies in the determined hierarchical order by a process that includes executing each triggered price control strategy by selecting the price control strategies one at a time in the determined hierarchical order until all price control strategies have been executed, during the execution of each selected
  • a system for trading products includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, one or more user traders coupled to the
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, permitting the host traders to hit posted user bids and lift posted user offers, permitting the user traders to hit posted host bids and lift posted host offers, matching posted host bids and posted user offers, matching posted user bids and posted host offers, and executing hit posted user bids, lifted posted user offers, hit posted host bids, lifted posted host offers, matched posted host bids and posted user offers, and matched posted user bids and posted host offers.
  • a system for trading products includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, one or more user traders coupled to the Internet, a communication interface coupled to the host computer, and one or more printers coupled to the communication interface.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketpl ⁇ jnitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, permitting the host traders to hit posted user bids and lift posted user offers, permitting the user traders to hit posted host bids and lift posted host offers, matching posted host bids and posted user offers, matching posted user bids and posted host offers, executing hit posted user bids, lifted posted user offers, hit posted host bids, lifted posted host offers, matched posted host bids and posted user offers, and matched posted user bids and posted host offers, if a trade is executed, then generating a deal sheet object and a printer name, and printing the deal sheet object on the named printer.
  • a system for trading products includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet.
  • the host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, permitting the host traders to hit posted user bids and lift posted user offers, permitting the user traders to hit posted host bids and lift posted host offers, if a host bid is hit by a user trader, then determining if the host bid was hit for partial volume, if the host bid was hit for partial volume, then decreasing the volume of the hit host bid the volume that the host bid was hit, if the host bid was not hit for partial volume, then placing the hit host bid on hold and reducing the volume of the hit host bid to zero, if a

Abstract

An exemplary embodiment of a system (10) for trading products includes a web host computer (12) that is operably coupled to the Internet (14) by a communications link (16). Users A and B, (18a) and (18b), respectively, are operably coupled to the Internet (14) by communication links, (20) and (22), respectively, and master users A and B, (24a) and (24b), respectively, are operably coupled to the Internet (14) by communication links, (26) and (28), respectively.

Description

TRADING SYSTEM
Cross Reference To Related Applications This application claims the benefit of the filing date of U.S. provisional patent application serial number 60/291 ,946, attorney docket number 28315.7, filed on 5/18/2001 , the disclosure of which is incorporated herein by reference.
Background of the Invention This invention relates generally to trading systems, and in particular to online trading systems.
Summary of the Invention According to one aspect of the present invention, a system for trading products is provided that includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, permitting the host traders to hit posted user bids and lift posted user offers, permitting the user traders to hit posted host bids and lift posted host offers, matching posted host bids and posted user offers, matching posted user bids and posted host offers, and executing hit posted user bids, lifted posted user offers, hit posted host bids, lifted posted host offers, matched posted host bids and posted user offers, and matched posted user bids and posted host offers. According to another aspect of the present invention, a system for trading products is provided that includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes permitting the host traders to create a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to host traders within the marketplace, permitting the host traders to create trading windows within the marketplace for trading products, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to user traders within the marketplace, permitting the user traders to create trading windows within the marketplace for trading products, transmitting information to the host traders and the user traders on a real time basis, permitting the host traders to automatically control changes in posted host bids and offers, permitting the user traders to automatically control changes in posted user bids and offers, permitting the host traders to arbitrage posted user bids and offers, permitting the host traders to hit posted user bids and lift posted user offers, permitting the user traders to hit posted host bids and lift posted host offers, matching posted host bids and posted user offers, matching posted user bids and posted host offers, and executing hit posted user bids, lifted posted user offers, hit posted host bids, lifted posted host offers, matched posted host bids and posted user offers, and matched posted user bids and posted host offers.
According to another aspect of the present invention, a computer implemented marketplace for trading products between a host and one or more users is provided that includes one or more host trading windows for trading products, and one or more user trading windows for trading products. The host trading windows are created by the host, and the user trading windows are created by the users.
According to another aspect of the present invention, a computer implemented marketplace for trading products between a host and one or more users is provided that includes one or more host trading windows for trading products, and one or more user trading windows for trading products. The host trading windows are created by the host by a process that includes the host selecting a name for the host trading window, the host selecting an access type for the host trading window, the host selecting a trading desk assigned to the host trading window, the host selecting a commodity assigned to the host trading window, the host selecting the deal type assigned to the host trading window, the host selecting the location assigned to the host trading window, and the host selecting one or more products for the host trading window. The user trading windows may be created by each of the users by a process that includes the user selecting a name for the user trading window, the user selecting an access type for the user trading window, the user selecting a commodity assigned to the user trading window, the user selecting the deal type assigned to the user trading window, the user selecting the location assigned to the user trading window, and the user selecting one or more products for the user trading window.
According to another aspect of the present invention, a system for trading products is provided that includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from the user traders within the marketplace, permitting the host traders to post host offers to sell products to the user traders within the marketplace, permitting the user traders to hit host bids, permitting the user traders to lift host offers, reposting host bids that are hit by one of the user traders with different prices, and reposting host offers that are hit by one of the user traders with different prices.
According to another aspect of the present invention, a system for trading products is provided that includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from the user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to hit posted host bids and lift posted host offers, if a user trader hits a posted host bid for a particular product, then reposting the host bid for the particular product with a reduced price and a predefined volume and reposting the host offer for the particular product with a reduced price and the predefined volume, and if a user trader lifts a posted host offer for a particular product, then reposting the host offer for the particular product with an increased price and a predefined volume and reposting the host bid for the particular product with an increased price and the predefined volume.
According to another aspect of the present invention, a system for trading products is provided that includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from the user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to hit posted host bids and lift posted host offers, permitting a host trader to operably couple a parent product and a child product, and changing the prices of the posted host bid and posted host offer for the child product as a function of the prices of the posted host bid and posted host offer for the parent product. According to another aspect of the present invention, a system for trading products is provided that includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from the user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to hit host bids and lift host offers, if a user trader hits a host bid for a particular product, then calculating a price change value as a function of the difference between the price of the host bid for the particular product and the host offer for the particular product and then reducing the prices of the posted host bid and offer for the particular product by the price change value, and if a user trader lifts a host offer for a particular product, then calculating a price change value as a function of the difference between the price of the host bid for the particular product and the host offer for the particular product and then increasing the prices of the posted host bid and offer for the particular product by the price change value.
According to another aspect of the present invention, a system for trading products is provided that includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from the user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from the host traders and user offers to sell products to host traders within the marketplace, and controlling the prices of the posted host bids as a function of the prices of the posted users bids. According to another aspect of the present invention, a system for trading products is provided that includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from the user traders and host offers to sell products to user traders within the marketplace, permitting a host trader to define a trading chain that operably couples host bids and/or host offers, permitting the user traders to hit posted host bids and lift posted host offers, if a user trader hits a posted host bid or lifts a posted host offer, then determining if the hit posted host bid or lifted posted host offer is part of the trading chain, and if the hit posted host bid or lifted host offer is part of the trading chain, then reducing the volume of all of the posted host bids and offers that are part of the trading chain.
According to another aspect of the present invention, a system for trading products is provided that includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the user traders to post user bids to purchase products from the host traders and user offers to sell products to host traders within the marketplace, if a user trader posts a new user bid, determining if the price of the new user bid is greater than the price of an existing user offer, if the price of the new user bid is greater than the price of an existing user offer, then determining if the difference between the price of the new user bid and the price of an existing user offer is greater than a predetermined minimum price spread; if the difference between the price of the new user bid and the price of an existing user offer is greater than a predetermined minimum price spread, then executing the new user bid and the existing user offer, if a user trader posts a new user offer, determining if the price of the new user offer is less than the price of an existing user bid, if the price of the new user offer is less than the price of an existing user bid, then determining if the difference between the price of the new user offer and the price of an existing user bid is greater than a predetermined minimum price spread, and if the difference between the price of the new user offer and the price of an existing user bid is greater than a predetermined minimum price spread, then executing the new user offer and the existing user bid.
According to another aspect of the present invention, a system for trading products is provided that includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, and matching posted user bids and posted host offers by a process that includes: determining if the price of a posted user bid for a particular product is greater than or equal to the price of a posted host offer for the particular product, if the price of the posted user bid for a particular product is greater than or equal to the price of the posted host offer for the particular product, then determining if the posted user bid for the particular product is all or nothing, if the posted user bid for the particular product is not all or nothing, then executing a trade between the corresponding user trader and the corresponding host trader with a price equal to the price of the posted user bid and a volume equal to the lesser of the volume of the posted user bid or the posted host offer, if the posted user bid for the particular product is all or nothing, then determining if the volume of the posted host offer is greater than or equal to the volume of the posted user bid, and if the volume of the posted host offer is greater than or equal to the volume of the posted user bid, then executing a trade between the corresponding user trader and the corresponding host trader with a price equal to the price of the posted user bid and a volume equal to the volume of the posted user bid.
According to another aspect of the present invention, a system for trading products is provided that includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, one or more user traders coupled to the Internet, and one or more counterparty user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, permitting the counterparty user traders to post counterparty user bids to purchase products from user traders and counterparty user offers to sell products to user traders within the marketplace, and matching posted user bids and posted host or counterparty user offers by a process that includes: determining if the price of a posted user bid for a particular product is greater than or equal to the price of a posted host offer for the particular product, if the price of the posted user bid for a particular product is greater than or equal to the price of the posted host offer for the particular product, then determining if the posted user bid for the particular product is all or nothing, if the posted user bid for the particular product is not all or nothing, then executing a trade between the corresponding user trader and the corresponding host trader with a price equal to the price of the posted user bid and a volume equal to the lesser of the volume of the posted user bid or the posted host offer, if the posted user bid for the particular product is all or nothing, then determining if the volume of the posted host offer is greater than or equal to the volume of the posted user bid, if the volume of the posted host offer is greater than or equal to the volume of the posted user bid, then executing a trade between the corresponding user trader and the corresponding host trader with a price equal to the price of the posted user bid and a volume equal to the volume of the posted user bid, if the volume of the posted host offer is not greater than or equal to the volume of the posted user bid, then determining if the difference between the price of the posted user bid for the particular product and the price of a posted counterparty user offer for the particular product is greater than or equal to a predefined margin, if the difference between the price of the posted user bid for the particular product and the price of a posted counterparty user offer for the particular product is greater than or equal to a predefined margin, then determining if the posted user bid for the particular product is all or nothing, if the posted user bid for the particular product is not all or nothing, then executing a trade between the corresponding user trader and the corresponding counterparty user trader with a price that is equal to the price of the posted user bid for the particular product and a volume that is equal to the lesser of the volume of the posted user bid for the particular product and the volume of the posted counterparty user offer for the particular product, if the posted user bid for the particular product is all or nothing, then determining if the volume of the posted counterparty user offer for the particular product is greater than or equal to the volume of the user bid for the particular product, and if the volume of the posted counterparty user offer for the particular product is greater than or equal to the volume of the user bid for the particular product, then executing a trade between the corresponding user trader and the corresponding counterparty user trader for the particular product with a price that is equal to the price of the posted user bid for the particular product and a volume that is equal to the volume of the posted user bid for the particular product. According to another aspect of the present invention, a system for trading products is provided that includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, permitting host traders to hit posted user bids and lift posted user offers, permitting user traders to hit posted host bids and lift posted host offers, matching posted host bids and posted user offers, matching posted user bids and posted host offers, and executing trades for a particular product initiated by matched posted host bids and posted user offers, matched posted user bids and posted host offers, hit host bids, lifted host offer, hit user bids, and lifted users offer by a process that includes determining if the trade for the particular product was initiated by a hit host bid or a lifted host offer, if the trade was initiated for a particular product by a hit host bid or a lifted host offer, then determining if the price of the host bid for the particular product is greater than or equal to the price of the user hit request for the particular product or if the price of the host offer for the particular product is less than or equal to the price of the user lift request for the particular product, if the price of the host bid for the particular product is greater than or equal to the price of the user bid request for the particular product or if the price of the host offer for the particular product is less than or equal to the price of the user lift request for the particular product, then determining if the user hit request or user lift request for the particular product is all or nothing, if the user hit request or user lift request for the particular product is not all or nothing, then executing a trade between the corresponding host trader and user trader for the particular product with the price equal to the lesser of the price of the user hit request or host bid for the particular product or the price of the user lift request or host offer for the particular product and the volume equal to the lesser of the volume of the user hit request or host bid for the particular product or the price of the user lift request or host offer for the particular product, if the user hit request or user lift request for the particular product is all or nothing, then determining if the volume of the host bid or host offer is greater than the volume of the user hit request or user lift request, respectively, and if the volume of the host bid or host offer is greater than the volume of the user hit request or user lift request, respectively, then executing a trade between the corresponding host trader and user trader for the particular product with the price equal to the lesser of the price of the user hit request or host bid for the particular product or the price of the user lift request or host offer and the volume equal to the volume of the user hit request or user lift request. According to another aspect of the present invention, a system for trading products is provided that includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting a host trader to operably couple posted host bids and offers within a trading chain, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, permitting host traders to hit posted user bids and lift posted user offers, permitting user traders to hit posted host bids and lift posted host offers, matching posted host bids and posted user offers, matching posted user bids and posted host offers, and executing trades for a particular product initiated by matched posted host bids and posted user offers, matched posted user bids and posted host offers, hit host bids, lifted host offer, hit user bids, and lifted users offer by a process that includes locking a corresponding hit posted host bid, lifted posted host offer, hit posted user bid, lifted posted user offer, matched posted host bid and user offer, or matched posted user bid and host offer, locking host bids and offers operably coupled to a trading chain operably coupled to the corresponding hit posted host bid, lifted posted host offer, hit posted user bid, lifted posted user offer, matched posted host bid and posted user offer, or matched posted user bid and posted host offer, executing a trade between the corresponding host trader and user trader, after executing the trade, unlocking the corresponding hit posted host bid, lifted posted host offer, hit posted user bid, lifted posted user offer, matched posted host bid and posted user offer, or matched posted user bid and posted host offer, and after executing the trade, unlocking host bids and offers operably coupled to a trading chain operably coupled to the corresponding hit posted host bid, lifted posted host offer, hit posted user bid, lifted posted user offer, matched posted host bid and posted user offer, or matched posted user bid and posted host offer.
According to another aspect of the present invention, a system for trading products is provided that includes the Internet, a host computer coupled to the Internet, a message server coupled to the host computer and the Internet, one or more host traders coupled to the Internet, one or more user traders coupled to the Internet, and an event filter coupled to each of the user traders. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplacepermitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, pushing information to the message server, the event filter for each user trader determining if information has been pushed to the message server, and the event filter for each user trader extracting information pushed to the message server to the corresponding user trader.
According to another aspect of the present invention, a system for trading products is provided that includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to add a rolling term product to the marketplace for trading products that is defined by an initial term, an initial term start time, and an initial term roll time, if the marketplace time is greater than or equal to the term start time for the rolling term product, then permitting the rolling term product to be traded and/or delivered within the marketplace, if the marketplace time is equal to the initial term roll time, then not permitting the rolling term product to be traded and/or delivered within the marketplace, generating a new term and a new term roll time for the rolling term product, changing the product description for the rolling term product to reflect the new term and new term roll time, and permitting the rolling term product to be traded and/or delivered within the marketplace.
According to another aspect of the present invention, a system for trading products is provided that includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, and permitting the host traders to create trading calendars that define on what dates and times corresponding products may be traded within the marketplace.
According to another aspect of the present invention, a system for trading products is provided that includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, and permitting the host traders to create descriptions of the products traded within the marketplace by a process that includes creating one or more product description templates, defining unique characteristics of the products traded within the marketplace, and generating unique product descriptions for each product traded within the marketplace by combining the unique characteristics of the products with one or more product description templates. According to another aspect of the present invention, a computer implemented marketplace for trading products between a host and one or more users is provided that includes one or more host trading windows for trading products, and one or more user trading windows for trading products. The host trading windows are created by the host by a process that includes the host selecting one or more products for the host trading window by a process that includes the host defining a host product selection criteria for defining what products may be selected from the available products, and one or more products being selected for inclusion in the host trading window using the host product selection criteria. The user trading windows may be created by each of the users by a process that includes the user selecting one or more products for the user trading window by a process that includes the user defining a user product selection criteria for defining what products may be selected from the available products, and one or more products being selected for inclusion in the user trading window using the user product selection criteria. According to another aspect of the present invention, a system for trading products that includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post bids to buy products from the user traders, permitting the host traders to post offers to sell products to the user traders, and permitting the host traders to change the prices of host bids and offers by a process that includes selecting a plurality of products for which the prices of the corresponding host bids and offers will be changed, and changing the prices of the host bids and offers for the selected products by the same amount.
According to another aspect of the present invention, a system for trading products is provided that includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post bids to purchase products from the host traders, permitting the host traders to post offers to sell products to the host traders, controlling the prices of the posted host bids and offers using one or more price control strategies by a process that includes determining if an event has occurred that will trigger the execution of one or more of the price control strategies, locking all host bids and offers that will be controlled by the price control strategies that were triggered, determining the hierarchical order in which the price control strategies that were triggered will be executed, and executing the triggered price control strategies in the determined hierarchical order by a process that includes executing each triggered price control strategy by selecting the price control strategies one at a time in the determined hierarchical order until all price control strategies have been executed, during the execution of each selected price control strategy, determining the new host bid price and host offer prices generated by the selected price control strategy, and if the new host bid price and host offer prices generated by the selected price control strategy are more conservative than new host bid and offer prices generated by other triggered price control strategies, then making the new host bid and offer prices generated by the selected price control strategy the current host bid and offer prices, posting the current host bid and offer prices for trading in the system, and unlocking the previously locked host bids and offers. According to another aspect of the present invention, a system for trading products is provided that includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, one or more user traders coupled to the Internet, a communication interface coupled to the host computer, and a trading system coupled to the communication system adapted to permit the host traders and the user trader to trade products. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, permitting the host traders to hit posted user bids and lift posted user offers, permitting the user traders to hit posted host bids and lift posted host offers, matching posted host bids and posted user offers, matching posted user bids and posted host offers, and executing hit posted user bids, lifted posted user offers, hit posted host bids, lifted posted host offers, matched posted host bids and posted user offers, and matched posted user bids and posted host offers.
According to another aspect of the present invention, a system for trading products is provided that includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, one or more user traders coupled to the Internet, a communication interface coupled to the host computer, and one or more printers coupled to the communication interface. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplacepermitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, permitting the host traders to hit posted user bids and lift posted user offers, permitting the user traders to hit posted host bids and lift posted host offers, matching posted host bids and posted user offers, matching posted user bids and posted host offers, executing hit posted user bids, lifted posted user offers, hit posted host bids, lifted posted host offers, matched posted host bids and posted user offers, and matched posted user bids and posted host offers, if a trade is executed, then generating a deal sheet object and a printer name, and printing the deal sheet object on the named printer.
According to another aspect of the present invention, a system for trading products is provided that includes the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, permitting the host traders to hit posted user bids and lift posted user offers, permitting the user traders to hit posted host bids and lift posted host offers, if a host bid is hit by a user trader, then determining if the host bid was hit for partial volume, if the host bid was hit for partial volume, then decreasing the volume of the hit host bid the volume that the host bid was hit, if the host bid was not hit for partial volume, then placing the hit host bid on hold and reducing the volume of the hit host bid to zero, if a host offer is lifted by a user trader, then determining if the host offer was lifted for partial volume, if the host offer was lifted for partial volume, then decreasing the volume of the lifted host offer the volume that the host offer was lifted, and if the host offer was not lifted for partial volume, then placing the lifted host offer on hold and reducing the volume of the lifted host offer to zero.
Brief Description of the Drawings Fig. 1a is a schematic illustration of an exemplary embodiment of a system for trading products.
Fig. 1 b is a schematic illustration of an exemplary embodiment of the market for trading products of the system of Fig. 1 a.
Fig. 1c is a schematic illustration of an exemplary embodiment of the market for trading products of Fig. 1b.
Fig. 1d is a schematic illustration of an exemplary embodiment of one of the trading windows of the market for trading products of Fig. 1c. Fig. 2 is a flow chart illustration of an exemplary embodiment of a method for operating the system of Figs. 1a-1d.
Figs. 3a-3c are flow chart illustrations of an exemplary embodiment of the method for setting up the market by the host of the method of Fig. 2.
Figs. 4a-4c are illustrations of an exemplary embodiment of the addition of users using the method of Figs. 3a-3c.
Figs. 4d-4e is an illustration of an exemplary embodiment of the editing of users using the method of Figs. 3a-3c.
Fig. 4f is an illustration of an exemplary embodiment of the addition of products using the method of Figs. 3a-3c. Fig. 4g is an illustration of an exemplary embodiment of the defining of a trading calendar for a product using the method of Figs. 3a-3c.
Figs. 5a-5c are flow chart illustrations of an exemplary embodiment of the method for market making by the host of the method of Fig. 2.
Figs. 6a-6j are illustrations of an exemplary embodiment of the creation of trading windows using the method of Figs. 5a-5c.
Fig. 6k is an illustration of an exemplary embodiment of the viewing of the activity history of the method of Figs. 5a-5c.
Fig. 61 is an illustration of an exemplary embodiment of the posting of a host bid or host offer for trading within the system using the method of Figs. 5a- 5c.
Fig. 6m is an illustration of an exemplary embodiment of the placing a bid or offer on hold using the method of Figs. 5a-5c. Fig. 6n is an illustration of an exemplary embodiment of placing a trading floor or a trading desk on hold using the method of Figs. 5a-5c.
Figs. 60 is an illustration of an exemplary embodiment of editing a bid or offer using the method of Figs. 5a-5c. Fig. 6p is an illustration of an exemplary embodiment of the hitting or lifting of a bid or offer with or without review using the method of Figs. 5a-5c.
Figs. 7a-7d are illustrations of an exemplary embodiment of a stack manager price strategy.
Figs. 8a-8c are illustrations of an exemplary embodiment of a parent-child price strategy.
Fig. 9 is an illustration of another exemplary embodiment of a parent-child price strategy.
Figs. 10a-10b are illustrations of another exemplary embodiment of a parent-child price strategy. Fig. 11 is an illustration of an exemplary embodiment of a multi- generational implementation of a parent-child product relationship.
Figs. 12a-12d are illustrations of an exemplary embodiment of a mid- market price strategy.
Figs. 13a-13d are illustrations of an exemplary embodiment of a lean-on price strategy.
Figs. 14a-14c are illustrations of another exemplary embodiment of a lean- on price strategy.
Figs. 15a-15c are illustrations of another exemplary embodiment of a lean- on price strategy. Figs. 16a-16c are illustrations of another exemplary embodiment of a lean- on price strategy.
Figs. 17a-17d are illustrations of another exemplary embodiment of a lean- on price strategy.
Figs. 18a-18b are illustrations of another exemplary embodiment of a lean- on price strategy.
Figs. 19a-19d are illustrations of an exemplary embodiment of one cancels others price strategy. Figs. 19e-19g are illustration of an exemplary embodiment of a parent child price strategy.
Fig. 20 is a flow chart illustration of an exemplary embodiment of the method for the host evaluating bids/offers of the method of Fig. 2. Figs. 21a-21d are illustrations of an exemplary embodiment of an arbitrage method.
Fig. 22 is a flow chart illustration of the method for deal execution for the host of the method of Fig. 2.
Fig. 23 is a schematic illustration of an exemplary embodiment of the order matching engine and the order execution engine of the system of Figs. 1 a and 1 b.
Figs. 24a-24f are illustrations of an exemplary embodiment of a method for operating the order matching engine of Fig. 23.
Figs. 25a-25d are illustrations of an exemplary embodiment of a method for operating the order execution engine of Fig. 23. Figs. 26a-26c is an illustration of an exemplary embodiment of a method for processing bids and offers within the system of Figs. 1a and 1 b.
Fig. 27 is an illustration of an exemplary embodiment of the method for credit administration for the host of the method of Fig. 2.
Fig. 28 is a flow chart illustration of an exemplary embodiment of the method for operating the trading floor for users of the method of Fig. 2.
Figs. 29a-29b are illustrations of an exemplary embodiment of the posting of user bids and offers.
Fig. 29c is an illustration of an exemplary embodiment of the placing of user bids and offers on hold, removing user bids and offer from hold, and canceling user bids and offers.
Fig. 29d is an illustration of an exemplary embodiment of a deal sheet.
Fig. 29e is an illustration of an exemplary embodiment of a legal description for a product.
Figs. 30a-30b are illustrations of an exemplary embodiment of a system and method for real time messaging.
Fig. 31 is a flow chart illustration of an exemplary embodiment of the method for users evaluating bids/offers of the method of Fig. 2. Fig. 32 is an illustration of an exemplary embodiment of the viewing of bids and offers.
Fig. 33 is a flow chart illustration of an exemplary embodiment of the method for users executing deals of the method of Fig. 2. Fig. 34 is an illustration of an exemplary embodiment of an activity history.
Fig. 35 is a flow chart illustration of an exemplary embodiment of the method for the host and the users to generate reports of the method of Fig. 2.
Fig. 36a is a schematic illustration of an exemplary embodiment of a product having a limited term. Fig. 36b is a schematic illustration of an exemplary embodiment of a product having a rolling term.
Figs. 36c-36d is a flow chart illustration of an exemplary embodiment of a method for managing rolling term products.
Fig. 37a is a flow chart illustration of an exemplary embodiment of a method for creating trading calendars.
Fig. 37b is an illustration of an exemplary embodiment of the creation of a trading calendar.
Figs. 38a and 38b are schematic illustrations of an exemplary embodiment of the generation of product descriptions. Fig. 39a is a flow chart illustration of an exemplary embodiment of a method for selecting products for a trading window using filter criteria.
Fig. 39b is an illustration of an exemplary embodiment of the selection of products for a trading window using filter criteria.
Fig. 40a is a flow chart illustration of an exemplary embodiment of a method for adjusting the prices of the host bids and offers using spinner boxes.
Fig. 40b is an illustration of an exemplary embodiment of the adjustment of prices for host bids and offers using spinner boxes.
Figs. 41a-41 d are illustrations of an exemplary embodiment of a method for managing price control strategies. Figs. 42a-42b are schematic illustrations of an exemplary embodiment of a system for trading products. Figs. 43a-43d are illustrations of a system and method for printing reports in a trading system.
Detailed Description of the Illustrative Embodiments Several exemplary embodiments of a trading system are provided that permit products such as, for example, energy products to be traded using the Internet. In this manner, the products may be traded in a more efficient manner thereby reducing the transaction costs associated with the trading of products.
Referring to Fig. 1a, an exemplary embodiment of a system 10 for trading products includes a web host computer 12 that is operably coupled to the Internet 14 by a communications link 16. Users A and B, 18a and 18b, respectively, are operably coupled to the Internet 14 by communication links, 20 and 22, respectively, and master users A and B, 24a and 24b, respectively, are operably coupled to the Internet 14 by communication links, 26 and 28, respectively. A host administrator 30, and host traders, 32a and 32b, are operably coupled to the web host computer 12 by communication links, 34, 36, and 38, respectively. The design and operation of the Internet 14 is well known to persons having ordinary skill in the art. The communication links, 16, 20, 22, 26, 28, 34, 36, and 38 may be, for example, any conventional communications links. The users A and B, 18a and 18b, respectively, master users A and B, 24a and 24b, respectively, host administrator 30, and host traders, 32a and 32b, may include, for example, programmable general purpose computers that utilize a conventional Internet service provider and a web browser. In several alternative embodiments, a local area network, a wide area network, and/or a wireless network may be substituted for, or used in combination with, the Internet 14. In an exemplary embodiment, the web host computer 12, the host administrator 30, and the host traders, 32a and 32b, are associated with a host company 40, the user A 18a and the master user A 24a are associated with a company A 42, and the user B 18b and the master user B 24b are associated with a company B 44. In this manner, the host company 40 may trade products with the companies A and B, 42 and 44.
In an exemplary embodiment, as illustrated in Fig. 1b, the host company 40 creates and maintains a market for trading products 46 in which the users A and B, 18a and 18b, the master users A and B, 24a and 24b, the host administrator 30, and the host traders, 32a and 32b, may place bids to purchase products 48a, 48b, 48c, and 48d, and/or offer the products for sale. In several alternative embodiments, the products, 48a, 48b, 48c, and/or 48d, may include products and/or services. In an exemplary embodiment, during operation of the marketplace 46, users 18 and master users 24 may hit or lift host bids or offers, respectively, posted for trading in the marketplace by the host administrator 30 and/or host traders 32. Likewise, in an exemplary embodiment, during operation of the marketplace 46, the host administrator 30 and the host traders 32 may hit or lift user bids or offers, respectively, posted for trading in the marketplace by the users 18 and/or master users 24. In an exemplary embodiment, during the operation of the marketplace 46, when a host trader hits a user bid, this indicates the acceptance for execution of a trade by the host trader at the price and volume of the user bid. In an exemplary embodiment, during the operation of the marketplace 46, when a host trader lifts a user offer, this indicates the acceptance for execution of a trade by the host trader at the price and volume of the user offer. In an exemplary embodiment, during the operation of the marketplace 46, when a user trader hits a host bid, this indicates the acceptance for execution of a trade by the user trader at the price and volume of the host bid. In an exemplary embodiment, during the operation of the marketplace 46, when a user trader lifts a host offer, this indicates the acceptance for execution of a trade by the user trader at the price and volume of the host offer. In an exemplary embodiment, during the operation of the marketplace 46, a user bid and a host offer may be matched up for automatic execution of a trade if the prices and volumes of the user bid and host offer are identical. In an exemplary embodiment, during the operation of the marketplace 46, a user offer and a host bid may be matched up for the automatic execution of a trade if the prices and volumes of the user offer and host bid are identical. In an exemplary embodiment, during operation of the marketplace 46, if a user bid and host offer or a user offer and a host bid are matched up for automatic execution, the resulting trade will be executed using the price of the user bid or the user offer, respectively. In an exemplary embodiment, during the operation of the marketplace 46, a user bid and a host offer may be matched up for automatic execution of a trade if the prices and volumes of the user bid and host offer are not identical. In an exemplary embodiment, during the operation of the marketplace 46, a user offer and a host bid may be matched up for the automatic execution of a trade if the prices and volumes of the user offer and host bid are not identical.
As illustrated in Figs. 1c and 1d, the market for trading products 46 may include one or more trading windows 50 that each may each include one or more products 48. In this manner, the users A and B, 18a and 18b, the master users A and B, 24a and 24b, the host administrator 30, and the host traders, 32a and 32b, may place bids to purchase products 48a, 48b, 48c, and 48d, and/or offer the products for sale using one or more trading windows 50. In an exemplary embodiment, the market for trading products 46 provides a direct online electronic order execution system. Referring to Fig. 2, in an exemplary embodiment, the system 10 implements a method of operating a trading system 200 in which users A and B, 18a and 18b, master users A and B, 24a and 24b, the host administrator 30, and the host traders, 32a and 32b, may logon to the web host computer 12 in step 202. After logging onto the system 10, (a) the host administrator 30 and the host traders, 32a and 32b, may select market setup for host in step 204, market making for host in step 206, bid/offer evaluation for host in step 208, deal execution for host in step 210, and/or credit administration for host in step 212, (b) the users, 18a and 18b, and the master users, 24a and 24b, may select trading floor for users in step 214, bid/offer evaluation for users in step 216, and deal execution for users in step 218, and, (c) the users A and B, 18a and 18b, the master users A and B, 24a and 24b, the host administrator 30, and the host traders, 32a and 32b, may select reports for host and users in step 220.
In an exemplary embodiment, as illustrated in Figs. 3a-3c, after selecting market set up for host in step 204, the host administrator 30 and the host traders A and B, 32a and 32b, may then select maintain users in step 302, maintain products in step 304, and/or maintain attributes in step 306. In an exemplary embodiment, after selecting maintain users in step 302, the host administrator 30 and the host traders A and B, 32a and 32b, may then select add users in step 302a, edit user profiles in step 302b, reset user passwords in step 302c, disconnect users in step 302d, hold/cancel user bid/offer in step 302e, or hold postings in step 302f.
In an exemplary embodiment, as illustrated in Fig. 4a, in step 302a, a host trader 32 may be added to the system 10 by entering the name 402 of the host trader, the trading desk 404 associated with the host trader, and the active or inactive status 406 of the host trader. In an exemplary embodiment, as illustrated in Fig. 4b, in step 302a, a master user 24 may also be added to the system 10 by entering the company 408 associated with the master user, the name 410 of the master user, the active or inactive status 412 of the user or master user, and the trading access rights 414 of the master user. In an exemplary embodiment, the trading access rights 414 of the master user may be execute, read only, or none. In an exemplary embodiment, as illustrated in Fig. 4c, in step 302a, a user 18 may also be added to the system 10 by entering the company 416 associated with the user, the name 418 of the user, the customer type 420, the trading access rights 422 of the user on a product-by-product basis, the active or inactive status 424 of the user, the global creditworthiness 426 of the user, and the creditworthiness on a product-by-product basis 428 of the user.
In an exemplary embodiment, as illustrated in Fig. 4d, in step 302b, the profile for a master user 24 may be edited by revising the company 408 associated with the master user, the name 410 of the master user, the active or inactive status 412 of the user or master user, and the trading access rights 414 of the master user. In an exemplary embodiment, as illustrated in Fig. 4e, in step 302b, the profile for a user 18 may also be edited by revising the company 416 associated with the user, the name 418 of the user, the customer type 420, the trading access rights 422 of the user on a product-by-product basis, the active or inactive status 424 of the user, the global creditworthiness 426 of the user, and the creditworthiness on a product-by-product basis 428 of the user.
In an exemplary embodiment, in step 302c, the password for a user 18, master user 24, host administrator 30, or host trader 32 may be reset. In an exemplary embodiment, in step 302d, a user 18, a master user 24, a host administrator 30, or a host trader 32 may be disconnected from the system 10. In an exemplary embodiment, in step 302e, a bid or offer of a user 18, a master user 24, a host administrator 30, or a host trader 32 may be placed on hold or removed from the system. In an exemplary embodiment, in step 302f, a posted bid or offer of a user 18, a master user 24, a host administrator 30, or a host trader 32 may be placed on hold.
In an exemplary embodiment, after selecting maintain products in step 304, the host administrator 30 and the host traders A and B, 32a and 32b, may then select add products in step 304a or edit products in step 304b. In an exemplary embodiment, as illustrated in Fig. 4f, in step 304a, a product may be added to the system 10 by entering one or more of the following product attributes: the major commodity name 430 of the product; the minor commodity name 432 of the product; the type of trading calendar 434 for the product; the deal type 436 for the product; the trading desk 438 for the product; the term 440 of the product; the price mechanism 442 of the product; the country 444 of the product; the price unit of measure 446 of the product; the volume unit of measure 448 of the product; the trading currency 450 of the product; the display formula 452 of the product; the quality of service 454 of the product; the contact user 456 of the product; the location 458 of the product; the settlement type 460 of the product; the delivery time 462 of the product; the priority of service 464 of the product; and the transportation type 466 of the product.
In an exemplary embodiment, the major commodity name 430 of the product may, for example, be US Natural Gas, the minor commodity name 432 of the product may, for example, be US Natural Gas; the type of trading calendar 434 for the product may, for example, be Natural Gas Standard; the deal type 436 for the product may, for example, be Physical; the trading desk 438 for the product may, for example, be East Natural Gas Desk; the term 440 of the product may, for example, be Next Day; the price mechanism 442 of the product may, for example, be Fixed Price; the country 444 of the product may, for example, be USA; the price unit of measure 446 of the product may, for example, be MMBtu; the volume unit of measure 448 of the product may, for example, be MMBtu; the trading currency 450 of the product may, for example, be US Dollars; the display formula 452 of the product may, for example, be US Natural Gas - Not Swap; the quality of service 454 of the product may, for example, be Firm; the contact user 456 of the product may, for example, be John Doe; and the location 458 of the product may, for example, be Henry Hub. In an exemplary embodiment, the product may be identified within the system 10 using the major commodity name 430 and/or the minor commodity name 432 of the product.
In an exemplary embodiment, in step 304b, one or more of the attributes associated with a selected product may be edited.
In an exemplary embodiment, after selecting maintain attributes in step 306, the host administrator 30 and the host traders A and B, 32a and 32b, may then select define a trading calendar in step 306a, edit trading calendar in step 306b, add a country in step 306c, add a customer type in step 306d, add a deal type in step 306e, add a delivery time for a product in step 306f , add a trading desk in step 306g, add a downstream system for a product in step 306h, add/edit the general terms and conditions for a product in step 306i, adding a product location in step 306j, add a major commodity category in step 306k, add a minor commodity category in step 3061, add a price unit of measure in step 306m, add a price mechanism for a product in step 306n, add a priority of service category in step 306o, add a security role in step 306p, add a settlement price mechanism in step 306q, create a product long description template in step 306r, edit a product long description template in step 306s, add a product term category in step 306t, adding a transportation type in step 306u, define tolerances in step 306v, define rolling terms for products in step 306w, add a currency for trading a product in step 306x, add a volume unit of measure for a product in step 306y, and edit the legal description of a product in step 306z. In an exemplary embodiment, as illustrated in Fig. 4g, in step 306a, a trading calendar 468 may be added to the system 10 by entering the name 470 of the trading calendar, the month 472 and year 474 of the trading calendar, and the trading start time 476 and the trading stop time 478 for each day of the trading calendar. In this manner, one or more trading calendar templates may be created that can then be used to define the trading calendar for one or more of the products 48. In an exemplary, in step 306b, the trading calendar 468 may also be edited. In an exemplary embodiment, in step 306c, a country category may be added to the system 10. In this manner, a catalog of possible countries for product delivery may be maintained.
In an exemplary embodiment, in step 306d, a customer type may be added to the system 10. Examples of customer types include Gas Trading Company or Producer. In this manner, a catalog of possible customer types may be maintained within the system 10 that may be used to characterize users 18 and master users 24.
In an exemplary embodiment, in step 306e, a deal type may be added to the system 10. Examples of deal types include Physical or Basis Swap. In this manner, a catalog of deal types may be maintained within the system 10 that may be used to characterize products 48.
In an exemplary embodiment, in step 306f, a delivery time category for a product may be added to the system 10. Examples of delivery time categories include Peak and Off Peak. In this manner, a catalog of delivery times may be maintained within the system 10 that may be used to characterize products 48.
In an exemplary embodiment, in step 306g, a trading desk may be added to the system 10. Each trading desk is associated with the host company 40 and may be responsible for the trading of one or more products 48. Examples of trading desks include East Power, Coal, and Emissions. In this manner, a catalog of trading desks may be maintained within the system 10 that may be used to characterize products 48.
In an exemplary embodiment, in step 306h, a downstream system for a product may be added to the system 10. As will be recognized by persons having ordinary skill in the art, a downstream system refers to a delivery system or destination that is downstream from the location of the product. Examples of downstream locations include Abacus and Right Angle. In this manner, a catalog of downstream systems may be maintained within the system 10 that may be used to characterize products 48. In an exemplary embodiment, in step 306i, the general terms and conditions for a product may be added to, or edited within, the system 10. In this manner, a catalog of general terms and conditions may be maintained within the system 10 that may be used to characterize products 48. In an exemplary embodiment, in step 306j, a product location may be added to the system 10. In this manner, a catalog of product locations may be maintained within the system 10 that may be used to characterize products 48.
In an exemplary embodiment, in step 306k, a major commodity category may be added to the system 10. Examples of major commodity categories include Power and US Natural Gas. In this manner, a catalog of major commodity categories may be maintained within the system 10 that may be used to characterize products 48.
In an exemplary embodiment, in step 306I, a minor commodity category may be added to the system 10. Examples of minor commodity categories include East Power and West Power. In this manner, a catalog of minor commodity categories may be maintained within the system 10 that may be used to characterize products 48.
In an exemplary embodiment, in step 306m, a price unit of measure for a product may added to the system 10. Examples of price units of measure include MMBtu and MWhr. In this manner, a catalog of price units of measure may be maintained within the system 10 that may be used to characterize products 48.
In an exemplary embodiment, in step 306n, a price mechanism for a product may be added to the system 10. Examples of price mechanisms include Fixed Price and NYMEX Last Day Settlement. In this manner, a catalog of price mechanisms may be maintained within the system 10 that may be used to characterize products 48.
In an exemplary embodiment, in step 306o, a priority of service category may be added to the system 10. Examples of priority of service categories include Firm and Interruptible. In this manner, a catalog of priority of service categories may be maintained within the system 10 that may be used to characterize products 48.
In an exemplary embodiment, in step 306p, a security role category may be added to the system 10. Examples of security role categories include Host Trader and Host Administrator. In this manner, a catalog of security role categories may be maintained within the system 10 that may be used to characterize users, 18 and 24. In an exemplary embodiment, in step 306q, a settlement price mechanism may be added to the system 10. Examples of settlement price mechanism categories include NYMEX Last Day Settlement and Inside FERC TETCO ELA Index. In this manner, a catalog of settlement price mechanisms may be maintained within the system 10 that may be used to characterize products 48. In an exemplary embodiment, in step 306r, a product long description template may be added to the system 10. In this manner, a catalog of product long description templates may be maintained within the system 10 that may be used to characterize products 48. In an exemplary embodiment, in step 306s, a product long description template may be edited.
In an exemplary embodiment, in step 306t, a product term category may be added to the system 10. Examples of product term categories include Next Day and Prompt Month. In this manner, a catalog of product term categories may be maintained within the system 10 that may be used to characterize products 48. In an exemplary embodiment, in step 306u, a transportation type may be added to the system 10. Examples of transportation types include Barge and Train. In this manner, a catalog of transportation types may be maintained within the system 10 that may be used to characterize products 48.
In an exemplary embodiment, in step 306v, tolerances may be defined within the system 10. Tolerances provide safeguards for host and user traders. Examples of tolerances include % price change and maximum volume. In this manner, the operation of the system 10 may adjusted by adjusting the tolerances. In an exemplary embodiment, the tolerances may be defined on a system wide basis and/or on a product-by-product basis. In an exemplary embodiment, in step 306w, rolling terms for products may be defined within the system 10. A product 48 having a rolling term is automatically renewed for trading upon the expiration of the term. In this manner, a catalog of rolling terms may be maintained within the system 10 that may be used to characterize products 48. In an exemplary embodiment, in step 306x, a type of currency for trading products may be added to the system 10. In this manner, a catalog of currencies for trading products may be maintained within the system 10 that may be used to characterize products 48. In an exemplary embodiment, in step 306y, a volume unit of measure may be added to the system 10. Examples of volume units of measure include MMBtu and MWhr. In this manner, a catalog of volume units of measure may be maintained within the system 10 that may be used to characterize products 48. In an exemplary embodiment, in step 306z, the legal description of a product may be edited.
In an exemplary embodiment, as illustrated in Figs. 5a-5c, after selecting market making for host in step 206, the host administrator 30 and the host traders A and B, 32a and 32b, may then select create trading windows in step 206a, open trading windows in step 206b, change products in trading windows in step 206c, delete trading windows in step 206d, arrange trading windows in step 206e, manage views in step 206f, view activity history in step 206g, set up product price and volume in step 206h, view order depth in step 206i, view order details in step 206j, place products and postings on hold in step 206k, release products and postings from hold in step 2061, holding a trading window, a trading floor, or a trading desk in step 206m, change a posting in step 206n, change prices using bid/offer spinners in step 206o, change prices using the all spinner in step 206p, change prices using the spread spinner in step 206q, hit/lift bid/offer with review in step 206r, hit/lift bid/offer in step 206s, stack manager in step 206t, price change strategies in step 206u, or one cancels others in step 206v.
In an exemplary embodiment, as illustrated in Figs. 6a-6i, in step 206a, a trading window 602 may be added to the system 10 by entering the name 604 of the trading window, the access type 606 for the trading window, the trading desk(s) 608 assigned to the trading window, the commodities 610 assigned to the trading window, the deal type(s) 612 for the trading window, the location(s) 614 for products within the trading window, the individual products 616 to be traded within the trading window. In an exemplary embodiment, the access type 606 may be a trading window or a viewing only window. Thus, in step 206a, the host administrator 30 and host traders 32 may create customized trading windows 602 for use by the corresponding host administrator or host traders, or for use by any host administrator, host trader, user 18, and/or master user 24.
During operation of the system 10, as illustrated in Fig. 6j, within the trading window 602, for each product 616, there may a host bid 618 posted by the host administrator 30 or host traders 32 to purchase the product 616 from the users 18 or master users, a host offer 620 posted by the host administrator or host traders to sell the product to the users or master users, a user bid 622 posted by the users 18 or master users 24 to purchase the product from the host administrator or host traders, and a user offer 624 posted by the users or master users to sell the product to the host administrator or host traders. In an exemplary embodiment, the users bids and offers, 622 and 624, are positioned above or below the host bid and offer, 618 and 620, for the product 616.
In an exemplary embodiment, the trading window 602 includes a plurality of rows that correspond to products 616a-616h. In an exemplary embodiment, each product 616 within the trading window includes the corresponding commodity name 626, the currency 628, the price unit 630, the priority 632, the deal type 634, the term date 636, the location 638, the price mechanism 640, the depth 642 of the user bid position for the product, the status 644 of the host and user bids, 618 and 622, respectively, for the product, the host and user bids for the product, the host and user offers for the product, 620 and 624, respectively, the status 646 of the host and user offers for the product, the depth 648 of the user offer position for the product, and the net host position 650 for the product. In an exemplary embodiment, the depth 642 of the user bid position refers to aggregate amount of user bids for a particular product, the depth 648 of the user offer position refers to the aggregate amount of user offers for a particular product, and the host net position 650 refers to the amount by which the host is long or short for the particular product.
In an exemplary embodiment, in step 206b, one or more trading windows may be opened thereby permitting one or more trading windows 602 to be viewed simultaneously.
In an exemplary embodiment, in step 206c, the products 616 within in the trading windows 602 may be changed thereby permitting the content of the trading windows to be customized. In an exemplary embodiment, in step 206d, one or more trading windows
602 may be deleted from the system 10.
In an exemplary embodiment, in step 206e, the trading windows 602 may be arranged on the screen of the host administrator 30 or host trader 32. Examples of trading window arrangements include Tile and Cascade. In this manner, the appearance of the graphical user interface provided by the trading windows 602 may be customized.
In an exemplary embodiment, in step 206f, the appearance of the various fields of the trading window 602 may be customized.
In an exemplary embodiment, as illustrated in Fig. 6k, in step 206g, the trading activity history 652 for a user 18, a master user 24, a host administrator 30, or a host trader 32 may be generated for viewing that includes the activity code 652a, the order type 652b, the product description 652c, the volume 652d, the price per unit volume 652e, the counterparty 652f, the date and time of the transaction 652g, the transaction number 652h, and the user ID 652L In an exemplary embodiment, the activity code 652a may indicate a successful or a failed trade execution, and the order type 652b may indicate a buy or a sell.
In an exemplary embodiment, as illustrated in Fig. 61, in step 206h, the host administrator 30 or the host trader 32 may enter a bid to purchase a product 616 and/or an offer to sell a product within the trading window 602 by entering the bid price, bid volume, offer price, and/or offer volume into the corresponding cells within the trading window. In an exemplary embodiment, initially, after entering a bid to purchase a product 616 and/or an offer to sell a product within the trading window 602, the entered information is displayed in a preview mode. The host administrator 30 or the host trader 32 may then either submit the entered information for posting in the system 10, or cancel the entered information.
In an exemplary embodiment, in step 206i, the depth of a buy or sell order may be viewed. In an exemplary embodiment, the order depth includes information such as the counterparty, the volume, the price, and the all-or-nothing status of the order.
In an exemplary embodiment, as illustrated in Fig. 6m, in steps 206k and 206I, products and postings may be placed on, or released from, hold by selecting the product 616 within the trading window 602 and then selecting hold order 654 or unhold order 656. Once an buy order or a sell order has been placed on hold, a hold designation appears in the corresponding status column, 644 and 646, adjacent to the corresponding bid or offer column, 618 and 620, respectively. Orders placed on hold may not be executed by the system 10 unless, and until, they are released from hold.
In an exemplary embodiment, as illustrated in Fig. 6n, in step 206m, a trading window 602 or a trading desk may be placed on hold by selecting hold trading floor 658 or hold trading desk 660. Once a trading window or a trading desk has been placed on hold, all of the buy and sell orders associated with the trading window or trading desk are also placed on hold.
In an exemplary embodiment, as illustrated in Fig. 6o, in step 206n, the host administrator 30 or the host trader 32 may edit a bid to purchase a product 616 and/or an offer to sell a product within the trading window 602 by editing the bid price, bid volume, offer price, and/or offer volume into the corresponding cells within the trading window. In an exemplary embodiment, initially, after editing a bid to purchase a product 616 and/or an offer to sell a product within the trading window 602, the entered information is displayed in a preview mode. The host administrator 30 or the host trader 32 may then either submit the edited information for posting in the system 10, or cancel the edited information.
In an exemplary embodiment, as illustrated in Fig. 6p, in step 206o, the per unit prices for the bids or the offers for a product 616 may be changed by selecting the bid or offer for the product within the trading window 602 and then increasing or decreasing the per unit price using the bid spinner 662 or the offer spinner 664.
In an exemplary embodiment, as illustrated in Fig. 6p, in step 206p, the per unit prices for all bids and offers for a particular product 616 entered by the host administrator 30 or host trader 32 may be changed by selecting the product within the trading window 602 and then increasing or decreasing the per unit prices for all of the bids or offers using the all spinner 666.
In an exemplary embodiment, as illustrated in Fig. 6p, in step 206q, the per unit prices for all bids and offers for a particular product 616 within a trading window 602 entered by the host administrator 30 or host traders 32 may be changed by selecting the product within the trading window and then increasing or decreasing the spread between the per unit prices for the bids and offers for the selected product using the spread spinner 668. In an exemplary embodiment, as illustrated in Fig. 6p, in step 206r, the host administrator 30 or the host traders 32 may hit/lift bids/offers with review entered by the users 18 or master users 24 by selecting the particular bid or offer and then selecting execute with review 670. In an exemplary embodiment, when the host administrator 30 or host traders 32 hit a user bid posted by the users 18 or master users 24 to purchase a product from the host administrator or host traders, the host administrator or host trader generate a hit request to sell a volume of the corresponding product to the corresponding user or master user at the price of the posted user bid. The hit request may then be processed by the system to generate an executed trade. The volume of the host hit request generated by the hit may be less than or equal to the total volume of the user bid.
In an exemplary embodiment, when the host administrator 30 or host traders 32 lift an offer posted by the users 18 or master users 24 to sell a product to the host administrator or host traders, the host administrator or host traders generate a lift request to purchase a volume of the corresponding product from the corresponding user or master user at the price of the posted user offer. The lift request may then be processed by the system to generate an executed trade. The volume of the host lift request generated by the lift may be less than or equal to the total volume of the user offer.
In an exemplary embodiment, execute with review permits the host administrator 30 or host trader 32 to review the execution of the order prior to the actual execution. Furthermore, in an exemplary embodiment, execute with review also permits the host administrator 30 or host trader 32 to change the volume of the hit or lift to permit a trade to be executed if the user bid or offer is not all or nothing.
In an exemplary embodiment, as illustrated in Fig. 6p, in step 206s, the host administrator 30 or host traders 32 may hit/lift bids/offers entered by the users 18 or master users 24 by selecting quick execute 672. In an exemplary embodiment, as illustrated in Figs. 7a- 7d, in step 206t, the host administrator 30 or host traders 32 may select stack manager thereby implementing a stack manager program 700 that permits the host administrator 30 or host traders 32 to control the movement of the per unit prices of the host bids and host offers for products posted by the host administrator or host traders for trading products within the system 10.
In step 702, the operating parameters 702a for stack manager may be selected. In an exemplary embodiment, operating parameters 702a for stack manager include one or more of the following: the identity 702b of the product, the active or inactive status 702c of stack manager, the price change 702d, the next volume 702e, the number of iterations 702f, the number of iterations remaining 702g, warn on 702h, the shift market selector 702i, and the execute when zero selector 702j. The identity 702b of the product identifies the product for which the stack manager program 700 will be implemented, the active or inactive status 702c of stack manager indicates whether or not the stack manager program 700 is active or inactive, the price change 702d indicates the amount to decrease or increase the per unit price of the corresponding host bid or offer, respectively, each time the host bid or the host offer is hit or lifted, the next volume 702e indicates what the new volume should be for the host bid or the host offer each time the host bid or the host offer is hit or lifted, the number of iterations 702f indicates the number of times to execute the stack manager program 700 before ending, and the number of iterations remaining 702g indicates the number of iterations remaining. If warn on 702h is selected, the stack manager program 700 will provide a warning indicator if the number of iterations remaining 702g approaches zero. If the shift market selector 702i is selected, the stack manager program 700 will adjust the per unit prices of the host bid and the host offer each time the host bid or the host offer is hit or lifted. If the execute when zero selector 702j is selected, the stack manager program 700 will not adjust the per unit prices unless the host bid or offer is hit or lifted for the full volume of the host bid or offer.
In step 704, the system 10 determines if stack manager has been activated by the host administrator 30 or host traders 32. If stack manager has been activated, then, in step 706, the system 10 determines if the host bid or offer for the selected product was hit or lifted.
If the system 10 determines that stack manager has not been activated, then the system determines if a host bid or offer has been hit or lifted in step 708. If a host bid or offer has been hit or lifted, then the system determines if the host bid or offer was hit or lifted for partial volume in step 710. If the host bid or offer was hit for partial volume, then the system decrements the volume of the hit or lifted host bid or offer in step 712. If the host bid or offer was not hit or lifted for partial volume, then the system places the hit or lifted host bid or offer on hold and decrements the volume of the hit or lifted host bid or offer to zero in step 714. Thus, steps 708, 710, 712, and 714 provide a default program for controlling the movement of the prices and volumes of host bids and offers.
If the system 10 determines that a host bid or offer for the selected product was hit or lifted in step 706, then the system determines if there are remaining iterations to be executed in step 716. If there are remaining iterations, then the system 10 determines if it can execute stack manager on zero volume in step 718. If the system 10 determines that there are no remaining iterations in step 716, then the system 10 executes steps 710, 712, and/or 714 as described above. If the system 10 determines that it can execute stack manager on zero volume in step 718, then the system determines if the host bid or offer was hit or lifted for partial volume in step 720. Note that if the system 10 can execute stack manager on zero volume, the system can only execute stack manager if the host bid or offer is hit or lifted for the full volume of the host bid or offer. If the host bid or offer was not hit or lifted for partial volume, then the system 10 determines if it can shift markets in step 722. If the system 10 can shift markets, then the system 10 will change the per unit price and the volume for the host bid and offer in step 724. In an exemplary embodiment, if the host bid was hit, the per unit price is decreased in step 724, and, if the host offer was lifted, the per unit price is increased in step 724. Alternatively, if the system 10 cannot shift markets, then the system 10 will change the per unit price and volume for the host bid or offer that was hit or lifted in step 726. In an exemplary embodiment, if the host bid was hit, the per unit price is decreased in step 726, and, if the host offer was lifted, the per unit price is increased in step 726. If the system 10 determines that it can execute stack manager on non-zero volume in step 718, then the system 10 executes steps 722, 724, and/or 726 as described above. If the system 10 determines that the host bid or offer was hit or lifted for partial volume in step 720, then the system executes step 712 as described above.
Thus, the stack manager program 700 provides an method for controlling the movement of the per unit prices and volumes of the host bid and/or offer for a selected product. In this manner, the management and control of the market for trading products 46 is enhanced. More generally, the teachings of the stack manager program 700 may be utilized to control the movement of the per unit prices of host and/or user posted bids and/or offers for products. In an exemplary embodiment, in step 206u, the host administrator 30 or the host traders 32 may then select one of the following price change strategies: parent/child in step 206ua, mid market in step 206ub, or lean on in step 206uc. In this manner, the host administrator 30 and the host traders 32 may further control the movement of prices and volumes for host bids and offers during operation of the system 10.
In an exemplary embodiment, as illustrated in Figs. 8a-8c, in step 206ua, the host administrator 30 or the host traders 32 may implement a parent/child program 800 in which the movement of the per unit prices of host bids and offers for a parent product 800a and a child product 800b within the market for trading products 46 may be controlled.
In step 802, the host administrator 30 or the host traders 32 may enter the operating parameters 802a for the parent/child program 800. In an exemplary embodiment, the operating parameters 802a for the parent/child program 800 include one or more of the following: the identity 802aa of the parent product, the identity 802ab of the child product, the bid price offset 802ac for the parent/child, ,. the offer price offset 802ad for the parent/child, the minimum price spread 802ae for the bids/offers of the child, the bid offset multiplier 802af for the parent/child, the offer offset multiplier 802ag for the parent/child, and the number of children 802ah for the parent. In an exemplary embodiment, the bid price offset 802ac for the parent/child defines the offset between the host bid prices for the parent and child products, the offer price offset 802ad for the parent/child defines the offset between the host offer prices for the parent and child products, the minimum price spread 802ae for the bids/offers of the child defines the minimum spread between the host bids and offers for the child products, the parent/child bid offset multiplier 802af defines the multiple of a price change to a parent host bid that will be applied to a child host bid, the parent/child offer offset multiplier 802ag defines the multiple of a price change to a parent host offer that will be applied to a child host offer, and the number of children 802ah defines the number of children products that are assigned to a particular parent product.
In an exemplary embodiment, the bid price offset 802ac for the parent/child products and the offer price offset 802ad for the parent/child products cause changes in the host bid or offer prices for the parent product 802aa to result in corresponding changes in the host bid or offer prices for the child product 802ab. In particular, the system adjusting the host bid and offer prices for the child product 802ab to maintain the corresponding parent/child bid/offer price offsets, 802ac and 802ad.
In step 804, the system 10 determines if the price for the host bid or offer for the parent product 802aa has been changed. If the price for the host bid or offer for the parent product 802aa has been changed, then the system 10 determines if, as a result of the change in the price for the host bid or offer for the parent product 802aa, the resulting changes in the host bid and offer prices for the child product 802ab will violate the minimum spread 802ae between the host bid and offer price for the child product in step 806.
If the spread between the host bid and offer price for the child product will be less than the minimum spread 802ae between the host bid and offer price for the child product, then the system 10 multiplies the parent/child bid/offer price offsets, 802ac and 802ad, respectively, by the parent/child bid/offer offset multipliers, 802af and 802ag, respectively, in step 808. In this manner, the parent/child bid/offer price offsets, 802ac and 802ad, are updated. The system 10 then changes the host bid and/or offer price for the child product to set the price spread between the host bid and offer prices for the child product 802ab equal to the minimum child bid/offer price spread 802ae in step 810. If the spread between the host bid and offer price for the child product
802ab will not be less than the minimum spread 802ae between the host bid and offer price for the child product, then the system 10 multiplies the parent/child bid/offer price offsets, 802ac and 802ad, respectively, by the parent/child bid/offer offset multipliers, 802af and 802ag, respectively, in step 812. In this manner, the parent/child bid/offer price offsets, 802ac and 802ad, are updated. The system 10 then changes the price of the host bid or offer for the child product 802ab using the parent/child bid price offset 802ac or the parent/child offer price offset 802ad in step 814.
In an exemplary embodiment, as illustrated in Fig. 9, in step 206ua, the host administrator 30 or the host traders 32 may implement a parent/child program 900 in which the movement of the per unit prices for host bids and offers for the parent product 800a and the child product 800b within the market for trading products 46 may be further controlled. In an exemplary embodiment, the parent/child program 900 operates in combination with the parent/child program 800.
In step 902, the system 10 determines if the host bid or offer price for the child product 802ab has changed. If the host bid or offer price for the child product 802ab has changed, then the system 10 calculates the resulting new values for the parent/child bid or offer price offset, 802ac or 802ad, in step 904.
In an exemplary embodiment, as illustrated in Figs. 10a-10b, in step 206ua, the host administrator 30 or the host traders 32 may implement a parent/child program 1000 in which the movement of the per unit prices for host bids and offers for the parent product 800a and the child product 800b within the market for trading products 46 may be further controlled. In an exemplary embodiment, the parent/child program 1000 operates in combination with the parent/child program 800 and/or the parent child program 900.
In step 1002, the system 10 determines if the host bid and offer prices for the parent product 802aa are also being controlled by the stack manager program 700. If the host bid and offer prices for the parent product 802aa are also being controlled by the stack manager program 700, the system 10 then determines if the host bid or offer for the parent product 802aa have been hit or lifted in step 1004. If the host bid or offer for the parent product 802aa have been hit or lifted, then the system 10 changes the host bid and/or offer prices for the parent product 802aa using the stack manager program 700 in step 1006.
The system 10 then determines if the new host bid and offer prices for the child product 802aa caused by the new host bid and offer prices for the parent product 802aa will cause the spread between the host bid and offer prices for the child product to violate the minimum child bid/offer price spread 802ae in step 1010. If the new host bid and offer prices for the child product 802aa caused by the new host bid and offer prices for the parent product 802aa will cause the spread between the host bid and offer prices for the child product to violate the minimum child bid/offer price spread 802ae, then the system 10 multiplies the parent/child bid/offer price offsets, 802ac and 802ad, respectively, by the parent child bid/offer offset multipliers, 802af and 802ag, respectively, in step 1012. In this manner, the parent/child bid/offer price offsets, 802ac and 802ad, are updated. The system 10 then changes the host bid and/or offer price for the child product 802ab to set the price spread between the host bid and offer prices for the child product equal to the minimum child bid/offer price spread 802ae in step 1014.
If the spread between the host bid and offer price for the child product 802ab will not violate the minimum spread 802ae between the host bid and offer price for the child product, then the system 10 multiplies the parent/child bid/offer price offsets, 802ac and 802ad, respectively, by the parent/child bid/offer offset multipliers, 802af and 802ag, respectively, in step 1016. In this manner, the parent/child bid/offer price offsets, 802ac and 802ad, are updated. The system 10 then changes the price of the host bid or offer for the child product 802ab using the parent/child bid price offset 802ac or the parent/child offer price offset 802ad in step 1018.
Thus, the parent/child programs 800, 900, and 1000 permit the host administrator 30 and the host traders 32 to control the movement of host bid and offer prices for parent and child products. More generally, the teachings of the parent/child programs 800, 900, and 1000 may be utilized to control the host bid and offer prices for parent, child, and grandchild products. More generally still, the teachings of the parent/child programs 800, 900, and 1000 may be utilized to control the host bid and offer prices for any number of generations of products. More generally still, the teachings of the parent/child programs 800, 900, and 1000 may be utilized to control the host and/or user bid and offer prices for any number of generations of products. In an exemplary embodiment, as illustrated in Fig. 11 , when implementing the parent/child programs 800, 900, and/or 1000, the system 10 permits the host administrator 30 and host traders 32 to control the bid and/or offer prices of products having multi generational relationships. For example, the bid and/or offer prices of a grandparent product 1102, parent products, 1104 and 1106, and child products, 1108, 1110, and 1112, may be controlled using the parent/child programs 800, 900, and/or 1000. As illustrated in Fig. 11 , the child product B 1110 has a parent/child relationship with parent product A 1104 and parent product B 1108. Thus, the system 10 permits parent/child product relationships that are both multi generational and pluralistic.
In an exemplary embodiment, as illustrated in Figs. 12a-12d, in step 206ub, the host administrator 30 or the host traders 32 may implement a mid- market price strategy program 1200 in which the movement of the per unit prices for host bids and offers for products posted by the host administrator 30 and the host traders 32 for trading products may be controlled.
In step 1202, the host administrator 30 or the host traders 32 may enter the operating parameters 1202a for the mid-market price strategy program 1200. In an exemplary embodiment, the operating parameters 1202a for the mid-market price strategy program 1200 include the identity 1202aa of the product, and a scaling factor 1202ab. The identity 1202aa of the product identifies the product 48 for which host bid prices and offer prices will be controlled by the mid-market price strategy program 1200, and the scaling factor 1202ab provides a scaling factor for adjusting the degree to which the host bid and offer prices for the product will be adjusted. In step 1204, the system 10 determines if the host bid or the host offer for the product have been hit or lifted. If the host bid or offer for the product have been hit or lifted, then the system 10 locks the host bid and offer for the product in step 1206. Once the host bid and offer are locked, they cannot be modified by the host administrator 30 or the host traders 32 until the end of the mid-market price strategy program 1200. If the host bid and offer for the product are successfully locked, then the system 10 calculate a price change PRICECHANGE1 using the following equation in step 1210:
PRICECHANGE1 = (HOST OFFER PRICE - HOST BID PRICE)/2 If the host bid and offer for the product are not successfully locked, then the system 10 sends a warning message to the host administrator 30 or host traders 32 in step 1212.
In step 1214, the system 10 determines if changes in the host bid and offer prices are volume sensitive. In an exemplary embodiment, changes in the host bid and offer prices are volume sensitive if the host bid hit volume or the host offer lift volume are less than a predetermined sensitivity value or less than a predetermined sensitivity percentage of the volumes of the host bid and offer. In an exemplary embodiment, the host administrator 30 or host traders 32 may adjust the sensitivity values at any point during the attempted execution of a trade by the system 10.
If changes in the host bid and offer prices are volume sensitive, then the system calculates a price change PRICECHANGE2 using the following equation in step 1216: PRICECHANGE2 = PRICECHANGE1 OLUME OF TRADE*SCALING FACTOR where Volume Of Trade is equal to the volume of the user hit request or the user lift request created by hitting or lifting the host bid or offer.
The system 10 then determines if the host bid was hit or the host offer was lifted in step 1218. If the host bid was hit, then the system 10 reduces the host bid and offer prices for the product by an amount equal to PR1CECHANGE2 in step 1220. Alternatively, if the host offer was lifted, then the system 10 increases the host bid and offer prices for the product by an amount equal to PRICECHANGE2 in step 1222.
If changes in the host bid and offer prices are not volume sensitive, then the system 10 determines if the host bid was hit or the host offer was lifted in step 1224. If the host bid was hit, then the system 10 reduces the host bid and offer prices for the product by an amount equal to PRICECHANGE1 in step 1226. Alternatively, if the host offer was lifted, then the system 10 increases the host bid and offer prices for the product by an amount equal to PRICECHANGE1 in step 1228.
Thus, the mid-market price strategy program 1200 provides a method of controlling the movement of prices of host bids and offers. More generally, the teachings of the mid-market strategy program 1200 may be utilized to control the prices of user bids and offers for products.
In an exemplary embodiment, as illustrated in Figs. 13a-13d, in step 206uc, the host administrator 30 or the host traders 32 may implement a lean-on price strategy program 1300 in which the movement of the per unit prices for host bids and offers for products posted by the host administrator and the host traders for trading products in the system may be controlled.
In step 1302, the host administrator 30 or the host traders 32 may enter the operating parameters 1302a for the lean-on strategy program 1300 into the system 10. In an exemplary embodiment, the operating parameters 1302a for the lean-on strategy program 1300 include the identity of the product 1302aa, the margin amount 1302ab, and the use volume of user bid indicator 1302ac. In an exemplary embodiment, the identity of the product 1302aa defines which host bid and offer prices will be controlled by the lean-on strategy program 1300, the margin amount 1302ab defines the amount by which the host bid and offer prices will vary from user bid and offer prices posted by the users 18 and master users 24 for the product 1302aa, and the use volume of user bid indicator 1302ac indicates whether or not the host bid should use the volume of the user bid.
In step 1304, the system 10 determines if the users 18 or master users 24 posted a new user bid 1304a for the product 1302aa. If the users 18 or master users 24 posted a new user bid 1304a for the product 1302aa, then the system 10 determines if the price of the new posted user bid 1304a is greater than the price for the original posted host bid 1306a for the product 1302aa plus the margin amount 1302ab in step 1306. If the price of the new posted user bid 1304a is greater than the price of the original posted host bid 1306a for the product 1302aa plus the margin amount 1302ab, then the system 10 determines if the price of the new posted user bid 1304a is greater than the price for all other users bids 1308a in step 1308.
If the price of the new posted user bid 1304a is greater than the price of all other users bids 1308a, then the system 10 stores the original posted host bid
1306a for the product 1302aa in step 1310. The system 10 then calculates a new host bid 1312a for the product 1302aa having a price that is equal to the price of the new user bid 1304a for the product 1302aa minus the margin amount 1302ab in step 1312.
In step 1314, the system 10 determines if the volume of the new host bid 1312a should be equal to the volume of the new user bid 1304a for the product 1302aa by checking the value of the use the volume of user bid indicator 1302ac. If the volume of the new host bid 1312a should be equal to the volume of the new user bid 1304a for the product 1302aa, then the system 10 posts the new host bid 1312a for the product 1302aa into the system with the volume of the new host bid equal to the volume for the new user bid 1304a in step 1316. Alternatively, if the volume of the new host bid 1312a should not be equal to the volume of the new user bid 1304a for the product 1302aa, then the system 10 posts the new host bid for the product into the system with the volume of the new host bid equal to the volume of the original host bid 1306a.
In an exemplary embodiment, as illustrated in Figs. 14a-14c, in step 206uc, the host administrator 30 or the host traders 32 may implement a lean-on price strategy program 1400 in which the movement of the per unit prices for bids and offers for products posted by the host administrator and the host traders may be controlled. In an exemplary embodiment, the lean-on price strategy program 1400 operates in combination with the lean-on price strategy program 1300. In step 1402, the system 10 determines if the users 18 or master users 24 posted a new user bid 1402a for the product 1302aa by, for example, changing an existing user bid for the product. If the users 18 or master users 24 posted a new user bid 1402a for the product 1302aa, then the system 10 determines if the price of the new posted user bid 1402a is greater than the price of the original posted host bid 1404a plus the margin amount 1302ab in step 1404.
If the price of the new posted user bid 1402a is greater than the price of the original posted host bid 1404a plus the margin amount 1302ab, then the system 10 determines if the price of the new posted user bid 1402a is greater than the bid price of all other user bids 1406a posted by the users 18 or master users 24 in step 1406. Alternatively, if the price of the new posted user bid 1402a is less than or equal to the price of the original posted host bid 1404a price plus the margin amount 1302ab, the system 10 posts the original host bid 1404a for trading in step 1408. If the price of the new posted user bid 1402a is greater than the price for all other user bids 1406a posted by the users 18 or master users 24, then the system 10 stores the original host bid 1404a in step 1410. Alternatively, if the price of the new posted user bid 1402a is less than or equal to the price for all other user bids 1406a posted by the users 18 or master users 24, then the system 10 calculates and posts a new host bid 1412a having a price equal to the highest price of all of the user bids 1412b minus the margin amount for trading in step 1412.
After storing the original host bid 1404a in step 1410, the system 10 calculates a new host bid 1414a for the product 1302aa having a price equal to the price of the new posted user bid 1402a minus the margin amount 1302ab in step 1414. The system 10 then determines if the volume of the new host bid 1414a should be equal to the volume of the new posted user bid 1402a in step 1416. If the volume of the new host bid 1414a should be equal to the volume of the new posted user bid 1402a for the product 1302aa, then the system 10 posts the new host bid for the product into the system for trading using the volume for the new user bid 1402a in step 1418. Alternatively, if the volume of the new host bid 1414a should not be equal to the volume of the new posted user bid 1402a for the product 1302aa, then the system 10 posts the new host bid for the product 1302aa into the system for trading using the volume for the original posted host bid 1408a in step 1420.
In an exemplary embodiment, as illustrated in Figs. 15a-15c, in step 206uc, the host administrator 30 or the host traders 32 may implement a lean-on price strategy program 1500 in which the movement of the per unit prices for bids and offers for products posted by the host administrator and the host traders may be controlled. In an exemplary embodiment, the lean-on price strategy program 1500 operates in combination with the lean-on price strategy program 1300 and/or the lean-on strategy program 1400.
In step 1502, the system 10 determines if the users 18 or master users 24 canceled or placed an existing posted user bid 1502a for the product 1302aa on hold. If the users 18 or master users 24 canceled or placed a existing posted user bid 1502a for the product 1302aa on hold, then the system 10 locks the existing current host bid 1504a for the product 1302aa in step 1504. The system 10 then checks to see if the existing current host bid 1504a for the product 1302aa was locked in step 1506.
If the existing current host bid 1504a for the product 1302aa was locked, then the system 10 determines if the price of the existing current posted host bid 1504a is greater than the price of the original posted host bid 1508a for the product 1302aa in step 1508.
If the price of the existing current posted host bid 1504a is greater than the price of the original posted host bid 1508a for the product 1302aa, the system 10 determines if the price of the canceled or held existing posted user bid 1502a for the product 1302aa is greater than the prices of all other existing user bids 1510a for the product posted by the users 18 or master users 24 in step 1510. If the price of the canceled or held existing posted user bid 1502a for the product 1302aa is greater than the prices of all other existing user bids 1510a for the product posted by the users 18 or master users 24, the system 10 determines if the prices of any of the other existing posted user bids 1510a for the product 1302aa are greater than the price of the original posted host bid 1508a plus the margin amount 1302ab in step 1512.
If the prices of any of the other existing posted user bids 1510a for the product 1302aa are greater than the price of the original posted host bid 1508a plus the margin amount 1302ab, then the system 10 generates a new host bid 1514a having a price equal to highest price of the other existing posted user bids 1510a minus the margin amount 1302ab in step 1514. Alternatively, If the prices of any of the other existing posted user bids 1510a for the product 1302aa are less than or equal to the price of the original posted host bid 1508a plus the margin amount 1302ab, then the system 10 posts the original host bid 1508a for trading in step 1516.
The system 10 then determines if the volume of the new host bid 1514a should be equal to the volume of the existing posted user bid 1502a in step 1518. If the volume of the new host bid 1514a should be equal to the volume of the existing posted user bid 1502a for the product 1302aa, then the system 10 posts the new host bid 1514a for the product 1302aa into the system for trading using the volume for the existing user bid 1502a in step 1520. Alternatively, if the volume of the new host bid 1514a should not be equal to the volume of the existing posted user bid 1502a for the product 1302aa, then the system 10 posts the new host bid 1514a for the product 1302aa into the system using the volume for the original posted host bid 1508a in step 1522.
If the price of the existing current posted host bid 1504a is less than or equal to the price of the original posted host bid 1508a for the product 1302aa in step 1508, or if the price of the canceled or held existing posted user bid 1502a for the product is less than or equal to the prices of all other existing user bids 1510a for the product posted by the users 18 or master users 24 in step 1510, then the system 10 unlocks the current existing host bid 1504a in step 1524. In an exemplary embodiment, as illustrated in Figs. 16a-16c, in step 206uc, the host administrator 30 or the host traders 32 may implement a lean-on price strategy program 1600 in which the movement of the per unit prices for host bids and offers for products posted by the host administrator and the host traders for trading products in the system 10 may be controlled. In an exemplary embodiment, the lean-on price strategy program 1600 operates in combination with the lean-on price strategy program 1300 and/or the lean-on strategy program 1400 and/or the lean-on strategy program 1500.
In step 1602, the system 10 determines if the host administrator 30 or host traders 32 hit a current posted user bid 1602a for the product 1302aa. If the host administrator 30 or host traders 32 hit a current posted user bid 1602a for the product 1302aa, then the system 10 determines if the price of the current host bid 1604a is greater than the price of the original host bid 1604b for the product 1302aa in step 1604.
If the price of the current host bid 1604a is greater than the price of the original host bid 1604b for the product 1302aa, then the system 10 determines if the price of the hit current posted user bid 1602a for the product 1302aa is greater than the prices of all other user bids 1606a for the product in step 1606. If the price of the hit current posted user bid 1602a for the product 1302aa is greater than the prices of all other user bids 1606a for the product, then the system determines if the price of any of the other posted user bids 1606a for the product are greater than the price of the current posted host bid 1604a plus the margin amount 1302ab in step 1608. If the price of any of the other posted user bids 1606a for the product 1302aa are greater than the price of the current posted host bid 1604a plus the margin amount 1302ab, then the system 10 locks the current host bid and offer, 1604a and 1610a, for the product in step 1610. Alternatively, if the prices of the other posted user bids 1606a for the product 1302aa are all less than or equal to the price of the current posted host bid 1604a plus the margin amount 1302ab, then the system 10 posts the original host bid 1604b for trading in step 1612. After locking the current host bid and offer, 1604a and 1610a, for the product 1302aa, the system 10 then checks to see if the current host bid and offer were actually locked in step 1614. If the current host bid and offer were actually locked, then the system 10 calculates a new host bid 1616a for the product 1302aa having a price that is equal to the highest price of the other posted user bids 1606a minus the margin amount in step 1616. Alternatively, If the current host bid and offer were not actually locked, then the system 10 posts a warning in step 1618.
After calculating the new host bid 1616a for the product 1302aa, the system 10 then determines if the volume of the new host bid 1616a should be equal to the volume of the current posted user bid 1602a in step 1620. If the volume of the new host bid 1616a should be equal to the volume of the current posted user bid 1602a for the product 1302aa, then the system 10 posts the new host bid for the product into the system for trading using the volume for the current posted user bid 1602a in step 1622. Alternatively, if the volume of the new host bid 1616a should not be equal to the volume of the current posted user bid 1602a for the product 1302aa, then the system 10 posts the new host bid for the product into the system for trading using the volume for the original posted host bid 1604b in step 1624.
In an exemplary embodiment, as illustrated in Figs. 17a-17d, in step 206uc, the host administrator 30 or the host traders 32 may implement a lean-on price strategy program 1700 in which the movement of the per unit prices for host bids and offers for products posted by the host administrator and the host traders for trading products in the system 10 may be controlled. In an exemplary embodiment, the lean-on price strategy program 1700 operates in combination with the lean-on price strategy program 1300 and/or the lean-on strategy program 1400 and/or the lean-on strategy program 1500 and/or the lean-on strategy program 1600.
In step 1702, the system 10 determines if the users 18 or master users 24 hit a current posted host bid 1702a for the product 1302aa. If the users 18 or master users 24 hit a current posted host bid 1702a for the product 1302aa, then the system 10 determines if the price of the hit current host bid is greater than the price of the original host bid 1704a for the product in step 1704.
If the price of the hit current host bid 1702a is greater than the price of the original host bid 1704a for the product 1302aa, then the system 10 determines if the leaned on user bid 1706a for the product should be automatically executed when the host bid 1702a was hit in step 1706. The leaned on user bid 1706a is the user bid whose price is being leaned on to define the price for the host bid 1702a. The host administrator 30 or host users 32 may select the automatic execution functionality. If the leaned on user bid 1706a for the product should be automatically executed when the host bid 1702a was hit, then the system 10 will hit the leaned on user bid 1706a with the volume of the hit equal to the volume of the host bid 1702a in step 1708.
The system 10 then determines if the price of any of the posted user bids 1710a for the product 1302aa are greater than the price of the current posted host bid 1702a plus the margin amount 1302ab in step 1710. If the price of any of the posted user bids 1710a for the product 1302aa are greater than the price of the current posted host bid 1702a plus the margin amount 1302ab, then the system 10 calculates a new host bid 1712a for the product 1302aa having a price that is equal to the highest price of the posted user bids 1710a minus the margin amount in step 1712. Alternatively, if the price of any of the posted user bids 1710a for the product 1302aa are less than or equal to the price of the posted current host bid 1702a plus the margin amount 1302ab, then the system 10 posts the original host bid 1704a for the product for trading in the system in step 1714. The system 10 then determines if the volume of the new host bid 1712a should be equal to the volume of the current posted user bid 1710a having the highest price in step 1716. If the volume of the new host bid 1712a should be equal to the volume of the current posted user bid 1710a having the highest price for the product 1302aa, then the system 10 posts the new host bid for the product into the system 10 for trading using the volume for the current posted user bid having the highest price in step 1718. Alternatively, if the volume of the new host bid 1712a should not be equal to the volume of the current posted user bid 1710a for the product 1302aa, then the system 10 posts the new host bid for the product into the system 10 for trading with the volume of the new host bid equal to the volume for the original posted host bid 1704a in step 1720.
In an exemplary embodiment, as illustrated in Figs. 18a-18b, in step 206uc, the host administrator 30 or the host traders 32 may implement a lean-on price strategy program 1800 in which the movement of the per unit prices for host bids and offers for products posted by the host administrator and the host traders for trading products in the system 10 may be controlled. In an exemplary embodiment, the lean-on price strategy program 1800 operates in combination with the lean-on price strategy program 1300 and/or the lean-on strategy program 1400 and/or the lean-on strategy program 1500 and/or the lean-on strategy program 1600 and/or the lean-on strategy program 1700.
In step 1802, the system 10 determines if the host administrator 30 or host traders 32 posted a new host bid 1802a for the product 1302aa. If the host administrator 30 or host traders 32 posted a new host bid 1802a for the product 1302aa, then the system 10 determines if the price of the new posted host bid 1802a is greater than or equal to the price of a new host bid 1804a generated using any one of the lean on price strategy programs, 1300, 1400, 1500, 1600, or 1700.
If the price of the new posted host bid 1802a is greater than or equal to the price of a new host bid 1804a generated using any one of the lean on price strategy programs, 1300, 1400, 1500, 1600, or 1700, then the system 10 posts the new host bid 1802a to the system 10 for trading products in step 1806. Alternatively, if the price of the new host bid 1802a is less than the price of a new host bid 1804a generated using any one of the lean on price strategy programs, 1300, 1400, 1500, 1600, or 1700, then the system 10 (a) disables the lean on price strategy programs 1300 and/or 1400 and/or 1500 and/or 1600 and/or 1700 and/or 1800 and/or (b) resets the margin amount 1302ab to a predetermined default value and/or (c) saves the new host bid 1802a as the original host bid 1808a and/or (d) posts the new host bid 1804a generated using any one of the lean on price strategy programs, 1300, 1400, 1500, 1600 or 1700, to the system 10 for trading products in step 1808.
Thus, the lean on strategy programs 1300, 1400, 1500, 1600, 1700, and 1800 permit the prices of host bids for products to be controlled as a function of the prices of user bids for products. More generally, the teachings of the lean on strategy programs 1300, 1400, 1500, 1600, 1700, and 1800 may be utilized to control the prices of host bids and offers for products to be controlled as a function of the prices of user bids and offers for products. More generally, the teachings o the lean on strategy programs 1300, 1400, 1500, 1600, 1700, and 1800 may be utilized to control the prices of host and/or user bids and offers for products to be controlled as a function of the prices of user and/or host bids and offers for products.
In several alternative embodiments, one or more of the lean on strategy programs 1300, 1400, 1500, 1600, 1700, and 1800 may be further programmed to permit the prices of host bids and/or offers on one product to lean on the prices of user and/or host bids and/or offers on another product. Furthermore, in several alternative embodiments, one or more of the lean on strategy programs 1300, 1400, 1500, 1600, 1700, and 1800 may be further programmed to respond differently depending upon the source of the user bids and/or offers. Examples of different sources of user bids and/or orders include user bids/offers generated by the host administrator 30 or host traders 32.
In an exemplary embodiment, as illustrated in Figs. 19a-19d, in step 206v, the host administrator 30 or the host traders 32 may implement a one cancels others (OCO) price strategy program 1900 in which the movement of the per unit prices for host bids and offers for products posted by the host administrator and the host traders for trading products in the system 10 may be controlled.
In step 1902, the host administrator 30 or the host traders 32 may enter the operating parameters 1902a for the OCO price strategy program 1900 into the system 10. In an exemplary embodiment, the operating parameters 1902a for the OCO price strategy program 1900 include the identity of the members of one or more OCO chains. In an exemplary embodiment, as illustrated in Fig. 19a, the operating parameters 1902a may include a first OCO chain 1902aa and a second OCO chain 1902ab. Each OCO chain, 1902aa and 1902ab, may include one or more host bids and/or host offers posted by the host administrator 30 or host traders 32 for trading products in the system 10 that are operably coupled to one or more corresponding OCO chains. In an exemplary embodiment, the first OCO chain 1902aa includes host bid 1 , host bid 2, host bid 3, and host offer 1 , and the second OCO chain 1902ab includes host bid 2, host bid 4, host bid 5, and host offer 2. Note that host bid 2 is operably coupled to both the first and the second OCO chain, 1902aa and 1902ab, respectively.
In step 1904, the system 10 determines if any of the host offers or host bids posted by the host administrator 30 or the host traders 32 were hit or lifted. If the system 10 determines that one of the host offers or host bids posted by the host administrator 30 or host traders have been hit or lifted, then the system determines if the hit or lifted host bid or offer is part of one or more OCO chains in step 1906. If the hit or lifted host bid or offer is part of one or more OCO chains, then the system 10 retrieves and locks all of the posted bids and/or offers that are a part of the corresponding OCO chains in steps 1908 and 1910.
In step 1912, the system 10 determines if all of the posted bids and/or offers that are part of the corresponding OCO chains are locked. If all of the posted bids and/or offers that are part of the corresponding OCO chains are locked, then the system 10 reduces the volume of all of the posted bids and/or offers in the corresponding OCO chains by the volume that was hit or lifted in step 1914. Alternatively, if all of the posted bids and/or offers that are part of the corresponding OCO chains are not locked, then the system 10 determines if the system has attempted to lock all of the posted bids and/or offers that are part of the corresponding OCO chains a predetermined n number of times in step 1916. If the system 10 determines that the system has attempted to lock all of the posted bids and/or offers that are part of the corresponding OCO chains a predetermined n number of times, then the system proceeds to step 1904. Alternatively, if the system 10 determines that the system has not attempted to lock all of the posted bids and/or offers that are part of the corresponding OCO chains a predetermined n number of times, then the system proceeds to step 1910.
After reducing the volume of all of the posted bids and/or offers in the corresponding OCO chains by the volume that was hit or lifted in step 1914, the system 10 then executes the stack manager program 700 for all members of the corresponding OCO chains, as applicable, in step 1918. In particular, when the volume of all of the posted bids and/or offers in the corresponding OCO chains are reduced by the volume that was hit or lifted in step 1914, the reductions in volume may be treated by stack manager program 700 as a hit or lift of the corresponding host bid or offer. As a result, the stack manager program 700 may be implemented as a result of a volume change to a host bid or offer caused by the OCO program in step 1914.
The system 10 then determines if the volume of any of the posted bids and/or offers in the corresponding OCO chains now have volumes less than or equal to zero in step 1920. If the volume of the any of the posted bids and/or offers in the corresponding OCO chains now have volumes that are less than or equal to zero, the system 10 places the corresponding bid and/or offer postings on hold in step 1922. Thus, the OCO price strategy program 1900 permits the host administrator
30 and host traders 32 to control movements in the volume of a plurality of posted host bids and/or offers during operation of the system 10. More generally, the teachings of the OCO price strategy program 1900 may be utilized to control movements in the volume of a plurality of posted host and/or bids and/or offers during operation of the system 10.
In an exemplary embodiment, as illustrated in Figs. 19e, 19f, and 19g, in step 206v, the host administrator 30 or the host traders 32 may also implement a parent/child program 19100 in which the movement of the per unit prices for host bids and offers for the parent product 800a and the child product 800b within the market for trading products 46 that may be part of the same OCO chain may be further controlled. In an exemplary embodiment, the parent/child program 19100 operates in combination with the parent/child program 800, and/or the parent child program 900, and/or the parent/child program 1000 and/or the OCO price strategy program 1900. In step 19102, the system 10 determines if the host bid or offer for the child product 802ab was hit or lifted. If the host bid or offer for the child product was hit or lifted, then the system 10 determines if the host bid and offer prices for the parent product 802aa and the child product 802ab are also being controlled by the stack manager program 700 in step 19104. If the host bid and offer prices for the parent product 802aa and the child product 802ab are also being controlled by the stack manager program 700, the system 10 then determines if the parent product and the child product are part of the same OCO chain in step 19106. If the parent product 802aa and the child product 802ab are part of the same OCO chain, then the system 10 determines if shift markets was selected in the stack manager program 700 in step 19108. If the parent product 802aa and the child product 802ab are not part of the same OCO chain, then the system 10 executes the stack manager program 700 for the host bid and offer prices for the child product 802ab in step 19110.
If shift markets was selected in the stack manager program 700, then the system 10 changes the host bid and offer prices for the child product 802ab using the stack manager program 700 in step 19112. If shift markets was not selected in the stack manager program 700, then the system 10 changes the host bid or offer price for the child product 802ab using the stack manager program 700 in step 19114.
After completing steps 19112 or 19114, the system 10 then, as required, adjusts the host bids and offers for the parent product 802aa and any other children products caused by the operation of the stack manager program 700 on the child product 802ab in step 19116.
The system 10 then determines if the host bid or offer for the parent product 802aa has changed due to the operation of the stack manager program 700 in step 19118.
If the host bid or offer for the parent product 802aa has changed due to the operation of the stack manager program 700, then the system 10 attempts to change the host bid and/or offer price for the child product 802ab using one or more of the price change programs, 700, 800, 900, 1000, 1200, 1300, 1400, 1500, 1600, 1700, and/or 1800 in step 19120. The system 10 then determines if the difference between the new host bid and offer prices for the child product 802ab generated in step 19120 are the most conservative in step 19122. In an exemplary embodiment, the most conservative host bid for the child product 802ab is the host bid having the lowest price in the marketplace 46 for the product, and the most conservative host offer for the child product is the host offer having the highest price in the marketplace for the product.
If the new host bid and offer prices for the child product 802ab generated in step 19120 are the most conservative, then the system 10 multiplies the parent/child bid/offer price offsets, 802ac and 802ad, respectively, by the parent/child bid/offer offset multipliers, 802af and 802ag, respectively, in step 19124. In this manner, the parent/child bid/offer price offsets, 802ac and 802ad, are updated. The system 10 then changes the host bid and/or offer prices using the parent/child bid/offer offsets, 802ac and 802ad, in step 19126. Alternatively, if the new bid and offer price for the child product 802ab generated in step 19 20 are not the most conservative, then the system 10 does not change the new host bid and/or offer prices for the child product 802ab in step 19128.
Thus, the parent/child program 19100 permits the host administrator 30 and the host traders 32 to control the movement of host bid and offer prices for parent and child products that may be part of the same OCO chain. More generally, the teachings of the parent/child program 19100 may be utilized to control the host bid and offer prices for parent, child, and grandchild products. More generally still, the teachings of the parent/child program 19100 may be utilized to control the host bid and offer prices for any number of generations of products. More generally still, the teachings of the parent/child program 19100 may be utilized to control the host and/or user bid and offer prices for any number of generations of products.
In an exemplary embodiment, as illustrated in Fig. 20, after selecting bid/offer evaluation for host in step 208, the host administrator 30 and the host traders 32 may then select arbitrage in step 208a.
In an exemplary embodiment, as illustrated in Figs. 21a-21d, in step 208a, the host administrator 30 and the host traders 32 may implement an arbitrage trading program 2100 in which, in step 2102, the host administrator and the traders may enter the operating parameters 2102a for the arbitrage trading program. In an exemplary embodiment, the operating parameters 2102a include the identity 2102aa of the product to be traded using the arbitrage program 2100, and the minimum price spread 2102ab for determining when a trade will occur using the arbitrage program 2100. In step 2104, the system 10 determines whether the users 18 or master users 24 have posted a new user offer 2104a or a new user bid 2104b for the product 2102aa. If the users 18 or master users 24 have posted a new user offer 2104a or a new user bid 2104b for the product 2102aa, then the system determines if: (a) the price of the new posted user offer is less than the price of an existing posted user bid 2106a for the product; or (b) the price of the new posted user bid is greater than an existing posted user offer 2106b for the product in step 2106. In step 2108, the system 10 determines if the price spread, 2108a or 2108b, between: (a) the price of the new posted user offer 2104a and the price of the existing posted user bid 2106a or (b) the price of the new posted user bid 2104b and the existing posted user offer 2106b, respectively, is greater than or equal to the minimum price spread 2102ab. If the price spread, 2108a or 2108b, between: (a) the price of the new posted user offer 2104a and the price of the existing posted user bid 2106a or (b) the price of the new posted user bid 2104b and the existing posted user offer 2106b, respectively, is greater than or equal to the minimum price spread 2102ab, then the system 10 executes: (a) the new posted user offer and the existing posted user bid or (b) the new posted user bid and the existing posted user offer, respectively, in step 2110.
Thus, the arbitrage program 2100 permits the host administrator 30 and host traders 32 to generate additional profits when user bids exceed user offers for a product within the marketplace 46. More generally, the teachings of the arbitrage program 2100 may be utilized to permit the users 18 and master users 24 to generate additional profits when host bids exceed host offers for a product within the marketplace 46. Furthermore, the arbitrage program 2100 can be programmed by the host administrator 30 or host traders 32 to execute for bids on one product and offers on another product.
In an exemplary embodiment, as illustrated in Fig. 22, after selecting deal execution for host in step 210, the host administrator 30 and the host traders 32 may then select order matching engine in step 210a, order execution engine in step 210b, multiple order execution in step 210c, sweep order execution in step 21 Od, counterparty deal push in step 21 Oe, or update net position in step 21 Of.
As illustrated in Fig. 23, in an exemplary embodiment, during operation of the system 10, bids 2302 and offers 2304 are received and processed by the order matching engine 210a to selectively generate matched bids and offers 2306. In an exemplary embodiment, the matched bids and offers 2306, hit bids 2308, and/or lifted offers 2310 are then processed by the order execution engine 210b to selectively generate executed trades 2312 within the system 10. In an exemplary embodiment, hit bids 2308 generate hit requests and lifted offers 2310 generate lift requests for processing by the order execution engine 210b.
The operation of the order matching engine 210a may be automatic or may be selected for operation by the host administrator 30 and the host traders 32 in step 210. Likewise, the operation of the order execution engine 210b may be automatic or may be selected for operation by the host administrator 30 and the host traders 32 in step 210b.
In an exemplary embodiment, as illustrated in Figs. 24a-24f, in step 210a, the system 10 may implement an order matching engine program 2400 for operating the order matching engine 210a in which, in step 2402, the host administrator 30 or the host traders 32 may enter the operating parameters 2402a for the program. In an exemplary embodiment, the operating parameters may include a predefined margin 2402aa. In an exemplary embodiment, the predefined price margin 2402aa defines a threshold price differential below which a bid and offer will not be matched up. In step 2404, the system 10 determines if the users 18 or master users 24 posted a user bid to buy or a user offer to sell a product in the system. If the users 18 or master users 24 posted a user bid to buy or a user offer to sell a product in the system 10, then the system determines if the host administrator 30 or the host traders 32 posted a host offer to sell or a host bid to buy the corresponding product in step 2406.
If the host administrator 30 or the host traders 32 posted a host offer to sell or a host bid to buy the corresponding product in step 2406, then the system 10 determines if the price of the posted user bid is greater than or equal to the price of the posted host offer or if the price of the user offer is less than or equal to the price of the posted host bid, respectively, in step 2408. If the price of the posted user bid is greater than or equal to the price of the posted host offer or if the price of the posted user offer is less than or equal to the price of the posted host bid, then the system 10 determines if the posted user bid or the posted user offer, respectively, was all or nothing in step 2410. If the user bid or the user offer was all or nothing, then the system 10 determines if the volume of the posted host offer or posted host bid is greater than or equal to the volume of the posted user bid or posted user offer, respectively, in step 2412. Alternatively, if the posted user bid or the posted user offer was not all or nothing, then the system 10 sends an execute request to the order execution engine 210b that includes a matched posted user bid and posted host offer or a matched posted user offer and posted host bid for which the price of the trade is equal to the price of the posted user bid or offer and the volume of the trade is equal to the lesser of the volume of the posted user bid or offer or the volume of the posted host offer or bid in step 2414. In this manner, a trade for the product may then be executed by the order execution engine 210b.
If the volume of the posted host offer or posted host bid is greater than the volume of the posted user bid or posted user offer, respectively, then the system 10 sends an execute request to the order execution engine 210b that includes a matched posted user bid and posted host offer or a matched posted user offer and posted host bid for which the price of the trade is equal to the price of the posted user bid or offer and the volume of the trade is equal to the volume of the posted user bid or offer in step 2416. In this manner, a trade for the product may then be executed by the order execution engine 210b.
If the host administrator 30 or the host traders 32 have not posted a host offer to sell or a host bid to buy the product, or if the price of the posted user bid is less than the price of the posted host offer, or if the price of the posted user offer is greater than the price of the posted host bid, respectively, or if the volume of the posted host offer or posted host bid is less than the volume of the posted user bid or posted user offer, respectively, then the system 10 determines if there is a counterparty offer to sell or a counterparty bid to buy the product posted by a counterparty 2418a in step 2418. If there is a counterparty offer to sell or a counterparty bid to buy the product posted by a counterparty 2418a, then the system 10 determines if the difference between the price of the posted user bid or offer and the price of the posted counterparty offer or bid, respectively, is greater than or equal to the predefined price margin 2402aa in step 2420. Alternatively, if there is not a counterparty offer to sell or a counterparty bid to buy the product posted by a counterparty 2418a, then the user bid or offer is posted for trading in the system 10 in step 2422.
If the difference between the price of the posted user bid or offer and the price of the posted counterparty offer or bid, respectively, is greater than or equal to the predefined price margin 2402aa, then the system 10 determines if the posted user bid or offer is all or nothing in step 2424. Alternatively, if the difference between the price of the posted user bid or offer and the price of the posted counterparty offer or bid, respectively, is less than the predefined price margin 2402aa, then the user bid or offer is posted for trading in the system 10 in step 2426.
If the user bid or offer is all or nothing, then the system 10 determines if the volume of the posted counterparty offer or bid is greater than or equal to the volume of the posted user bid or offer, respectively, in step 2428. Alternatively, if the posted user bid or offer is not all or nothing, then the system 10 sends an execute request to the order execution engine 210b that includes a matched posted user bid and posted counterparty offer or a matched posted user offer and posted counterparty bid for which the price of the trade is equal to the price of the posted user bid or offer and the volume of the trade is equal to the lesser of the volume of the posted user bid or offer or the posted counterparty offer or bid, respectively, in step 2430. In this manner, a trade for the product may then be executed by the order execution engine 210b.
If the volume of the posted counterparty offer or bid is greater than or equal to the volume of the posted user bid or offer, respectively, then the system 10 sends an execute request to the order execution engine 210b that includes a matched posted user bid and posted counterparty offer or a matched posted user offer and posted counterparty bid for which the price of the trade is equal to the price of the posted user bid or offer and the volume of the trade is equal to the volume of the posted user bid or offer in step 2432. In this manner, a trade for the product may then be executed by the order execution engine 210b. Alternatively, if the volume of the posted counterparty offer or bid is less than the volume of the posted user bid or offer, respectively, then the user bid or offer is posted for trading in the system 10 in step 2434. In an exemplary embodiment, as illustrated in Figs. 25a-25d, in step 210b, the system 10 may implement an order execution engine program 2500 for controlling the operation of the order execution engine 210b in which, in steps 2502a, 2502b, and 2502c, the system 10 determines if the users18 or master users 24 hit or lifted posted host bids or offers, respectively, if the host administrator 30 or host traders 32 hit or lifted posted user bids or offers, respectively, or if the order matching engine 210a submitted an execution request as described in steps 2414, 2416, 2430, or 2432 above. If the users18 or master users 24 hit or lifted posted host bids or offers, respectively, or if the host administrator 30 or host traders 32 hit or lifted posted user bids or offers, respectively, or if the order matching engine 210a submitted an execution request, then the system 10 determines if the corresponding product is active in step 2504.
If the corresponding product is active, then the system 10 determines if the trading day for the corresponding product is still open in step 2506. If the trading day for the corresponding product is still open, then the system 10 determines if the user that is a party to the trade is credit worthy in step 2508. If the user that is a party to the trade is credit worthy, then the system 10 determines if the corresponding product is on hold in step 2510. If the corresponding product is not on hold, then the system 10 determines if the trade was initiated by a request to execute from the order matching engine 210a or by the host administrator 30 or host traders 32 hitting or lifting a user bid or offer in step 2512.
If the trade was not initiated by a request to execute from the order matching engine 210a or by the host administrator 30 or host traders 32 hitting or lifting a user bid or offer, respectively, then the system 10 determines if the price of the posted host bid is greater than or equal to the price of the user hit request or if the price of the posted host offer is less than the price of the user lift request in step 2514. In an exemplary embodiment, the price and volume of a hit request may, or may not, be equal to the price and volume of the corresponding bid. Likewise, in an exemplary embodiment, the price and volume of a lift request may, or may not, be equal to the price and volume of the corresponding offer.
If the price of the posted host bid is greater than or equal to the price of the user hit request or if the price of the posted host offer is less than or equal to the price of the user lift request, then the system 10 determines if the user hit request or user lift request is all or nothing in step 2516. If the user hit request or the user lift request is all or nothing, then the system 10 determines if the volume of the posted host bid or offer is greater than or equal to the volume of the user hit request or the user lift request, respectively, in step 2518. Alternatively, if the posted user bid or offer is not all or nothing, then the system 10 executes the trade with the price equal to (a) the lowest of the posted host bid or the user hit request, or (b) the higher of the posted host offer or the user lift request, and the volume equal to the lesser of the volume of (c) the posted host bid or the user hit request, or (d) the posted host offer or the user lift request, respectively, in step 2520.
If the volume of the posted host bid or offer is greater than the volume of the user hit or lift request, respectively, then the system 10 executes the trade with the price equal to (a) the lowest of the posted host bid or user hit request, or (b) the higher of the posted host offer or the user lift request, and the volume equal to the volume of the user hit or lift request in step 2522.
If the trade was initiated by a request to execute from the order matching engine 210a, or by the host administrator 30 or host traders 32 hitting or lifting posted user bids or offers, then the system 10 executes the trade using (1) the price and volume defined by the order matching engine 210a, or (2) the price of the user bid or offer and the volume equal to (a) the volume generated by the order matching engine, or (b) the volume of the user bid or offer in step 2524.
In steps 2526, 2528, and 2530, the system publishes the execution of the trade to a printer, publishes the execution of the trade to the corresponding downstream system, and transmits a confirmation of the execution of the trade to the corresponding user, respectively. In step 2532, the corresponding user receives the confirmation of the execution of the trade, and, in step 2534, the corresponding user acknowledges the confirmation. The system 10 also updates the host net position in step 2536 and pushes the executed trade to throughout the system 10 in step 2538.
If the corresponding product is not active, or if the trading day for the corresponding product is not open, or if the user that is a party to the trade is not credit worthy, or if the corresponding product is on hold, or if the price of the host bid is less than the price of the user offer or if the price of the host offer is greater than the price of the user bid, or if the volume of the host bid or offer is not greater than the volume of the user bid or offer, respectively, then the system 10 sends a trade execution rejected message to the corresponding user in step 2540. The corresponding user may then receive the trade execution rejected confirmation in step 2542, and, in step 2544, the corresponding user may acknowledge receipt of the trade execution rejected confirmation.
In an exemplary embodiment, in step 210c, the host administrator 30 or the host traders 32 may execute multiple orders by selecting a plurality of trades for simultaneous execution using the order matching engine 210a and/or the order execution engine 210c.
In an exemplary embodiment, in step 21 Od, the host administrator 30 or the host traders 32 may sweep multiple orders by selecting a plurality of trades for sweep execution using the order matching engine 210a and/or the order execution engine 210c.
In an exemplary embodiment, in step 21 Oe, the host administrator 30 or the host traders 32 may implement a counterparty deal push. In an exemplary embodiment, a counterparty deal push is automatically executed during operation of the order execution engine 210b. In an exemplary embodiment, in step 21 Of, the host administrator 30 or the host traders 32 may update the net position for the host administrator 30 or the host traders 32.
!n an exemplary embodiment, during operation of the system 10, as illustrated in Figs. 26a-26c, the system 10 implements a trading records management program 2600 in which the system 10 determines if a posted bid or offer have been matched by the order matching engine 210a in step 2602a or if a posted bid or offer have been hit or lifted, respectively, in step 2602b. If a posted bid or offer have been matched by the order matching engine 210a in step 2602a or if a posted bid or offer have been hit or lifted, respectively, then the system 10 determines if the trading day for the corresponding product has expired in step 2604. If the trading day for the corresponding product has not expired, then the system 10 determines if the corresponding product is active in step 2606. Alternatively, if the trading day for the corresponding product has expired, then the system 10 sends a trading failure message to the parties to the attempted trade in step 2608.
If the corresponding product is active, then the system 10 determines if the corresponding product has expired in step 2610. If the corresponding product has not expired, then the system 10 determines if the term for the corresponding product has expired in step 2614. Alternatively, if the corresponding product has expired, then the system 10 sends a trading failure message to the parties to the attempted trade in step 2616. Alternatively, if the corresponding product is not active, then the system 10 sends a trading failure message to the parties to the attempted trade in step 2616.
If the term for the corresponding product has not expired, then the system 10 determines if the company associated with the corresponding user 18 or master user 26 is credit worthy in step 2618. Alternatively, if the term for the corresponding product has expired, then the system 10 sends a trading failure message to the parties to the attempted trade in step 2620.
If the company associated with the corresponding user 18 or master user 26 is credit worthy, then the system 10 locks the posted bid and offer and any other posted bids and offers operably coupled to the posted bid and offer by any OCO chains in step 2622. Alternatively, if the company associated with the corresponding user 18 or master user 26 is not creditworthy, then the system 10 sends a trading failure message to the parties to the attempted trade in step 2624.
The system 10 then determines if the posted bid and offer are locked in step 2626. If the posted bid and offer are locked, then the system 10 executes the trade in step 2628. Alternatively, if the posted bid and offer are not locked, then the system 10 sends a trading failure message to the parties to the attempted trade in step 2630. After completing the execution of the trade, the system 10 unlocks the posted bid and offer and any other posted bids and offers operably coupled to the posted bid and offer by an OCO chain in step 2632. In an exemplary embodiment, as illustrated in Fig. 27, after selecting credit administration for host in step 212, the host administrator 30 and the host traders 32 may then select registering new users in step 212a, maintaining user accounts in step 212b, and intraday credit evaluation in step 212c. In an exemplary embodiment, after selecting registering new users in step 212a, the host administrator 30 and the host traders 32 may select set-up user account in step 212aa in which the parameters associated with the access of users 18 and master users 24 may be created. In an exemplary embodiment, after selecting maintaining user accounts in step 212b, the host administrator 30 and the host traders 32 may select edit user profile in step 212ba and activate/deactivate user credit in step 212bb. In an exemplary embodiment, in step 212ba, the profile that defines the parameters associated with the access of users 18 and master users 24 to the system 10 may be edited by the host administrator 30 and the host traders 32. In an exemplary embodiment, in step 212bb, the credit worthiness for companies associated with the users 18 and master users 24 may, for example, be activated or deactivated (1) globally, (2) on a product-by-product basis, (3) by deal type, (4) by term, or (5) by commodity type, by the host administrator 30 and the host traders 32.
In an exemplary embodiment, after selecting intraday credit evaluation in step 212c, the host administrator 30 and the host traders 32 may select proactive credit evaluation in step 212ca and reactive credit evaluation in step 212cb. In an exemplary embodiment, in step 212ca, the credit worthiness of the companies associated with the users 22 and master users 24 may be proactively evaluated by reviewing a report of consumed credit versus total available credit. In an exemplary embodiment, in step 212cb, the credit worthiness of the users 22 and master users 24 may be reactively evaluated by reviewing credit alerts indicating that a company has, or soon will, consume all of its available credit. In an exemplary embodiment, as illustrated in Fig. 28, after selecting trading floor for users in step 214, the users 18 and master users 24 may then select create trading windows in step 214a, open trading windows in step 214b, change products in trading window in step 214c, delete trading windows in step 214d, arrange trading windows in step 214e, manage views in step 214f, view activity history in step 214g, enter bid/offer for products in step 214i, place bids/offers on hold in step 214j, release bids/offers from hold in step 214k, edit bids/offers in step 2141, cancel bids/offers in step 214m, acknowledge confirmations in step 214n, view deal sheets in step 214o, view product legal description in step 214p, view general terms and conditions for products in step 214q, hit or lift host bids or offers in step 214r, and/or view real time pricing messages in step 214s,. In an exemplary embodiment, after selecting trading floor for users in step 214, the master users 24 may add/edit users in step 214h. In an exemplary embodiment, in steps step 214a, 214b, 214c, 214d, 214e, 214f, and 214g, the users 18 and master users 24 may create trading windows, open trading windows, change products in trading windows, delete trading windows, arrange trading windows, manage views, and view activity history, respectively, substantially as described above with reference to steps 206a, 206b, 206c, 206d, 206e, 206f, and 206g, respectively. In this manner, the users 18 and master users 24 may customize the appearance and operation of the marketplace 46.
In an exemplary embodiment, in step 214h, the master users 24 may add and/or edit users. In an exemplary embodiment, in step 214h, adding and/or editing users permits the master users 24 to define and/or revise the operating parameters for controlling access to the system 10 for corresponding users 18 that are operably coupled to one or more of the master users.
In an exemplary embodiment, in step 214i, the users 18 and master users 24 may post bids and/or offers for products into the system 10 for trading. In an exemplary embodiment, as illustrated in Figs. 29a-29b, users 18 and master users 24 may post bids and/or offers for products into the system 10 for trading, by selecting a product 2902 within a trading window 2904, and then posting a user bid or offer 2906 into the system. In an exemplary embodiment, the user bids and offers 2906 include the product name, the volume, the price, the expiration date of the user bid, and an indication of whether or not the user bid is all or nothing.
In an exemplary embodiment, in step 214j, the users 18 and master users 24 may place user bids and/or user offers posted by the users and master users on hold, and in step 214k, the users 18 and master users 24 may release bids and/or offers from hold that were previously placed on hold by the users and master users. In an exemplary embodiment, as illustrated in Fig. 29c, the users 18 and master users 24 may select a user bid or offer 2908 within a trading window 2910, and then place the bid or offer on hold. In reverse fashion, the same held user bid or user offer 2908 may then be re-selected within the trading window 2910 and unheld by the users 18 and master users 24.
In an exemplary embodiment, in step 2141, the users 18 and master users 24 may edit user bids and/or user offers previously posted by the users and master users.
In an exemplary embodiment, in step 214m, the users 18 and master users 24 may cancel user bids and/or user offers previously posted by the users and master users. In an exemplary embodiment, as illustrated in Fig. 29c, the users 18 and master users 24 may select the user bid or offer 2908 within the trading window 2910, and then cancel the selected user bid or offer.
In an exemplary embodiment, in step 214n, the users 18 and master users 24 may acknowledge confirmations of trade executions and/or confirmations of trade failures.
In an exemplary embodiment, in step 214o, the users 18 and master users 24 may view the deal sheets for trade. In an exemplary embodiment, as illustrated in Fig. 29d, a deal sheet 2912 may include, for example, the name of the product, the date and time of the trade, the buyer name, the seller name, the priority of service, the volume, the location of delivery, the start date of delivery, the end date of delivery, and the price instrument. In an exemplary embodiment, in step 214p, the users 18 and master users
24 may view the legal descriptions for products available for trading in the system 10. In an exemplary embodiment, as illustrated in Fig. 29e, a legal description 2914 for a product may include, for example, the product description, the obligations of the parties, and the price, quantity, delivery point, and term of the product.
In an exemplary embodiment, in step 214q, the users 18 and master users 24 may view the general terms and conditions for products. In an exemplary embodiment, the general terms and conditions for products may include, for example, the base commodity purchase and sales agreement. In an exemplary embodiment, in step 214r, the users 18 and master users
24 may hit or lifted host bids or offers posted for trading by the host administrator 30 or the host traders 32. In an exemplary embodiment, a user hit of a host bid generates a user hit request that includes the product name, the price, the vo ume, an e a or no ng s a us o t e user , an a user o a os o er generates a user lift request that includes the product name, the price, the volume, and the all or nothing status of the user lift. In an exemplary embodiment, the user hit and lift requests are then processed by the order execution engine 21 Ob as described above with respect to Figs. 25a-25d and 26a-26c.
In an exemplary embodiment, in step 214s, the users 18 and master users 24 may select viewing real time pricing messages. In an exemplary embodiment, as illustrated in Figs. 30a-30b, real time pricing messages are provided to the users 18 and master users 24 by a real time messaging system 3000 that includes an production database 3002 that is operably coupled to an application server 3006. The application server 3006 is also coupled to a message server 3008, and a web server 3010. The message server 3008 and the web server 3010 are operably coupled to users, 3012a and 3012b, by corresponding event filters, 3014a and 3014b. The message server 3008 is also coupled to interface services 3016, deal capture systems 3018, and a print server 3020. The interface services 3016 are also coupled to other trading systems 3022, and the print server 3020 is also coupled to printers 3024. One or more trading floors 3026, that may each include one or more of the trading windows 50, are also operably coupled to the web server 3010. In an exemplary embodiment, the production database 3002, the application server 3006, the message server 3008, and the web server 3010 are incorporated into the web host computer 12.
In an exemplary embodiment, the interface services 3016 operably couple the message server 3008 to one or more trading systems 3022 for trading products. In this manner, the system 10 may be operably coupled and transmit information to and receive information from the other trading systems 3022. Furthermore, the users 3012 may also conduct trading operations using the other trading systems 3022. In an exemplary embodiment, the deal capture systems 3018 include systems for gathering information regarding trades of products. In an exemplary embodiment, the deal capture systems 3018 include commercially available deal capture systems such as, for example, Abacus and Right Angle. In an exemplary embodiment, during operation of the messaging system 3000, the system 10 implements a messaging program 30100 in which the application server 3006 pushes system information to the message server 3008 in step 30102 using conventional data pushing methods. In an exemplary embodiment, the information is pushed to the message server 3008 using a Tibco communication bus. In an exemplary embodiment, the system information may include, for example, bids, offers, and any other type of information processed and/or generated by the system 10.
In step 30104, the event filters 3014 detect the presence of the messages pushed to the message server 3008 and determine if the corresponding users 3012 are subscribed to receive the messages. If system information has been pushed to the message server 3008 and the users 3012 are subscribed to receive the messages, then the users 3012 may then extract the pushed system information in step 30106.
One or more of the trading floors 3026 are then updated to reflect the information contained within the messages in step 30108.
In an exemplary embodiment, the messaging system 3000 and the messaging program 30100 are also used to provide real-time messaging information to the host administrator 30 and the host traders 32.
In an exemplary embodiment, as illustrated in Fig. 31 , after selecting bid/offer evaluation for users in step 216, the users 18 and master users 24 may then select view host bids/offers in step 216a, and/or review user bids/offers in step 216b.
In an exemplary embodiment, in step 216a, the users 18 and master users 24 may view host bids and offers by viewing one or more trading windows.
In an exemplary embodiment, as illustrated in Fig. 32, in step 216a, the users 18 and master users 24 may view a trading floor including a 3200 trading window 3202 that includes a plurality of products 3204. Each product 3204 may include a host bid 3206 and a host offer 3208 and one or more user bids 3210 and user offers 3212. In an exemplary embodiment, the host bid and offer, 3206 and 3208, respectively, are positioned in the same row as the product 3204 description, and the user bid and offer, 3210 and 3212, respectively, for the product 3204 are positioned below the host bid and offer. In an exemplary embodiment, user bids 3210 appear in green, and user offers 3212 appear in red. In an exemplary embodiment, the background color for a host or user bid, 3206 or 3210, or a host or user offer, 3208 or 3212, temporarily changes to red if the price has been lowered and temporarily changes to green if the price has been raised. In an exemplary embodiment, information contained in status columns, 3214 and 3216, provide an indication of whether or not the user bid 3210 or user offer 3212 are on hold. In an exemplary embodiment, in step 216b, the users 18 and master users
24 may view user bids and offers by viewing one or more of the trading windows 3202.
In an exemplary embodiment, as illustrated in Fig. 33, after selecting deal execution for users in step 218, the users 18 and master users 24 may select hit/lift host bids/offers in step 218a, view confirmations in step 218b, update activity history in step 218c, or order matching engine in step 218d.
In an exemplary embodiment, in step 218a, users 18 and master users 24 may hit host bids posted by the host administrator 30 or host traders 32 or lift host offers posted by the host administrator 30 or host traders 32. In an exemplary embodiment, when users 18 or master users 24 hit a host bid, the users and master users generate a user hit request to the sell a volume of the corresponding product to the host administrators 30 or traders 32 for the price of the posted host bid. The volume of the user hit request generated by the hit may be less than or equal to the total volume of the host bid. Likewise, when the users 18 and master users 24 lift a host offer, the users and master users create a user lift request to purchase a volume of the corresponding product for the price of the posted host bid price. The volume of the user lift request generated by the lift may be less than or equal to the total volume of the host offer. The user hit and lift requests may then be processed by the order execution engine 210b. In an exemplary embodiment, in step 218b, users 18 and master users 24 may view confirmation of successfully executed trades or failed trade execution. In an exemplary embodiment, in step 218c, as illustrated in Fig. 34, users 18 and master users 24 may view the activity history 3402 for the user or master user that includes, for each trading activity, an indication of: whether the trade was successful or not, whether the order was a buy or a sell; the product description, the volume of the trade, and the per unit price of the trade.
In an exemplary embodiment, in step 218d, users 18 and master users 24 may select manual or automatic operation of the order matching engine 210a. In an exemplary embodiment, as illustrated in Fig. 35, after selecting reports for host and users in step 220, the users 18, master users 24, host administrator 30, and host traders 32 may select list of users report in step 220a, counterparty listing in step 220b, daily transaction report in step 220c, open orders report in step 220d, open orders details in step 220e, activity report 220f, product catalog listing in step 220g, deal sheet in step 220h, view long product descriptions in step 220i, and view general terms and conditions in step 220j.
In an exemplary embodiment, in step 220a, the users 18, master users 24, host administrator 30, and host traders 32 may select a report listing all of the authorized users 18, master users 24, host administrator 30 and/or host traders 32, of the system 10.
In an exemplary embodiment, in step 220b, the users 18, master users 24, host administrator 30, and host traders 32 may select a report listing all of the counterparty users 2418a of the system 10. In an exemplary embodiment, in step 220c, the users 18, master users 24, host administrator 30, and host traders 32 may select a report detailing all of the daily transactions for the user, master user, host administrator, and/or host trader.
In an exemplary embodiment, in step 220d, the users 18, master users 24, host administrator 30, and host traders 32 may select a report of all of the open orders within the system 10 for the users, master users, host administrator, and/or host traders.
In an exemplary embodiment, in step 220e, the users 18, master users 24, host administrator 30, and host traders 32 may select a report that provides the details of all of the open orders within the system 10 for the users, master users, host administrator, and/or host traders.
In an exemplary embodiment, in step 220f, the users 18, master users 24, host administrator 30, and host traders 32 may obtain a report that provides all of the trading activity within the system 10 for the users, master users, host administrator, and/or host traders. In an exemplary embodiment, the report may include failed transactions, orders, postings, and executed transactions.
In an exemplary embodiment, in step 220g, the users 18, master users 24, host administrator 30, and host traders 32 may obtain a report that provides a catalog of all of the products within the system 10. In an exemplary embodiment, in step 220h, the users 18, master users 24, host administrator 30, and host traders 32 may obtain a report that provides the deal sheets for all of the trades within the system 10.
In an exemplary embodiment, in step 220i, the users 18, master users 24, host administrator 30, and host traders 32 may obtain a report that provides the long product descriptions for products within the system 10.
In an exemplary embodiment, in step 220j, the users 18, master users 24, host administrator 30, and host traders 32 may obtain a report that provides the general terms and conditions for products within the system 10. In an exemplary embodiment, the functions performed by the users 18 and the master users 24 within the system 10 may be combined in whole or in part. Likewise, in an exemplary embodiment, the functions performed by the host administrator 30 and the host traders 32 may be combined in whole or in part.
In an exemplary embodiment, the types of reports available to the users 18, master users 24, host administrator 30, and/or host traders 32 may differ depending upon the type of system user. Furthermore, the contents of the reports may be filtered to only include data relevant to the particular system user.
In an alternative embodiment, if a user 18 or master user 24 hits a host bid, the trade is executed by the system 10 with the price of the trade equal to the price of the host bid, and if a user or master user lifts a host offer, the trade is executed by the system with the price equal to the price of host offer.
In an alternative embodiment, if a host administrator 30 or host trader 32 hits a user bid, the trade is executed by the system 10 with the price of the trade equal to the price of the user bid, and if a host administrator or host trader lifts a user offer, the trade is executed by the system with the price equal to the price of user offer.
In an alternative embodiment, if a user bid and host offer are matched by the system 10 for execution, the price of the resulting trade is equal to the price of the user bid. In an alternative embodiment, if a host bid and user offer are matched by the system 10 for execution, the price of the resulting trade is equal to the price of the user offer. In an exemplary embodiment, as illustrated in Fig. 36a, the products traded within the marketplace 46 are defined by an obligation period attribute referred to as a term 3602 that begins at a term start date and time 3604 and ends at a term end date and time 3606. A product defined by a term 3602 is only available for trading within the marketplace 46 and/or for delivery to a buyer of the product in the marketplace during the course of the term.
In an exemplary embodiment, as illustrated in Fig. 36b, one or more of the products traded within the marketplace 46 have terms 3608 that roll, also referred to as rolling terms or rolling term products, that are defined by an initial term start date and time 3610 and a term roll date and time 3612. During operation of the system 10, rather than expiring at end of the term 3608, the term of the rolling term product is continually regenerated at the term roll dates and times 3612 for each rolling term.
For example, in an exemplary embodiment, during operation of the system 10, during the first term 3608a of the rolling term product, the product is available for trading and/or delivery beginning on the initial start term date and time 3610a and ending on the initial term roll date and time 3612a. Upon reaching the initial term roll date and time 3612a, the rolling term product is regenerated for another term 3608b that will end on the subsequent term roll date and time 361 b. Upon reaching the subsequent term roll date and time 3612b, the rolling term product is once again regenerated for another term. This process may continue for as long as defined by the host administrator 30 or host traders 32 for the particular rolling term product. In this manner, a rolling term product can be automatically programmed to be available for trading and/or delivery within the marketplace 46 on a repeated periodic basis. In an exemplary embodiment, the length of the rolling term 3608 for a product is constant.
In an exemplary embodiment, as illustrated in Figs. 36c and 36d, the system 10 implements a rolling term product management program 36100 in which the host administrator 30 or host traders 32 initially define the rolling term . formula for a product in step 36102. In an exemplary embodiment, the terms of the rolling term formula include the initial product term 3608a, the initial term start date and time 3610a, and the initial term roll date and time 3612a.
In an exemplary embodiment, the inputs used to define the rolling term formula include rolling term calendar dates, rolling term calendar rule types, rolling term increments, and rolling term units of measure. In an exemplary embodiment, rolling term rule types include: (1) first day of month (FDM); (2) first day of next month (FDNM); (3) first day of week (FDW); (4) first trading day of week (FTDW); (5) last day of month (LDM); (6) last day of next month (LDNM); (7) last day of week (LDW); (8) last day of next week (LDNW); (9) last trading day of month (LTDM); (10) last trading day of next month (LTDNM); (11) last trading day of week (LTDW); (12) last trading day of next week (LTDNW); (13) next day (ND); (14) next trading day (NTD); (15) next week day (NWD); (16) same day (SD); (17) same trading day (STD); and/or (18) same trading day Friday turns into Saturday (STDFS). In an exemplary embodiment, the rolling term rule types are used to define the initial product term 3608a, the initial term start date and time 3610a, and the initial term roll date and time 3612a. In an exemplary embodiment, the rolling term increments may be a positive or negative integer. In an exemplary embodiment, the rolling term units of measure include (1) day (D); (2) trading day (TD); (3) week day (WD); and/or (4) month (M).
The system 10 then determines If the current date and time is equal to the initial term start date and time 3610a in step 36104. If the current date and time is equal to the initial term start date and time 3610a, then the system 10 permits the product to be traded and/or delivered within the marketplace 46 during the initial term 3608a in step 36106.
The system 10 then determines If the current date and time is equal to the initial term roll date and time 3612a in step 36108. If the current date and time is equal to the initial term roll date and time 3612a, then the product expires and is no longer available for trading and/or delivery within the marketplace 46 in step 36110.
The system 10 then generates a new term 3608b and a new term roll date and time 3612b for the product in step 36112. In an exemplary embodiment, the new term roll date and time 3612b defines the term roll date and time for the next rolling term 3608b for the product. The system 10 then automatically generates and pushes a new product description for the product to the marketplace 46 in steps 36114 and 36118. In an exemplary embodiment, the automatically generated new product description for the rolling term product includes the information contained in the old product description for the product except that the product term 3608 and roll date and time 3612 are updated. The product is then regenerated and once again available for trading and/or delivery in the marketplace 46 in step 36118. Steps 36106, 36108, 36110, 36112, 36114, 36116, and 36118 are then repeated using the corresponding updated product term 3608 and term roll date and time 3612.
In an exemplary embodiment, once a new product description for the product is generated due to the beginning of a new rolling term, any outstanding host or user bids or offers for the product defined by the old product description are automatically cancelled since the product description for the product has been updated and, in effect, the old product no longer exists in the system 10. In a typical implementation of the system 10, many of the product traded in the marketplace 46 are rolling term products.
Thus, the rolling term product management program 36100 automates the process of adding new rolling term products to the marketplace 46. In this manner, the host administrator 30 and host traders 32 do not have to manually deactivate and then reactivate rolling terms products. Furthermore, because the trading floors 50 within the marketplace 46 may be defined by product type and term type, rolling term products having the selected term type for the trading floor, will be automatically updated within the corresponding trading floor. In this manner, the users 18, the master users 24, the host administrator 30, and the host traders 32 do not have to manually add rolling term products back into the trading floors 50 every time the rolling term products roll over to a new term.
In an exemplary embodiment, as illustrated in Figs. 37a and 37b, the host administrator 30 or the host traders 32 may implement a trading calendar management program 3700 for creating trading and/or rolling term calendars 3702a in which, in step 3702, the name 3702b of the trading calendar may be entered. The trading days 3704a within the trading calendar 3702a may then be selected in step 3704. In an exemplary embodiment, the trading days 3704a within the trading calendar 3702a defines those days on which trading is permitted. The trading start and stop times, 3706a and 3706b, respectively, for each trading day 3704a may then be selected in step 3706. In an exemplary embodiment, steps 3702, 3704, and 3706 may also be used to edit a preexisting trading calendar 3702a. In an exemplary embodiment, each calendar 3702a may be used to define the rolling term behavior of an assigned rolling term product. In an exemplary embodiment, each trading calendar 3702a may be assigned to and define the trading calendar for one or more products, commodities, and/or trading floors. In an exemplary embodiment, as illustrated in Fig. 38a, the system 10 may implement a product description generation program 3800 in which the host administrator 30 and the host traders 32 may enter unique product attributes 3802 into a product description template 3804 to thereby create a unique product description 3804. In this manner, unique product descriptions may be created for describing the products 48 traded within the marketplace 46. For example, as illustrated in Fig. 38b, unique product descriptions for products A, B and C may be created using a product template D. As a result, the generation of product descriptions for products 48 traded within the marketplace 46 is facilitated and enhanced. As a result, the system 10 does not have to maintain hundreds, or even thousands, of complete product descriptions. Rather, only a handful of product description templates may be maintained. Furthermore, if a global change must be made to the product descriptions, the system 10 only needs to change the corresponding small number of product description templates. Therefore, the use of the product description generation program 3800 provides an efficient and cost-effective manner of creating, maintaining, and updating product descriptions.
In an exemplary embodiment, as illustrated in Figs. 39a and 39b, the system 10 may implement a trading window product selection program 3900 in which the users 18, master users 24, host administrator 30, or host traders 32 may select products for inclusion in a trading window using filtering criteria in which, in step 3902, the system 10 determines if the user, master user, host administrator, or host trader has selected product selection using filter criteria 3902a in step 3902. If the user 18, master user 24, host administrator 30, or host trader 32 has selected product selection using filter criteria 3902a, then the system 10 determines if the filtering criteria for the trading window has been defined in step 3904.
If the filtering criteria for the trading window has been defined, then the system 10 selects products from the available products 3906a using the defined filtering criteria for inclusion in the selected products 3906b. Alternatively, if the filtering criteria for the trading window has not been defined, then the system 10 permits the user 18, master user 24, host administrator 30, or host trader 32 to enter the product selection filtering criteria in step 3908. Thus, the trading window product selection program 3900 permits users
18, master users 24, host administrators 30, and host traders 32 to automate the process of product selection for trading windows. Furthermore, the trading window product selection program 3900 may be further modified to permit full time automatic product selection of products for the trading window based upon the filtering criteria assigned to the trading window. In this manner, as new products are added to the system 10, they can be automatically added to the trading window on a real-time basis.
In an exemplary embodiment, as illustrated in Figs. 40a and 40b, the system 10 implements a spinner box price change program 4000 in which the host administrator 30 or host traders 32 may change the prices of host bids and offers by selecting one or more products 4002a within a trading window 4002b. The host administrator 30 or host traders 32 may then increase or decrease the bid and/or offer prices for each of the selected products 4002a using a bid price spinner 4004a, an offer price spinner 4004b, an all price spinner 4004c, and a price spread spinner 4004d in step 4004. In an exemplary embodiment, the bid price spinner 4004a permits the bid prices for all of the selected products 4002a to be increased or decreased together, the offer price spinner 4004b permits the offer prices for all of the selected products to be increased or decreased together, the all price spinner 4004c permits the bid and offers prices for all of the selected products to be increased or decreased together, and the price spread spinner
4004d permits the bid prices to be increased while the offer prices are decreased or the bid prices to be decreased while the offer prices are increased for all of the selected products.
The host administrator 30 or host traders 32 may then preview the price changes in step 4006 by selecting preview 4006a. In an exemplary embodiment, in the preview mode, the host administrator 30 or host traders 32 may view the impact of the proposed price changes upon the marketplace 46. In an exemplary embodiment, during the preview mode, the proposed price changes will be displayed in italics. If the price changes are acceptable in step 4008, then the host administrator 30 or host traders 32 may submit the price changes in step 4010 by selecting submit 4010a. In an exemplary embodiment, once the price changes have been submitted for use in the system 10, the order matching engine 210a and the order execution engine 210b, may as a result of the submitted price changes, execute one or more trades for the products. In an exemplary embodiment, in step 4006 and/or step 4010, the effect of the price changes upon the marketplace 46 will be indicated using a color coded display. In an exemplary embodiment, the color coded display includes: (1) black for host bid or offer prices outside the host bid and offer price spread; (2) blue for host bid or offer prices inside the host bid and offer price spread; and (3) red for automatic trade execution.
Alternatively, if the price changes are not acceptable in step 4008, then the host administrator 30 or host traders 32 may cancel the price changes in step 4012 by selecting cancel 4012a.
Thus, the spinner box price change program 4000 permits the host administrator 30 or host traders 32 to efficiently move the bid and/or offer prices of a group of products simultaneously.
Referring to Fig. 41a, in an exemplary embodiment, the system 10 further includes a trader intelligence engine 4102 that processes one or more of the price control strategies 4104 to generate host bids and offers 4106. In an exemplary embodiment, the price control strategies 4104 include one or more of the price control strategies 700, 800, 900, 1000, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, and/or 19100 described above. In an exemplary embodiment, as illustrated in Figs. 41 b and 41c, the trader intelligence engine 4102 implements a price change strategy management program 41100 in which the trade intelligence engine determines if an event triggering a response by one or more of the price control strategies, 700, 800, 900, 1000, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, and/or 19100, has occurred in step 41102.
If an event triggering a response by one or more of the price control strategies, 700, 800, 900, 1000, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, and/or 19100, has occurred, then the trader intelligence engine 4102 determines if, as a result of the triggering event, the price strategies should be executed in step 41104. In an exemplary embodiment, the price strategies should be executed, if, as a result of the triggering event, the execution of one or more price strategies 4104 would result in host bid and/or offer price changes greater than a predetermined threshold value.
If, as a result of the triggering event, the price strategies should be executed, then the trader intelligence engine 4102 identifies all applicable price strategies that will be executed as a result of the triggering event in step 41106. The trader intelligence engine 4102 then locks all of the corresponding host bids and offers that will be effected by the attempted execution of the applicable price strategies in step 41108. The trader intelligence engine 4102 then determines the order in which to attempt to execute the applicable price control strategies in step 41110. In an exemplary embodiment, the hierarchical order in which the trader intelligence engine 4102 will attempt to execute the applicable price control strategies may be predetermined by the host administrator 30 and/or determined as a function of the degree of the global effect on the marketplace 46 caused by the ordering of the attempted execution.
The trader intelligence engine 4102 will then attempt to execute the applicable price control strategies in step 41112. In an exemplary embodiment, as illustrated in Fig. 41 d, in step 41112, the trader intelligence engine 4102 will attempt to execute the applicable price control strategies by selecting the price control strategy 4104 having the highest priority in step 41200. The trader intelligence engine 4102 will then determine the new host bid and offer prices generated by using the price control strategy in step 41202.
The trader intelligence engine will then determine if the new host bid and offer prices generated by the execution of the selected price control strategy in step 41202 are more conservative than the new host bid and offer prices generated by any other price control strategies triggered by the triggering event for the corresponding host bids and offers in step 41204. In an exemplary embodiment, the new price of the host bid or offer generated by the selected price control strategy is more conservative than the new price of the host bid or offer generated by another price control strategy if the new price of the host bid or offer generated by the selected price control strategy is less than the new price of the host bid or offer generated by the other price control strategy.
If the new host bid and offer prices generated by the execution of the selected price control strategy are more conservative that the new prices generated by any other price control strategy triggered by the triggering event for the corresponding host bids and offers, then the trader intelligence engine 4102 will apply the price changes generated by the selected price control strategy to the corresponding host bids and offers in step 41206 thereby causing the new host bid and offer prices to become the current host bid and offer prices. If the new host bid and offer prices generated by the execution of the selected price control strategy are not more conservative than the new prices for the corresponding host bids and offers generated by the other price control strategies, or after applying the price changes to the corresponding host bids and offers in step 41206, the trader intelligence engine 4102 determines if there are any more applicable price control strategies remaining to be selected and executed in step 41208.
If there are more applicable price control strategies remaining to be selected and executed, then the trader intelligence engine 4102 then selects the next price control strategy in the hierarchy in step 41210, and then proceeds to execute steps 41202, 41204, 41204, 41026, and 41208, as applicable, as described above.
Alternatively, if there are no more applicable price control strategies remaining to be executed, then the trader intelligence engine 4102 will then unlock all of the host bids and offers that were be effected by the execution of the applicable price strategies in step 41114.
Thus, the price change strategy management program 41100 provides a method for managing conflicts between, and among, the price control strategies 700, 800, 900, 1000, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, and/or 19100 during the operation of the system 10. In an exemplary embodiment, as illustrated in Fig. 42a, an exemplary embodiment of a system 4200 for trading products includes external users 4202 and internal users 4204 that are operably coupled to an application server 4206 and a communication interface 4208. In an exemplary embodiment, the external users 4202 include the users 18 and the master users 24, the internal users 4204 include the host administrator 30 and the host traders 32, and the application server 4206 includes the web host computer 12. In an exemplary embodiment, the communication interface 4208 is a commercially available Tibco RVA/RVD communication interface. The application server 4206 is also operably coupled to one or more databases 4210 that include system trading information.
The application server 4206 and the communication interface 4208 are also further operably coupled to a communication bus 4212. In an exemplary embodiment, the communication bus 4212 is a commercially available Tibco messaging bus. The communication bus 4212 is also operably coupled to an interface service 4214. The interface service 4214 is operably coupled to one or more databases 4216 and another trading system 4218. The other trading system 4218 includes and is operably coupled to a trading system trading engine 4220. In an exemplary embodiment, the other trading system 4218 is the commercially operating trading system Trade Spark.
In an exemplary embodiment, as illustrated in Fig. 42b, the interface service 4214 includes a command layer 4214a, a context layer 4214b, a business function layer 4214c, metadata 4214d, and a Java virtual machine 4214e. In an exemplary embodiment, the business function layer 4214c includes an exchange A business function layer 4214ca, an exchange B business function layer 4214cb, and an exchange C business function layer 4214cc. The exchanges A, B and C may be commercially available trading systems.
In an exemplary embodiment, the exchange A business function layer 4214ca includes a trade execution and marking making module 4214caa, a connection session management module 4214cab, a market data module
4214cac, and a mapping/cross-reference module 4214cad. Likewise, exchange B and C business function layers, 4214cb and 4214cc, respectively, also each include similar corresponding modules.
An exchange A API 4214f operably couples the interface service 4214 to the exchange A trading system 4214g, an exchange B API 4214h operably couples the interface service to the exchange B trading system 4214j, and an exchange C API 4214i operable couples the interface service to the exchange C trading system 4214k. The general theory of operation of command layers, context layers, business function layers, Java virtual machines, metadata, and APIs is considered well known in the art.
Thus, the trading system 4200 permits the internal and external users, 4202 and 4204, to trade using the trading system 10 and the trading systems 4214g, 4214i, and 4214k.
In an exemplary embodiment, as illustrated in Fig. 43a, a system 4300 for printing reports in a trading system includes an application server 4302 that is operably coupled to a communication interface 4304. In an exemplary embodiment, the application server 4302 includes, or is operably coupled to, the web host computer 12 of the trading system 10. In an exemplary embodiment, the communication interface 4304 is a commercially available Tibco Rendevous communication interfaces.
The communication interface 4304 is also operably coupled to a printer server A 4306 and a printer server B 4308. In an exemplary embodiment, the printer servers A and B, 4306 and 4308, are commercially available Windows NT printer servers. The printer servers A and B, 4306 and 4308, are both also operably coupled to a communication interface 4310. In an exemplary embodiment, the communication interface 4310 is a Windows NT print cluster communication interface.
A gas printer 4312, a liquid printer 4314, a power printer 4316, and a coal and emissions printer 4318 are all operably coupled to the communication interface 4310. In an exemplary embodiment, gas printer 4312 generates trading reports for gas products, the liquid printer 4314 generates trading reports for liquid products, the power printer 4316 generates trading reports for power products, and the coal and emissions printer 4318 generates trading reports for coal and emissions products.
In an exemplary embodiment, as illustrated in Figs. 43b-43d, the system 4300 for printing reports in a trading system implements a printing program 43100 in which the system determines if a trade has been executed in step 43102. If a trade has been executed, then the system 4300 creates a deal sheet object and reads a corresponding printer name in step 43104. The system 4300 then generates and sends a Tibco message 43106a in steps 43106 and 43108. The Tibco message 43106a is then received by the printer servers A and B, 4306 and 4308, in step 43110.
The system 4300 then determines if at least one of the printer servers A and B, 4306 and 4308, are active in step 43112. If at least one of the printer servers A and B, 4306 and 4308, are active, then the system extracts the deal sheet from the Tibco message 43106a and creates a postscript in step 43114. The system 4300 then writes the postscript to the named printer for printing in step 43116.
Alternatively, if at least one of the printer servers A and B, 4306 and 4308, are not active, then the system 4300 ignores the Tibco message 43106a in step 43118. The system 4300 then generates an error log in step 43120.
A system for trading products has been described that includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, permitting the host traders to hit posted user bids and lift posted user offers, permitting the user traders to hit posted host bids and lift posted host offers, matching posted host bids and posted user offers, matching posted user bids and posted host offers, and executing hit posted user bids, lifted posted user offers, hit posted host bids, lifted posted host offers, matched posted host bids and posted user offers, and matched posted user bids and posted host offers.
A system for trading products has been described that includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes permitting the host traders to create a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to host traders within the marketplace, permitting the host traders to create trading windows within the marketplace for trading products, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to user traders within the marketplace, permitting the user traders to create trading windows within the marketplace for trading products, transmitting information to the host traders and the user traders on a real time basis, permitting the host traders to automatically control changes in posted host bids and offers, permitting the user traders to automatically control changes in posted user bids and offers, permitting the host traders to arbitrage posted user bids and offers, permitting the host traders to hit posted user bids and lift posted user offers, permitting the user traders to hit posted host bids and lift posted host offers, matching posted host bids and posted user offers, matching posted user bids and posted host offers, and executing hit posted user bids, lifted posted user offers, hit posted host bids, lifted posted host offers, matched posted host bids and posted user offers, and matched posted user bids and posted host offers.
A computer implemented marketplace for trading products between a host and one or more users has been described that includes, among other things, one or more host trading windows for trading products, and one or more user trading windows for trading products. The host trading windows are created by the host, and the user trading windows are created by the users.
A computer implemented marketplace for trading products between a host and one or more users has been described that includes, among other things, one or more host trading windows for trading products, and one or more user trading windows for trading products. The host trading windows are created by the host by a process that includes the host selecting a name for the host trading window, the host selecting an access type for the host trading window, the host selecting a trading desk assigned to the host trading window, the host selecting a commodity assigned to the host trading window, the host selecting the deal type assigned to the host trading window, the host selecting the location assigned to the host trading window, and the host selecting one or more products for the host trading window. The user trading windows may be created by each of the users by a process that includes the user selecting a name for the user trading window, the user selecting an access type for the user trading window, the user selecting a commodity assigned to the user trading window, the user selecting the deal type assigned to the user trading window, the user selecting the location assigned to the user trading window, and the user selecting one or more products for the user trading window. A system for trading products has been described that includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from the user traders within the marketplace, permitting the host traders to post host offers to sell products to the user traders within the marketplace, permitting the user traders to hit host bids, permitting the user traders to lift host offers, reposting host bids that are hit by one of the user traders with different prices, and reposting host offers that are hit by one of the user traders with different prices.
A system for trading products has been described that includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from the user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to hit posted host bids and lift posted host offers, if a user trader hits a posted host bid for a particular product, then reposting the host bid for the particular product with a reduced price and a predefined volume and reposting the host offer for the particular product with a reduced price and the predefined volume, and if a user trader lifts a posted host offer for a particular product, then reposting the host offer for the particular product with an increased price and a predefined volume and reposting the host bid for the particular product with an increased price and the predefined volume.
A system for trading products has been described that includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from the user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to hit posted host bids and lift posted host offers, permitting a host trader to operably couple a parent product and a child product, and changing the prices of the posted host bid and posted host offer for the child product as a function of the prices of the posted host bid and posted host offer for the parent product. A system for trading products has been described that includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from the user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to hit host bids and lift host offers, if a user trader hits a host bid for a particular product, then calculating a price change value as a function of the difference between the price of the host bid for the particular product and the host offer for the particular product and then reducing the prices of the posted host bid and offer for the particular product by the price change value, and if a user trader lifts a host offer for a particular product, then calculating a price change value as a function of the difference between the price of the host bid for the particular product and the host offer for the particular product and then increasing the prices of the posted host bid and offer for the particular product by the price change value.
A system for trading products has been described that includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from the user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from the host traders and user offers to sell products to host traders within the marketplace, and controlling the prices of the posted host bids as a function of the prices of the posted users bids.
A system for trading products has been described that includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from the user traders and host offers to sell products to user traders within the marketplace, permitting a host trader to define a trading chain that operably couples host bids and/or host offers, permitting the user traders to hit posted host bids and lift posted host offers, if a user trader hits a posted host bid or lifts a posted host offer, then determining if the hit posted host bid or lifted posted host offer is part of the trading chain, and if the hit posted host bid or lifted host offer is part of the trading chain, then reducing the volume of all of the posted host bids and offers that are part of the trading chain.
A system for trading products has been described that includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the user traders to post user bids to purchase products from the host traders and user offers to sell products to host traders within the marketplace, if a user trader posts a new user bid, determining if the price of the new user bid is greater than the price of an existing user offer, if the price of the new user bid is greater than the price of an existing user offer, then determining if the difference between the price of the new user bid and the price of an existing user offer is greater than a predetermined minimum price spread; if the difference between the price of the new user bid and the price of an existing user offer is greater than a predetermined minimum price spread, then executing the new user bid and the existing user offer, if a user trader posts a new user offer, determining if the price of the new user offer is less than the price of an existing user bid, if the price of the new user offer is less than the price of an existing user bid, then determining if the difference between the price of the new user offer and the price of an existing user bid is greater than a predetermined minimum price spread, and if the difference between the price of the new user offer and the price of an existing user bid is greater than a predetermined minimum price spread, then executing the new user offer and the existing user bid.
A system for trading products has been described that includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, and matching posted user bids and posted host offers by a process that includes: determining if the price of a posted user bid for a particular product is greater than or equal to the price of a posted host offer for the particular product, if the price of the posted user bid for a particular product is greater than or equal to the price of the posted host offer for the particular product, then determining if the posted user bid for the particular product is all or nothing, if the posted user bid for the particular product is not all or nothing, then executing a trade between the corresponding user trader and the corresponding host trader with a price equal to the price of the posted user bid and a volume equal to the lesser of the volume of the posted user bid or the posted host offer, if the posted user bid for the particular product is all or nothing, then determining if the volume of the posted host offer is greater than or equal to the volume of the posted user bid, and if the volume of the posted host offer is greater than or equal to the volume of the posted user bid, then executing a trade between the corresponding user trader and the corresponding host trader with a price equal to the price of the posted user bid and a volume equal to the volume of the posted user bid.
A system for trading products has been described that includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, one or more user traders coupled to the Internet, and one or more counterparty user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, permitting the counterparty user traders to post counterparty user bids to purchase products from user traders and counterparty user offers to sell products to user traders within the marketplace, and matching posted user bids and posted host or counterparty user offers by a process that includes: determining if the price of a posted user bid for a particular product is greater than or equal to the price of a posted host offer for the particular product, if the price of the posted user bid for a particular product is greater than or equal to the price of the posted host offer for the particular product, then determining if the posted user bid for the particular product is all or nothing, if the posted user bid for the particular product is not all or nothing, then executing a trade between the corresponding user trader and the corresponding host trader with a price equal to the price of the posted user bid and a volume equal to the lesser of the volume of the posted user bid or the posted host offer, if the posted user bid for the particular product is all or nothing, then determining if the volume of the posted host offer is greater than or equal to the volume of the posted user bid, if the volume of the posted host offer is greater than or equal to the volume of the posted user bid, then executing a trade between the corresponding user trader and the corresponding host trader with a price equal to the price of the posted user bid and a volume equal to the volume of the posted user bid, if the volume of the posted host offer is not greater than or equal to the volume of the posted user bid, then determining if the difference between the price of the posted user bid for the particular product and the price of a posted counterparty user offer for the particular product is greater than or equal to a predefined margin, if the difference between the price of the posted user bid for the particular product and the price of a posted counterparty user offer for the particular product is greater than or equal to a predefined margin, then determining if the posted user bid for the particular product is all or nothing, if the posted user bid for the particular product is not all or nothing, then executing a trade between the corresponding user trader and the corresponding counterparty user trader with a price that is equal to the price of the posted user bid for the particular product and a volume that is equal to the lesser of the volume of the posted user bid for the particular product and the volume of the posted counterparty user offer for the particular product, if the posted user bid for the particular product is all or nothing, then determining if the volume of the posted counterparty user offer for the particular product is greater than or equal to the volume of the user bid for the particular product, and if the volume of the posted counterparty user offer for the particular product is greater than or equal to the volume of the user bid for the particular product, then executing a trade between the corresponding user trader and the corresponding counterparty user trader for the particular product with a price that is equal to the price of the posted user bid for the particular product and a volume that is equal to the volume of the posted user bid for the particular product.
A system for trading products has been described that includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, permitting host traders to hit posted user bids and lift posted user offers, permitting user traders to hit posted host bids and lift posted host offers, matching posted host bids and posted user offers, matching posted user bids and posted host offers, and executing trades for a particular product initiated by matched posted host bids and posted user offers, matched posted user bids and posted host offers, hit host bids, lifted host offer, hit user bids, and lifted users offer by a process that includes determining if the trade for the particular product was initiated by a hit host bid or a lifted host offer, if the trade was initiated for a particular product by a hit host bid or a lifted host offer, then determining if the price of the host bid for the particular product is greater than or equal to the price of the user hit request for the particular product or if the price of the host offer for the particular product is less than or equal to the price of the user lift request for the particular product, if the price of the host bid for the particular product is greater than or equal to the price of the user bid request for the particular product or if the price of the host offer for the particular product is less than or equal to the price of the user lift request for the particular product, then determining if the user hit request or user lift request for the particular product is all or nothing, if the user hit request or user lift request for the particular product is not all or nothing, then executing a trade between the corresponding host trader and user trader for the particular product with the price equal to the lesser of the price of the user hit request or host bid for the particular product or the price of the user lift request or host offer for the particular product and the volume equal to the lesser of the volume of the user hit request or host bid for the particular product or the price of the user lift request or host offer for the particular product, if the user hit request or user lift request for the particular product is all or nothing, then determining if the volume of the host bid or host offer is greater than the volume of the user hit request or user lift request, respectively, and if the volume of the host bid or host offer is greater than the volume of the user hit request or user lift request, respectively, then executing a trade between the corresponding host trader and user trader for the particular product with the price equal to the lesser of the price of the user hit request or host bid for the particular product or the price of the user lift request or host offer and the volume equal to the volume of the user hit request or user lift request. A system for trading products has been described that includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting a host trader to operably couple posted host bids and offers within a trading chain, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, permitting host traders to hit posted user bids and lift posted user offers, permitting user traders to hit posted host bids and lift posted host offers, matching posted host bids and posted user offers, matching posted user bids and posted host offers, and executing trades for a particular product initiated by matched posted host bids and posted user offers, matched posted user bids and posted host offers, hit host bids, lifted host offer, hit user bids, and lifted users offer by a process that includes locking a corresponding hit posted host bid, lifted posted host offer, hit posted user bid, lifted posted user offer, matched posted host bid and user offer, or matched posted user bid and host offer, locking host bids and offers operably coupled to a trading chain operably coupled to the corresponding hit posted host bid, lifted posted host offer, hit posted user bid, lifted posted user offer, matched posted host bid and posted user offer, or matched posted user bid and posted host offer, executing a trade between the corresponding host trader and user trader, after executing the trade, unlocking the corresponding hit posted host bid, lifted posted host offer, hit posted user bid, lifted posted user offer, matched posted host bid and posted user offer, or matched posted user bid and posted host offer, and after executing the trade, unlocking host bids and offers operably coupled to a trading chain operably coupled to the corresponding hit posted host bid, lifted posted host offer, hit posted user bid, lifted posted user offer, matched posted host bid and posted user offer, or matched posted user bid and posted host offer.
A system for trading products has been described that includes, among other things, the Internet, a host computer coupled to the Internet, a message server coupled to the host computer and the Internet, one or more host traders coupled to the Internet, one or more user traders coupled to the Internet, and an event filter coupled to each of the user traders. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, pushing information to the message server, the event filter for each user trader determining if information has been pushed to the message server, and the event filter for each user trader extracting information pushed to the message server to the corresponding user trader. A system for trading products has been described that includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to add a rolling term product to the marketplace for trading products that is defined by an initial term, an initial term start time, and an initial term roll time, if the marketplace time is greater than or equal to the term start time for the rolling term product, then permitting the rolling term product to be traded and/or delivered within the marketplace, if the marketplace time is equal to the initial term roll time, then not permitting the rolling term product to be traded and/or delivered within the marketplace, generating a new term and a new term roll time for the rolling term product, changing the product description for the rolling term product to reflect the new term and new term roll time, and permitting the rolling term product to be traded and/or delivered within the marketplace.
A system for trading products has been described that includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, and permitting the host traders to create trading calendars that define on what dates and times corresponding products may be traded within the marketplace.
A system for trading products has been described that includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, and permitting the host traders to create descriptions of the products traded within the marketplace by a process that includes creating one or more product description templates, defining unique characteristics of the products traded within the marketplace, and generating unique product descriptions for each product traded within the marketplace by combining the unique characteristics of the products with one or more product description templates. A computer implemented marketplace for trading products between a host and one or more users has been described that includes, among other things, one or more host trading windows for trading products, and one or more user trading windows for trading products. The host trading windows are created by the host by a process that includes the host selecting one or more products for the host trading window by a process that includes the host defining a host product selection criteria for defining what products may be selected from the available products, and one or more products being selected for inclusion in the host trading window using the host product selection criteria. The user trading windows may be created by each of the users by a process that includes the user selecting one or more products for the user trading window by a process that includes the user defining a user product selection criteria for defining what products may be selected from the available products, and one or more products being selected for inclusion in the user trading window using the user product selection criteria. A system for trading products has been described that includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post bids to buy products from the user traders, permitting the host traders to post offers to sell products to the user traders, and permitting the host traders to change the prices of host bids and offers by a process that includes selecting a plurality of products for which the prices of the corresponding host bids and offers will be changed, and changing the prices of the host bids and offers for the selected products by the same amount.
A system for trading products has been described that includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post bids to purchase products from the host traders, permitting the host traders to post offers to sell products to the host traders, controlling the prices of the posted host bids and offers using one or more price control strategies by a process that includes determining if an event has occurred that will trigger the execution of one or more of the price control strategies, locking all host bids and offers that will be controlled by the price control strategies that were triggered, determining the hierarchical order in which the price control strategies that were triggered will be executed, and executing the triggered price control strategies in the determined hierarchical order by a process that includes executing each triggered price control strategy by selecting the price control strategies one at a time in the determined hierarchical order until all price control strategies have been executed, during the execution of each selected price control strategy, determining the new host bid price and host offer prices generated by the selected price control strategy, and if the new host bid price and host offer prices generated by the selected price control strategy are more conservative than new host bid and offer prices generated by other triggered price control strategies, then making the new host bid and offer prices generated by the selected price control strategy the current host bid and offer prices, posting the current host bid and offer prices for trading in the system, and unlocking the previously locked host bids and offers.
A system for trading products has been described that includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, one or more user traders coupled to the
Internet, a communication interface coupled to the host computer, and a trading system coupled to the communication system adapted to permit the host traders and the user trader to trade products. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, permitting the host traders to hit posted user bids and lift posted user offers, permitting the user traders to hit posted host bids and lift posted host offers, matching posted host bids and posted user offers, matching posted user bids and posted host offers, and executing hit posted user bids, lifted posted user offers, hit posted host bids, lifted posted host offers, matched posted host bids and posted user offers, and matched posted user bids and posted host offers. A system for trading products has been described that includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, one or more user traders coupled to the Internet, a communication interface coupled to the host computer, and one or more printers coupled to the communication interface. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplφ jnitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, permitting the host traders to hit posted user bids and lift posted user offers, permitting the user traders to hit posted host bids and lift posted host offers, matching posted host bids and posted user offers, matching posted user bids and posted host offers, executing hit posted user bids, lifted posted user offers, hit posted host bids, lifted posted host offers, matched posted host bids and posted user offers, and matched posted user bids and posted host offers, if a trade is executed, then generating a deal sheet object and a printer name, and printing the deal sheet object on the named printer. A system for trading products has been described that includes, among other things, the Internet, a host computer coupled to the Internet, one or more host traders coupled to the Internet, and one or more user traders coupled to the Internet. The host computer is programmed to implement a method for trading products that includes creating a marketplace for trading products, permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace, permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace, permitting the host traders to hit posted user bids and lift posted user offers, permitting the user traders to hit posted host bids and lift posted host offers, if a host bid is hit by a user trader, then determining if the host bid was hit for partial volume, if the host bid was hit for partial volume, then decreasing the volume of the hit host bid the volume that the host bid was hit, if the host bid was not hit for partial volume, then placing the hit host bid on hold and reducing the volume of the hit host bid to zero, if a host offer is lifted by a user trader, then determining if the host offer was lifted for partial volume, if the host offer was lifted for partial volume, then decreasing the volume of the lifted host offer the volume that the host offer was lifted, and if the host offer was not lifted for partial volume, then placing the lifted host offer on hold and reducing the volume of the lifted host offer to zero.
Although illustrative embodiments of the invention have been shown and described, a wide range of modification, changes and substitution is contemplated in the foregoing disclosure. In some instances, some features of the present invention may be employed without a corresponding use of the other features. Accordingly, it is appropriate that the appended claims be construed broadly and in a manner consistent with the scope of the invention.

Claims

Claims What is claimed is:
1. A system for trading products, comprising: the Internet; a host computer coupled to the Internet; one or more host traders coupled to the Internet; and one or more user traders coupled to the Internet; wherein the host computer is programmed to implement a method for trading products comprising: creating a marketplace for trading products; permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace; permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace; permitting the host traders to hit posted user bids and lift posted user offers; permitting the user traders to hit posted host bids and lift posted host offers; matching posted host bids and posted user offers; matching posted user bids and posted host offers; and executing hit posted user bids, lifted posted user offers, hit posted host bids, lifted posted host offers, matched posted host bids and posted user offers, and matched posted user bids and posted host offers.
2. A system for trading products, comprising: the Internet; a host computer coupled to the Internet; one or more host traders coupled to the Internet; and one or more user traders coupled to the Internet; wherein the host computer is programmed to implement a method for trading products comprising: permitting the host traders to create a marketplace for trading products; permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to host traders within the marketplace; permitting the host traders to create trading windows within the marketplace for trading products; permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to user traders within the marketplace; permitting the user traders to create trading windows within the marketplace for trading products; transmitting information to the host traders and the user traders on a real time basis; permitting the host traders to automatically control changes in posted host bids and offers; permitting the user traders to automatically control changes in posted user bids and offers; permitting the host traders to arbitrage posted user bids and offers; permitting the host traders to hit posted user bids and lift posted user offers; permitting the user traders to hit posted host bids and lift posted host offers; matching posted host bids and posted user offers; matching posted user bids and posted host offers; and executing hit posted user bids, lifted posted user offers, hit posted host bids, lifted posted host offers, matched posted host bids and posted user offers, and matched posted user bids and posted host offers.
3. A computer implemented marketplace for trading products between a host and one or more users, comprising: one or more host trading windows for trading products; and one or more user trading windows for trading products; wherein the host trading windows are created by the host; and wherein the user trading windows are created by the users.
4. A computer implemented marketplace for trading products between a host and one or more users, comprising: one or more host trading windows for trading products; and one or more user trading windows for trading products; wherein host trading windows are created by the host by a process that comprises: the host selecting a name for the host trading window; the host selecting an access type for the host trading window; the host selecting a trading desk assigned to the host trading window; the host selecting a commodity assigned to the host trading window; the host selecting the deal type assigned to the host trading window; the host selecting the location assigned to the host trading window; and the host selecting one or more products for the host trading window; and wherein user trading windows may be created by each of the users by a process that comprises: the user selecting a name for the user trading window; the user selecting an access type for the user trading window; the user selecting a commodity assigned to the user trading window; the user selecting the deal type assigned to the user trading window; the user selecting the location assigned to the user trading window; and the user selecting one or more products for the user trading window.
5. A system for trading products, comprising: the Internet; a host computer coupled to the Internet; one or more host traders coupled to the Internet; and one or more user traders coupled to the Internet; wherein the host computer is programmed to implement a method for trading products comprising: creating a marketplace for trading products; permitting the host traders to post host bids to purchase products from the user traders within the marketplace; permitting the host traders to post host offers to sell products to the user traders within the marketplace; permitting the user traders to hit host bids; permitting the user traders to lift host offers; reposting host bids that are hit by one of the user traders with different prices; and reposting host offers that are hit by one of the user traders with different prices.
6. A system for trading products, comprising: the Internet; a host computer coupled to the Internet; one or more host traders coupled to the Internet; and one or more user traders coupled to the Internet; wherein the host computer is programmed to implement a method for trading products comprising: creating a marketplace for trading products; permitting the host traders to post host bids to purchase products from the user traders and host offers to sell products to user traders within the marketplace; permitting the user traders to hit posted host bids and lift posted host offers; if a user trader hits a posted host bid for a particular product, then reposting the host bid for the particular product with a reduced price and a predefined volume and reposting the host offer for the particular product with a reduced price and the predefined volume; and if a user trader lifts a posted host offer for a particular product, then reposting the host offer for the particular product with an increased price and a predefined volume and reposting the host bid for the particular product with an increased price and the predefined volume.
7. A system for trading products, comprising: the Internet; a host computer coupled to the Internet; one or more host traders coupled to the Internet; and one or more user traders coupled to the Internet; wherein the host computer is programmed to implement a method for trading products comprising: creating a marketplace for trading products; permitting the host traders to post host bids to purchase products from the user traders and host offers to sell products to user traders within the marketplace; permitting the user traders to hit posted host bids and lift posted host offers; permitting a host trader to operably couple a parent product and a child product; and changing the prices of the posted host bid and posted host offer for the child product as a function of the prices of the posted host bid and posted host offer for the parent product.
8. A system for trading products, comprising: the Internet; a host computer coupled to the Internet; one or more host traders coupled to the Internet; and one or more user traders coupled to the Internet; wherein the host computer is programmed to implement a method for trading products comprising: creating a marketplace for trading products; permitting the host traders to post host bids to purchase products from the user traders and host offers to sell products to user traders within the marketplace; permitting the user traders to hit host bids and lift host offers; if a user trader hits a host bid for a particular product, then calculating a price change value as a function of the difference between the price of the host bid for the particular product and the host offer for the particular product and then reducing the prices of the posted host bid and offer for the particular product by the price change value; and if a user trader lifts a host offer for a particular product, then calculating a price change value as a function of the difference between the price of the host bid for the particular product and the host offer for the particular product and then increasing the prices of the posted host bid and offer for the particular product by the price change value.
9. A system for trading products, comprising: the Internet; a host computer coupled to the Internet; one or more host traders coupled to the Internet; and one or more user traders coupled to the Internet; wherein the host computer is programmed to implement a method for trading products comprising: creating a marketplace for trading products; permitting the host traders to post host bids to purchase products from the user traders and host offers to sell products to user traders within the marketplace; permitting the user traders to post user bids to purchase products from the host traders and user offers to sell products to host traders within the marketplace; and controlling the prices of the posted host bids as a function of the prices of the posted users bids.
10. A system for trading products, comprising: the Internet; a host computer coupled to the Internet; one or more host traders coupled to the Internet; and one or more user traders coupled to the Internet; wherein the host computer is programmed to implement a method for trading products comprising: creating a marketplace for trading products; permitting the host traders to post host bids to purchase products from the user traders and host offers to sell products to user traders within the marketplace; permitting a host trader to define a trading chain that operably couples host bids and/or host offers; permitting the user traders to hit posted host bids and lift posted host offers; if a user trader hits a posted host bid or lifts a posted host offer, then determining if the hit posted host bid or lifted posted host offer is part of the trading chain; and if the hit posted host bid or lifted host offer is part of the trading chain, then reducing the volume of all of the posted host bids and offers that are part of the trading chain.
11. A system for trading products, comprising: the Internet; a host computer coupled to the Internet; one or more host traders coupled to the Internet; and one or more user traders coupled to the Internet; wherein the host computer is programmed to implement a method for trading products comprising: creating a marketplace for trading products; permitting the user traders to post user bids to purchase products from the host traders and user offers to sell products to host traders within the marketplace; if a user trader posts a new user bid, determining if the price of the new user bid is greater than the price of an existing user offer; if the price of the new user bid is greater than the price of an existing user offer, then determining if the difference between the price of the new user bid and the price of an existing user offer is greater than a predetermined minimum price spread; if the difference between the price of the new user bid and the price of an existing user offer is greater than a predetermined minimum price spread, then executing the new user bid and the existing user offer; if a user trader posts a new user offer, determining if the price of the new user offer is less than the price of an existing user bid; if the price of the new user offer is less than the price of an existing user bid, then determining if the difference between the price of the new user offer and the price of an existing user bid is greater than a predetermined minimum price spread; and if the difference between the price of the new user offer and the price of an existing user bid is greater than a predetermined minimum price spread, then executing the new user offer and the existing user bid.
12. A system for trading products, comprising: the Internet; a host computer coupled to the Internet; one or more host traders coupled to the Internet; and one or more user traders coupled to the Internet; wherein the host computer is programmed to implement a method for trading products comprising: creating a marketplace for trading products; permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace; permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace; and matching posted user bids and posted host offers by a process comprising: determining if the price of a posted user bid for a particular product is greater than or equal to the price of a posted host offer for the particular product; if the price of the posted user bid for a particular product is greater than or equal to the price of the posted host offer for the particular product, then determining if the posted user bid for the particular product is all or nothing; if the posted user bid for the particular product is not all or nothing, . then executing a trade between the corresponding user trader and the corresponding host trader with a price equal to the price of the posted user bid and a volume equal to the lesser of the volume of the posted user bid or the posted host offer; if the posted user bid for the particular product is all or nothing, then determining if the volume of the posted host offer is greater than or equal to the volume of the posted user bid; and if the volume of the posted host offer is greater than or equal to the volume of the posted user bid, then executing a trade between the corresponding user trader and the corresponding host trader with a price equal to the price of the posted user bid and a volume equal to the volume of the posted user bid.
13. A system for trading products, comprising: the Internet; a host computer coupled to the Internet; one or more host traders coupled to the Internet; one or more user traders coupled to the Internet; and one or more counterparty user traders coupled to the Internet; wherein the host computer is programmed to implement a method for trading products comprising: creating a marketplace for trading products; permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace; permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace; permitting the counterparty user traders to post counterparty user bids to purchase products from user traders and counterparty user offers to sell products to user traders within the marketplace; and matching posted user bids and posted host or counterparty user offers by a process comprising: determining if the price of a posted user bid for a particular product is greater than or equal to the price of a posted host offer for the particular product; if the price of the posted user bid for a particular product is greater than or equal to the price of the posted host offer for the particular product, then determining if the posted user bid for the particular product is all or nothing; if the posted user bid for the particular product is not all or nothing, then executing a trade between the corresponding user trader and the corresponding host trader with a price equal to the price of the posted user bid and a volume equal to the lesser of the volume of the posted user bid or the posted host offer; if the posted user bid for the particular product is all or nothing, then determining if the volume of the posted host offer is greater than or equal to the volume of the posted user bid; if the volume of the posted host offer is greater than or equal to the volume of the posted user bid, then executing a trade between the corresponding user trader and the corresponding host trader with a price equal to the price of the posted user bid and a volume equal to the volume of the posted user bid; if the volume of the posted host offer is not greater than or equal to the volume of the posted user bid, then determining if the difference between the price of the posted user bid for the particular product and the price of a posted counterparty user offer for the particular product is greater than or equal to a predefined margin; if the difference between the price of the posted user bid for the particular product and the price of a posted counterparty user offer for the particular product is greater than or equal to a predefined margin, then determining if the posted user bid for the particular product is all or nothing; if the posted user bid for the particular product is not all or nothing, then executing a trade between the corresponding user trader and the corresponding counterparty user trader with a price that is equal to the price of the posted user bid for the particular product and a volume that is equal to the lesser of the volume of the posted user bid for the particular product and the volume of the posted counterparty user offer for the particular product; if the posted user bid for the particular product is all or nothing, then determining if the volume of the posted counterparty user offer for the particular product is greater than or equal to the volume of the user bid for the particular product; and if the volume of the posted counterparty user offer for the particular product is greater than or equal to the volume of the user bid for the particular product, then executing a trade between the corresponding user trader and the corresponding counterparty user trader for the particular product with a price that is equal to the price of the posted user bid for the particular product and a volume that is equal to the volume of the posted user bid for the particular product.
14. A system for trading products, comprising: the Internet; a host computer coupled to the Internet; one or more host traders coupled to the Internet; and one or more user traders coupled to the Internet; wherein the host computer is programmed to implement a method for trading products comprising: creating a marketplace for trading products; permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace; permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace; permitting host traders to hit posted user bids and lift posted user offers; permitting user traders to hit posted host bids and lift posted host offers; matching posted host bids and posted user offers; matching posted user bids and posted host offers; and executing trades for a particular product initiated by matched posted host bids and posted user offers, matched posted user bids and posted host offers, hit host bids, lifted host offer, hit user bids, and lifted users offer by a process comprising: determining if the trade for the particular product was initiated by a hit host bid or a lifted host offer; if the trade was initiated for a particular product by a hit host bid or a lifted host offer, then determining if the price of the host bid for the particular product is greater than or equal to the price of the user hit request for the particular product or if the price of the host offer for the particular product is less than or equal to the price of the user lift request for the particular product; if the price of the host bid for the particular product is greater than or equal to the price of the user bid request for the particular product or if the price of the host offer for the particular product is less than or equal to the price of the user lift request for the particular product, then determining if the user hit request or user lift request for the particular product is all or nothing; if the user hit request or user lift request for the particular product is not all or nothing, then executing a trade between the corresponding host trader and user trader for the particular product with the price equal to the lesser of the price of the user hit request or host bid for the particular product or the price of the user lift request or host offer for the particular product and the volume equal to the lesser of the volume of the user hit request or host bid for the particular product or the price of the user lift request or host offer for the particular product; if the user hit request or user lift request for the particular product is all or nothing, then determining if the volume of the host bid or host offer is greater than the volume of the user hit request or user lift request, respectively; and if the volume of the host bid or host offer is greater than the volume of the user hit request or user lift request, respectively, then executing a trade between the corresponding host trader and user trader for the particular product with the price equal to the lesser of the price of the user hit request or host bid for the particular product or the price of the user lift request or host offer and the volume equal to the volume of the user hit request, or user lift request.
15. A system for trading products, comprising: the Internet; a host computer coupled to the Internet; one or more host traders coupled to the Internet; and one or more user traders coupled to the Internet; wherein the host computer is programmed to implement a method for trading products comprising: creating a marketplace for trading products; permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace; permitting a host trader to operably couple posted host bids and offers within a trading chain; permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace; permitting host traders to hit posted user bids and lift posted user offers; permitting user traders to hit posted host bids and lift posted host offers; matching posted host bids and posted user offers; matching posted user bids and posted host offers; and executing trades for a particular product initiated by matched posted host bids and posted user offers, matched posted user bids and posted host offers, hit host bids, lifted host offer, hit user bids, and lifted users offer by a process comprising: locking a corresponding hit posted host bid, lifted posted host offer, hit posted user bid, lifted posted user offer, matched posted host bid and user offer, or matched posted user bid and host offer; locking host bids and offers operably coupled to a trading chain operably coupled to the corresponding hit posted host bid, lifted posted host offer, hit posted user bid, lifted posted user offer, matched posted host bid and posted user offer, or matched posted user bid and posted host offer; executing a trade between the corresponding host trader and user trader; after executing the trade, unlocking the corresponding hit posted host bid, lifted posted host offer, hit posted user bid, lifted posted user offer, matched posted host bid and posted user offer, or matched posted user bid and posted host offer; and after executing the trade, unlocking host bids and offers operably coupled to a trading chain operably coupled to the corresponding hit posted host bid, lifted posted host offer, hit posted user bid, lifted posted user offer, matched posted host bid and posted user offer, or matched posted user bid and posted host offer.
16. A system for trading products, comprising: the Internet; a host computer coupled to the Internet; a. message server coupled to the host computer and the Internet; one or more host traders coupled to the Internet; one or more user traders coupled to the Internet; and an event filter coupled to each of the user traders; wherein the host computer is programmed to implement a method for trading products comprising: creating a marketplace for trading products; permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace; permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace; pushing information to the message server; the event filter for each user trader determining if information has been pushed to the message server; and the event filter for each user trader extracting information pushed to the message server to the corresponding user trader.
17. A system for trading products, comprising: the Internet; a host computer coupled to the Internet; one or more host traders coupled to the Internet; and one or more user traders coupled to the Internet; wherein the host computer is programmed to implement a method for trading products comprising: creating a marketplace for trading products; permitting the host traders to add a rolling term product to the marketplace for trading products that is defined by an initial term, an initial term start time, and an initial term roll time; if the marketplace time is greater than or equal to the term start time for the rolling term product, then permitting the rolling term product to be traded and/or delivered within the marketplace; if the marketplace time is equal to the initial term roll time, then not permitting the rolling term product to be traded and/or delivered within the marketplace; generating a new term and a new term roll time for the rolling term product; changing the product description for the rolling term product to reflect the new term and new term roll time; and permitting the rolling term product to be traded and/or delivered within the marketplace.
18. A system for trading products, comprising: the Internet; a host computer coupled to the Internet; one or more host traders coupled to the Internet; and one or more user traders coupled to the Internet; wherein the host computer is programmed to implement a method for trading products comprising: creating a marketplace for trading products; and permitting the host traders to create trading calendars that define on what dates and times corresponding products may be traded within the marketplace.
19. A system for trading products, comprising: the Internet; a host computer coupled to the Internet; one or more host traders coupled to the Internet; and one or more user traders coupled to the Internet; wherein the host computer is programmed to implement a method for trading products comprising: creating a marketplace for trading products; and permitting the host traders to create descriptions of the products traded within the marketplace by a process comprising: creating one or more product description templates; defining unique characteristics of the products traded within the marketplace; and generating unique product descriptions for each product traded within the marketplace by combining the unique characteristics of the products with one or more product description templates.
20. A computer implemented marketplace for trading products between a host and one or more users, comprising: one or more host trading windows for trading products; and one or more user trading windows for trading products; wherein host trading windows are created by the host by a process that comprises: the host selecting one or more products for the host trading window by a process comprising: the host defining a host product selection criteria for defining what products may be selected from the available products; and one or more products being selected for inclusion in the host trading window using the host product selection criteria; and wherein user trading windows are created by each of the users by a process that comprises: the user selecting one or more products for the user trading window by a process comprising: the user defining a user product selection criteria for defining what products may be selected from the available products; and one or more products being selected for inclusion in the user trading window using the user product selection criteria.
21. A system for trading products, comprising: the Internet; a host computer coupled to the Internet; one or more host traders coupled to the Internet; and one or more user traders coupled to the Internet; wherein the host computer is programmed to implement a method for trading products comprising: creating a marketplace for trading products; permitting the host traders to post bids to buy products from the user traders; permitting the host traders to post offers to sell products to the user traders; and permitting the host traders to change the prices of host bids and offers by a process comprising: selecting a plurality of products for which the prices of the corresponding host bids and offers will be changed; and changing the prices of the host bids and offers for the selected products by the same amount.
22. A system for trading products, comprising: the Internet; a host computer coupled to the Internet; one or more host traders coupled to the Internet; and one or more user traders coupled to the Internet; wherein the host computer is programmed to implement a method for trading products comprising: creating a marketplace for trading products; permitting the host traders to post bids to purchase products from the host traders; permitting the host traders to post offers to sell products to the host traders; controlling the prices of the posted host bids and offers using one or more price control strategies by a process comprising: determining if an event has occurred that will trigger the execution of one or more of the price control strategies; locking all host bids and offers that will be controlled by the price control strategies that were triggered; determining the hierarchical order in which the price control strategies that were triggered will be executed; and executing the triggered price control strategies in the determined hierarchical order by a process comprising: executing each triggered price control strategy by selecting the price control strategies one at a time in the determined hierarchical order until all price control strategies have been executed; during the execution of each selected price control strategy, determining the new host bid price and host offer prices generated by the selected price control strategy; and if the new host bid price and host offer prices generated by the selected price control strategy are more conservative than new host bid and offer prices generated by other triggered price control strategies, then making the new host bid and offer prices generated by the selected price control strategy the current host bid and offer prices; posting the current host bid and offer prices for trading in the system; and unlocking the previously locked host bids and offers.
23. A system for trading products, comprising: the Internet; a host computer coupled to the Internet; one or more host traders coupled to the Internet; one or more user traders coupled to the Internet; a communication interface coupled to the host computer; and a trading system coupled to the communication system adapted to permit the host traders and the user trader to trade products; wherein the host computer is programmed to implement a method for trading products comprising: creating a marketplace for trading products; permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace; permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace; permitting the host traders to hit posted user bids and lift posted user offers; permitting the user traders to hit posted host bids and lift posted host offers; matching posted host bids and posted user offers; matching posted user bids and posted host offers; and executing hit posted user bids, lifted posted user offers, hit posted host bids, lifted posted host offers, matched posted host bids and posted user offers, and matched posted user bids and posted host offers.
24. A system for trading products, comprising: the Internet; a host computer coupled to the Internet; one or more host traders coupled to the Internet; one or more user traders coupled to the Internet; a communication interface coupled to the host computer; and one or more printers coupled to the communication interface; wherein the host computer is programmed to implement a method for trading products comprising: creating a marketplace for trading products; permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user x traders within the marketplace; , permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace; permitting the host traders to hit posted user bids and lift posted user offers; permitting the user traders to hit posted host bids and lift posted host offers; matching posted host bids and posted user offers; matching posted user bids and posted host offers; executing hit posted user bids, lifted posted user offers, hit posted host bids, lifted posted host offers, matched posted host bids and posted user offers, and matched posted user bids and posted host offers; if a trade is executed, then generating a deal sheet object and a printer name; and printing the deal sheet object on the named printer.
25. A system for trading products, comprising: the Internet; a host computer coupled to the Internet; one or more host traders coupled to the Internet; and one or more user traders coupled to the Internet; wherein the host computer is programmed to implement a method for trading products comprising: creating a marketplace for trading products; permitting the host traders to post host bids to purchase products from user traders and host offers to sell products to user traders within the marketplace; permitting the user traders to post user bids to purchase products from host traders and user offers to sell products to host traders within the marketplace; permitting the host traders to hit posted user bids and lift posted user offers; permitting the user traders to hit posted host bids and lift posted host offers; if a host bid is hit by a user trader, then determining if the host bid was hit for partial volume; if the host bid was hit for partial volume, then decreasing the volume of the hit host bid the volume that the host bid was hit; if the host bid was not hit for partial volume, then placing the hit host bid on hold and reducing the volume of the hit host bid to zero; if a host offer is lifted by a user trader, then determining if the host offer was lifted for partial volume; if the host offer was lifted for partial volume, then decreasing the volume of the lifted host offer the volume that the host offer was lifted; and if the host offer was not lifted for partial volume, then placing the lifted host offer on hold and reducing the volume of the lifted host offer to zero.
PCT/US2002/014756 2001-05-18 2002-05-09 Trading system WO2002095528A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2002305508A AU2002305508A1 (en) 2001-05-18 2002-05-09 Trading system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US29194601P 2001-05-18 2001-05-18
US60/291,946 2001-05-18

Publications (2)

Publication Number Publication Date
WO2002095528A2 true WO2002095528A2 (en) 2002-11-28
WO2002095528A3 WO2002095528A3 (en) 2003-08-21

Family

ID=23122545

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/US2002/014657 WO2002095648A1 (en) 2001-05-18 2002-05-09 System for selling energy products
PCT/US2002/014756 WO2002095528A2 (en) 2001-05-18 2002-05-09 Trading system

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/US2002/014657 WO2002095648A1 (en) 2001-05-18 2002-05-09 System for selling energy products

Country Status (2)

Country Link
AU (1) AU2002305508A1 (en)
WO (2) WO2002095648A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5727165A (en) * 1990-12-17 1998-03-10 Reuters Limited Offer matching system having timed match acknowledgment
US5950178A (en) * 1997-07-29 1999-09-07 Borgato; Sergio Data processing system and method for facilitating transactions in diamonds

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60168265A (en) * 1984-02-13 1985-08-31 Omron Tateisi Electronics Co Reservating device of commodity
US6115698A (en) * 1995-08-18 2000-09-05 Continental Power Exchange, Inc. Apparatus and method for trading electric energy
US5710887A (en) * 1995-08-29 1998-01-20 Broadvision Computer system and method for electronic commerce
US20010034663A1 (en) * 2000-02-23 2001-10-25 Eugene Teveler Electronic contract broker and contract market maker infrastructure
WO2002021318A2 (en) * 2000-09-07 2002-03-14 Petrovantage, Inc. Computer method and apparatus for vessel selection and optimization

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5727165A (en) * 1990-12-17 1998-03-10 Reuters Limited Offer matching system having timed match acknowledgment
US5950178A (en) * 1997-07-29 1999-09-07 Borgato; Sergio Data processing system and method for facilitating transactions in diamonds

Also Published As

Publication number Publication date
AU2002305508A1 (en) 2002-12-03
WO2002095648A1 (en) 2002-11-28
WO2002095528A3 (en) 2003-08-21

Similar Documents

Publication Publication Date Title
Johnstone et al. Audit firm portfolio management decisions
CN101430784B (en) Click based trading with intuitive grid display of market depth
KR100928600B1 (en) Trading tools for electronic trading
US8271376B2 (en) Systems and methods for monitoring credit of trading counterparties
US7526444B2 (en) Integrated trading information processing and transmission system for exempt securities
US20100076907A1 (en) Method and system for automatically inputting, monitoring and trading risk- controlled spreads
US20080162378A1 (en) Method and system for displaying a current market depth position of an electronic trade on a graphical user interface
US20080288391A1 (en) Method and system for automatically inputting, monitoring and trading spreads
US20060010032A1 (en) System, method and computer program product for evaluating an asset management business using experiential data, and applications thereof
JP2003504701A (en) Portfolio investment guidelines / compliance and financial fund management system
JP6807965B2 (en) Trading tools for e-commerce
CA2332498A1 (en) Order matching system
JP2008009562A (en) Financial product transaction management apparatus and program
US11657453B2 (en) Anonymous trading system
KR20200087598A (en) Account Process System based on Blockchain
US20100287092A1 (en) Method and system for real estate loan administration
WO2001073631A1 (en) System for anonymity electronic commerce having crediting function and method
WO2002095528A2 (en) Trading system
CN114493552A (en) RPA (remote procedure Access) automatic approval method and system for public payment based on double time axes
van de Ven Risk management from an accounting perspective
JP5826909B2 (en) Financial product transaction management apparatus, financial product transaction management system and program
CN110148055B (en) System and method for dynamic fund delegation mode of networked stock account
Gan et al. IPO Underpricing: A Tale of a Different 1920s
KR100737640B1 (en) System and Method for Secured Call Management Service
Guo et al. Study on the Identification of Corporate Financial Fraud Pathways--Evidence from Systems Engineering Theory

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

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

AL Designated countries for regional patents

Kind code of ref document: A2

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

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

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

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP