Package org.powertac.genco
Class Buyer
- java.lang.Object
-
- org.powertac.common.Broker
-
- org.powertac.genco.Genco
-
- org.powertac.genco.Buyer
-
@Domain public class Buyer extends Genco
This is a simple buyer that provides some amount of market liquidity, as well as a modest amount of volatility, to the wholesale market. It does this by offering to buy some quantity at some price in each timeslot. The price offered is distributed exponentially around a mean that should be lower than the lowest genco offer price. The quantity requested is inversely proportional to the price.- Author:
- John Collins
-
-
Field Summary
-
Fields inherited from class org.powertac.genco.Genco
brokerProxyService, seed
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
generateOrders(org.joda.time.Instant now, List<Timeslot> openSlots)
Generates buy orders.double
getMwh()
double
getPriceBeta()
void
setMwh(double mwh)
void
setPriceBeta(double priceBeta)
-
Methods inherited from class org.powertac.genco.Genco
getCarbonEmissionRate, getCommitmentLeadtime, getCost, getNominalCapacity, getReliability, getVariability, init, isInOperation, setCurrentCapacity, setInOperation, updateModel, withCarbonEmissionRate, withCommitmentLeadtime, withCost, withNominalCapacity, withReliability, withVariability
-
Methods inherited from class org.powertac.common.Broker
addMarketPosition, addMarketPosition, findMarketPositionByTimeslot, findMarketPositionByTimeslot, getCashBalance, getId, getIdPrefix, getKey, getPassword, getUsername, isEnabled, isLocal, isWholesale, receiveMessage, setEnabled, setIdPrefix, setKey, setLocal, setPassword, setQueueName, setWholesale, toQueueName, toString, updateCash
-
-
-
-
Constructor Detail
-
Buyer
public Buyer(String username)
-
-
Method Detail
-
generateOrders
public void generateOrders(org.joda.time.Instant now, List<Timeslot> openSlots)
Generates buy orders. Price is distributed exponentially with a mean value of priceBeta. Quantity is mwh/price.- Overrides:
generateOrders
in classGenco
-
getPriceBeta
public double getPriceBeta()
-
setPriceBeta
@ConfigurableValue(valueType="Double", description="Mean offer price for exponential distribution") @StateChange public void setPriceBeta(double priceBeta)
-
getMwh
public double getMwh()
-
setMwh
@ConfigurableValue(valueType="Double", description="Offer quantity for price = 1.0") @StateChange public void setMwh(double mwh)
-
-