Skip to content
All library documents

Sourcing Fundamental Statements with Publication Dates for Backtests

Article Quant Q&A · Author: consuli

Summary

The document asks where to obtain original company financial statement items, including revenue, operating income, balance-sheet accounts, and cash flows. It prefers data that can be downloaded through an R interface and highlights a timing requirement for predictive research: the date a statement became public differs from the period-end date the statement reports. Using the latter as though it were the availability date can introduce future information into a model.

The responses mention two historical sources. One describes retrieving annual or quarterly income statement, balance sheet, and cash flow data through a function in the quantmod R package, drawing on Google Finance. Another points to a financial data database that offered R support and bulk CSV downloads. The document does not establish that either source still operates, covers the requested fields comprehensively, or supplies reliable publication timestamps. Researchers should therefore check current availability and whether point-in-time release dates are included before using these data in a backtest.

Key ideas

  • The request covers raw income statement, balance sheet, and cash flow measures rather than financial ratios.
  • Publication dates matter because reporting period dates do not show when information became available to investors.
  • The responses cite an R package interface for financial statements and a separate database with R and bulk download options.
  • The document does not confirm current source availability or whether either source provides point-in-time publication dates.
  • Backtests can be distorted if they use accounting information before its actual release.

Tags

Full text
# Original Fundamental Accounting Data (Not Ratios)


# Original Fundamental Accounting Data (Not Ratios)












Where do I get original fundamental accounting data from income statement, balance sheet and cash flow statement, like Sales/Revenue, Gross Income, EBIT, Operating Income, Cash & Short Term Investments, Total Accounts Receivable, Inventories, Cash Flows From Operations, Cash Flows From Investing, Cash Flow from Financing, etc.

Ideally downloadable by an R Interface.

[edit] Something very important, I have forgotten. I also need the publishing date of the accounting data (which is different from the reporting as of date!), because I want to run a predictive statistical model on it (will otherwise produce an error of future input data). Maybe I have to source the publishing date from another website, in case I cannot get everything out of one hand, maybe also by webscraping from HTML. [/edit]

Thanks in advance Consuli

## Answer by Matt Brigida (score 1)

https://quant.stackexchange.com/a/20644

You can pull Financial Statement (Income Statement, Balance Sheet, and Statement of Cash Flows) data from Google Finance with the `getFinancials` function in the `quantmod` R package.

```
> library(quantmod) 
> getFinancials('IBM')
> head(viewFin(IBM.f, type = 'IS'))
Annual Income Statement for IBM
                                       2014-12-31 2013-12-31 2012-12-31
Revenue                                     92793      98367     102874
Other Revenue, Total                           NA         NA         NA
Total Revenue                               92793      98367     102874
Cost of Revenue, Total                      46386      49683      52513
Gross Profit                                46407      48684      50361
Selling/General/Admin. Expenses, Total      21385      22214      23463
                                       2011-12-31
Revenue                                    106916
Other Revenue, Total                           NA
Total Revenue                              106916
Cost of Revenue, Total                      56778
Gross Profit                                50138
Selling/General/Admin. Expenses, Total      22865
```

From the quantmod documentation:

"viewFinancials(x, type=c('BS','IS','CF'), period=c('A','Q'), subset = NULL)"

the type is for Balance Sheet, Income Statement, and Statement of Cash Flows, and period is Annual or Quarterly.

## Answer by Dale Holborow (score 1)

https://quant.stackexchange.com/a/29953

Just found this:

https://www.quandl.com/data/SF0/documentation/about

BOOMSHAKALA! Includes R (amongst a lot of others) and a full db csv download option.

https://www.quandl.com/tools/full-list

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.