This is an asynchronous trading model based on Garman (1976) and Ho and Stoll (1980). Consider an economy with 1 traded good and 1 numeraire good. In neoclassical economics, trading is synchronized. That is, all buyers and sellers meet at the same time and trade over a market clearing price. All buyers whose valuation of the good is below the market price, and all sellers whose valuation of the good is above the market price, would not trade. The trading mechanism of many markets, for example the stock exchange, is different from the neoclassical setup. The stock exchange adopts an asynchronous trading model, where buyers and sellers are allowed to queue (FIFO) for their trade when they do not meet counter party of compatible good valuation. The most observed statistic of this market is the last transacted price. Due to the setup, this statistic seems to exhibit a random walk within each momentary bid ask spread. The study of Market Microstructure analyzes the property of such random walk, to backward infer the valuation and beliefs of the traders.
In this article, we simulate (forward) by assuming the traders' characteristics and produce the observed random walk. We shall study how changes to the characteristics would affect the random walk.
Each trader would trade only 1 unit of good. Traders arrive in a Poisson process. Buyers has arrival mean lambda_b while sellers has arrival mean lambda_s. On the birth of each trader, the trader is assigned a valuation based on a discrete triangular distribution from 1 to 10. Buyers has valuation mode mu_b while sellers has valuation mode mu_s.
On the arrival of a buyer with valuation x, the buyer checks whether there is a seller with a ask price of less than or equal to x. If there is, the buyer trades with that seller. If there is not, the buyer queues at a bid price of x. Similarly on the arrival of a seller with valuation y, the seller checks whether there is a buyer with a bid price of more than or equal to y. If there is, the seller trades with that buyer. If there is not, the seller queues at an ask price of y. In this model, a queued trade never expire.
We refer to the Flash program above for the observations. Firstly, due to the setup of our model, the buyers queue accumulates at the lower end of the trade price, while the sellers queue accumulates at the upper end of the trade price. The two set of queues do not intermix. Secondly we observe that the last traded price do indeed produce a random walk like graph. Due to our upper and lower bounds of traders' valuation, this random walk is bounded. By theroem in Birth and Death processes, this means given an infinitely long time, each of the traded price will be visited. Thirdly, we observe that as queues build up at the upper and lower end of the trading price range, they form a 'barrier' which confines the possible trading prices to a much narrower range in the short run.
Fourthly if we were to move the mode valuation of both the buyers and sellers to a higher (or lower) value, then the random walk does drift towards a higher (or lower) mean. This simulates the public disclosure of a favorable (or unfavorable) piece of news, which affects the valuation mode of traders. Finally if we were to move the mode valuation of the buyers lower and the mode valuation of the sellers higher, then very often there would be a larger gap between the buyer queue and the seller queue, resulting in a large amplitude in the random walk. This simulates an illiquid market where seldom a compatible price would come along.
From the hiring of a worker, to buying a diamon in the jewelry shop, most trades we encounter nowadays are asynchronous trades. As shown in the simulation, fluctuations in trading price is inevitable. Many arbitrage traders attempt to bridge these fluctuations by buying low and selling high. To cope with the changes in traders' beliefs and valuation, they analyze price trends using technical analysis tools. On the other hand, there are traders who would ignore these fluctuations completely and adopt the neoclassical pricing approach. They trade on the worth of the good based on its fundamentals. Which of these methods give a better valuation of the good? This simulation is a first step towards a closer look at this comparison.
This simulation could not yet mimic the stock market close enough due to the following simplications:
The traded quantity is fixed at 1. Hence in this model, we could not simulate the effect of a large block trade.
The queued order never expires. This restriction prevents us from more realistically simulating the reaction to news, or changes in traders' beliefs and valuation. In our model, a queued trader cannot react to these changes.
The range of the trading price is limited. This prevents us from simulating a market crash.
There is no market maker in this model. The specialist in the stock exchange improves liquidity by taking up counter positions. She also has insider information about the traders' queues. Thus research has shown that the specialist does earn abnormal returns. However what portion of this return is a fee to the market making function of the specialist, and what portion is due to his investment? Our model could not analyze this.