get history info

Hi,

I am new to Eikon, would you please advise if I can download a bond's OAS history in R?

tried the following but it only returns some yield quote

get_timeseries(list("912810RP5="), list('TIMESTAMP','CLOSE','TR.OASAnalytics',' TR.MarketValueAnalytics','TR.FiOptionAdjustedSpread'),"2018-12-31T00:00:00","3019-03-07T00:00:00","daily")

Would you also suggest where can i find if the data field provides historical records?

thanks,

ZZ

Best Answer

  • You don't need to specify the fields, but you do need to use ITimeSeriesDataRequestSetup.WithView("OAS") when setting up timeseries data request.

Answers

  • Use Formula Builder wizard in Eikon Excel or Data Item Browser app in Eikon to explore metadata you can use with Eikon Data APIs. See this tutorial, which talks at length about metadata discovery (finding field names and parameters) for use with Eikon Data APIs.
    You can get current value of OAS using get_data(list("912810RP5="),list("OAS_BID")).
    OAS history is not currently available through Eikon Data APIs. At the moment it's only available using Eikon .NET API and RHistory library of Eikon COM APIs.

  • thanks. what's the right field name in .Net API? I tried OAS_BID, it's not working

  • can you get me some sample code for the OAS? I could use the sample web code to get the price and bid/ask but not the analytics like OAS and convexity

    public void Launch() { Console.WriteLine("[2] Time series request example"); Console.WriteLine(""); request = timeSeries.SetupDataRequest("037833AK6=") .WithView("CONVEXITY") .WithAllFields() .WithInterval(CommonInterval.Daily) .WithNumberOfPoints(5) .OnDataReceived(DataReceivedCallback) .CreateAndSend(); } private void DataReceivedCallback(DataChunk chunk) { foreach (IData record in chunk.Records) { object closeObject; double? close = null; record.TryGetValue if (record.TryGetValue("CLOSE", out closeObject)) close = (double)closeObject; Console.WriteLine("{0}: 037833AK6= {1}", record.Timestamp.HasValue ? record.Timestamp.Value.ToLongDateString() : "Empty", close.HasValue ? close.Value.ToString() : "Empty"); } request = null; }

  • found the issue... it should be "Value" rather than CLOSE

    if (record.TryGetValue("VALUE", out closeObject))

  • The key you need to use in record.TryGetValue method for CONVEXITY and OAS views is VALUE, not CLOSE. Unlike BID and ASK, CONVEXITY and OAS are not summarized into open, high, low, close. There's only one value per day recorded in the timeseries database.
    You can also use record.AllFields, which returns a dictionary of field names and values. See an example on this thread.