Linking IBES with FactSet

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.

Top of Section

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.

Top of Section

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
  • For the current identifier FSYM_ID, users can look up its corresponding header
    • CUSIP using table sym_cusip
    • SEDOL using sym_sedol

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 historical CUSIP
    • table h_security_sedol for linking company names via historical SEDOL
  • current FSYM_ID:
    • table sym_coverage for linking company names via header CUSIP or SEDOL

Top of Section

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: LinkIBESFactSet.ipynb Download

Top of Section

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.

Jupyter Notebook: ibes_factset.ipynb Download