not that long ago I encountered a broker called LMAX.
I was impressed with their MTF technology that to the best of my knowledge was available only for the largest investment institutions in the world.
It was very impressing that individual traders as me could use that modern technology.
Before coming across with LMAX I knew some ECN brokers having execution time from 200 to 400ms.
LMAX claims execution time averaging 4ms !!!
I think right now they are the best option for algorithmic traders.
What is your opinion about them?
Have you heard of LMAX and MTF technology before?
Hey Michael, just ran across your post. I have a trading platform which enables semi-automatic multi-order incremental scalping on Dukascopy. For a while, we were happy with Dukas, but we investigated their intra-spread liquidity. Turns out that Dukas matches Best Bids and Offers (they have a special order type for that) only with their brokerage clients. So the probability of a wholesale fill inside the spread is improbable, and if you get hit, the fill sizes are nowhere near what you are requesting. Meaning itâs a good Retail liquidity brokerage, but its âwholesaleâ liquidity, contrary to their claims, is near zero.
So⌠with great hesitancy my partner agreed weâd migrate the software to LMAX looking for âpartial wholesaleâ fills inside the spread, tighter spreads, and faster execution times. After many weeks of work, we now have an Alpha quality platform available.
Our original platform code is Java, which used the Dukascopy API. To preserve the core logic, we had to fully emulate the Dukascopy IEngine with all of the conversions between LMAX data formats to the Dukas values. This means that we can submit dozens of simultaneous orders, and expect to be able to cancel/replace in under 100 msecs, probably well under 50 msecs from a colocated server.
So, yes, you are correct that for scalping with the possibility of at least partial wholesale fills, fastest possible execution and âno last lookâ all point to LMAX for Forex trading. Iâll post more result in a few days once we get performance optimized and stability under stress testing.
I can confirm that LMAX is most likely the best venue for âHFTâ trading. My own style is micro scalping with multiple simultaneous limit orders, which we have confirmed âmake the spreadâ in most cases. I call this âwholesaleâ pricinig, but itâs a matter of semantics. If you are a specialist trader with âhigh frequencyâ precision trading requirements, then I can highly recommend execution on LMAX.
But I know traders get all excited about things like this, and I must caution you that if you are not an âalgorithmicâ trader with specialist requirements, and if you cannot develop to an API with confidence, then you should NOT consider LMAX as it reallly offers no advantages to the normal retail trader. You would be better to use Dukascopy or other such retail brokerages. LMAX does not offer the âcreature comfortsâ which most traders need but, when it comes to execution, thereâs nothing better I can say, having âthrashedâ the system now for more than a full week and wrung all of the bugs out of our interactive trading platform.
One more thing: U.S. persons cannot obtain LMAX accounts due to FATCA and other issues of regulation. As a U.S. person myself, Iâve had to partner with a European firm in order to work with LMAX.
max 1.5 pips slippage between request and confirmation
API is free. No $10000 deposit, no $250 one time fee activation, no ECN connection per request, no $500 mil trade size per month, no $50 minimum commission, etc etc.
I wish all those brokers with FIX API and crazy requirements to go to h**l for the moment.
Just to show an example here, first of all we see only slight price
improvement on these 6 transactions (3 Buy and 3 Sell) but there is
some price improvement nevertheless.
The >>> and/or <<< symbols indicate tenths of a pip price improvement
and some fills were obtained by âhitting the bid/askâ so price improvement
would not be expected. 3 staggered Buys, and then 3 staggered Sells
completes the âLong tradeâ sequence back to flat again.
An Average Buy and Average Sell indication is a guide to the overall
positive result for this scalp sequence on LMAX. The reason the display looks
weird is that Iâm viewing it with VNC but itâs Java running on a remote
dedicated Linux server running the Gnome desktop.
Just to explain a bit further, when Buying here, the software âreactsâ to a
pullback and strikes the ASK to Buy. So no price improvement would
be expected. On the Sell operations a couple of them are resting limit
orders so some price improvement would be expected. Sometimes you
want to get in ânowâ (so you strike retail) and sometimes you want to
wait to get a more âwholesaleâ type of fill inside the spread.
Does it have a special order type where you say fill at this price or cancel my order otherwise ?
I tell why, because you can compute the profit at +1 pip + commission and they fill the order at a different price that you cannot control and you end up with -1 pip + commission.
Hi, well I can answer that for you but first of all, remember that this is using an API.
LMAX offers 3 ways to interface with the exchange: 1) Java API, 2) DotNET API or 3) FIX API.
As I said, this is for âproâ traders.
Both 1) and 2) are using a âweb servicesâ approach, for which they give you
an API which is a fairly âthinâ layer over the underlying XML type interchange.
For FIX, I am not an expert, and we chose not to use that approach right now, as
it doesnât give us any advantage, and anyway we started with Java software with
which I am an expert. Having never used FIX, that was a learning curve I wanted
to delay until later.
It took me about 90 days to port our software, but that was due to some emulations
of Dukascopy API, specifically IEngine internal order tracking, which we wanted to
do to preserve the âcore logicâ of the app as much as possible. Now, to answer
your question
LMAX supports normal Market orders, and Limit orders. With a Limit order, you cannot
be filled at a âworseâ price, but you may certainly be filled at a âbetterâ price, so your
issue does not arise when Limit orders are used.
As for more âexoticâ types, such as âFill or Killâ (FOK) I am not sure, but that would
be through the FIX API, most likely, if available. Of course LMAX supports simultaneous
multiple Limits both above and below the market. One thing I found weird was that
price change was not supported (in the Java API) so we need to Cancel and then place
a new Order at the new Price/Quantity. FIX might support an âatomicâ cancel/replace
but I am not sure.
LMAX offers a web-based trading platform. Personally I donât like it at all, but it doesnât
matter for our purposes. Third parties, like MultiCharts and I believe Ninja offer interfaces
to LMAX and some trading methods which normal traders would find familiar.
But as I will continue to say, unless you are a âhard coreâ algorithmic micro scalping
professional user, you should NOT choose LMAX. It really doesnât offer that much
advantage for a retail trader, and the available software interfaces are limited.
But if you have a pro trading operation, and specialist software or are fortunate enough
to know how to develop yourself, then LMAX can be a huge advantage.
They also have inactivity fees, so the casual trader wonât like that. For professionals,
these are insignificant relative to the speed, precision and âbetter than retailâ pricing
which LMAX offers.
Incidentally, anyone who wants to watch the LIVE LMAX Books can use this link:
0.1 is their smallest size (1k), and you will see that all Bids and Offers affect the book,
and all participants enjoy a âlevel playing fieldâ for execution.
Yes, I understand. But FXCMâs offerings in many ways cannot be compared to LMAX,
they are just for very different trader audiences. Congratulations if you wrote a C++
API application !! So Iâm not in any way minimizing your post, thanks for the information,
but LMAX allows all participants to âmake the marketâ and be âliquidity providersâ and
there are almost no exchange venues which truly offer that.
When proper trading methods are used, âslippageâ and ârequotesâ are non-existent on
LMAX, as it is a true âexchangeâ and liquidity inside the spread is dependent upon the
participants at every instant in time. You are not required to âbuy retailâ from Banks
and large Market Makers. You can compete with them on the same âlevelâ playing
field for fills. So you become a âmini market makerâ yourself which, as I say, for a
pro trading operation makes a huge difference.
For professionals, this is
the difference between hundreds and thousands per day. Good Trading ! HyperScalper
HyperScalper, you put some valuable information in this thread. I really appreciate it.
Yes, I recognized the linux from the scroll bar and window border.
Good for you, that you get it ported,running,bug free Congratulations!
I hope you will continue to share you experience with LMAX in this thread.
Hereâs another scalp just completed. During the U.S. afternoon, there is
nearly no price movement, so often these are just âpracticeâ trades even
though they are live.
Here the trading plaform is running remotely on a Linux Quad Xeon dedicated
box near the UK, where the LMAX exchange is located. This reduces the network
latency, and allows us to âreactively strikeâ on a âprice snapâ. These are typically âretailâ
strikes, so we Buy by placing a Limit Order at the ASK at that moment when we
see the pullback we want. So no price improvement. (The snap pullback is the
price improvement we were looking for, rather than liquidity inside the spreadâŚ)
The last closing Target was allowed as a Limit order to just stay in the market,
but it did not receive more than about 0.2 PIP price improvement due to a near
zero level of âretail counterparty liquidityâ.
In this type of trading, by the way, or in any trading, just âflipping a coinâ to
decide whether to go Long or Short just doesnât work. Analytics indicating the
market trend are required (not shown here) to keep us trading âin the right
directionâ.
One of the goals of our trading operation was to be able to trade âwide spreadâ
Currency Pairs such as GBP/JPY . This pair has a fairly wide range, but it also has
a wide Bid/Ask spread which makes it nearly impossible to trade with only
Retail pricing. In the attached graphic, a Limit order at Best Bid was filled, and
subsequently a limit at Best Offer. Careful measurement shows that a substantial
portion of the spread was âmadeâ rather than âpaidâ.
The >>>> and <<<< notations show how many Tenths of a PIP better than
the retail price (wholesale price improvement) were obtained.
Thus, even though the market price does not move at all, or moves only very
little, it is possible to be profitable. Good Trading ! HyperScalper
I always having a glance with hft trading system, some said it built for specialist traders only. well, anywhere to trade better reconsider what the cost of your trade , each transaction. i do scalp trade as my primary method, iâm noobs with hft, and i wish to learn more, and I taking consider the HFT idea into my armada markets account, perhaps i cant said theyâre perfect for it, narrowed spread and execution are fair enough, but itâs not the issue iâve been thinking about. well, HFT in my noobs mind, means a fast lighting order, fast in fast out, catch the market price even before it taking breathe.
first thing to come in my mind, do we take this routine eventually, at regular basis. fast order fast exit, could it be means a more order executed ? how bout the cost for each transaction?. said with normal scalp method without consider HFT, we only able to grap 100 orders a monthly, so when it took hft supported is should expand the trades executed? for ex 200 trades. correct me if iâm wrong, iâm just a retail trader, and i use my common sense well, an extreme overtrade scalp are only good for them, as the collect more from the commision.
Good points. 1) HFT is for specialist institutions. For individiual professional traders, I think itâs best to use the term âActive Micro Scalpingâ. 2) Fast in / fast out and primarily winning the spread is NOT what the technique does, as it is not practical except for institutions. 3) Contact someone who does âactive day tradingâ and gain access to specialist analytics and order entry software if you wish to adopt similar techniques yourself. I call the style of trading âincremental micro scalpingâ because it is not âone shot in, one shot outâ but a process or methodology of âcontinuous tradingâ. Most importantly it is âspecialist tradingâ for a trading business, and cannot be done by underfunded or inexperienced traders. Stick with âswing tradingâ and youâll be happier would be my advice. But to develop a specialist trading business you need to treat it as a business, and invest in the right software and training to succeed. HyperScalper
Can you tell me what that means? In my view it has no meaning whatsoever. Trades taken which happen to coincide with ânewsâ are just trades. Scalping is just trading for smaller targets on shorter timeframes, which is, again, just trading. In their sample applications they show complete âunthrottledâ code which cancels and places new orders every single time the Bid/Ask changes. Something I would never do, but absolutely no concept of a maximum trade rate. Dukascopy, for example, limits changes to a given order to a maximum of 1 change per second. So I am interested if you get some clarification on what that means, and just how such a policy would be applied. In my own trading, I am not âabusiveâ of the exchange, which is somehow what I believe the policy is intended to âpoliceâ, but there do not appear to be any restrictions either implemented by the software (I use the Java API) or in actual practice as I have been actively âthrashingâ the exchange (in a responsible manner) now for 2 weeks. Someone please clarify, or I guess we could ask LMAX what they intend. After all, high performance is one of their selling points⌠Seems somewhat bogus to me, and weâre actually using it âin angerâ Live, with perfect response from the exchange, by the way⌠My software might have some limitations/bugs (mea culpa :)) but LMAX performs flawlessly. You can be absolutely certain that the âinstitutional liquidity providersâ are using HFT with sub-millisecond rates. But not us ordinary âretailâ users, who happen to be able to get âwholesaleâ pricing on LMAX. Itâs such a breath of fresh air to be able to âstealâ liquidity from âunder their nosesâ due to the LMAX exchangeâs Fair FIFO executions. Just amazing⌠HyperScalper
Your post got me thinking so I read their customer agreement, and their api agreement and could see nothing which suggested that âscalping/HFT/news trading is forbiddenâ . As with all exchanges, cases where software has some pathological bug which loops endlessly submitting orders, or very extreme trading patterns might be deemed by them to constitute âabuseâ. However, it clearly states they would notify you about their concerns and permit you to correct any perceived problems.
The LMAX âDisruptorâ has for years been touted as capable
of handling an incredible number of transactions per second
so, again, fast and accurate trading is part of LMAXâs âDNAâ.
From what I can understand you have opened an account both with Dukas and LMAX; a part from execution speed, which one would you recommend for retail traders? It seems you are more prone to recommend Dukas, for retail, although you seem very enthusiastic of LMAX; why so?
I have had experience with JForex and intend to use LMAX API but not for HFT. I prefer .NET to Java, personally.
I have recently opened a DEMO account with LMAX and I find a bit cumbersome to use it. It might sound a stupid question, but do they have volume published for FX? I was not capable of finding volume as simple indicator. I have not tried their API, yet, but I understand that the meat is through JSON and/or XML and they have simply written wrapper around the web implementation. As a side question and getting back to the inactivity commission topic: are you aware whether they charge you inactivity commission if you interrogate directly their web API?
A final question is : what is their minimum lot size? I think they allow up to mini lots; am I right?
Sorry if for they many questions and to be somehow off-topic, but I think your view will be definitely precious to others and I in doubt precisely between Dukas and LMAX and I think you are the ideal person to ask, given your experience. Thanks in advance.
It would be best if we discussed the many issues in a PM, but let me address your questions here as best I can.
LMAX Demo accounts are crap. Dukascopy Demo accounts are almost âthe real thingâ. We had to negotiate a Live account at LMAX in order to get a decent development environment, and were treated poorly. Eventually they apologized to us for the way they treated us at LMAX but, by then, we were used to âdo it yourselfâ.
If you have the choice between LMAX and Dukascopy the only sane choice would be Dukascopy. For our proprietary trading we run several JForex strategies which are âswingâ type trading approaches using Dukascopy and various colocated servers. Unless you use MetaTrader, which is not well integrated by Dukascopy, and especially if you can develop Java-based software using their IStrategy and standalone API functions, Dukascopy has no parallel anywhere. Hands down, itâs the best environment for âretailâ trading and automation.
We have a Micro Scalping platform which runs using the standalone Dukascopy API, but we were unable to get any wholesale pricing inside the spread, using their PLACE_BID and PLACE_OFFER Order Entry types. On investigation, we began to realize they were âdead inside the spreadâ so that it was impossible for us to get Wholesale Price improvement at Dukascopy. So I proposed to my partner that we port the platform to LMAX, not realizing how difficult that was going to be !!
I am a real-time high performance multi-threaded Java expert / junkie but, in order to port our multi-threaded platform took me about 4 months work, mostly because it has a huge number of functions heavily specialized for fast Micro Scalping. I emulated the entire Dukascopy IEngine API over LMAXâs Java API which, in itself, was difficult since the core logic needed to be preserved as much as possible. So I had to learn things about Java which previously only God seemed to know, and there ainât really anybody who will give you any real help. Maybe youâve been there
Long story short, now that we have the platform ported, I must say that LMAX is absolutely incredible since it really does give us 1) wholesale pricing power, and 2) 50% tighter spreads than Dukascopy and 3) even faster order entry than Dukascopy. But the work involved in doing this was far more than most mortals would be able to handle but, hey, âno pain, no gainâ right?
Now to your specific points:
Choose Dukascopy for normal retail scalping or trading. PM me if you are wondering about scalping on Dukascopy, which can be done very well. It was only the âwholesaleâ pricing which we wanted, that spurred our painful but hopefully lucrative development on LMAX. For all other types of trading, Dukascopy is the place to be, and both C# (dotNET) crap and Java are virtually the same thing, as C# is just a rip-off of most of Javaâs concepts, Iâve done Visual Studio stuff but prefer pure Java myself.
Honestly, Iâd advise you stay away from LMAX unless you have some really crazy, really price sensitive, requirements which cannot be done at Dukascopy. And thatâs really almost nothing except for wholesale pricing, so really thereâs no reason for you to consider working with LMAX. However, if you do have some special requirements which only LMAX can deliver, you are probably Certifiably Insane. Just kidding. But seriously, thereâs almost nothing except wholesale pricing which Dukascopy canât deliver for you. We can talk about it.
If you are using LMAX, that means you are a Pro trader with special requirements. Therefore, you should not be concerned with âinactivityâ fees since youâre going to be doing volume and making Money, right ? Besides, everything is ânegotiableâ if you are a professional.
Both Dukascopy and LMAX Forex minimum Lot Size is 1000 currency units, which LMAX calls 0.1 and Dukascopy calls 0.001million. They have comparable commissions. There is no real maximum Lot Size so I think where you said âthey allow up to mini lotsâ you probably meant âdown to mini lotsâ but itâs actually down to what might be called âmicro lotsâ anyway 1000, where 100,000 would be considered a âstandard lotâ.
If thereâs a PM facility on this forum and you want to talk about it, contact me or get in touch by googling my username, and perhaps we can discuss in-depth or you can clarify your needs. Or check my profile, maybe thereâs info in there. Itâs all about traders helping traders, right ? With Dukascopy I can certainly help with lots of advanced API stuff.
As you might have gathered from my Love/Hate relationship with LMAX, this project was so difficult that I nearly regret having ever started it. For our trading business, now the pressure is on me to deliver profits, having put such a huge amount of software effort into porting our interactive micro-scalping trading platform to LMAX.
Hey, Live and Learn, right? No B**ls, No Glory. Maybe my next project will be to delve into FIX and push further onto LMAX now that I see what is possible, but it DEFINITELY IS NOT for 99.99% of Forex traders, let me make that absolutely clear.
I can clue you into details of the LMAX APIâs if you really are insane enough to try and work with them, and Iâm not kidding about that, Insane would be the word. For example, during a long-running session, we are unable to resynchronized with the LMAX exchange to determine the state of Live orders. As a workaround, I just spawn off a sub-process which logs in, and receives a one-time âblock pushâ of the Order states, which I can then validate against the main trading process âviewâ of the orders collection. With FIX I believe you can do much more, but small workarounds like that are just fine, given that I wasnât prepared to delve into FIX in porting our platform, there were so many variables and unknowns as it was just with the Java API.
We get 5 Levels of Market Depth up to 12 times per second on a Forex currency pair. We get amazing pricing, extremely fast multi-order processing simultaneously on both sides of the market, but itâs âbare bonesâ otherwise, so you get the idea I hope. But with Dukascopy you can much more easily get multiple simultaneous orders on both sides of the market, etc., so only wholesale pricing is really given to you with LMAX which, for most Forex traders, is completely irrelevant. Capiche?
Thank you so much for such a comprehensive reply, full of precious information.
I have tried to contact you through private messaging, but I am not allowed since I do not have enough privileges. I am posting on your âwallâ (âVisitor Messagesâ on your profile).
In this forum you mentioned that earlier traded at Dukaskopy and can help. For a long time looking for a real ECN broker. So far my search failed.
Recently became interested in the subject of HFT, so for me the real ECN vital topic! As far as I know is the real broker that allows you to set a price within the spread, then it becomes the best price. But somewhere in the forum read your message about what Dukaskopy dies within the spread. What do you mean? They do not allow you to change the best Bid and Ask prices? Is all that remains for me is Lmax? Although again on the forum you write that they are not ECN? Iâm confused! Tell all really?
If Dukaskopy real ECN whether they will issue a reject my limit orders small volume of 0.01 Lot? Whether the data amount of output on the interbank market or will they reject and reduced with regular customers Dukascopy like me?