OneupmanshipAgent
OneupmanshipAgent is a robotic version of that annoying market participant who starts at extremely high or low price, and always bid $1 more, or ask $1 less than any competition
Constructor Summary
Public Constructor | ||
public |
constructor(options: Object) create OneupmanshipAgent |
Method Summary
Public Methods | ||
public |
Calculate price this agent is willing to accept. |
|
public |
Calculate price this agent is willing to pay. |
Inherited Summary
From class Agent | ||
public |
period: * |
|
public |
time, in JS ms since epoch, of agent wake |
|
public |
ends current period, causing agent to undertake end-of-period tasks such as production and redemption of units |
|
public |
initialize an agent to new settings |
|
public |
initPeriod(period: number | Object) re-initialize agent to the beginning of a new simulation period |
|
public |
percent of period used |
|
public |
guess at number of random Poisson wakes remaining in period |
|
public |
produce() produces units in negative inventory with configured costs, usually called automatically at end-of-period. |
|
public |
redeem() redeems units in positive inventory with configured values, usually called automatically at end-of-period. |
|
public |
increases or decreases agent's inventories of one or more goods and/or money |
|
public |
unitCostFunction(good: String, hypotheticalInventory: Object): number agent's marginal cost of producing next unit |
|
public |
unitValueFunction(good: String, hypotheticalInventory: Object): number agent's marginal value for redeeming next unit |
|
public |
wakes agent so it can act, emitting wake, and sets next wakeTime from this.nextWake() unless period.endTime exceeded |
From class Trader | ||
public abstract |
send a limit order to sell one unit to the indicated market at myPrice. |
|
public abstract |
calculate price this agent is willing to accept. |
|
public abstract |
send a limit order to buy one unit to the indicated market at myPrice. |
|
public abstract |
calculate price this agent is willing to pay. |
|
public |
For each market in agent's configured markets, calculates agent's price strategy for buy or sell prices and then sends limit orders for 1 unit at those prices. |
Public Constructors
public constructor(options: Object) source
create OneupmanshipAgent
Override:
Trader#constructorParams:
Name | Type | Attribute | Description |
options | Object |
|
Passed to Trader and Agent constructors |
Public Methods
public askPrice(marginalCost: number, market: Object): number | undefined source
Calculate price this agent is willing to accept. The returned price is either this.maxPrice (no asks), or market.currentAskPrice()-1, or undefined. Undefined (no bid) is returned if the propsed price is less than the marginalCost parameter this.integer is ignored
Override:
Trader#askPricepublic bidPrice(marginalValue: number, market: Object): number | undefined source
Calculate price this agent is willing to pay. The returned price is either this.minPrice (no bidding), or market.currentBidPrice()+1, or undefined. Undefined (no bid) is returned if the propsed price would exceed the marginalValue parameter this.integer is ignored