seeking the best Java real-time tick data level trading platform?

Discussion in 'Data Sets and Feeds' started by mizhael, Oct 12, 2008.

  1. Hi all,

    If I want to track 500+ stocks simultaneously and in real time, with 1
    second tick data as well as market depth data for each stock, Is it
    feasible at all using TWS API programming?

    Has anybody tried some sort of "high frequency" programming on
    InteractiveBroker's account? How's the speed/performance? What are the
    technical/physical restrictions? Any other brokers that are better
    than IB in terms of high frequency data monitoring and/or trading?

    What's the best open source Java real-time tick level trading platform
    out there?

    I have decent experience with C++ and now turning to Java because I
    haven't seen much good C++ open source trading platform out there.

    I would like to identify the best Java open source real-time tick data
    level trading platform currently available, with an active body of
    developers and I would like to contribute to the development of high
    frequency trading platform.

  2. Although my question is Java,

    I will be more than happy to hear about the C++ side too, because any way my prior experience was with C++... I couldn't find good C++ platform that works with tick data, as well as hundreds of market depth order book data, and hence I am turning to Java programs...
  3. Davdse


  4. rosy2


    I dont know what you mean by tick data level trading platform. But you can read ticks with java and process them. I use for nio and java threading has a lot of features as of java5. Esper as well for processing.

    for C++ i would use asio from the boost libraries and Intel's threading building blocks library. ACE is used places as well but its pretty big.

    irregardless of the language, if you placing a lot of orders mybe TWS isn't the right thing and you should go with a straight FIX connection.
  5. Well, maybe I should clarify a bit.

    At this stage, I am looking at monitoring 500+ stocks at tick data level(market depth order book as well as price processes) in real time, at 1 second frequency.

    Of course, the order-placement part does not need to have that high frequency. In fact, the order placement part is actually low frequency.

    I am looking for an existing open source Java program that covers the above. And then I can make my modification and contribute to the community by working on the project...

    Thank you!

  6. I only need monitoring those amount of stocks, and not for placing the orders. Do I still have to use FIX?

    Of course, I like FIX, because it is data-vendor dependent. I can write once and reuse later when I switch data-vendor...etc.

    But not many data-vendors support FIX, am I right?

    Take IB as an example, does their FIX remove the physical/technical restriction on how many stocks you can simultaneously monitor at the market depth order book level?
  7. rosy2


    i am not sure what you mean by platform then. for processing you just need the datafeed.

    1) make a connection
    2) subscribe to symbols
    3) process incoming data

    good luck
  8. If you don't want to be disappointed later when you decide to plug-in real tick-by-tick feed instead of 1 second snapshot-based feed, forget about Java and code your system in C++ right from the beginning.
  9. Yeah, I just need a datafeed, and I should use "Java program" instead of "Java platform".

    Because essentially I am having a high frequency data-collection unit plus a relatively low speed order placement unit.

    What's the best Java program (open source) out there that can handle monitoring 500+ stocks market depth data simultaneously?

  10. Here is what I inferred from your suggestion:

    Java: 1 second snapshot-based feed
    C++: real tick-by-tick fee.

    What's really the difference, and how are they related to the two languages?
    #10     Oct 12, 2008