IB Market data question

Discussion in 'Data Sets and Feeds' started by btud, Mar 18, 2008.

  1. btud

    btud

    I am searching for a broker which has a large offer of tradeable instruments, low transaction costs (deep-discount type), global markets coverage, and very important, which has a free API and some real time + historical market data available via the API.

    Not interested in too much holding hands from customer service and also the interface does not matter so much. So IB seems like a very good choice at the moment.

    My question is:
    - is there historical market data available for all instruments where I subscribe to real time market data?
    - what frequencies are available for historical data (daily, hourly, minute by minute, tick by tick). Are the same frequencies available
    for all instruments where I have real time subscription? (for example more liquid instruments have more data available than the exotic ones?)
    - how long into the past does this historic data go? E.g. for indexes like S&P, DOW, for currencies like EUR/USD and for individual stocks like IBM?

    I know that if the data is available on the trading platform (TWS),
    then it is available also with API, so that's not the issue. Please answer even if you use only the IB trading platform and not the API.

    This info is critical for my decision to open an account with IB.
    If you know of other broker with free API, cheap market data and
    low transaction costs, I'd be glad to know about...

    Thank you,
    Bogdan
     
  2. me1969

    me1969

    IB has a customer service phone number. I am sure they will be glad to answer all your questions as are a prospect client.
     
  3. No tick by tick, but you can get up to 6 months with bar sizes from seconds to years:

    Code:
    Method
     void reqHistoricalDataEx(long tickerId, IContract*contract, Bstr endDateTime, Bstr duration, Bstr barSize, Bstr whatToShow, bool useRTH, long formatDate)
     
    Parameters
     tickerId the Id for the request. Must be a unique value. When the data is received, it will be identified by this Id. This is also used when canceling the historical data request.
     
    contract- this structure contains a description of the contract for which market data is being requested.
     
    endDateTime Use the format yyyymmdd hh:mm:ss tmz, where the time zone is allowed (optionally) after a space at the end.
     
    durationStr This is the time span the request will cover, and is specified using the format: <integer> <unit>, i.e., 1 D, where valid units are:
    
    " S (seconds)
    
    " D (days)
    
    " W (weeks)
    
    " M (months)
    
    " Y (years) 
    
    Note, if no unit is specified, seconds are used.  Also, note "years" is currently limited to one.
     
    barSize - specifies the size of the bars that will be returned (within IB/TWS limits). Valid values include:
    
    Bar Size Parametric Value 
    1 sec
     1
     
    5 secs
     2
     
    15 secs
     3
     
    30 secs
     4
     
    1 min.
     5
     
    2 mins
     6
     
    5 mins.
     7
     
    15 mins
     8
     
    30 mins
     9
     
    1 hour
     10
     
    1 day
     11
     
    1 week
     12
     
    1 month
     13
     
    3 months
     14
     
    1 year
     15
     
    
     
     
    whatToShow - determines the nature of data being extracted. Valid values include: 
    
    TRADES
    
    MIDPOINT
    
    BID
    
    ASK
    
    BID/ASK
     
    useRTH - determines whether to return all data available during the requested time span, or only data that falls within regular trading hours. Valid values include: 
    
    0 - all data is returned even where the market in question was outside of its regular trading hours.
    
    1 - only data within the regular trading hours is returned, even if the requested time span falls partially or completely outside of the RTH. 
     
    formatDate - determines the date format applied to returned bars. Valid values include:
    
    1 - dates applying to bars returned in the format:
    yyyymmdd{space}{space}hh:mm:dd
    
    2 - dates are returned as a long integer specifying the number of seconds since 1/1/1970 GMT.
     
    Notes
     Call this method to start receiving historical data results through the historicalData() event
     
    
     
  4. btud

    btud

    The thing with customer support is that I'm not sure if they won't give me the answer that I like just to make me open an account.

    I am not counting at all on objectivity in their part, I think I may find more neutral opinions on this forum.

    I actually contacted them and they claim 1 year historical data for most of the stocks (but could not guarantee that each and every instrument has 1 year of data available).

    Thank you Wayne for the answer! I am now almost certain they will be the correct choice as broker.

    Best regards
    Bogdan