Class ContractForDifferences

  • All Implemented Interfaces:
    BiddingStrategy

    public class ContractForDifferences
    extends PremiumBased
    implements BiddingStrategy
    Bidding strategy for two-sided contracts for differences
    Author:
    Johannes Kochems, Christoph Schimeczek
    • Constructor Detail

      • ContractForDifferences

        public ContractForDifferences​(de.dlr.gitlab.fame.agent.input.ParameterData input)
                               throws de.dlr.gitlab.fame.agent.input.ParameterData.MissingDataException
        Creates new ContractForDifferences bidding strategy
        Parameters:
        input - from config
        Throws:
        de.dlr.gitlab.fame.agent.input.ParameterData.MissingDataException - if any required input is missing
    • Method Detail

      • calcBiddingPrice

        public double calcBiddingPrice​(double marginalCostInEURperMWH,
                                       de.dlr.gitlab.fame.time.TimeStamp time,
                                       ClientData clientData)
        Specified by:
        calcBiddingPrice in interface BiddingStrategy
        Parameters:
        marginalCostInEURperMWH - cost for the provision of one more MWh of electricity by the associated client
        time - at which to produce and deliver the energy
        clientData - specifications of the client that offers to produce electricity
        Returns:
        bidding price calculated based on the specified MarginalCost, ClientData at a given time
      • calcMarketPremium

        protected double calcMarketPremium​(ClientData clientData,
                                           double marketValue,
                                           de.dlr.gitlab.fame.time.TimeStamp time)
        Description copied from class: PremiumBased
        Calculates the market premium for a given time, client and market value
        Specified by:
        calcMarketPremium in class PremiumBased
        Parameters:
        clientData - data of the client registered for a type of market premium
        marketValue - actual or expected for the given time
        time - for which to calculate the premium
        Returns:
        market premium for a given time, client and market value