Slashdot Mirror


Undiscovered Country of HFT: FPGA JIT Ethernet Packet Assembly

michaelmalak writes "In a technique that reminds me of the just-in-time torpedo engineering of Star Trek VI: The Undiscovered Country, a company called Argon Design has "developed a high performance trading system" that puts an FPGA — and FPGA-based trading algorithms — right in the Ethernet switch. And it isn't just to cut down on switch/computer latency — they actually start assembling and sending out the start of an Ethernet packet simultaneously with receiving and decoding incoming price quotation Ethernet packets, and decide on the fly what to put in the outgoing buy/sell Ethernet packet. They call these techniques 'inline parsing' and 'pre-emption.'"

5 of 452 comments (clear)

  1. Next step : superluminic packet by aepervius · · Score: 3, Interesting

    So that you can send your order before even the price quotation comes. Oh , wait, those guy already can do that and send packet back in time : http://news.slashdot.org/story/13/09/25/1955220/somebody-stole-7-milliseconds-from-the-federal-reserve /sarcasm

    --
    C. Sagan : A demon haunted world:
    http://www.amazon.com/gp/product/0345409469/
    visit randi.org
  2. Older idea than you might think by Anonymous Coward · · Score: 4, Interesting

    I have a friend who works in the defense industry but interviewed with HFT firms around 3 years ago. My friend also had this idea, and discussed it with me since I am close to the industry.

    If an industry outsider like my friend had this idea within a week or two of merely interviewing for jobs, it is a good bet many others had already conceived it and even gotten it working before that.

  3. Re:What a waste by Anonymous Coward · · Score: 3, Interesting

    They have. See https://en.wikipedia.org/wiki/Alphamosaic for their previous jobs. Also, 3rd generation of their chips is in the Raspberry Pi, as the CPU.

  4. "free" market solution by Thud457 · · Score: 3, Interesting

    tax every transaction.
    Also tax rolled back oops, my bot "ran amok" transactions. Also track these and send the history to our regulatory watchdogs who, supposedly, will take an interest in the chicanery of anyone abusing this "feature" of the markets. Or just don't allow them to be undone in the first place. caveat emptor, bitches.

    --

    the preceding comment is my own and in no way reflects the opinion of the Joint Chiefs of Staff

  5. Re:Wow, by cazzazullu · · Score: 4, Interesting

    If you allow trades only every 10 minutes instead of continuous, you will end up with a whole lot of additional problems, and the big players will take advantage of it again anyway. Let me explain.

    First of all, the "price" of a security is the price at which the last transaction happened. Normal people like me and you consider this "the price" of that security if we want to buy it. Suppose you want to buy a security at a certain price. You give an order out, buy 10 shares at price X. If a sell order for shares at price X exists, these orders are matched up, and depending on the sizes of the orders, executed partly or completely. These order are public knowledge, and the order books are visible: I can see that there are 1000 shares bid at price X, 900 at X-1, 789 at X-2 etc..., The same for the ask, so many shares at X+1, X+2, and so on.

    Several algorithms use this knowledge. If I want to buy a gigantic amount of a given stock at once, I will be forced to buy the 1000 shares that are offered at X, then the next 900 offered at X+1, etc., so I will end up paying way more than X on average. The final price paid will be "the" price of the security after my buying spree, and will be significantly higher than X.

    Now how can you make this work with 10 minute trading intervals? Normal people can't find out the current "price", since the last transaction was 10 minutes ago. You could look at the bids and the offers, and their volumes, to get an idea of what the price might be in the next trading slot, but these bids and offers can be made and cancelled within milliseconds. If I bid X, and see an offer for X-1 appear, I can cancel my bid, and bid X-1. It would be stupid otherwise.

    HFT firms will still run their algorithms, manipulating these orderbooks to steer the price, and putting in bids in the very last millisecond. It might end up being even more profitable for them, since all the "sheep" that cannot trade so fast, or god forbid, use a keyboard to enter trades, will be fleeced even more: Now you see an order come in, you quickly frontrun it and make one cent of gains (before someone else is able to react). In a 10 minute system, you see order coming in, and have plenty of time to manipulate and steer the price before the orders will be executed.

    --
    int main(void) {while(1) fork(); return 0;}