DrPaulBrewer / market-agents

robot trading agents for economic or financial market simulations in Javascript
Other
2 stars 1 forks source link

Implement ZIMI Agent #17

Closed DrPaulBrewer closed 4 years ago

DrPaulBrewer commented 4 years ago

ZIMIAgent = ZI Agent that Matches or Improves on current market bid or ask

At the beginning of a period, it acts like a ZIAgent

When market current Bid is undefined: bids ~ Uniform[L,V] When market current Ask is undefined: asks ~ Uniform[c,H]

But after there is a bid or ask behavior is random over the set of market-improving orders.

The original rationale was that orders that are not market-improving would be rejected by the bid-ask improvement rule of simple double auctions, and so there was no need to generate those.

With market bid or ask defined: bids ~ Uniform[market current bid, V] if market current bid <= V asks ~ Uniform[c, market current ask] if market current ask >=c

This is related to behavior in the perl scripts generating data for Brewer,Huang,Nelson,Plott (2002).

It is also related to the notion that the simulation of a stochastic process can be sped up by intentionally omitting the generation of rejected or 0-probability elements. ZIMI does not produce as many rejected bids or asks under a best bid-ask improvement rule. On the other hand, when an limit order book exists that allows all orders then ZIMI and ZI should yield different patterns of trade.