net.commerce.zocalo.experiment.role
Class TradingSubject
java.lang.Object
net.commerce.zocalo.experiment.role.AbstractSubject
net.commerce.zocalo.experiment.role.TradingSubject
- All Implemented Interfaces:
- ExperimentSubject
- Direct Known Subclasses:
- Manipulator, Trader
public abstract class TradingSubject
- extends AbstractSubject
base class for subjects that trade: Traders and Manipulators.
Method Summary |
Quantity |
accountValueFromProperties(java.util.Properties props)
|
void |
addBonus(Funds funds)
|
protected ScoreExplanationAccumulator |
assetValueTable(java.util.Properties props,
java.lang.String carryForwardAssetLabel,
boolean keepingScore,
boolean carryForward)
|
Quantity |
balance()
|
boolean |
canBuy(int currentRound)
|
boolean |
canSell(int currentRound)
|
Quantity |
cashFromProperties(java.util.Properties props)
|
Quantity |
couponValue(BinaryClaim claim,
Quantity actualValue)
|
Quantity |
currentCouponCount(BinaryClaim claim)
|
boolean |
displayCarryForwardScores(java.util.Properties props)
|
protected boolean |
dormant(int currentRound)
|
java.lang.String |
getHint()
|
java.lang.String |
getName()
|
User |
getUser()
|
Quantity |
limitedCouponValue(BinaryClaim claim,
Quantity actualValue,
Session session)
|
protected java.lang.String |
linkText()
|
java.lang.String |
logConfigValues(org.apache.log4j.Logger log,
java.util.Properties props,
int rounds)
|
java.lang.String |
pageLink()
|
Funds |
payDividend(Quantity perShareDividend,
Quantity shares,
Position pos)
|
abstract java.lang.String |
propertyWordForRole()
|
java.lang.String |
publicValueLabel(java.util.Properties props)
|
void |
receiveDividend(Funds funds)
|
protected ScoreExplanationAccumulator |
recordActualValueExplanations(java.util.Properties props,
boolean carryForward)
|
void |
reduceReservesTo(Quantity perShare,
Position pos)
|
void |
rememberAssets(BinaryClaim claim)
|
void |
rememberHoldings(BinaryClaim claim)
|
void |
resetOutstandingOrders()
|
java.lang.String |
roleName()
|
void |
setHint(java.lang.String hint)
|
Quantity |
totalDividend(BinaryClaim claim,
Session session,
int round)
|
Methods inherited from class net.commerce.zocalo.experiment.role.AbstractSubject |
actualValueLabel, addScoreComponent, dividendValueLabel, dormantPeriods, getScore, getScoreComponent, getScoreComponent, getScoreExplanation, getScoreLogger, initializeDormancy, isDormant, labelFromPropertyOrDefault, linkHtml, recordBonusInfo, recordDormantInfo, recordExplanation, recordMultiplier, recordScore, resetScoreInfo, saveMultiplierIfGiven, setHintsForRound, setScore, totalAssetsLabel, totalScore |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
BalanceComponent
public static final java.lang.Object BalanceComponent
AssetsComponent
public static final java.lang.Object AssetsComponent
AverageComponent
public static final java.lang.Object AverageComponent
TotalDividendComponent
public static final java.lang.Object TotalDividendComponent
PrivateDividendComponent
public static final java.lang.Object PrivateDividendComponent
PublicDividendComponent
public static final java.lang.Object PublicDividendComponent
role
protected Role role
TradingSubject
public TradingSubject(User user,
Role role)
cashFromProperties
public Quantity cashFromProperties(java.util.Properties props)
accountValueFromProperties
public Quantity accountValueFromProperties(java.util.Properties props)
propertyWordForRole
public abstract java.lang.String propertyWordForRole()
balance
public Quantity balance()
getName
public java.lang.String getName()
- Specified by:
getName
in class AbstractSubject
logConfigValues
public java.lang.String logConfigValues(org.apache.log4j.Logger log,
java.util.Properties props,
int rounds)
- Specified by:
logConfigValues
in interface ExperimentSubject
- Overrides:
logConfigValues
in class AbstractSubject
getHint
public java.lang.String getHint()
setHint
public void setHint(java.lang.String hint)
couponValue
public Quantity couponValue(BinaryClaim claim,
Quantity actualValue)
limitedCouponValue
public Quantity limitedCouponValue(BinaryClaim claim,
Quantity actualValue,
Session session)
currentCouponCount
public Quantity currentCouponCount(BinaryClaim claim)
getUser
public User getUser()
linkText
protected java.lang.String linkText()
- Specified by:
linkText
in class AbstractSubject
rememberHoldings
public void rememberHoldings(BinaryClaim claim)
- Overrides:
rememberHoldings
in class AbstractSubject
rememberAssets
public void rememberAssets(BinaryClaim claim)
- Overrides:
rememberAssets
in class AbstractSubject
addBonus
public void addBonus(Funds funds)
- Specified by:
addBonus
in class AbstractSubject
payDividend
public Funds payDividend(Quantity perShareDividend,
Quantity shares,
Position pos)
- Specified by:
payDividend
in class AbstractSubject
receiveDividend
public void receiveDividend(Funds funds)
- Specified by:
receiveDividend
in class AbstractSubject
reduceReservesTo
public void reduceReservesTo(Quantity perShare,
Position pos)
- Specified by:
reduceReservesTo
in class AbstractSubject
totalDividend
public Quantity totalDividend(BinaryClaim claim,
Session session,
int round)
throws ScoreException
- Specified by:
totalDividend
in class AbstractSubject
- Throws:
ScoreException
assetValueTable
protected ScoreExplanationAccumulator assetValueTable(java.util.Properties props,
java.lang.String carryForwardAssetLabel,
boolean keepingScore,
boolean carryForward)
recordActualValueExplanations
protected ScoreExplanationAccumulator recordActualValueExplanations(java.util.Properties props,
boolean carryForward)
pageLink
public java.lang.String pageLink()
resetOutstandingOrders
public void resetOutstandingOrders()
displayCarryForwardScores
public boolean displayCarryForwardScores(java.util.Properties props)
publicValueLabel
public java.lang.String publicValueLabel(java.util.Properties props)
canBuy
public boolean canBuy(int currentRound)
canSell
public boolean canSell(int currentRound)
dormant
protected boolean dormant(int currentRound)
- Overrides:
dormant
in class AbstractSubject
roleName
public java.lang.String roleName()
- Specified by:
roleName
in class AbstractSubject