MidpointAgent
MidpointAgent - An agent that bids/asks halfway between the current bid and current ask.
When there is no current bid or current ask, the agent bids minPrice or asks maxPrice.
Constructor Summary
Public Constructor | ||
public |
constructor(options: *) |
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: *) source
creates an Agent with clone of specified options and initializes with .init(). Option properties are stored directly on the created agent's this.
Override:
Trader#constructorParams:
Name | Type | Attribute | Description |
options | * |
Public Methods
public askPrice(marginalCost: number, market: Object): number | undefined source
Calculate price this agent is willing to accept.
The returned price is either the max price, the midpoint of the bid/ask, or undefined.
Undefined (no ask) is returned if the propsed price is less than the marginalCost parameter
this.integer==true causes midpoint prices to be rounded up to the next integer before comparison with marginalValue
Override:
Trader#askPricepublic bidPrice(marginalValue: number, market: Object): number | undefined source
Calculate price this agent is willing to pay.
The returned price is either the min price, the midpoint of the bid/ask, or undefined.
Undefined (no bid) is returned if the propsed price would exceed the marginalValue parameter
this.integer==true causes midpoint prices to be rounded up to the next integer before comparison with marginalValue