Visible Alpha

Actuals and consensus estimates from Visible Alpha. This is only available to users with a Visible Alpha subscription.

The Visible Alpha signals can be evaluated for companies, in which case the first argument, specifying a line item, is required. For advanced users, they can also be evaluated for a company-line-item entity, in which case a line-item argument should not be provided.

va_actual(line_item=None, freq='FQ/FS', alignment='afp', *, currency=None, currency_method=None)
Parameters:
  • line_item (int/str/list[int/str]) – The line item(s).

  • freq (str) – A fiscal frequency: FQ/FS, FQ, FS, FY or LTM.

  • alignment – An alignment: afp, fp, pd or rd.

  • currency (str) – Optionally, a three-letter currency code (e.g. USD or EUR). If a currency is given, the values are converted to the given currency.

  • currency_method (str) – How the exchange rate is determined. Either 'mean' (use the average exchange rate over the fiscal period) or 'last' (use the exchange rate of the last day in the fiscal period). The default value is 'mean'. See interval-based currency conversion.

Examples:

Actual interim (quarterly / semi-annual) total revenue:

va_actual('Total revenue')  # With line item name.
va_actual(190)  # With line item id.

Actual interim total revenue in USD:

va_actual('Total revenue', currency='USD')

Actual annual total revenue:

va_actual('Total revenue', freq='FY')

Actual interim gross margin, aligned to publication date:

va_actual('Gross margin', alignment='pd')
va_consensus(line_item=None, statistic='mean', freq='FQ/FS', alignment='afp', unreported_periods=None, *, currency, currency_method, relative_to, relative_days)
Parameters:
  • line_item (int/str/list[int/str]) – The line item(s).

  • statistic (str) – The type of the statistic to fetch. The options are 'mean', 'median', 'min', 'max', 'stdev' (standard deviation of broker estimates) and 'count' (number of broker estimates). The default value is 'mean'.

  • freq (str) – A fiscal frequency: FQ/FS, FQ, FS or FY.

  • alignment – An alignment: afp, fp, pd or rd.

  • unreported_periods (int) – Number of unreported periods to return. Default is None, which returns all unreported periods.

  • currency (str) – Optionally, a three-letter currency code (e.g. USD or EUR). If a currency is given, the values are converted to the given currency.

  • currency_method (str) – How the exchange rate is determined. Either 'mean' (use the average exchange rate over the fiscal period) or 'last' (use the exchange rate of the last day in the fiscal period). The default value is 'mean'. See interval-based currency conversion.

  • relative_to (str) – Optionally, the known time of the data for each fiscal period. Either 'afp' (the last date of the fiscal period) or 'pd' (publication date). If provided, the signal produces data as they were known at the given date relative to each fiscal period. The known time can be further modified by the relative_days argument. If not provided, the last available consensus estimate is returned.

  • relative_days (int) – Optionally, the number of days the known time should be moved relative to the date defined by the relative_to argument. A negative value signifies an earlier known time, while a positive value signifies a later known time. For example, relative_to='afp', relative_days=2 means that the known time is two days after the last date of the fiscal period. This argument requires the argument relative_to to be set. The default value is 0. If relative_to is set to 'pd', the value cannot be positive.

Examples:

Consensus interim total revenue:

va_consensus('Total revenue')

Number of brokers for consensus interim total revenue:

va_consensus('Total revenue', 'count')

Consensus interim sales, as of quarter-end for each fiscal period:

va_consensus('Total revenue', relative_to='afp')

Consensus interim sales, 30 days before quarter-end for each fiscal period:

va_consensus('Total revenue', relative_to='afp', relative_days=-30)
va_metric(line_item=None, freq='FQ/FS', alignment='afp', statistic='mean', unreported_periods=None, *, currency, currency_method, relative_to, relative_days)

Returns the combination of actuals (for historical periods) and consensus (for future periods) as a single time series. This is a convenience method, and useful for example when you want to calculate year-over-year change on a Visible Alpha line item, and want to compare next quarter’s consensus with the corresponding quarter in last year’s actuals.

Parameters:
  • line_item (int/str/list[int/str]) – The line item(s).

  • freq (str) – A fiscal frequency: FQ/FS, FQ, FS or FY.

  • alignment – An alignment: afp, fp, pd or rd.

  • statistic (str) – The type of the statistic to fetch. The options are 'mean', 'median', 'min' and 'max'. The default value is 'mean'.

  • unreported_periods (int) – Number of unreported periods to return. Default is None, which returns all unreported periods.

  • currency (str) – Optionally, a three-letter currency code (e.g. USD or EUR). If a currency is given, the values are converted to the given currency.

  • currency_method (str) – How the exchange rate is determined. Either 'mean' (use the average exchange rate over the fiscal period) or 'last' (use the exchange rate of the last day in the fiscal period). The default value is 'mean'. See interval-based currency conversion.

  • relative_to (str) – Optionally, the known time of the data for each fiscal period. Either 'afp' (the last date of the fiscal period) or 'pd' (publication date). If provided, the signal produces data as they were known at the given date relative to each fiscal period. The known time can be further modified by the relative_days argument. If not provided, the last available consensus estimate is returned.

  • relative_days (int) – Optionally, the number of days the known time should be moved relative to the date defined by the relative_to argument. A negative value signifies an earlier known time, while a positive value signifies a later known time. For example, relative_to='afp', relative_days=2 means that the known time is two days after the last date of the fiscal period. This argument requires the argument relative_to to be set. The default value is 0. If relative_to is set to 'pd', the value cannot be positive.

Example:

To calculate year-over-year change in interim total revenue, where historical periods are based on reported data, and future periods are based on consensus:

va_metric('Total revenue').relative_change(years=1)
va_revisions(line_item=None, period, statistic='mean', *, calendarize: str, calendarize_from_freq: str)

Retrieve revisions of the consensus estimate for a given accounting period.

Parameters:
  • line_item (int/str/list[int/str]) – The line item(s).

  • period (str) – A single fiscal period or a rolling relative period.

  • statistic (str) – The type of the statistic to fetch. The options are 'mean', 'median', 'min', 'max', 'stdev' (standard deviation of broker estimates) and 'count' (number of broker estimates). The default value is 'mean'.

  • calendarize (str) – If period is a calendarized period, this specifies how the calendarization is performed. Either blended (default), last or nearest. See calendarization methods for details.

  • calendarize_from_freq (str) – If period is a calendarized period, the frequency of the signal which the calendarization is based on. Either FQ/FS, FQ, FS or FY. If period specifies a calendar year, the default is FQ/FS, if it specifies a quarter, the default is FQ, and if it specifies a semi-annual period, the default is FS.

Examples:

Consensus total revenue revisions for fiscal 1Q-2024:

va_revisions('Total revenue', '1Q-2024')

Consensus total revenue revisions for the current fiscal year (FY1):

va_revisions('Total revenue', 'FY1')

Consensus total revenue revisions for the current fiscal year on a rolling basis (GY1):

va_revisions('Total revenue', 'GY1')
va_revisions_change(line_item, /, period, statistic='mean', *, freq: str = 'D', days: int, weeks: int, months: int, years: int, relative: bool = True)

Calculate the change in the Visible Alpha revisions for a rolling fiscal period.

For each date d in the output, the value is calculated in the following way:

  1. Determine the correct fiscal period p relative to d. (If period is GY1, p is the fiscal year which contains d; if it is GY2 it is the next fiscal year, and so on.)

  2. Determine the interval the change is to be calculated over. The interval ends on d and its length is determined by the arguments days/weeks/months/years.

  3. Take the latest revision for p known at the start of the interval and the latest revision known at the end of the interval and calculate the change.

Exactly one of the arguments days, weeks, months and years must be specified.

Parameters:
  • line_item (int/str/list[int/str]) – The line item(s).

  • period (str) – A rolling fiscal period. The supported options are GYn, GQn, GSn and GQ/GSn.

  • statistic (str) – The type of the statistic to fetch. The options are 'mean', 'median', 'min', 'max', 'stdev' (standard deviation of broker estimates), 'count' (number of broker estimates), 'up' (number of broker estimates revised upwards) and 'down' (number of broker estimates revised downwards).

  • freq (str) – The frequency of the output. The output time series will have a data point on the last date of each period. The supported values are Y (annual), M (monthly), W (weekly, ending on Sunday), W-MON etc. (weekly, ending on the specified day) and D (daily).

  • days (int) – The number of days the change is calculated over.

  • weeks (int) – The number of weeks the change is calculated over.

  • months (int) – The number of months the change is calculated over.

  • years (int) – The number of years the change is calculated over.

  • relative (bool) – If True, the change is calculated as relative change (i.e. a/b-1). If False, the change is calculated as a difference (i.e. a-b).

Example:

Suppose a company has a standard fiscal calendar (ending 31 December), and you want to calculate, for each month, how much the revenue revisions have changed over the past three months for the fiscal year containing the given month. You can then use the expression

va_revisions_change('Total revenue', period='GY1', freq='M', months=3)

In this case, the values are calculated as follows:

The value on

Calculation

31 Dec 2023

The revision for FY-2023 on 31 Dec 2023 relative to the revision on 30 Sep 2023

31 Jan 2024

The revision for FY-2024 on 31 Jan 2024 relative to the revision on 31 Oct 2023

Line items

Each of the Visible Alpha signals accepts a line item specification as its first argument, which is required when the signal is evaluated for a company. (Advanced users may alternatively evaluate the signal for a company line item entity, in which case the line item argument should not be supplied.)

If multiple line items are specified, they will be tried in order, and the first line item for which the company has data, will be used.

A line item can be specified either as a numeric line item id or the line item name. Only a small set of line item names is supported, which is listed below. For all other line items, the line item id must be specified. This id can be retrieved from the Visible Alpha terminal by clicking on a line item and looking up the “Excel Code”.

Id

Line item

190

Total revenue

194

Gross profit / (loss)

204

Operating income / (loss)

217

Net income / (loss)

218

EPS-Basic

219

EPS-Diluted

220

Weighted average shares outstanding-Basic

221

Weighted average shares outstanding-Diluted

470

Total assets

554

Total liabilities

1214

Receivables, net

1215

Inventories, net

2478

Capital expenditures

2496

Gross margin

2497

Operating margin

2500

Net margin

2767

Accounts payable

2778

Total debt

2847

Accounts receivable

4250

EBITDA

4251

EBITDA margin

4253

Dividend per share

4441

Free cash flow