bond schedules extraction

Hello,
I am trying to get bond schedule extraction from Reuter , below is my code. I am sending request for only ONE ISIN. But it returns 8 extraction Row. I want Single row with latest "Coupon Floor Rate" and "Coupon Cap Rate". How can I achieve this.
public class Program
{
private static ExtractionsContext extractionsContext;
private static Uri dssUri = new Uri("https://hosted.datascopeapi.reuters.com/RestApi/v1/");
static void Main(string[] args)
{
var extractionsContext = new ExtractionsContext(new Uri("https://hosted.datascopeapi.reuters.com/RestApi/v1/"), "userid", "pwd", clientSessionId: "24d26ef6-f602-49fe-a901-74490e6d5658");
extractionsContext.Preferences.WaitSeconds = 5;
var extractionRequestbond = new BondScheduleExtractionRequest
{
IdentifierList = InstrumentIdentifierList.Create(
new[] { new InstrumentIdentifier { Identifier = "XS0205055675", IdentifierType = IdentifierType.Isin },
}, null, false),
ContentFieldNames = new[] { "Coupon Floor Rate", "Coupon Cap Rate", "Asset Type" },
Condition = new BondScheduleCondition
{
BondScheduleTypeCodes = new[] { "COUP" }
}
};
ExtractionResult extraction = null;
ThomsonReuters.Dss.Core.RestApi.DssCollection<ExtractionRow> extractedRows = new ThomsonReuters.Dss.Core.RestApi.DssCollection<ExtractionRow>();
try
{
extraction = extractionsContext.ExtractWithNotes(extractionRequestbond);
extractedRows = extraction.Contents;
foreach (ExtractionRow extractonRow in extractedRows)
{
List<object> RowValues = new List<object>();
foreach (var field in extractonRow.DynamicProperties)
{
Console.WriteLine(field.Key + " : " + field.Value);
}
}
}
catch (Exception ex)
{
}
Console.ReadKey();
}
}
Best Answer
-
The Bond Schedule template by nature returns more than one row for a given asset_id. This schedule combines two views: one that shows the historical coupons and one that defines the rules that will govern the interest calculation. You are interested in the latter of the two, but as all rows are combined, you'd have to write the query to just pull the row you want. This particular bond you are looking at is a fixed to float bond. The key field you need to add a condition on is "Interest Effective Date". If this column is NULL, you want to ignore it. For this bond, 2 of the 8 rows have a non-null Interest Effective Dates. You want to make sure to pick the one that is currently effective. It is not always the maximum date; you will have to compare all of the non-null Interest Effective Dates, and compare that with today's date, and then you can return the one row. In this case, the cap is 8, and the floor is 0.
0
Answers
-
I have added more fields related to coupon effective date:
"Coupon Rate Effective Date" and "Interest Effective Date" and found differences in the fields. The 8 extraction rows might be due to the difference of the effective date.
0 -
@veerapath.rungruengrayubkul , I want latest data for that fields. I am expecting For one ISIN single row response from Reuter with latest values of these fields. How to do this.
0 -
Do you mean that I need to pickup the row who have latest "Interest Effective Date". And then pickup required field value from that Row.
0 -
If you're looking for the latest values for cap and floor rates, then yes, you need to pick the row with the latest non null Interest Effective Date. However, since the value of the latest Interest Effective Date may be in the future, if you're looking for the cap and floor rates that are in effect today, you need to pick the row with the latest Interest Effective Date that is less or equal to today's date.
I hope this clarifies.
0
Categories
- All Categories
- 3 Polls
- 6 AHS
- 36 Alpha
- 167 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 688 Datastream
- 1.4K DSS
- 624 Eikon COM
- 5.2K Eikon Data APIs
- 11 Electronic Trading
- 1 Generic FIX
- 7 Local Bank Node API
- 3 Trading API
- 2.9K Elektron
- 1.4K EMA
- 255 ETA
- 557 WebSocket API
- 38 FX Venues
- 14 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 23 Messenger Bot
- 3 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 276 Open PermID
- 44 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 22 RDMS
- 1.9K Refinitiv Data Platform
- 692 Refinitiv Data Platform Libraries
- 4 LSEG Due Diligence
- LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 27 DACS Station
- 121 Open DACS
- 1.1K RFA
- 105 UPA
- 194 TREP Infrastructure
- 229 TRKD
- 918 TRTH
- 5 Velocity Analytics
- 10 Wealth Management Web Services
- 91 Workspace SDK
- 11 Element Framework
- 5 Grid
- 18 World-Check Data File
- 1 Yield Book Analytics
- 48 中文论坛