Forward market trading story - Pyosch/powertac-server GitHub Wiki

Trading and tradeable time slots

Brokers can submit shouts (limit buy or sell) for the upcoming 24 time slots. Depending on the market configuration they may also delete submitted shouts from orderbooks.

These tradeable time slots are flagged enabled by the CC. Shouts submitted for non-enabled (disabled or not yet enabled) time slots are automatically discarded.

The market colllects the submitted orders and stores them in the corresponding 24 order books. The top 10 bids and asks of each order book can be accessed by market participants. Additinally, a broker can query his open orders from any order book.

Clearing

On time slot change the CC triggers the forward market to clear all orderbooks. In the clearing process demand and supply curves are constructed from bids and asks to determine the each clearing price. All bids above the clearing price and all asks below are executed.

After the clearing the following steps are performed:

  • Clearing price and volume are publicly broadcast (public information)
  • Brokers are informed about their own executed transactions (private information)
  • Market transactions of individual brokers are reported to the accounting service which has to perform the necessary updates of cash and positions
  • Depending on the market configuration all uncleared orders may be deleted
  • The competition controller is triggered to disable the cleared time slot and enable the time slot 24 hours ahead

Related Domain Objects

  • Shout: A shout represents the order that is submitted by an indiviudal broker expressing the will to buy or sell a specified quantity of energy. The shout may specify a limit price (limit order) or not (market order).
  • Product: The central product is an energy future. Other products may be special green futures or options.
  • Timeslot: A future product can be traded for each timeslot that is enabled, i.e. brokers can sell/buy energy for any enabled timeslot separately.
  • Orderbook: The Orderbook contains the top 10 bids/asks and their respective quantites.
  • ClearingLog/TransactionLog: The ClearingLog object represents public information about a clearing, mainly the exectued quantity and the execution price. (Note: It is currently under discussion if the ClearingLog can be integrated into the Orderbook)