Recommended API

Discussion in 'Automated Trading' started by eyalmolad, Aug 11, 2009.

  1. eyalmolad

    eyalmolad

    Hi all,
    I have a beginners question for this forum.
    I am developing some strategy for automated trading system.
    I would like to know what is the recommended platform/broker to do this. I need to get a market data (Level I & II, Time and Sales) for around 1000 NYSE/NSDQ pre-defined quotes.

    I tried 2 platforms so far:
    1) Genesis - they have a limitation for 3 quotes using their API over the internet. They require me to hire a server at their server center in order to be able to access more quotes.
    2) Thinkpipes - dont have a time&sales information nor level II.

    Thanks,
    Eyal
     
  2. promagma

    promagma

    The limit is on L2 data .... I don't think anybody is going give you L2 data for 1000 symbols over the internet.
     
  3. Bob111

    Bob111

    even if they do-how you are going to identify each piece and work with such huge amount of data? did you ever tried to receive real time streaming basic quotes for like 500 tickers?
     
  4. eyalmolad

    eyalmolad

    Hi, all.
    I am currently working with the Thinkpipes API with about 1000 quotes. It works just fine with regular cable internet connection.
    The problem is that I can not get time and sales information nor level 2 with the Thinkpipes.
    The only thing that I recieve is the price change, without any time stamp.
    The problem is that I can not build accurate candles stick chart with such data. I was able to do some workerounds, and filter some fake prices change notofications, but still, I when I compare the graphs, my grphic is around 80% true. This is not good enough for any serious strategy.
     
  5. eyalmolad

    eyalmolad

    Ok, so if I understand you correctly, I can get a time & sales for more than 3 stocks? Is the LevelII the only limitation?
    Thanks,
     
  6. First:
    Thank you for bringing attention to that site. Didn't know about it.

    Second:
    Even their DDE interface description (also Java and FIX) says they deliver last price, volume.
    From that "time & sales" can be built. Where is a problem?

    In case you are worried about ticks coming late:
    Interactive Brokers does not deliver timestamps but normally you can be sure that they are never too much out of synch with the market. Hopefully for ToS same thing applies.
     
  7. eyalmolad

    eyalmolad

    Hi,
    Well the DDE interface is sending notifications about price change and the volume even when the price/volume are not changed. Usually, I get 2-3 notifications with the same price and volume.
    I did some workeround, so only when the volume changes I "accept" the price. However, this isnt true always, so lot of times I "miss" prices and build the wrong chart.
    In high volume stocks (BAC for an instance), sometimes I dont get price change notification.
    Because I dont have a timestamp, It requires me to always "manualy" sync the clock of my machine and the Thinkkpipes application. This also causes some inaccurate prices and sales :(.

    In Genesis API, I saw that there is a filed that specifies the time.

    Regards,
    Eyal
     
  8. Occam

    Occam

    NxCore gives Nasdaq Level 2 over the Internet.
     
  9. Right, this is normal behavior (same with IB).
    That's not a workaround but just how programs are expected to react.

    If you try to watch many symbols at the same time you will always miss some prices (otherwise the feed would be forced to lag at some point).

    With IB there is a way to help oneself a little:
    You can request tick quotes (where some prices will be missing) plus 5-sec bars which will show every high and low in the interval.

    For my best algos time is only of minor importance, volume gives the rhythm.
    Also your "syncing" sounds ok.
     
  10. we used to use Genesis' API but due to certain (relatively small issues but improtant to us due to the nature of our trading) have moved to use
    Genesis' Quote Protocol and Genesis Trading Protocol, in order for a more direct feed/execution line.

    this has certainly increased the burden of writing handlers and many functions that are already in the Genesis' API, but we've won the flexibility and extra performance out of the switch.

    If you are looking to pull more than 2 stocks over the internet - genesis won't do it - unless u connect excel to laser and get Level1 only, for an automated system you need to colocate your server with Genesis or with someone that has a direct line to them..or get a line yourself to them like we did :))
     
    #10     Aug 12, 2009