MMT_MARKET_PRICE

MMT_MARKET_PRICE using this domain, can I get a trade?


int main(int argc, char* argv[])
{
    EmaString configFile;
    if (argc == 2)
        configFile = argv[1];
 
    try {
        AppClient client;
        OmmConsumer consumer(OmmConsumerConfig(configFile).
            username("MY_USERNAME").
            password("MY_PASSWORD").
            clientId("MY_CLIENT_ID").
            consumerName("Consumer_4"));
        UInt64 handle = consumer.registerClient( ReqMsg().domainType( MMT_MARKET_PRICE ).serviceName( "ELEKTRON_DD" ).name( "ESM1" ), client );
sleep( 60000 );                
    }
    catch ( const OmmException& excp ) {
        cout << excp << endl;
    }
    return 0;
}

Best Answer

  • @s61670,

    All the example code does is simply request for the data and you will need to determine which fields are relevant for your specific needs. Because of this, you will need to involve a data specialist to help you bridge the gap between the 2 different data services and try to match which fields are best suited. The API doesn't help you to decide this fact - it simply is a vehicle to get the data.

    I would suggest you open a ticket with the Refinitiv Helpdesk and get a data specialist involved with these types of questions. Once you have an understanding of the fields you need to extract, you will need to follow the EMA Consumer - Decoding MarketPrice Data tutorial.

    To get you started, using the raw output you included in the screenshot above and the raw output from the streaming data, this is an example of what I can see:


    RIC => Field: Key.Name (The item you requested)

    Underlying RIC => N/A (Confirm with data specialist)

    Domain => MarketPrice (The domain you requested)

    Date-Time => <There are many datetime fields, depending on what you want. Eg: Fields.TRADE_DATE, Fields.TRDTIM_1, etc>

    GMT Offset => N/A <All time fields are in GMT>

    Type => Field: UpdateType ("Update", "Trade").

    Note: Not all exchanges report this. If "Unspecified", you will have to deduce based on the fields coming in.

    Ex/Cntrb.ID => N/A (Confirm with data specialist)

    LOC => N/A (Confirm with data specialist)

    Price => Depends on asset (Eg: Field: Fields.PRIMACT_1)

    Volume => Field: Fields.TRDVOL_1

    Market VWAP => Field: Fields.VWAP

    Buyer ID => N/A (Confirm with data specialist)

    Seller ID => N/A (Confirm with data specialist)

    Bid Price => Fields.BID

    Bid Size => Fields.BIDSIZE

    Ask Price => Fields.ASK

    Ask Size => Fields.ASKSIZE


    etc

Answers

  • Hi @s61670,

    The MMT_MARKET_PRICE domain does provide both quotes and trades. Are you not observing this when you test?

  • RIC: ESM1 or 1UROM1

    we have CME licensing and are subscribed to Refinitiv Real-Time Managed Distribution, but we will connect in May.

    please make a 1 minute dump!!!!!!! of this code on this RIC

    or

    data on 3-4 updates messages.

  • I want to see the format of trades and quotas in Electron RealTime to take on the same format in REST API.

    I don't want to make a mistake.

  • I also need code to get historical data in MMT_MARKET_PRICE format.

    I don't understand what code to use to get historical data to get Raw MMT_MARKET_PRICE

  • Hi @s61670,

    There are a lot of questions in there. I'll respond with some comments and follow-up questions.

    • The code snippet you provided in the original post is for streaming data using EMA C++. This specific API is for streaming data only - not historical data.
    • Regarding the format of the trades, I don't know exactly what you want to see. The code snippet above will request for streaming data to be returned in a format called RDM. Applications will need to decode this data into individual fields. Given you want to compare against REST, which returns data in a JSON format - assuming you want to get realtime snapshot data from the RDP API pricing snapshot endpoint, I assume you want to see some kind of layout of the fields? I've attached a dump of streaming data for 'ESM1', showing the fields for trades and quotes retrieved from the streaming services in the cloud. Data is JSON.
    • If you want to get historical data, there are some APIs and services that provide for that. What would help is to understand if you want to get realtime snapshots (REST) or realtime streaming?


    Dump: example.txt

  • for RIC: ESM1m please dump for MTT_Market_Price

    This example uses RIC: ESM1

  • Hi @s61670,

    Yes, you stated ESM1 or ESTM1m. Do you need both?

  • Hi @s61670,

    Here is a dump of 'ESM1m':

    ESM1m.txt

  • thx, nick.zincone.1 for the dumps.

    Dump is asking that the same fields be used in the historical data. I can't understand which code in the historical data to get the same data as in Elektron Real-Time (MTT_Market_Price)

  • Historical data will not carry every field you see in the streaming services. What historical data are you looking at?

  • Using the code I get data.

    I do not understand how to get RawtimeAndsale (historical data) which will be MTT_Market_price in Elektron Real-Time

    image

     new TickHistoryTimeAndSalesExtractionRequest
                                   {
                                       //Condition = new TickHistoryMarketDepthCondition
                                       Condition = new TickHistoryTimeAndSalesCondition
                                       {
                                            ReportDateRangeType = ReportDateRangeType.Range,
                                            QueryStartDate = startDate, //new DateTimeOffset(2016, 07, 25, 20, 0, 0, TimeSpan.Zero),
                                            QueryEndDate = lastDate, //new DateTimeOffset(2016, 08, 02, 19, 59, 59, TimeSpan.Zero),
                                            ExtractBy = TickHistoryExtractByMode.Ric,
                                            MessageTimeStampIn = TickHistoryTimeOptions.GmtUtc,
                                            SortBy = TickHistorySort.SingleByRic,
                                            //View = TickHistoryMarketDepthViewOptions.LegacyLevel2,
                                            //Preview = PreviewMode.Content
                                            DisplaySourceRIC = true,
                                            ApplyCorrectionsAndCancellations = false,

                                       },
                                       ContentFieldNames = availableTnSFields.Select(f => f.Name).ToArray(),
                                       IdentifierList = new InstrumentIdentifierList
                                       {
                                            InstrumentIdentifiers = new[]
                                            {
                                                InstrumentIdentifier.Create(result.IdentifierType, result.Identifier)
                                            },
                                            ValidationOptions = new InstrumentValidationOptions
                                            {
                                                AllowHistoricalInstruments = true
                                            }
                                        },
  • Hi @s61670,

    Let's take a step back. You appear to be using the service Refinitiv Tick History today and you want to figure the field names to get data through our realtime streaming services?

  • Yeah, you're right.

    need field names

  • Hello @s61670,

    In addition to the answers from @nick.zincone.1, it may be helpful to explain:

    Realtime stream, from the viewpoint of consumer application, includes all the updates as published by the publisher.

    That includes quotes and trades, if any have occurred for the instrument.

    The stream may be conflated, depending on your service, in this case quotes may be aggregated together, however, RTTO is trade safe, so all published trades will be received.

    I hope this helps, otherwise, please explain more about the question, or if there is a specific requirement/issue/concern that you are trying to address?

  • zoya.farberov:

    I am trying to understand using what code in REST API, I will get the historical data RAW TimeAndSale (quote and trade).

    I need the Elektron Real-Time MTT_Market_Price to match what I download from Tick History (Raw TimeAndSale)

    need a code so that all field names from Elektron Real-TIme match in the historical data (RawTimeAndSale)

  • help please with example code

    how to get the REST API

    image