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
orLTM
.alignment – An alignment:
afp
,fp
,pd
orrd
.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
orFY
.alignment – An alignment:
afp
,fp
,pd
orrd
.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 therelative_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 argumentrelative_to
to be set. The default value is 0. Ifrelative_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
orFY
.alignment – An alignment:
afp
,fp
,pd
orrd
.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 therelative_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 argumentrelative_to
to be set. The default value is 0. Ifrelative_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. Eitherblended
(default),last
ornearest
. 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. EitherFQ/FS
,FQ
,FS
orFY
. Ifperiod
specifies a calendar year, the default isFQ/FS
, if it specifies a quarter, the default isFQ
, and if it specifies a semi-annual period, the default isFS
.
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:
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.)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
.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
andyears
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
andGQ/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) andD
(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 |