problem with downloading RIC
I'm trying to get RIC:1UROH1m (Raw Legacy Market Depth, (MP) domain) with the code
This RIC is available through DataScope, but cannot be obtained through the code. What could be the problem?
code:
using System;
using System.Linq;
using System.Diagnostics;
using System.IO;
using ThomsonReuters.Dss.Api.StandardExtractions;
using ThomsonReuters.Dss.Api;
using ThomsonReuters.Dss.Api.Content;
using ThomsonReuters.Dss.Api.Extractions;
using ThomsonReuters.Dss.Api.Extractions.ExtractionRequests;
using ThomsonReuters.Dss.Api.Extractions.ReportExtractions;
using ThomsonReuters.Dss.Api.Extractions.ReportTemplates;
using ThomsonReuters.Dss.Api.Extractions.Schedules;
using ThomsonReuters.Dss.Api.Extractions.SubjectLists;
using ThomsonReuters.Dss.Api.Search;
using ThomsonReuters.Dss.Core.RestApi;
namespace RefinitivHistoryTesting
{
class Program
{
static void Main(string[] args)
{
//-----------------------------------------------------------------
//Connect and authenticate to the DSS server:
//-----------------------------------------------------------------
Uri dssUri = new Uri("https://hosted.datascopeapi.reuters.com/RestApi/v1/");
string dssUserName = "*****";
string dssUserPassword = "*****";
var out_dir = @.\Storage\;
var SearchContext = new SearchContext(dssUri, dssUserName, dssUserPassword);
var ExtractionsContext = new ExtractionsContext(dssUri, dssUserName, dssUserPassword);
var availableMbPFields = ExtractionsContext.GetValidContentFieldTypes(ReportTemplateTypes.TickHistoryRaw);
var availableLL2Fields = ExtractionsContext.GetValidContentFieldTypes(ReportTemplateTypes.TickHistoryMarketDepth);
var availableTnSFields = ExtractionsContext.GetValidContentFieldTypes(ReportTemplateTypes.TickHistoryTimeAndSales);
ExtractionsContext.Options.AutomaticDecompression = true;
var dateRange = DateTimeRange.Create(
new DateTimeOffset(2008, 01, 01, 0, 0, 0, TimeSpan.Zero),
new DateTimeOffset(2020, 12, 22, 0, 0, 0, TimeSpan.Zero));
var request = new HistoricalChainResolutionRequest
{
ChainRics = new[] { "0#1URO:" },//{ "0#1URO:" },
Range = dateRange
};
var chain_results = SearchContext.HistoricalChainResolution(request);
foreach (var chain in chain_results)
{
Console.WriteLine("Chain Identifier: {0} {1}, Constituents: {2}", chain.IdentifierType, chain.Identifier, chain.Constituents.Count());
foreach (var constituent in chain.Constituents)
{
var searchResults = SearchContext.HistoricalSearch(
HistoricalSearchRequest.Create(
constituent.Identifier, constituent.IdentifierType, dateRange, HistoricalResultsBy.Ric, null));
//foreach (var result in from pos in searchResults where pos.DomainCode == "8" select pos)
//foreach (var result in searchResults)
var result = searchResults.FirstOrDefault(pos => pos.Identifier.Contains("1UROH1m"));
if (result != null)
{
var startDate = new DateTimeOffset(2021, 02, 08, 0, 0, 0, TimeSpan.Zero);//result.FirstDate;
var lastDate = new DateTimeOffset(2021, 02, 08, 23, 59, 59, TimeSpan.Zero);//result.LastDate;
Console.WriteLine("{0},\t {1},\t {2},\t {3},\t {4}", result.Identifier, result.IdentifierType, startDate, lastDate, result.DomainCode);
var extractionResult = ExtractionsContext.ExtractRaw(
new TickHistoryMarketDepthExtractionRequest
{
Condition = new TickHistoryMarketDepthCondition
{
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),
NumberOfLevels = 10,
ExtractBy = TickHistoryExtractByMode.Ric,
MessageTimeStampIn = TickHistoryTimeOptions.GmtUtc,
SortBy = TickHistorySort.SingleByRic,
View = TickHistoryMarketDepthViewOptions.LegacyLevel2,
},
ContentFieldNames = availableLL2Fields.Select(f => f.Name).ToArray(),
IdentifierList = new InstrumentIdentifierList
{
InstrumentIdentifiers = new[]
{
InstrumentIdentifier.Create( result.IdentifierType, result.Identifier)
},
ValidationOptions = new InstrumentValidationOptions
{
AllowHistoricalInstruments = true
}
},
});
using (var response = ExtractionsContext.RawExtractionResultOperations.GetReadStream(extractionResult))
using (var reader = new StreamReader(response.Stream))
{
var fileName = out_dir + "_" + result.Identifier + "_" + startDate.DateTime.ToString("dd.MM.yyyy") + "_" + lastDate.DateTime.ToString("dd.MM.yyyy") + "_MarketByPrice.txt";
using (var fileStream = File.Create(fileName))
response.Stream.CopyTo(fileStream);
}
}
}
}
Console.WriteLine("Press Enter to exit");
Console.ReadLine();
}
}
}
Best Answer
-
my file content is different.
Why is this happening?
How to achieve 100% match?
0
Answers
-
I understand that you can download history using RIC:1UROH1, but I want to use RIC: 1UROH1m, if this RIC:1UROH1m is available in DataScope, why can't I get it through the code? so that the messages look like pictures from Excel
0 -
I can use the below to get the data of 1UROH1m properly.
var extractionResult = ExtractionsContext.ExtractRaw(
new TickHistoryMarketDepthExtractionRequest
{
Condition = new TickHistoryMarketDepthCondition
{
ReportDateRangeType = ReportDateRangeType.Range,
QueryStartDate = new DateTimeOffset(2021, 02, 8, 0, 0, 0, TimeSpan.Zero),
QueryEndDate = new DateTimeOffset(2021, 02, 9, 0, 0, 0, TimeSpan.Zero),
ExtractBy = TickHistoryExtractByMode.Ric,
MessageTimeStampIn = TickHistoryTimeOptions.GmtUtc,
SortBy = TickHistorySort.SingleByRic,
View = TickHistoryMarketDepthViewOptions.LegacyLevel2,
DisplaySourceRIC = true
},
//ContentFieldNames = availableLL2Fields.Select(f => f.Name).ToArray(),
IdentifierList = new InstrumentIdentifierList
{
InstrumentIdentifiers = new[]
{
InstrumentIdentifier.Create( IdentifierType.Ric,"1UROH1m")
},
ValidationOptions = new InstrumentValidationOptions
{
AllowHistoricalInstruments = true
}
},
});You may check the notes to verfiy the problem.
foreach(var str in extractionResult.Notes)
{
Console.WriteLine(str);
}1 -
The timestamp looks different. The timestamp of my output starts at 2021-02-08T00:00:00.311051987Z. However, your output starts at 2021-02-08T06:00:00.012983049Z. It may relate to the conditions in the request or settings in the DSS preferences.
ReportDateRangeType = ReportDateRangeType.Range,
QueryStartDate = new DateTimeOffset(2021, 02, 8, 0, 0, 0, TimeSpan.Zero),
QueryEndDate = new DateTimeOffset(2021, 02, 9, 0, 0, 0, TimeSpan.Zero),
ExtractBy = TickHistoryExtractByMode.Ric,
MessageTimeStampIn = TickHistoryTimeOptions.GmtUtc,
SortBy = TickHistorySort.SingleByRic,
View = TickHistoryMarketDepthViewOptions.LegacyLevel2,
DisplaySourceRIC = true0
Categories
- All Categories
- 6 AHS
- 37 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 59 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛