I'm trying to calculate the 'true value' of a stock listed on an exchange. I have access to the limit order-book (containing all bid/ask quotes) and also all trades which have taken place (which contain price, amount, date etc).

The context is from the POV of designing a market-making algorithm with positive expected profit.

I've tried taking:

  • The VWAP of recent trades
  • The mid-point of the bid-ask spread
  • The SMA of the mid-point of the bid-ask spread
  • The mean over all prices in the order-book

All these attempts have resulted in an overall loss, or no-trading taking place at all. I must be approaching this from the wrong angle and I think the primary suspect is incorrect true value calculation.

Does anyone have any advice, or good reference to read-up on?

  • $\begingroup$ By "market making POV" do you mean that you be a price maker as opposed to a price taker most of the time. i.e. you will sit on the bid/offer with open orders most of the time? $\endgroup$
    – Andre P.
    Feb 20, 2013 at 5:26
  • $\begingroup$ What kinda of technical infrastructure will you use in R/T? This may seem unrelated but it defines the outer boundries of the techiniques you can realistically use to accomplish your goals $\endgroup$
    – Andre P.
    Feb 20, 2013 at 5:30
  • $\begingroup$ why not compute the price that minimizes the arbitrage that exists in the orderbook. $\endgroup$
    – Johnny
    Jul 21, 2021 at 13:56

2 Answers 2


One way to think about this is as a missing data problem. You observe the order book constantly, but trades only occur infrequently. One way to resolve this is to perform full information maximum likelihood (other techniques, such as multiple imputation, may be too slow for your needs but it might be useful to look into them), which has analytical formula for the multivariate normal distribution. This would be equivalent to regressing trade prices on the order book (or just the bid and ask or some weighted least squares that accounts for the volume at each price) and then predicting what price trades would have occurred at.

Nevertheless, my guess is that performing these regressions will not help your trading strategy. Taking the mid-point of the bid/ask spread is a convenient approach to begin your analysis. The fact that several indicators produced similar results, suggests that you have other problems. You might need to re-evaluate more than just this.

  • $\begingroup$ I think you might well be right. So is the mid-point of the spread a good indicator for true value? $\endgroup$
    – wildbunny
    Dec 18, 2012 at 9:18
  • $\begingroup$ @wildbunny mid-point is a biased estimator of true value. This has been known since Stambaugh, 1982 (or maybe 1983), a more recent exposition is papers.ssrn.com/sol3/papers.cfm?abstract_id=1420314 $\endgroup$ Dec 19, 2012 at 5:39
  • $\begingroup$ @KevinSchmit Thanks for the link, appreciated. $\endgroup$
    – wildbunny
    Dec 19, 2012 at 8:35

I've tried many of these too and often it not good. It's because there are no such thing as "true price". You are trying to calculate thing that doesn't exist. Probably it makes sense to work with "original" information - bid, ask, orderbook itself.

Also it's important how liquid instrument is. For liquid instruments you can just use ask + bid / 2. But if instrument has only one deel per week it would be much harder to calculate "truePrice".

BTW "The mean over all prices in the order-book" is bad idea as a result can be very far from the bid+ask / 2.

Sometimes "combinations" works good. For example you can use several of your approaches at the same time and just use min or max of several calculated truePrice.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.