How to use api to get the intradaypricing of inflationindex

I failed to use api to get the intradaypricing data of InflationIndex(RIC:USCPF=ECI).

I attached my source here, can you help me to fix it?

public List<XMLUpdateEntityRequest> getIntradayPricingInformation(List<XMLUpdateEntityRequest> requests)
{
var extractionsContextResult = ReutersServiceConnect();
var extractionRequest = new IntradayPricingExtractionRequest
{
IdentifierList = InstrumentIdentifierList.Create(new[] { new InstrumentIdentifier { Identifier = "USCPF=ECI", IdentifierType = IdentifierType.Ric } }, null, false),
ContentFieldNames = new[] { "RIC", "Ask Price", "Asset Type", "Bid Price", "High Price", "Low Price", "Open Price", "Trade Date", "Volume" },
Condition = new IntradayPricingCondition { ScalableCurrency = true }
};

var extractionResult = extractionsContextResult.ExtractWithNotes(extractionRequest);
var extractedRowsResult = extractionResult.Contents;

if (!extractedRowsResult.Any())
log.Write(CSMLog.eMVerbosity.M_warning, string.Format("No rows returned"));

foreach (var row in extractedRowsResult)
{
if (row.DynamicProperties.Count > 0)
{
log.Write(CSMLog.eMVerbosity.M_warning, string.Format("Ask Price = {0}", (string)row.DynamicProperties["Ask Price"]));
}
}

return requests;
}

Best Answer

  • @shigekawa.shuichi.rr4

    [Update]

    After further investigation, the On Demand extraction can also retrieve data for "

    USCPF=ECI RIC" if there is "AllowOpenAccessInstruments: true" added as InstrumentValidationOptions.

    Please see the following sample code.

    var extractionRequest = new IntradayPricingExtractionRequest
    {
    IdentifierList = InstrumentIdentifierList.Create(new[] { new InstrumentIdentifier { Identifier = "USCPF=ECI", IdentifierType = IdentifierType.Ric } }, new InstrumentValidationOptions
    {
    AllowOpenAccessInstruments = true
    }
    , false),
    ContentFieldNames = new[] { "RIC", "Last Price", "Trade Date", "Ask Yield", "Bid Yield" },
    Condition = new IntradayPricingCondition { ScalableCurrency = true }
    };

    var extractionResult = extractionsContext.ExtractRaw(extractionRequest);

    The "USCPF=ECI" is Open Access Instrument. The "Allow Import of Open Access Instruments from Real-Time Feed" needs to be selected in the preference settings of DSS web GUI.

Answers

  • zoya faberov
    zoya faberov ✭✭✭✭✭

    Hello @shigekawa.shuichi.rr4,

    The intraday request for instrument "USCPF=ECI" comes back as "not found". We have confirmed with the content team that for this instrument "USCPF=ECI" this is an expected behavior. Economic Indicators are inter-day
    (often updating once in a month). It makes no logical sense to create rules for
    ECI RICs which typically update once in a month.

    Hope this helps,

    -AHS

  • But I can get the intradypricing of instrument "USCPF=ECI" on DSS GUI.

    Can you tell me how to get the lastest prices of instrument "USCPF=ECI" by API.

    I have tried IntradayPricingExtractionRequest,EndOfDayPricingExtractionRequest,

    TimeSeriesExtractionRequest in API, but they did not work.