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;
}
Find more posts tagged with
- 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?
Hi @s61670,
There are a lot of questions in there. I'll respond with some comments and follow-up questions.
Dump: example.txt
Hi @s61670,
Yes, you stated ESM1 or ESTM1m. Do you need both?
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)
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
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?
Hello @s61670,
In addition to the answers from @nick.zincone, 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?
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)
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
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
Hi @s61670,
The MMT_MARKET_PRICE domain does provide both quotes and trades. Are you not observing this when you test?