question

Upvotes
Accepted
16 4 6 8

ESG Scores for M&A Targets

Hi,

How do I match my M&A deals screen with the targets ESG score? I would like to know the targets' ESG scores one year before the M&A deal (e.g. deal done in 2018, score for 2017).

I have done a screen of M&A deals made between 2010-2019 and need the targets ESG scores. However I cannot find an effective and quick way to do this.

rdp-apirefinitiv-data-platformscreeningesgcorporate-actions
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Hello @hanken1,

Thank you for your participation in the forum. Is the reply below satisfactory in resolving your query? If yes, please click the 'Accept' text next to the reply. This will guide all community members who have a similar question. Otherwise please post again offering further insight into your question.

Thanks,

AHS

Please be informed that a reply has been verified as correct in answering the question, and has been marked as such.

Thanks,


AHS

Upvote
Accepted
5.7k 21 2 6

Hi @hanken1,


I wrote up an example file for you, you may find it attached. Sheet1 replicates your screen search similarly to how one may code it in python as per this article. Sheet2 uses the PermIDs in Sheet1 to give ESG data where available. I only used some ESG metrics as an example, but you can use any relevant one.

To open the file, please rename it from 'ESG from Screener.txt' to 'ESG from Screener.xlsx'.


ESG from Screener.txt


This Excel Workbook's Sheet1 has the following code in cell A1:

=TR("SCREEN(U(IN(DEALS)/*UNV:DEALSMNA*/), IN(TR.MnANationHQ,""FI""), BETWEEN(TR.MnARankDate,20100101,20190101)/*dt:Date*/, IN(TR.MnAPubStatus,""P""), CURN=USD)","TR.MnASDCDealNumber;TR.MnAAnnDate;TR.MnARankDate;TR.MnARankValueIncNetDebt(Scale=6);TR.M"&"nATarget;TR.MnATargetPermId;TR.MnATargetMacroInd;TR.MnATargetMidInd;TR.MnATargetNation;TR.MnAAcquiror;TR.MnAAcquirorPermId;TR.MnAAcquirorMacroInd;TR.MnAAcquirorMidInd;TR.MnAAcquirorNation;TR.MnATargetFinAdvisor(Concat='|');TR.MnAAcquirorFinAdvisor(Co"&"ncat='|');TR.MNADealId","CH=Fd")


And the following in Sheet2's cell B1:

=TR(Sheet1!F2:F192,"TR.RIC, TR.CommonName, TR.TRESGScore, TR.TRESGScore.date, TR.TRESGCScoreGrade, TR.TRESGCScoreGrade.date","Period=FY0 Frq=FY SDate=0 EDate=-4 CH=Fd RH=IN;fperiod",C2)

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
5.7k 21 2 6

Hi @hanken1,


You may search for historical ESG data such as 'TR.TRESGScore', 'TR.TRESGCScoreGrade', 'TR.AnalyticEnvControv', or 'TR.EnvMaterialsSourcing' among others (that you can find in the Data Item Browser - a good overview of which can be found here).

This kind of search can be done for any chosen company; you may specify the company in question via its 'PermID' - which can be found in your M&A deals screen.


Would you mind telling us where you are trying to collect such information? In Python? Excel?

If in Python, you may want to use the Eikon Excel's Screener add-in (an example of which can be found here) to find the code needed to collect the data found in your M&A deals screen and then try the following as an example of how to collect the data you are looking for in CodeBook (a good overview of which can be found here):


import refinitiv.dataplatform.eikon as ek
ek.set_app_key('DEFAULT_CODE_BOOK_APP_KEY')

test = ek.get_data("SCREEN(U(IN(DEALS)/*UNV:DEALSMNA*/), BETWEEN(TR.MnAAnnDate,20201217,20201218)/*dt:Date*/, IN(TR.MnAPubStatus,""P""), IN(TR.MnATargetRegionAndSubRegion,""WE"",""NM""), CURN=USD)",
                   ["TR.MnASDCDealNumber;TR.MnAAnnDate;TR.MnARankDate;TR.MnATarget;TR.MnATargetPermId;TR.MnATargetMacroInd;TR.MnATargetMidInd;TR.MnATargetNation;TR.MnAAcquiror;TR.MnAAcquirorPermId;TR.MnAAcquirorMacroInd;TR.MnAAcquirorMidInd;TR.MnAAcquirorNation;TR.MnATargetFinAdvisor(Concat='|');TR.MNADealId;TR.MnATargetRegionAndSubRegion(Concat='|')"])

Companies = [str(i) for i in test[0]["Target PermID"]]
Fields = ['TR.RIC',
          'TR.CommonName',
          'TR.HeadquartersCountry',
          'TR.TRBCEconomicSector',
          'TR.TRESGScore',
          'TR.TRESGScore.date',
          'TR.TRESGCScoreGrade',
          'TR.TRESGCScoreGrade.date',
          'TR.AnalyticEnvControv',
          'TR.AnalyticEnvControv.date',
          'TR.EnvMaterialsSourcing',
          'TR.EnvMaterialsSourcing.date']

df, err = ek.get_data(instruments = Companies,
                      fields = Fields,
                      parameters = {'SDate' : '0',
                                    'EDate' : '-2',
                                    'Period' : 'FY0',
                                    'Frq' : 'FY'})

df


Note that - as per this example, not all companies have historical ESG data. The code above ought to return such data where available.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
16 4 6 8

Hi,


Thank you for the answer. I am using Excel so do you have any idea how to do it there? @jonathan.legrand

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.