Package agents.trader.renewable
Class RenewableTrader
- java.lang.Object
-
- de.dlr.gitlab.fame.agent.Agent
-
- agents.trader.Trader
-
- agents.trader.TraderWithClients
-
- agents.trader.renewable.AggregatorTrader
-
- agents.trader.renewable.RenewableTrader
-
- All Implemented Interfaces:
DayAheadMarketTrader
,PowerPlantScheduler
,de.dlr.gitlab.fame.agent.AgentAbility
public class RenewableTrader extends AggregatorTrader
Markets renewable capacities considering various different support instruments- Author:
- Johannes Kochems, Christoph Schimeczek, Felix Nitsch, Farzad Sarfarazi, Kristina Nienhaus
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class agents.trader.renewable.AggregatorTrader
AggregatorTrader.OutputColumns, AggregatorTrader.Products
-
-
Field Summary
Fields Modifier and Type Field Description static de.dlr.gitlab.fame.agent.input.Tree
parameters
Inputs specific toRenewableTrader
s-
Fields inherited from class agents.trader.renewable.AggregatorTrader
clientMap, errorGenerator, powerPrices, submittedBidsByTime
-
Fields inherited from interface agents.markets.DayAheadMarketTrader
ERR_CLEARING_TIMES_AMBIGUOUS, ERR_CLEARING_TIMES_MISSING
-
-
Constructor Summary
Constructors Constructor Description RenewableTrader(de.dlr.gitlab.fame.agent.input.DataProvider dataProvider)
Creates aRenewableTrader
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected double
applyPayoutStrategy(long plantOperatorId, de.dlr.gitlab.fame.time.TimePeriod accountingPeriod, double marketRevenue)
Forward the sum of revenues from support and markets to plant operators; may keep a certain share of the overall revenuesprotected Bid
calcBids(Marginal marginal, de.dlr.gitlab.fame.time.TimeStamp targetTime, long producerUuid, boolean hasErrors)
Creates aBid
from given Marginal-
Methods inherited from class agents.trader.renewable.AggregatorTrader
getClientDataForSetType, getPowerWithError, logClientDispatchAndRevenues, submitHourlyBids
-
Methods inherited from class agents.trader.Trader
extractMarginalsAtTime, getMatchingContract, getSortedMarginalList, sortMarginalsByTimeStamp
-
Methods inherited from class de.dlr.gitlab.fame.agent.Agent
addContract, call, closeChannel, executeActions, executeWarmUp, fulfilNext, fulfilNext, getId, getNextRandomNumberGenerator, getPostOffice, handleMessage, initialiseActions, now, openChannel, publish, receive, sendMessageTo, sendMessageTo, store, store, toString, warmUp
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface de.dlr.gitlab.fame.agent.AgentAbility
call, fulfilNext, fulfilNext, getId, getNextRandomNumberGenerator, now, store, store
-
Methods inherited from interface agents.markets.DayAheadMarketTrader
extractTimesFromGateClosureInfoMessages, readGateClosureInfoMessage
-
-
-
-
Field Detail
-
parameters
public static final de.dlr.gitlab.fame.agent.input.Tree parameters
Inputs specific toRenewableTrader
s
-
-
Constructor Detail
-
RenewableTrader
public RenewableTrader(de.dlr.gitlab.fame.agent.input.DataProvider dataProvider) throws de.dlr.gitlab.fame.agent.input.ParameterData.MissingDataException
Creates aRenewableTrader
- Parameters:
dataProvider
- provides input from config- Throws:
de.dlr.gitlab.fame.agent.input.ParameterData.MissingDataException
- if any required data is not provided
-
-
Method Detail
-
calcBids
protected Bid calcBids(Marginal marginal, de.dlr.gitlab.fame.time.TimeStamp targetTime, long producerUuid, boolean hasErrors)
Description copied from class:AggregatorTrader
Creates aBid
from given Marginal- Specified by:
calcBids
in classAggregatorTrader
- Parameters:
marginal
- pair of true cost and power potentialtargetTime
- associated with the marginal and bidproducerUuid
- id of plant operator associated with marginalhasErrors
- if true errors will be added to the power of the bid- Returns:
- created bid
-
applyPayoutStrategy
protected double applyPayoutStrategy(long plantOperatorId, de.dlr.gitlab.fame.time.TimePeriod accountingPeriod, double marketRevenue)
Forward the sum of revenues from support and markets to plant operators; may keep a certain share of the overall revenues- Specified by:
applyPayoutStrategy
in classAggregatorTrader
- Parameters:
plantOperatorId
- the operator to payaccountingPeriod
- to be consideredmarketRevenue
- earned with bids associated with that operator- Returns:
- value to pay out to that plant operator
-
-