net.sourceforge.jasa.agent.strategy
Class StimuliResponseStrategy

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.AdaptiveStrategyImpl
                      extended by net.sourceforge.jasa.agent.strategy.DiscreteLearnerStrategy
                          extended by net.sourceforge.jasa.agent.strategy.StimuliResponseStrategy
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, AdaptiveStrategy, FixedQuantityStrategy, TradingStrategy, MarketEventListener

public class StimuliResponseStrategy
extends DiscreteLearnerStrategy
implements java.io.Serializable

A trading strategy that uses a stimuli-response learning algorithm, such as the Roth-Erev algorithm, to adapt its trading behaviour in successive market rounds by using the agent's profits in the last round as a reward signal.

 

Field Summary
protected  StimuliResponseLearner learner
          The learning algorithm to use.
 
Fields inherited from class net.sourceforge.jasa.agent.strategy.DiscreteLearnerStrategy
markupScale
 
Fields inherited from class net.sourceforge.jasa.agent.strategy.AbstractTradingStrategy
auction, tradeDirectionPolicy
 
Constructor Summary
StimuliResponseStrategy()
           
StimuliResponseStrategy(AbstractTradingAgent agent)
           
 
Method Summary
 int act()
          Generate an action from the learning algorithm.
 Learner getLearner()
           
 void learn(Market auction)
          Perform learning.
 java.lang.Object protoClone()
           
 void reset()
           
 void setLearner(Learner learner)
           
 java.lang.String toString()
           
 
Methods inherited from class net.sourceforge.jasa.agent.strategy.DiscreteLearnerStrategy
eventOccurred, getMarkupScale, initialise, modifyShout, onRoundFinished, setMarkupScale, subscribeToEvents
 
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, getAgent, getTradeDirectionPolicy, isBuy, modifyOrder, setAgent, setTradeDirectionPolicy
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface net.sourceforge.jasa.agent.TradingStrategy
determineQuantity, isBuy, modifyOrder, setAgent, subscribeToEvents
 

Field Detail

learner

protected StimuliResponseLearner learner
The learning algorithm to use.

Constructor Detail

StimuliResponseStrategy

public StimuliResponseStrategy(AbstractTradingAgent agent)

StimuliResponseStrategy

public StimuliResponseStrategy()
Method Detail

protoClone

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

act

public int act()
Description copied from class: DiscreteLearnerStrategy
Generate an action from the learning algorithm.

Specified by:
act in class DiscreteLearnerStrategy

learn

public void learn(Market auction)
Description copied from class: DiscreteLearnerStrategy
Perform learning.

Specified by:
learn in class DiscreteLearnerStrategy

reset

public void reset()
Overrides:
reset in class AbstractTradingStrategy

getLearner

public Learner getLearner()
Specified by:
getLearner in interface AdaptiveStrategy

setLearner

public void setLearner(Learner learner)
Specified by:
setLearner in interface AdaptiveStrategy

toString

public java.lang.String toString()