Class BalancingMarketService

    • Constructor Detail

      • BalancingMarketService

        public BalancingMarketService()
    • Method Detail

      • activate

        public void activate​(org.joda.time.Instant time,
                             int phaseNumber)
        Description copied from class: TimeslotPhaseProcessor
        This method gets called once during each timeslot. To get called, the module must first call the register(phaseNumber) method on CompetitionControl. The call will give the current simulation time and phase number in the arguments.
        Specified by:
        activate in class TimeslotPhaseProcessor
      • balanceTimeslot

        public Map<Broker,​ChargeInfo> balanceTimeslot​(List<Broker> brokerList,
                                                            org.powertac.balancemkt.BalancingMarketService.DoubleWrapper report)
        Generates a list of Transactions that balance the overall market. Transactions are generated on a per-broker basis depending on the broker's balance within its own market.
        Returns:
        List of ChargeInfo instances
      • getMarketBalance

        public double getMarketBalance​(Broker broker)
        Returns the difference between a broker's current market position and its net load. Note: market position is computed in MWh and net load is computed in kWh, conversion is needed to compute the difference in kWh.
        Specified by:
        getMarketBalance in interface BalancingMarket
        Returns:
        a broker's current energy balance within its market. Pos for over-production, neg for under-production
      • getRegulation

        public double getRegulation​(Broker broker)
        Returns the net balancing result for a given broker. Valid only after service activation within a given timeslot.
        Specified by:
        getRegulation in interface BalancingMarket
      • getPPlus

        public Double getPPlus()
        Returns the zero-quantity price for up-regulation energy in the current timeslot. Value is positive per kWh
        Specified by:
        getPPlus in interface SettlementContext
      • getPMinus

        public Double getPMinus()
        Returns the zero-quantity price for down-regulation energy in the current timeslot. Price is per kWh.
        Specified by:
        getPMinus in interface SettlementContext
      • getPPlusPrime

        public Double getPPlusPrime()
        Returns the slope of up-regulation energy purchased through the wholesale ancillary services market.
        Specified by:
        getPPlusPrime in interface BalancingMarket
      • getPMinusPrime

        public Double getPMinusPrime()
        Returns the slope of down-regulation energy sold through the wholesale ancillary services market.
        Specified by:
        getPMinusPrime in interface BalancingMarket