Market data request format

Discussion in 'Data Sets and Feeds' started by abarzov, Mar 20, 2011.

  1. abarzov

    abarzov

    I'm trying to request programmatically NQM11 (E-Mini NASDAQ 100 {Jun 11}) market data. I know that different data feeds use different symbols for NQM11 (@NQM11, \ NQM11 etc.) . Whatever I try for TWS – I get TWS error:

    “Error ID 200 No security definition has been found for the request “

    It may have something to do with Exchange name. I tried GLOBEX, SMART etc. but for no avail.
    Could someone help me and give an example of a correct TWS request - Symbol and Exchange name ( and whatever else is relevant ) for this security or, better, a document reference where I can find this info?

    Thank you in advance for your help.
     
  2. rosy2

    rosy2

    more details. are you doing this in excel, java,c++

    for the latest java API you need to get the contractDetails() and use that contradId when you request the data
     
  3. rwk

    rwk

    Try 'NQM1' for LOCALSYSMBOL and 'NQ' for SYMBOL.
     
  4. rdg

    rdg

    NQ looks something like:

    Symbol = "NQ"
    Expiry = "201106"
    Exchange = "GLOBEX"
    Currency = "USD"
    SecurityType = "FUT"

    Edit: This is just for IB/TWS. For IB I use the Kts C# library and I really like it.
     
  5. abarzov

    abarzov

    Thank you all for your help.
    1. <more details. are you doing this in excel, java,c++>
    I'm doing it in C++.
    2.<for the latest java API you need to get the contractDetails() and use that contradId when you request the data>

    A request for market data uses structure Contract, which includes cusip (for bonds), but does not include conid. There is no place to put conid from ContractDetails.

    Last combination I tried, was:
    contract.symbol ="NQ";
    contract.secType = "FUT";
    contract.expiry = Real expiry date;
    contract.multiplier = "20";
    contract.exchange = "GLOBEX";
    contract.primaryExchange = "GLOBEX";
    contract.currency = "USD";
    contract.localSymbol= "NQM1"

    Damned thing does not work anyway.
    Something wrong with the weather, probably :)
    Thanks again for your contribution.
     
  6. abarzov

    abarzov

    Issue is solved. It was a wrong date format.
    Special thanks to rdg.
    Regarding C#, to my experience C# is not fast enough to handle a massive data flow ( in a good day it may be up to 1000 records a second ). That why I prefer C++. Still have problems putting such amount of data in database in real time. Best result I achieved - 0.08 milliseconds per record.