Filings

class calcbench.filing.Filing(**data)

A filing with the SEC or a wire press-release

CIK: Optional[str]
property accession_id: int

same as calcbench_id, calcbench_id should have been accession_id

Return type

int

associated_earnings_press_release_SEC_URL: Optional[str]
associated_proxy_SEC_URL: Optional[str]
calcbench_accepted: datetime.datetime
calcbench_finished_load: Optional[datetime.datetime]
calcbench_id: int

aka accession id

calendar_period: Optional[calcbench.api_query_params.Period]
calendar_year: Optional[int]
document_type: str

The label assigned to the filing by the SEC

/FI,/MD,10-12B ,10-12B [Cover],10-12B/A [Amend] ,10-12B/A [Amend] [Cover],10-12G ,10-12G [Cover],10-12G/A,10-12G/A [Amend] ,10-12G/A [Amend] [Cover],10-D ,10-D/A [Amend] ,10-K,10-K [Cover],10-K [Paper],10-K/A,10-K/A [Amend] ,10-K/A [Amend] [Cover],10-KT ,10-KT/A,10-KT/A [Amend] ,10-KT/A [Amend] [Cover],10-Q,10-Q [Cover],10-Q [Paper],10-Q/A,10-Q/A [Amend] ,10-Q/A [Amend] [Cover],10-QT ,10-QT/A,10-QT/A [Amend] ,13F-HR,20-F,20-F/A,20FR12G,3,4,4/A,40-F,40-F/A,424B3,424B4,424B5,425,485APOS,485BPOS,485BXT,497,5,6-K,6-K/A,8-K,8-K [Cover],8-K/A,8-K/A [Amend] ,8-K/A [Amend] [Cover],8-K12B,8-K12B/A,8-K12B/A [Amend] ,8-K12G3,8-K12G3/A,8-K12G3/A [Amend] ,8-K15D5 ,ANNLRPT,Annual,ARS,CORRESP,DEF 14A,DEF 14C,DEFA14A,DEFC14A,DEFM14A,DEFM14C,DEFN14A,DEFR14A,DEFR14C,ESMA,F-1,F-1/A,F-3,F-3/A,F-3ASR,F-4,F-4/A,FOCUSN,HalfYear,MSD/A,MSDW,N-1A/A,NT 10-D ,NT 10-K,NT 10-K/A,NT 10-K/A [Amend] ,NT 10-Q,NT 10-Q/A,NT 10-Q/A [Amend] ,NT 11-K ,NT 20-F,NT 20-F/A,NT 20-F/A [Amend] ,NT N-CEN,NT N-MFP ,NT NPORT-EX,NT NPORT-P,NT-NCSR ,NT-NSAR ,NTN 10K ,NTN 10Q ,POS AM,POS EX,POSASR,PRE 14A,S-1,S-1/A,S-11,S-11/A,S-11MEF,S-1MEF,S-3,S-3/A,S-3ASR,S-4,S-4/A,SDR/A,SP 15D2,UPLOAD,WIREPR,X-17A-5,X-17A-5/A’

entity_id: Optional[int]
entity_name: Optional[str]
filing_date: datetime.datetime
filing_id: int

preferred ID for filings.

corresponds to the ID column in Calcbench’s SECFilings table

filing_type: calcbench.filing.FilingType

Standardized FilingType as assigned by Calcbench

fiscal_period: Optional[calcbench.api_query_params.Period]
fiscal_year: Optional[int]
get_standardized_data(**args)

Standardized point-in-time data for this filing

has_standardized_data: bool

There is/should/will be, standardized data for this filing

is_wire: Optional[bool]
is_xbrl: Optional[bool]
item_types: Optional[Sequence[str]]

Item types for 8-Ks

5.02,5.03,8.01,9.01 etc.

link1: Optional[str]
link2: Optional[str]
link3: Optional[str]
percentage_revenue_change: Optional[float]
period_end_date: Optional[datetime.datetime]
period_index: Optional[int]
sec_accession_id: Optional[str]
sec_html_url: str
standardized_XBRL: bool

Calcbench (should have) standardized data for this filing.

this_period_revenue: Optional[float]
ticker: Optional[str]
class calcbench.filing.FilingType(value)

An enumeration.

BusinessWirePR_filedAfterAn8K = 'BusinessWirePR_filedAfterAn8K'

Wire press release recieved after an earnings 8-K. Calcbench does not process these.

BusinessWirePR_replaced = 'BusinessWirePR_replaced'

Wire press release for which an 8-K has subsequently been received.

This value should no longer be returned by the filings API.

Four24B = 'Four24B'
NT10KorQ = 'NT10KorQ'

Not in Time 10-K/Q. Notification that 10-K/Q will not be filed in time.

S = 'S'
annualQuarterlyReport = 'annualQuarterlyReport'
commentLetter = 'commentLetter'

from the SEC - UPLOAD

commentLetterResponse = 'commentLetterResponse'

From the filer - CORRESP

eightk_conferenceCallTranscript = 'eightk_conferenceCallTranscript'
eightk_earningsPressRelease = 'eightk_earningsPressRelease'

Wire press release, OR an earnings press release filed as an 8-K.

The wire should be filed again as an 8-K.

The wire will have the document_type of “WIREPR” while the 8-K will have the document_type of “8-K”

eightk_earningsPressRelease_correction = 'eightk_earningsPressRelease_correction'
eightk_earningsPressRelease_preliminary = 'eightk_earningsPressRelease_preliminary'
eightk_guidanceUpdate = 'eightk_guidanceUpdate'
eightk_monthlyOperatingMetrics = 'eightk_monthlyOperatingMetrics'
eightk_nonfinancial = 'eightk_nonfinancial'
eightk_other = 'eightk_other'
eightk_presentationSlides = 'eightk_presentationSlides'
form_3 = 'form_3'
form_4 = 'form_4'
form_5 = 'form_5'
institutionalOwnsership_13F = 'institutionalOwnsership_13F'
proxy = 'proxy'
calcbench.filing.filings(company_identifiers=[], entire_universe=False, include_non_xbrl=True, received_date=None, start_date=None, end_date=None, include_press_releases_and_proxies=True, filing_types=[])

SEC filings

https://www.calcbench.com/filings.

Note that records are returned from the API that do not appear on the filings page. On the filings page we only show records for which there is a record for the filer in our entities table.

Parameters
  • company_identifiers (Sequence[Union[str, int]]) – list of tickers or CIK codes

  • received_date (Optional[date]) – get all filings received on this date

  • entire_universe (bool) – filings for all companies

  • include_non_xbrl (bool) – include filings that do not have XBRL, 8-Ks, earnings releases etc.

  • received_date – only filings published by Calcbench on this date

  • start_date (Optional[date]) – filings published by Calcbench on or after this date

  • end_date (Optional[date]) – filings published by Calcbench on or before theis date

  • filing_type – types of filings to include

Usage::
>>> from datetime import date
>>> calcbench.filings(received_date=date.today(), entire_universe=True)
Return type

List[Filing]

calcbench.filing.filings_dataframe(company_identifiers=[], entire_universe=False, include_non_xbrl=True, received_date=None, start_date=None, end_date=None, include_press_releases_and_proxies=True, filing_types=[])

SEC filings in a dataframe

https://www.calcbench.com/filings

Parameters
  • company_identifiers (Sequence[Union[str, int]]) – list of tickers or CIK codes

  • received_date (Optional[date]) – get all filings received on this date

  • entire_universe (bool) – filings for all companies

  • include_non_xbrl (bool) – include filings that do not have XBRL, 8-Ks, earnings releases etc.

  • received_date – only filings published by Calcbench on this date

  • start_date (Optional[date]) – filings published by Calcbench on or after this date

  • end_date (Optional[date]) – filings published by Calcbench on or before theis date

  • filing_type – types of filings to include

Usage::
>>> import calcbench as cb
>>> from calcbench.filing import FilingType
>>> cb.filings_dataframe(
>>>     entire_universe=True,
>>>     filing_types=[FilingType.commentLetter, FilingType.commentLetterResponse],
>>> )
Return type

DataFrame