Trouble retrieving historical data with rd.get_history() – mostly nulls returned

Hi everyone 👋

I'm trying to retrieve historical data for a company using the Refinitiv Data Library, but I'm running into an issue where most of the fields return nulls. Here's the code I'm using:

import refinitiv.data as rd

response = rd.get_history(
universe=["AAPL.O"],
fields=[
"TR.AvgDailyValTraded5D", "TR.AvgDailyValTraded20D", "TR.AvgDailyValTraded30D", "TR.AvgDailyValTraded52W",
"TR.CompanyMarketCapitalization", "TR.F.IntrCovRatio", "TR.F.DPSComNetIssue5YrAvg", "TR.F.NetDebtToEBITDA",
"TR.DividendYield", "TR.F.EVToFCF", "TR.F.LeveredFOCF", "TR.FreeFloatPct", "TR.F.CashDivPaidComStockBuybackNet",
"TR.NumberofSharesOutstandingActual", "TR.GICSSectorCode", "TR.GICSIndustryCode", "TR.GICSSubIndustry",
"TR.GICSIndustry", "TR.GICSIndustryGroup", "TR.GICSSector", "TR.F.PriceToCFPerShr", "TR.PCReturnOnInvestedCapPct ",
"TR.WACC", "TR.HeadquartersCountry", "TR.F.DPSComNetIssue5YrCAGR"
],
start="2014-04-30",
end="2025-06-30"
)

The result shows a DatetimeIndex with 4040 entries, but most fields have very few non-null values. For example, Company Market Capitalization has 2798 non-null entries, but many others like Interest Coverage Ratio or Free Cash Flow have only ~10. Some fields like TR.PCReturnOnInvestedCapPct are entirely null. GICS fields are all empty…

Interestingly, when I use rd.get_data() instead, I get much more complete results for the same fields.


df = rd.get_data(
universe = ['AAPL.O'],
fields = ['TR.AvgDailyValTraded5D', 'TR.AvgDailyValTraded20D', 'TR.AvgDailyValTraded30D', 'TR.AvgDailyValTraded52W',
'TR.CompanyMarketCapitalization', 'TR.F.IntrCovRatio', 'TR.F.DPSComNetIssue5YrAvg', 'TR.F.NetDebtToEBITDA',
'TR.DividendYield', 'TR.F.EVToFCF', 'TR.F.LeveredFOCF', 'TR.FreeFloatPct', 'TR.F.CashDivPaidComStockBuybackNet', 'TR.NumberofSharesOutstandingActual',
'TR.GICSSectorCode', 'TR.GICSIndustryCode', 'TR.GICSSubIndustry', 'TR.GICSIndustry', 'TR.GICSIndustryGroup', 'TR.GICSSector',
'TR.F.PriceToCFPerShr', 'TR.PCReturnOnInvestedCapPct ', 'TR.WACC', 'TR.HeadquartersCountry', 'TR.F.DPSComNetIssue5YrCAGR']
)
df

Has anyone else experienced this? Is there a known limitation with get_history() for these fields, or am I missing something in how historical data is structured?

Thanks in advance!

Tagged:

Answers

  • Jirapongse
    Jirapongse ✭✭✭✭✭

    @pventura

    Thank you for reaching out to us.

    Those fields are from different categories. Therefore, they may not use or support the start and end parameter.

    For example, TR.GICSxxx fields don't support the start and end parameters.

    image.png

    Some fields support time-series data while others don't support.

    image.png

    Mixing these fields in a single request may make the response difficult to understand.

    You may use the Data Item Browser tool to check all supported parameters. Alternatively, you can contact the Helpdesk team at https://support.lseg.com/ to request assistance with grouping those fields.