Embed our data directly into your workflow.
- ~2900 currently active U.S. exchange-traded stocks.
- ~2700 currently inactive U.S. exchange-traded stocks that appear in the historical data
- Since 2004, we have focused our coverage on currently live, actively-traded stocks because our primary clients have been fundamental PMs. We've always aimed to maintain coverage of 2900 - 3000 active stocks. Due to bankruptcies, acquisitions, delistings, etc., we lose about 20 companies per month from coverage. When adding companies to coverage, we prioritize companies with higher market caps and trading volumes, along with big IPOs and client requests.
Coverage universe is updated daily and available here.
Annual data from 10-Ks (and other annual filings) is available from 1998 to the present. Quarterly data from 10-Qs (and other quarterly filings) is available from 2012 to the present. All data is presented as trailing-twelve-months (TTM) data (more details on TTM are below).
We source all data directly from the annual and quarterly SEC filings using our proprietary Robo Analyst technology. All calculations are our own.
All data is provided as of the dates presented in the dataset file. Only data available as of the as_of_date is used in our models. Only one filing is used per annual or quarterly period. Original filings are used until they are replaced by amended filings on the date the amendments are filed with the SEC. We do not collect data from amended filings unless they provide materially different financial data. More information on data dates below.
Trailing-Twelve-Month (TTM) Data
All data is for the trailing twelve months. Annual data is shown when a company's filing in the relevant fiscal period is an annual filing (10-K). Trailing-twelve-month data from the prior 4 quarters is shown when a company's filing in the relevant fiscal period is a quarterly filing (10-Q).
Dataset Generation Date
Included in the file name for the dataset, the dataset generation date is the date on which the backtest dataset was generated.
Data points impacted by market price changes are updated weekly and marked by asterisks in our documentation. Financial data not impacted by market price changes are updated on the filing date.
- ticker - The ticker for the security on the dataset generation date. Tickers that include a colon are currently inactive stocks. They are no longer traded because they were acquired, went bankrupt, etc. We assign the last used ticker to the security followed by a colon and a number that increments for each new company that becomes inactive with that ticker. For example, XYZ Corp uses ticker XYZ and goes inactive. We assign the company the ticker XYZ:1 because it is the first company in our system to go inactive using ticker XYZ. If a different company, XYZ Technology, starts using ticker XYZ and goes inactive, it will be assigned XYZ:2. A list of tickers and company names is available on our website or through the coverage endpoint of our API.
- company_name - The name of the company on the dataset generation date.
- cik - The Central Index Key (CIK) used by the SEC to identify corporations and individuals who have filed with the SEC. CIK is provided to help map securities from New Constructs to other data sets. For active companies, the CIK is the one in use by the SEC on the dataset generation date. For inactive companies, the CIK is the last one in use by the company prior to its being inactivated.
- figi - The Financial Instrument Global Identifier (FIGI) is an established global standard issued under the guidelines of the Object Management Group (OMG.org, an international, non-profit standards organization), founded in 1989. FIGI is provided to help map securities from New Constructs to other data sets. Please see OpenFIGI for details on OpenFIGI and its use. We do not provide CUSIPs or other industry identifiers for securities.
- stock_exchange - The exchange on which a ticker trades. For active stocks, the exchange is the one on which the ticker was traded on the dataset generation date. For inactive stocks, the exchange is the last one on which the ticker was traded prior to its being inactivated.
- company_status_current - The trading status of the security on the dataset generation date. Actively traded stocks are marked as 'live'. Inactive stocks that have been delisted and no longer traded are marked as 'inactive'.
- fiscal_year - The fiscal year on the as_of_date.
- fiscal_quarter - The fiscal quarter on the as_of_date. For annual periods, this field will be null. For quarterly periods, this field will show the quarter: 1, 2, or 3, indicating the data belongs to a trailing-twelve month (TTM) model.
- filing_type - The filing type of the most recent filing for the fiscal period on the as_of_date - generally a 10-K or 10-Q, though other filing types are also used.
- filing_date - The SEC filing date for the most recent filing for the fiscal period on the as_of_date. Data is generally available to clients within 24 to 48 hours after a new filing is filed with the SEC.
- period_end_date - The period end date of the most recent filing for the fiscal period on the as_of_date.
- update_reason - Explains the cause of the change in data on the as_of_date. For data not impacted by market price changes, data updates are caused by new or amended filings. We show updated data on all filing dates, even when an amended filing isn't for a recent fiscal period, since the data it contains may still impact our models. update_reason details what the filing we received is, whether it's an amended or an original filing, what fiscal period it belongs to, and when it was filed with the SEC. (The filing date will coincide with the as_of_date for that data). For example, if a company files a new 2018 10-Q for the 2nd quarter on 7/25/2018 with the SEC, the update_reason will be "2018 Q2 10-Q filed 7/25/2018". For data that is impacted by market price changes, data is updated at a higher frequency. When a data update is driven only by changes in stock price, the update_reason will be "Stock price".
- as_of_date - The point-in-time date applicable to the data presented. Data that are affected by stock price use closing stock prices on the as_of_date. Data that are not impacted by stock price are updated on the filing_date. Only filing data available on the as_of_date is used to calculate our derived data. No future data is used.
- Data columns - We provide descriptions of the data for each column included in each dataset in the documentation for each dataset. All data values are reported in ones units. Datapoints that are impacted by stock price changes are marked with an asterisk (*) in the documentation.