# Is making a bid/ask offer a good way to lower the spreads?

I have written an algorithmic trading program which relies heavily on low spreads in the 0.1-0.3 PIP region. I was now wondering if it would be a good idea to place bid/ask offers instead of limit orders to guarantee a low enough spread.

The problem I see with that is that of course I can't be sure that the trade goes trough. This is also really hard to simulate in backtesting.

So my questions are: 1. How likely is it that my trade remains in the market without anyone "buying" it? (Say my offer will be put exactly between the bid/ask prices) 2. How can I simulate that?

• can you pls check your spelling at the very least, this is 2012, most every browser has a spell check function. Furthermore I vote to have this question closed. What do you want to know? Simulating a limit order book is one of the hardest things to do. I am not sure you wanna go down that route at your "current stage". And as Louis correctly pointed out each fx execution venue will impact the limit order book differently. Its simply impossible to simulate unless you pick a specific one and have specific observations you can build into your fill simulator. Nov 25, 2012 at 16:39
• No it is not really impossible, from a historic order book, which I will analyze, I can calculate the probability to have a matching order within an acceptable time.
– Ralf
Nov 25, 2012 at 20:18
• @Ralf You can't just calculate the probability of a fill just by looking at the historic order book. This question gets asked a lot [ 1, 2 ]. It is extremely difficult to also build the software to even handle an order book [ 3, 4, 5, 6, 7 ]. Nov 26, 2012 at 0:33
• Nice job on the links! Nov 26, 2012 at 1:23

First, I assume that when you say:

And I was no wondering if it would be a good idea to place bid/ask offers instead of limit orders...

You mean that you are going to be placing non-marketable limit orders inside the posted bid/ask spread; whereas before you were sending marketable limit orders that crossed the spread.

You didn't mention the type of market data your counter party is giving you, but I'll assume you have some view of a limit order book.

As for simulation, you're going to end up with a very optimisitic estimate. But, simplisticly, consider your order matched if observed trade price is worse than your posted price. If you have access to the LOB you should attempt to estimate your position in the book. Doing so will allow you to tighten up your assumed match critera to be any time an order below your estimated position in the book is executed. Of course, your estimate of position is going to be highly dependent on several assumptions, most notably latency to your counter party.

Once you go from taking liquidity to posting it, the cost of simulation in terms of time and complexity increases. Further, the more accurate you want those simulations to be will further drive the cost up.

• Yes, that was precisely what I ment! Your idea with looking at a matched order at a worse prise is good. That was what i was looking for, thanks!
– Ralf
Nov 25, 2012 at 20:10
• Upvoting meaningful answers to you encourages others to help next time...just saying... Nov 26, 2012 at 1:24
• @Ralf, by the way simply looking at trades relative to your limit order gets you nowhere, you do not even need a LOB for that. As Lois pointed out you need to at the very least estimate your position in the queue if you want to do a half decent job. Your assumptions are way too simplistic and will result in unrealistic back tests. Nov 26, 2012 at 1:27
• @Freddy: "Vote Up requires 15 reputation" Unfortunately I don't have 15 reputation. (On the rest I will comment once I've studied chris's links)
– Ralf
Nov 26, 2012 at 18:41
• @Ralf, ok fair point re upvote, my apologies. Nov 27, 2012 at 4:22