edu.cuny.cat.trader
Class TradingAgent

java.lang.Object
  extended by java.util.Observable
      extended by edu.cuny.cat.trader.AbstractTradingAgent
          extended by edu.cuny.cat.trader.TradingAgent
All Implemented Interfaces:
AuctionEventListener, edu.cuny.config.param.Parameterizable, edu.cuny.obj.Prototypeable, edu.cuny.obj.Resetable, java.io.Serializable, java.lang.Cloneable, java.util.Observer

public class TradingAgent
extends AbstractTradingAgent
implements java.io.Serializable

An implementation of trading agents that can bid in a market up to a fixed number of units of commodities, and can choose between markets to maximize their profit.

Version:
$Revision: 1.29 $
Author:
Kai Cai
See Also:
Serialized Form

Field Summary
protected  int initialTradeEntitlement
          The initial value of tradeEntitlement
protected  boolean isActive
          whether this trading agent is actively trading
static java.lang.String P_INITIAL_TRADE_ENTITLEMENT
           
protected  int tradeEntitlement
          The number of units this agent is entitlted to have yet to trade on a trading day.
 
Fields inherited from class edu.cuny.cat.trader.AbstractTradingAgent
availableMarkets, currentShout, informationFee, isSeller, lastDayProfit, lastShoutProfit, marketSelectionStrategy, P_DEF_BASE, P_INITIAL_MARGIN, P_IS_SELLER, P_MARKET_SELECTION_STRATEGY, P_RESETTING_CONDITION, P_STRATEGY, privateValue, profitFee, profits, registrationFee, resettingCondition, shoutFee, shoutIdList, strategy, traderId, transactionFee
 
Constructor Summary
TradingAgent()
           
TradingAgent(double privateValue, int initialTradeEntitlement, boolean isSeller)
           
 
Method Summary
 int determineQuantity()
           
 int getInitialTradeEntitlement()
           
 int getQuantityTraded()
           
 int getTradeEntitlement()
           
 void initialize()
           
 boolean isActive()
           
 void processDayOpened(DayOpenedEvent event)
           
 java.lang.Object protoClone()
           
 void setInitialTradeEntitlement(int initialTradeEntitlement)
           
 void setTradeEntitlement(int tradeEntitlement)
           
 void setup(edu.cuny.config.param.ParameterDatabase parameters, edu.cuny.config.param.Parameter base)
           
 void shoutAccepted(Shout shout, double price, int quantity)
           
 java.lang.String toString()
           
 
Methods inherited from class edu.cuny.cat.trader.AbstractTradingAgent
eventOccurred, getCurrentShout, getLastDayProfit, getLastShoutProfit, getMarketSelectionStrategy, getPrivateValue, getProfits, getStrategy, getTraderId, isBuyer, isSeller, processDayClosed, processFeesAnnounced, processGameOver, processGameStarted, processGameStarting, processIdAssigned, processPrivateValueAssigned, processRegistration, processRoundClosed, processRoundClosing, processRoundOpened, processShoutPlaced, processSubscription, processTransactionExecuted, requestShout, reset, setIsSeller, setLastDayProfit, setLastShoutProfit, setMarketSelectionStrategy, setPrivateValue, setProfits, setStrategy, setTraderId, update
 
Methods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

tradeEntitlement

protected int tradeEntitlement
The number of units this agent is entitlted to have yet to trade on a trading day.


initialTradeEntitlement

protected int initialTradeEntitlement
The initial value of tradeEntitlement


isActive

protected boolean isActive
whether this trading agent is actively trading


P_INITIAL_TRADE_ENTITLEMENT

public static final java.lang.String P_INITIAL_TRADE_ENTITLEMENT
See Also:
Constant Field Values
Constructor Detail

TradingAgent

public TradingAgent()

TradingAgent

public TradingAgent(double privateValue,
                    int initialTradeEntitlement,
                    boolean isSeller)
Method Detail

setup

public void setup(edu.cuny.config.param.ParameterDatabase parameters,
                  edu.cuny.config.param.Parameter base)
Specified by:
setup in interface edu.cuny.config.param.Parameterizable
Overrides:
setup in class AbstractTradingAgent

initialize

public void initialize()
Overrides:
initialize in class AbstractTradingAgent

protoClone

public java.lang.Object protoClone()
Specified by:
protoClone in interface edu.cuny.obj.Prototypeable

isActive

public boolean isActive()
Specified by:
isActive in class AbstractTradingAgent
Returns:
true if this trading agent is actively trading or false otherwise.

processDayOpened

public void processDayOpened(DayOpenedEvent event)
Overrides:
processDayOpened in class AbstractTradingAgent

shoutAccepted

public void shoutAccepted(Shout shout,
                          double price,
                          int quantity)
Overrides:
shoutAccepted in class AbstractTradingAgent

getQuantityTraded

public int getQuantityTraded()

determineQuantity

public int determineQuantity()

getTradeEntitlement

public int getTradeEntitlement()

setTradeEntitlement

public void setTradeEntitlement(int tradeEntitlement)

getInitialTradeEntitlement

public int getInitialTradeEntitlement()

setInitialTradeEntitlement

public void setInitialTradeEntitlement(int initialTradeEntitlement)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object