M&A Deals Screener - Headers Error

Hi, I am trying to run a screener for M&A deals for a list of identifiers with the following code. Unfortunately I am receiving the following error:


KeyError: 'headers'

headers = [header['displayName'] for header in data_dict['headers'][0]]


This seems to be a bug and in other questions I have found it was recommended to limit the number of securities - ideally I would run 40 or 50 securities all at the same time, but in this case even running two or single ones results in an error. Could you please advise or suggest a workaround? Happy to use the RDP Library should that be easier. In such a case would you mind helping out with the code for that.


Thanks!

tickers_string = '4295912121,5000296881'
deals_start = '20110101'
deals_end = '20210730'

df_mna, err = ek.get_data("SCREEN(U(IN(DEALS)/*UNV:DEALSMNA*/), TR.NIisECM=False, IN(TR.MNAParticipant(DealPartRole=T)," + tickers_string + "), BETWEEN(TR.MnAAnnDate," + deals_start + "," + deals_end + ")/*dt:Date*/, CURN=USD)",
["TR.NISdcDealNumber","TR.MnAAnnDate","TR.MnARankDate","TR.MnARankValueIncNetDebt(Curn=USD,Scale=6)","TR.MnATarget","TR.MnATargetPermId","TR.MnATargetShortBusDesc",
"TR.MnATargetUltParent","TR.TR.MnATargetUltParentPermID","TR.MnATargetTRBCEcoSec","TR.MnATargetTRBCBussSec","TR.MnATargetUltParentTRBCEcoSec","TR.MnATargetNation","TR.MnAAcquiror",
"TR.MnAAcquirorPermId","TR.MnAAcquirorShortBusDesc","TR.MnAAcquirorPermId","TR.MnAAcquirorUltParent","TR.MnAAcquirorUltParentPermID","TR.MnAAcquirorTRBCEcoSec","TR.MnAAcquirorTRBCBussSec",
"TR.MnAAcquirorUltParentTRBCEcoSec","TR.MnAAcquirorNation", "TR.MnATargetFinAdvisor(Concat='|')","TR.MnAAcquirorFinAdvisor(Concat='|')","TR.MnAEquityValueAtAnnouncement(Curn=USD,Scale=6)"
])

Best Answer

  • @Giorgio Cozzolino

    The problem is in your Screener expression. You use a mixture of fields from new issuance and from M&A datasets, which are incompatible. Specifically, the field TR.NIisECM in the Screener expression does not belong here, as the rest of the expression uses M&A fields. And in the fields list you retrieve, you have TR.NISdcDealNumber, which does not belong with the rest of M&A fields. I suggest you follow the Screener wizard to construct Screener expressions.