Using Point-in-Time Fundamentals in Equity Backtests
Summary
The document addresses a common source of look-ahead bias in equity backtests: fundamental time series may be indexed by a fiscal reporting period even though the figures became public later. Using such values as if they were available at the period end can give a strategy information it could not have had at the time.
It describes querying Bloomberg fundamentals with a database date to retrieve the value available as of a chosen historical date. Examples contrast companies with different fiscal calendars and show that a later reporting period’s earnings figure appears only after publication. An earnings announcement field is also mentioned as a way to inspect announcement dates, times, and estimate-versus-actual details. The discussion is specific to Bloomberg fields and gives no broader comparison of data vendors, treatment of revisions, or full backtesting workflow, so users would need to verify field definitions and availability conventions.
Key ideas
- Fiscal period dates do not necessarily indicate when fundamental information became public.
- Using later-reported data too early can introduce look-ahead bias into an equity backtest.
- A historical database-date query can retrieve the fundamental value available at a selected date.
- Companies’ fiscal calendars and publication timing affect which earnings value was available.
- Announcement fields can provide dates and related earnings details for point-in-time analysis.
Tags
Full text
# How to get historical fundamental data in Bloomberg suitable for backtesting?
# How to get historical fundamental data in Bloomberg suitable for backtesting?
I'm trying to retrieve historical stocks fundamental data from Bloomberg to backtest some quant ideas. I'm having trouble to find the correct point in time the data was available.
For instance, the EPS time series returns the dates related to the company reporting period, but that's not the day when the information was publicly available. Usually companies announce the results some months later.
What is the best way to retrieve these fundamental data from Bloomberg for backtesting?
## Answer by brian o'brien (score 1)
https://quant.stackexchange.com/a/31464
=BDP("AAPL US Equity","IS_EPS", "FUNDAMENTAL_DATABASE_DATE=20141231") returns 6.49 which is what their fundamental database had available on 31st Dec 2014 and was their full year EPS for Fiscal Year ending 27 Sept 2014. If you use =BDP("IBM US Equity","IS_EPS", "FUNDAMENTAL_DATABASE_DATE=20141231") for IBM whose year end is in December then this displays 15.06 which was their 2013 year end as the 2014 EPS number of 11.97 wasn't yet available. Changing the formula to =BDP("IBM US Equity","IS_EPS", "FUNDAMENTAL_DATABASE_DATE=20150228") then reflects the 2014 EPS a by this time it had been published.
## Answer by ryan (score -1)
https://quant.stackexchange.com/a/25886
- Field(DY895) - i think this is what you are looking for. To lookup the definition of a field use the function: FLDS (type that in the blinking terminal line at the top of the screen or type GOOG US FLDS )
- HELP HELP (green buttons at top to contact support) although based on my experience i try to avoid because hassle and they are always trying to sell a damn terminal.
where are you trying to backtest? bloomberg? or trying to export the data (i.e. excel)?
Edit: RE: 1) Field Information for DY895 - List of earnings announcement dates and periods, including estimated, comparable, and actual earnings per share (EPS) information. Returns the period, announcement date, announcement time, actual EPS, comparable EPS, and estimated EPS. example in excel might be:
=BDP('AAPL US', DY895)
would pull...
## Answer by Atul Agarawal (score -2)
https://quant.stackexchange.com/a/27500
You can use =BHP(....,) to download the historical data from Bloomberg...to download the latest data you can use BDP instead of BHP.Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.