This document illustrates how to connect IBES and FactSet data
Identifiers within IBES
IBES carries both CUSIP
and SEDOL
identifiers. Please refer to the Linking IBES to other Refinitiv databases documentation for a detailed discussion on understanding the IBES variable CUSIP
, and how to parse out SEDOL
information from this field.
Identifiers within FactSet
FactSet is a broad database that carries many different data components, and hence it maintains several different identifiers.
At the security level, there are two main identifier systems:
- current
FSYM_ID
, and - legacy
FS_PERM_SEC_ID
For a more detailed discussion on various identifiers within the FactSet system, please refer to the FactSet CRSP Linking Overview documentation.
Connecting with FactSet
Before diving into the actual reference code, we would like to first outline the flow on how to link IBES data with the FactSet, as it will make the next section's programs easier to follow.
To connect the universe of IBES companies with FactSet data, researchers should use CUSIP as linking key for US companies, and SEDOL for international firms.
On the FactSet front:
- For the legacy identifier
FS_PERM_SEC_ID
, users can look up its corresponding historical- CUSIP using table
h_security_cusip_id
- SEDOL using table
h_security_sedol_id
- CUSIP using table
- For the current identifier
FSYM_ID
, users can look up its corresponding header- CUSIP using table
sym_cusip
- SEDOL using
sym_sedol
- CUSIP using table
Here we would like to emphasize that linking through the current identifier, FSYM_ID
, yields only the current/header CUSIP and SEDOL matching.
Lastly, as some researchers might want to compare linked entity pairs using company names as sanity check, we will also extract FactSet's company names, proper_name
, from the following locations:
- legacy
FS_PERM_SEC_ID
:- table
h_security_cusip
for linking company names via historicalCUSIP
- table
h_security_sedol
for linking company names via historicalSEDOL
- table
- current
FSYM_ID
:- table
sym_coverage
for linking company names via headerCUSIP
orSEDOL
- table
Reference SAS Code
This section a sample SAS code illustrating the logic of linking IBES identifiers with FactSet IDs following the same linking logic as outlined above. We strongly encourage users read through the code to make sure the linking logic is clear. The sample code is meant for illustration purpose only, and users should adapt the code to suite their specific research design.
Please make sure to select "SAS" in the kernel list when trying to run the code in Jupyter Notebook environment.
Jupyter Notebook: ResearchApps/LinkIBESFactSet.ipynb Download
Reference Python Code
The Python code below performs the same task as the SAS code listed above. Again, the code is meant for illustration purpose only, and researchers should adapt the code to suite their specific research design.