Island ECN source code - Incredible

Discussion in 'Programming' started by nitro, Aug 25, 2012.

  1. nitro


    This is absolutely fascinating and a must read for anyone vaguely interested in algorithmic trading. Josh is publishing some of the code to the internals of the Island ECN!!

    My jaw dropped when I saw that the matching engine for Island was written in FoxPro, then I realized that FoxPro uses ISAM indexing engine/with B*tree, which will always be pretty fast. Apparently, some of the code still runs the current Nasdaq Matching Engine :eek:

    What a treat to read through this stuff...
  2. Thanks for posting.

    As you say, fascinating.
  3. wow
  4. And here I thought I was holdout for running XP up til this year!
  5. Lots of that code in proc enter2order can be optimized with pure ASM code, like checking for most common conditions first in comparatives, etc. I know the rest of it is in C/ASM but this matching engine part should be too! imho...

    Nevertheless, it's interesting stuff.
  6. Remember that's source code from 2003. They did a lot of quirky things back then because the hardware it all ran on was very basic.

    That's shockingly similar to some of the other ECN's source code of that vintage.
  7. Thanks for sharing, this is a really good read. But nonetheless keep in mind " This was the last version before the Java migration. " :)

  8. ECN code written in Foxpro ... I dont know if I should laugh or cry. It surely explains all the ECN crashes back then ! Most funny Island crash I remember, must have been around 2002-2003, when the ECN crashed, came back up a few hours later but all orders were still live and executable, while the market had moved, so it was free money for the quick :) They never broke those trades :)
  9. Since this was replacing C/ASM, how did they match the performance ? Throw more hardware at it ?
  10. if you haven't read the book Dark Pools. You should. Quite a significant part of the book is about the building of Island. The story is simply amazing.
    #10     Sep 8, 2012