For Eikon COM API, is there a way to specify the settlement delay or settle date when calling the Eikon Bond Calculator?
Right now, it seems to only be able to take in the valuation (trade) date, and then return a default T+2 settlement amount of accrued interest.
The settlement date is actually calculated from the valuation (trade) date according to the market convention. E.g. for US Treasuries and UK GILTs the settlement date is T+1, whereas for Eurozone Treasuries it is T+2.
If you need to use a specific settlement date you could work out the valuation date from the settlement date and use that valuation date rather than today's date when making a call to retrieve say TR.YieldToMaturityAnalytics. E.g. if you need to evaluate a US Treasury with the settlement date 8-May-2019, then in your call you could use "TR.YieldToMaturityAnalytics(ValuationDate=2019-05-07 Price=..."
The settlement rules follow market conventions. For a given bond you can retrieve the settlement rule using TR.ADF_BONDSTRUCTURE field. This field returns a string of space separated key/value pairs. This string can be directly used in BondStructure argument of Adfin Analytics functions like AdBondYield available in Eikon Excel and as part of Eikon COM APIs. E.g. for CUSIP 345277AE7 TR.ADF_BONDSTRUCTURE returns
ACC:00 CCM:BB00 CFADJ:NO CLDR:USA_FI DATED:01MAR1998 DMC:F EMC:S FRCD:01SEP1998 FRQ:2 ISSUE:04JUN1998 NOTIONAL:1 PX:C PXRND:1E-6:NEAR REFDATE:MATURITY RP:1 SETTLE:2WD XD:NOThe above string specifies a bunch of market conventions applicable to the bond. E.g. "ACC:00" tells Adfin Analytics that accrued interest should be calculated using 30/360 day count. "SETTLE:2WD" tells that settlement convention for this bond is T+2 (settlement date = trade date + 2 working days).