net.sourceforge.jasa.agent.strategy
Class GDStrategy

java.lang.Object
  extended by AbstractStrategy
      extended by net.sourceforge.jasa.agent.strategy.AbstractTradingStrategy
          extended by net.sourceforge.jasa.agent.strategy.FixedQuantityStrategyImpl
              extended by net.sourceforge.jasa.agent.strategy.FixedDirectionStrategy
                  extended by net.sourceforge.jasa.agent.strategy.GDStrategy
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, FixedQuantityStrategy, TradingStrategy, MarketEventListener

public class GDStrategy
extends FixedDirectionStrategy
implements java.io.Serializable

An implementation of the Gjerstad Dickhaut strategy. Agents using this strategy calculate the probability of any bid being accepted and bid to maximize expected profit. See

"Price Formation in Double Auctions" S. Gjerstad, J. Dickhaut and R. Palmer

Note that you must configure a report of type HistoricalDataReport in order to use this strategy.

See Also:
HistoricalDataReport
 

Field Summary
protected  HistoricalDataReport historyStats
           
protected  double max
           
static double MAX_PRICE
           
protected  double maxPoint
           
 
Fields inherited from class net.sourceforge.jasa.agent.strategy.AbstractTradingStrategy
auction, tradeDirectionPolicy
 
Constructor Summary
GDStrategy()
           
 
Method Summary
 double calculateProbability(double price)
           
 void eventOccurred(SimEvent event)
           
 TokenTradingAgent getAgent()
           
 HistoricalDataReport getHistoryStats()
           
 boolean modifyShout(Order shout)
           
 void onMarketOpen(MarketOpenEvent event)
           
 void onRoundClosed(Market auction)
           
 java.lang.Object protoClone()
           
 void setHistoryStats(HistoricalDataReport historyStats)
           
 void subscribeToEvents(EventScheduler scheduler)
           
 
Methods inherited from class net.sourceforge.jasa.agent.strategy.FixedDirectionStrategy
isBuy, isSell, setBuy
 
Methods inherited from class net.sourceforge.jasa.agent.strategy.FixedQuantityStrategyImpl
determineQuantity, getQuantity, setQuantity
 
Methods inherited from class net.sourceforge.jasa.agent.strategy.AbstractTradingStrategy
clone, getTradeDirectionPolicy, initialise, isBuy, modifyOrder, reset, setAgent, setTradeDirectionPolicy
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface net.sourceforge.jasa.agent.TradingStrategy
initialise, isBuy, modifyOrder, setAgent
 

Field Detail

maxPoint

protected double maxPoint

max

protected double max

historyStats

protected HistoricalDataReport historyStats

MAX_PRICE

public static double MAX_PRICE
Constructor Detail

GDStrategy

public GDStrategy()
Method Detail

protoClone

public java.lang.Object protoClone()
Overrides:
protoClone in class AbstractTradingStrategy

subscribeToEvents

public void subscribeToEvents(EventScheduler scheduler)
Specified by:
subscribeToEvents in interface TradingStrategy

eventOccurred

public void eventOccurred(SimEvent event)

onMarketOpen

public void onMarketOpen(MarketOpenEvent event)

getAgent

public TokenTradingAgent getAgent()
Overrides:
getAgent in class AbstractTradingStrategy

modifyShout

public boolean modifyShout(Order shout)
Overrides:
modifyShout in class FixedDirectionStrategy

calculateProbability

public double calculateProbability(double price)

onRoundClosed

public void onRoundClosed(Market auction)

getHistoryStats

public HistoricalDataReport getHistoryStats()

setHistoryStats

public void setHistoryStats(HistoricalDataReport historyStats)