Hello - when running the following screen, through the refinitiv.data Python API a few anomylies come up, and I hope you could help me understand why these are happening. You can see my code down below that's giving rise to these questions.
- The column for asset turnover is coming out blank. However, when I run this identical query in Excel, I can see that asset turnover is not blank for all of these companies.
- Many companies report two values for one year. Maybe some of them have restated accounts, so I have included 'Rsdt' in my parameters, but it doesn't seem to be working because two items are reported, one with a later "source date." Shouldn't I see only the row with the more recent source date (assuming that is the restated one)? An example would be ICAG.L on 31/12/2020.
- Some companies have a similar problem, where there are two items reported for the same year, but the soure date is the same as well. How do I know which data item is most reliable? For instance, for STAN.L on 31/12/2020.
- Some companies report three identical lines for the same date, for instance TRR.L on 31/10/2018. Why wouldn't I only get one line?
Can you see what is wrong with my query or code? thanks for your help.
import refinitiv.data as rd rd.open_session() from datetime import date from dateutil.relativedelta import relativedelta syntax = 'SCREEN(U(IN(Equity(active,public,primary))), CURN=GBP, \ IN(TR.ExchangeMarketIdCode,"XLON"), IN(TR.HQCountryCode,"GB"))' TSfields = ["TR.F.PeriodEndDate","TR.F.SourceDate","TR.F.TotAssets", "TR.F.TotRevenue", "TR.F.OpProfBefNonRecurIncExpn","TR.F.AssetTurnover"] enddate = date.today() startdate = enddate-5*relativedelta(years=1,days=0) df2 = dataTS1 = rd.get_data(syntax, TSfields, {'Scale': 0, 'SDate': startdate.isoformat(),'EDate': enddate.isoformat(), 'Period': 'FS0','FRQ': 'FS', 'Curn': 'GBP', 'IncludeSpl':'Yes','ReportingState':'Rsdt', 'ReportType':'Latest'} ) print(df2) df2.to_csv("TS.csv", date_format='%Y-%m-%d', index=False)