Retrieving Bond Identifiers Linked to an Equity with Bloomberg
Summary
The document describes ways to retrieve identifiers for bonds associated with a publicly traded company. Its main programmatic suggestion is to use Bloomberg's Python interface to request reference data for an equity and the bond-chain field, then process the returned bond identifiers. A second suggestion uses Bloomberg's Excel add-in with a macro to cycle through equities and retrieve their associated bonds.
These are practical data-access approaches rather than a discussion of bond valuation or trading. The examples rely on Bloomberg access and do not explain how to convert every returned identifier into a CUSIP, validate whether an issue is still outstanding, or find equivalent free API coverage. The answers are brief and provide no comparison of completeness, latency, or reliability, so users would need to check the returned securities and field behavior against their data requirements.
Key ideas
- Bloomberg reference data can return an equity's bond chain through its Python interface.
- The resulting bond identifiers can be iterated over programmatically.
- A Bloomberg Excel add-in and macro provide an alternative batch retrieval workflow.
- The document does not establish that returned identifiers are CUSIPs or verify current issuance status.
Tags
Full text
# Find all bonds associated with an equity
# Find all bonds associated with an equity
I would like to use Python to programmatically find the cusips of all bonds that are currently issued by a given equity. Assume I can use any free api and bloomberg. Thank you!
## Answer by Brian B (score 2)
https://quant.stackexchange.com/a/31264
Bloomberg has a Python interface, so this sort of thing is much easier than it used to be when you had to encapsulate the COM or C++ interface. First, set up a `session` as in the Bloomberg documentation, then form a `request`
```
refDataService = session.getService("//blp/refdata")
request = refDataService.createRequest("ReferenceDataRequest")
```
Now set up your data request
```
request.append("securities", "IBM US Equity")
request.append("fields", "BOND_CHAIN")
```
send the request and wait for the response event. Iterate over the (single security) and (single) field and you will have an iterable of Bloomberg identifiers for the bonds
## Answer by Better_than_Jeff (score 1)
https://quant.stackexchange.com/a/30371
Probably a lot easier to use the Bloomberg add-ins in excel, write a macro to cycle the equities your looking for and retrieve the associated CUSIPs.Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.