What are Bid/Ask Spread & Market Impact?

TL;DR: Prices on Google/Yahoo Finance are not tradable prices.

One of the most common “bug reports” we receive is that trades didn’t get executed at the same price as Google/Yahoo Finance. Ironically, the discrepancy results from several of our most distinguishing and powerful features. This note details the reasons behind the differences and demystifies our pricing methodologies.

Bid/Ask Spread

Traders coming from other virtual trading simulators have been trained to believe that the “last trade price” – the price on Yahoo or Google Finance – represent the most up-to-date, tradable price. In reality, the last trade price is a historical price that’s no longer tradable (although for most liquid stocks, the delays are only a few seconds or less). By contrast, the bid/ask prices represent the best potential prices for the next trade:

  • The bid price is the highest price that a dealer is willing to pay for a security (equivalently, it is the most that you, as an investor, can receive for selling a security);
  • The ask or offer price is the lowest price that a dealer is willing to sell the security at (equivalently, this is the least that you, as an investor, must pay to buy the security).

The ask price is always higher than the bid. This way, a dealer can buy the security from you at the bid, sell it to another investor at the higher ask price, and capture a profit by facilitating these trades.

The picture below shows the real-time quotes for $TSLA. As you can see, the last price it traded at was 247.71. This was the price displayed on Yahoo/Google Finance at the time, and the price that many traders expect to get when they trade TSLA. However, if you look at the bid/ask, you can see that the price at which you can buy TSLA (“ask”) is 247.73, while the price at which you can sell TSLA (“bid”) is only 247.36. The lesson here is that the last trade price plays no role in the next transaction; the market has already moved on.

Let’s take a look at two examples that illustrate the danger of relying on last trade prices for trading.

Example 1: $FXY Gaps

The chart below shows the intraday price history of the ETF $FXY (Guggenheim CurrencyShares Japanese) on September 2, 2015 from Google Finance:

It would appear that the price of $FXY was frequently “flat” with sudden jumps throughout the day.

The next chart plots the bids and asks of $FXY on the same day:

As can be seen, while the time series of last trade price had frequent, large gaps due to light trading, bid/ask prices were changing constantly throughout the day, and the jumps are not that “sudden” after all.

So what would happen if we had ignored bid/ask spreads? An informed investor, who does know where bid and ask are, can take advantage of the large discrepancies and execute profitable and potentially risk-free trades. For example, when the last trade price is “flat” but bid/ask has moved up, one can preemptively execute a buy order, anticipating that the last trade price will eventually move up. Of course, this kind of trading is not possible neither in the real world nor on Stockfuse.

Example 2: $AMD Bid/Ask Bounce

The chart below shows the intraday prices of $AMD. In the last 45 minutes of trading, the last trade price of AMD appeared to be jumping between 2.66 and 2.67. In reality, however, the price didn’t change at all – buyers were buying at 2.67 (ask) and sellers were selling at 2.66 (bid). When a buy order is executed, Google and Yahoo show 2.67; and when a sell order is executed, Google and Yahoo display 2.66. Ignoring this bid/ask spread, investors could buy at 2.66 and sell at 2.67 on a virtual simulator, doing it numerous times to capture a potentially sizable profit. Stockfuse does not allow such unrealistic arbitrage opportunities to take place.

Bid/ask bounce of AMD

Market Impact

Going back to the TSLA example, we now know that investors must purchase the stock at the asking price of 247.71, but the ask size at the time was only 100 shares (in the US, the displayed bid/ask sizes are usually divided by 100). This means that the seller is only willing to sell 100 shares to you at this price. If you purchase more than 100 shares, the execution price can potentially rise even more. This is known as market impact.

When you execute a large buy order, you incur market impact cost for several reasons:

  • The price must be raised in order to attract sellers to the market to sell to you;
  • You are signaling to the market that you believe the fair value of the stock is higher than its current price, and other market participants will account for this in their pricing and increase the equilibrium price.

Other virtual trading platforms ignore market impact, which allows investors to trade in and out of millions of shares of illiquid stocks at a time, capturing unrealistic profits. These orders, in real life, could 1) take days to execute if not longer, and 2) raise the market price substantially along the way.

Stockfuse uses a proprietary transaction cost model to account for market impact for each trade. In some cases, this can move the final execution price further away from the last quoted price.

So how large is the overall transaction cost? It depends on the order size (quantity), liquidity (e.g., volume), trading environment (e.g., volatility), and other factors. We studied every trade executed on Stockfuse in April 2015 and here’s the breakdown:

  • 57% of the trades incurred cost between 0 and 0.5 cents per share.
  • 26% of the trades incurred cost of 0.5–1 cent.

So over 83% of the trades incurred less than 1 cent of transaction cost. The remaining orders were generally large trades in illiquid penny stocks.

We hope this note demystifies the pricing methodology on Stockfuse. At Stockfuse, we take the integrity of trading performance very seriously. Our goal is to provide realistic simulated trading performance that’s actually obtainable in the real market. At times, this creates the perception that we’re providing unfavorable pricing, but this is what trading is like in real life and we want our users to be mindful of these “hidden costs” when they begin trading in the real world.