Calendar signals

This section contains signals which provide information about companies’ fiscal calendars.

company_calendar(freq: str = 'FQ/FS', alignment: str = 'afp', *, fill_gaps: bool, extend: bool | int = False)

Produces a time series with the value 1 on the alignment date for every fiscal period of the requested frequency.

Parameters:
  • freq – A fiscal frequency. The possible values are FQ/FS, FQ, FS, FY, FQ+, FS+ and FQ&FS.

  • alignment – An alignment. The possible values are afp, fp, pd and rd.

  • fill_gaps – Whether the signal should fill in dates that are missing from the FactSet time series that are used for determining the calendar. Only supported for the alignments fp and afp, and defaults to True for these alignments.

  • extend – If True or a positive integer, the time series includes future unreported periods. If it is a positive integer, that number of future periods are included. If it is True, an unlimited number of future periods is included. If it is False, only reported periods are included. For afp and fp, unreported periods are extrapolated from the reported periods, provided that we are able to identify the fiscal calendar the company is using. For pd and rd, future dates are taken from FactSet’s data.

publication_date(freq: str = 'FQ/FS', *, extend: bool | int = True)

Produces a time series with the value 1 on the date a report is published.

Parameters:
  • freq – A fiscal frequency. The possible values are FQ/FS, FQ, FS and FY.

  • extend – If True or a positive integer, the time series includes future unreported periods. If it is a positive integer, that number of future periods is included. If it is True, an unlimited number of future periods is included. If it is False, only reported periods are included.

report_date(freq='FQ/FS', *, extend: bool | int = True)

Produces a time series with the value 1 on the date when a report impacted trading. This can differ from publication_date - when a company publishes results after the market close, the report_date will be the next trading day.

Parameters:
  • freq – A fiscal frequency. The possible values are FQ/FS, FQ, FS and FY.

  • extend – If True or a positive integer, the time series includes future unreported periods. If it is a positive integer, that number of future periods is included. If it is True, an unlimited number of future periods is included. If it is False, only reported periods are included.

current_quarter(alignment='pd', crossover='pd', days_after=0)

Produces a time series with with the value 1 on every day in the current quarter, possibly extended to the quarter’s publication date.

The arguments crossover and days_after are used to determine which quarter is the “current” one. For each fiscal quarter we calculate the crossover date as the publication date (if crossover='pd') or the last day of the fiscal quarter (if crossover='afp') plus days_after days. The current quarter is then the last fiscal quarter whose crossover date is today or in the future.

Parameters:
  • alignment – Determines the last day with the value 1 in the time series. This is either pd for the publication date or afp for the last day of the fiscal period. See also Alignment.

  • crossover – Which date the crossover date is calculated relative to. This is either pd for the publication date or afp for the last day of the fiscal period.

  • days_after – The number of days after the date defined by crossover the real crossover date is.

Example:

Get the close price only for days in the first unreported quarter:

close_price.reindex_like(current_quarter(), fill_method=None)