I wanted to know how does the Sample broker submits the bid and wanted to know the strategy behind the sample broker's move. I could not find any resources online.
I apologize for not noticing this question earlier. I guess it arrived at a time I was quite busy.
In the wholesale market, the Sample broker does two things:
1. It keeps track of per-customer consumption behavior, seeding its tables with data from the boot record. This happens in the PortfolioManager, mostly in handleMessage(TariffTransaction) when the txType is PRODUCE or CONSUME. The usage record is 168 hours long, and after the first week, updates are combined with the existing value for the given index using exponential smoothing.
2. Using the usage record, it predicts how much energy it will need for a given future timeslot and attempts to buy it as early and cheaply as possible. This happens by starting with a very low price and increasing it for each succeeding auction for a given timeslot, until the last chance at which it submits a market order (an order with a null price). Much of this behavior is in MarketManager.computeLimitPrice().
It's pretty simple, implemented just to demonstrate a possible, relatively simple approach. It does not use weather data, for example, which is why it's so bad at predicting solar production.