LMAX - perfect platform for HFT?

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”.

Good Trading ! HyperScalper



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 :slight_smile: 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

I thought scalping/HFT/news trading is forbidden with LMAX. They made it very clear when I asked about it in their live support.

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.

Their documents are:

http://www.lmax.com/pdf/Customer-Agreement.pdf

And more are located generally on this page:
Become a Client | LMAX Professional

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”.

HyperScalper

Hi HyperScalper,

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 :slight_smile:

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? :slight_smile:

Good Trading !
HyperScalper

Hi HyperScalper,

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).

Thanks again and more on this there.

Hi!

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?

Hi, Hyperscalper
Thank you very much for all the detailed information about LMAX. It’s really helpful. By the way, if I mostly open market orders (i know you advised not to use market orders), can LMAX still give me some advantage with its partial wholesale price? Especially if my trade size is big?
Also, what do you think of currency futures? (For example, Euro futures). In this futures market, do we get 100% wholesale price? Have you thought about migrating to futures instead of forex?
Thank you.

1 Like

Oh, I was pretty surprised to know that LMAX is popular broker o_O
never heard about it before.
According to this LMAX review they charge 10k$ as a minimum deposit for nowadays.

You should be crazy if you are ready to make such a big deposit, lol

Hiya,

I read briefly this thread but unfortunately didn’t get you correctly yet. You developed a standalone trading desktop software that can receive data from Broker/Third-party-data-provider and used the Duk-{platform-based}-API/FIX-API as logic for analyzing the data, but sending trading decisions e.g. Buy/Sell to the different broker e.g. LMAX while using LMAX order management API for this part?
What’s the purpose of using Duk-API if the LMAX has its native API as well?

Tnx and best of luck :blush:

Hi,

Unfortunately, this thread was started back in 2014; and I’ve lived a couple of
lifetimes since then :slight_smile:

As a U.S. person, I lost access to both Dukascopy and LMAX years ago; and so
it’s best if I don’t get into the pros and cons.

If you are a “super hacker” and non-U.S. then you can use Dukascopy or LMAX
but you have to have very highly developed coding skills to do that.

Personally, my work has changed greatly, and I’m doing U.S. Futures using
NinjaTrader and some extremely high performance C# coding, since Forex has
been driven out of the U.S. and there is huge profit (and loss) potential
in the Nasdaq e-mini and micro contracts; and that’s my focus, so no more Forex :frowning:

After all, something which is highly active during my waking timezone; it so much
better than Forex, whose activities occur mainly in the London session, when I
am asleep ! zzzzzzzzzzz :slight_smile:

hyperscalper

1 Like

Hiya @HyperScalper

Thanks for the reply. I’m a non-US person. The matter in the coding for the FX trading system for me is the ones that I PM you, and I appreciate it if you could provide professional input and advice on?
I’m looking into developing a modular standalone application that can receive data from different options e.g. Broker/Third-party-data-provider and do the analysis based on selected development language and its frameworks and class libraries and amendable class libraries that I can recall from the languages with statistical capabilities e.g. MATLAB, Python, R, etc to the analysis on the Tick+Volume+etc data stored in the standalone applications database-solution and realtime live-data to make trading decisions e.g. Buy/Sell and sending it by preferably FIX-API to the prime broker. As a developer that you have done works in similar characteristics, I appreciate you may contribute your professional advice on this implementation? Also, I shall mention that the standalone application that I’m looking into implementing it, it’s just for single-user use, as I will e the only one who uses it to make my trading decisions based on the output of the analysis of the application provided as the graph on candlesticks chart or standalone application can send trading decisions e.g. Buy/Sell to the prime broker by FIX-API.
?

If I shall open a new thread and invite you with a link if it’s most suits you to reply there or you may kindly answer the PM if I send it? And I already sent PM one?

Tnx and best of luck :blush:

Well, currently I have an implementation which is absurd,
and strictly proprietary. It has everything from soup (Analysis)
to nuts (Execution) and is really over-kill. NinjaTrader is a
platform with huge power if you’re able to get over the learning
curve, and can integrate everything…

I’m happy to talk about various considerations, but my
impression at the moment is that you are being way too
ambitious. However, you could also surprise yourself !

Remember that “laser focus” is the key; and I think your
objectives may be too broad…?

hyperscalper

1 Like

Hey @HyperScalper ,

Traders and brokers are like chicken and eggs, hard to say who came first.

nice to discuss brokers again with you !

Try fxview.com , in my opinion, its atleast as good as lmax if not better

As always, much appreciate your inputs

BTW, fxview also has a rest API, so you can trade via sockets / https requests using any external technology and the speed isn’t much compromised over REST, which is impressive

Yes, they seem to be pretty good. Keep working and good luck to you.