Standardized Numeric Financials¶
Calcbench extracts all of the GAAP numbers in section 8, face statments and footnotes, of the 10-K/Qs. Face financials from earnings press-releases and 8-Ks are also included.
Standardized¶
Calcbench standardizes +1000 metrics to handle differences in filers’s tagging. The list of stardized points is @ https://www.calcbench.com/home/standardizedmetrics
- calcbench.standardized_data(company_identifiers=[], metrics=[], start_year=None, start_period=None, end_year=None, end_period=None, entire_universe=False, point_in_time=False, year=None, period=None, all_history=False, period_type=None, trace_hyperlinks=False, use_fiscal_period=False, company_identifier_scheme=CompanyIdentifierScheme.Ticker, accession_id=None)¶
Standardized Data.
Metrics are standardized by economic concept and time period.
The data behind the multi-company page, https://www.calcbench.com/multi.
Example https://github.com/calcbench/notebooks/blob/master/python_client_api_demo.ipynb
- Parameters
company_identifiers (
Sequence
[Union
[str
,int
]]) – Tickers/CIK codes. eg. [‘msft’, ‘goog’, ‘appl’, ‘0000066740’]metrics (
Sequence
[str
]) – Standardized metrics. Full list @ https://www.calcbench.com/home/standardizedmetrics eg. [‘revenue’, ‘accountsreceivable’]start_year (
Optional
[int
]) – first year of datastart_period (
Union
[Period
,Literal
[0, 1, 2, 3, 4],None
]) – first quarter to get, for annual data pass 0, for quarters pass 1, 2, 3, 4end_year (
Optional
[int
]) – last year of dataend_period (
Union
[Period
,Literal
[0, 1, 2, 3, 4],None
]) – last_quarter to get, for annual data pass 0, for quarters pass 1, 2, 3, 4entire_universe (
bool
) – Get data for all companies, this can take a while, talk to Calcbench before you do this in production.accession_id (
Optional
[int
]) – Calcbench Accession IDyear (
Optional
[int
]) – Get data for a single year, defaults to annual data.period_type (
Optional
[PeriodType
]) – Either “annual” or “quarterly”.trace_hyperlinks (
bool
) – Values are URLs to the source documents
- Return type
DataFrame
- Returns
Dataframe with the periods as the index and columns indexed by metric and ticker
Usage:
>>> d = calcbench.standardized_data(company_identifiers=['msft', 'goog'], >>> metrics=['revenue', 'assets'], >>> all_history=True, >>> period_type='annual') >>> # Make it look like Compustat data >>> d.stack(level=1)
- calcbench.standardized_raw(company_identifiers=[], metrics=[], start_year=None, start_period=None, end_year=None, end_period=None, entire_universe=False, accession_id=None, point_in_time=False, include_trace=False, update_date=None, all_history=False, year=None, period=None, period_type=None, include_preliminary=False, use_fiscal_period=False, all_face=False, all_footnotes=False, include_xbrl=False, exclude_errors=True)¶
Standardized data.
Get normalized data from Calcbench. Each point is normalized by economic concept and time period.
- Parameters
company_identifiers (
Sequence
[Union
[str
,int
]]) – a sequence of tickers (or CIK codes), eg [‘msft’, ‘goog’, ‘appl’]metrics (
Sequence
[str
]) – a sequence of metrics, see the full list @ https://www.calcbench.com/home/standardizedmetrics eg. [‘revenue’, ‘accountsreceivable’]start_year (
Optional
[int
]) – first year of datastart_period (
Union
[Period
,Literal
[0, 1, 2, 3, 4],None
]) – first quarter to get, for annual data pass 0, for quarters pass 1, 2, 3, 4end_year (
Optional
[int
]) – last year of dataend_period (
Union
[Period
,Literal
[0, 1, 2, 3, 4],None
]) – last_quarter to get, for annual data pass 0, for quarters pass 1, 2, 3, 4entire_universe – Get data for all companies, this can take a while, talk to Calcbench before you do this in production.
accession_id (
Optional
[int
]) – Calcbench Accession IDinclude_trace (
bool
) – Include the facts used to calculate the normalized value.year (
Optional
[int
]) – Get data for a single year, defaults to annual data.period_type (
Optional
[PeriodType
]) – Either “annual” or “quarterly”include_preliminary (
bool
) – Include data from non-XBRL 8-Ks and press releases.exclude_errors (
bool
) – Run another level of error detections, only works for PIT preliminary
- Return type
Sequence
[StandardizedPoint
]- Returns
A list of dictionaries with keys [‘ticker’, ‘calendar_year’, ‘calendar_period’, ‘metric’, ‘value’].
Point-In-Time¶
Our standardized data with timestamps. Useful for backtesting quantitative strategies.
- calcbench.point_in_time(company_identifiers=[], all_footnotes=False, metrics=[], all_history=False, entire_universe=False, start_year=None, start_period=None, end_year=None, end_period=None, period_type=None, use_fiscal_period=False, include_preliminary=False, all_face=False, include_xbrl=True, accession_id=None, include_trace=False, set_index=False, exclude_errors=False)¶
Point-in-Time Data
Standardized data with a timestamp when it was published by Calcbench
- Parameters
accession_id (
Optional
[int
]) – Unique identifier for the filing for which to recieve data. Pass this to recieve data for one filing. Same as filing_id in filings objectsall_face (
bool
) – Retrieve all of the points from the face financials, income/balance/statement of cash flowsall_footnotes (
bool
) – Retrive all of the points from the footnotes to the financialsinclude_preliminary (
bool
) – Include facts from non-XBRL earnings press-releases and 8-Ks.include_xbrl (
bool
) – Include facts from XBRL 10-K/Qs.include_trace (
bool
) – Include a URL that points to the source document.set_index (
bool
) – Set a useful index on the returned DataFrameexclude_errors (
bool
) – Run the error detection
- Return type
DataFrame
- Returns
DataFrame of facts
Columns:
- value
The value of the fact
- revision_number
0 indicates an original, unrevised value for this fact. 1, 2, 3… indicates subsequent revisions to the fact value. https://knowledge.calcbench.com/hc/en-us/search?utf8=%E2%9C%93&query=revisions&commit=Search
- period_start
First day of the fiscal period for this fact
- period_end
Last day of the fiscal period for this fact
- date_reported
Timestamp when Calcbench published this fact
- metric
The metric name, see the definitions @ https://www.calcbench.com/home/standardizedmetrics
- calendar_year
The calendar year for this fact. https://knowledge.calcbench.com/hc/en-us/articles/223267767-What-are-Calendar-Years-and-Periods-What-is-TTM-
- calendar_period
The calendar period for this fact
- fiscal_year
Company reported fiscal year for this fact
- fiscal_period
Company reported fiscal period for this fact
- ticker
Ticker of reporting company
- CIK
SEC assigned Central Index Key for reporting company
- calcbench_entity_id
Internal Calcbench identifier for reporting company
- filing_type
The document type this fact came from, 10-K|Q, S-1 etc…
- Usage::
>>> calcbench.point_in_time(company_identifiers=["msft", "goog"], >>> all_history=True, >>> all_face=True, >>> all_footnotes=True)
- class calcbench.api_query_params.Period(value)
An enumeration.
- Annual = 0
- Q1 = 1
- Q2 = 2
- Q3 = 3
- Q4 = 4
- class calcbench.api_query_params.PeriodType(value)
An enumeration.
- Annual = 'annual'
- Combined = 'combined'
- Quarterly = 'quarterly'
- TrailingTwelveMonths = 'TTM'
- class calcbench.api_query_params.CompanyIdentifierScheme(value)¶
An enumeration.
- CentralIndexKey = 'CIK'¶
- Ticker = 'ticker'¶
- class calcbench.api_query_params.PeriodType(value)¶
An enumeration.