abaquant.marketdata.providers.financial_statements

Import path: abaquant.marketdata.providers.financial_statements

Domain: Provider-neutral market-data facades, normalized records, caching, and analytics.

Purpose

Financial-statement provider protocol.

When to use it

This module belongs to the provider layer. Most users reach it through the market-data facades; custom integrations can implement or instantiate the documented contracts directly.

Public objects

  • class: FinancialStatementProvider — Provider capability for annual or quarterly financial statements. * FinancialStatementProvider.sec_facts — Return raw SEC Company Facts JSON when the provider supports it. * FinancialStatementProvider.income_statement — Return the requested income statement table. * FinancialStatementProvider.balance_sheet — Return the requested balance-sheet table. * FinancialStatementProvider.cash_flow_statement — Return the requested cash-flow statement table.

Detailed reference

Financial-statement provider protocol.

class abaquant.marketdata.providers.financial_statements.FinancialStatementProvider(*args, **kwargs)

Bases: Protocol

Provider capability for annual or quarterly financial statements.

sec_facts(symbol, *, refresh_policy='if_stale', max_age_days=None)

Return raw SEC Company Facts JSON when the provider supports it.

Providers without SEC support may omit this method at runtime; the financial-statement facade checks for the method before calling it.

Parameters:
  • symbol (str)

  • refresh_policy (str)

  • max_age_days (float | None)

Return type:

dict[str, Any]

income_statement(symbol, *, period='annual')

Return the requested income statement table.

Parameters:
  • symbol (str)

  • period (Literal['annual', 'quarterly'])

Return type:

DataFrame

balance_sheet(symbol, *, period='annual')

Return the requested balance-sheet table.

Parameters:
  • symbol (str)

  • period (Literal['annual', 'quarterly'])

Return type:

DataFrame

cash_flow_statement(symbol, *, period='annual')

Return the requested cash-flow statement table.

Parameters:
  • symbol (str)

  • period (Literal['annual', 'quarterly'])

Return type:

DataFrame