improved

May 2022 update

DSL improvements for univariate forecasting, Z-scores & p-values, and retrieving detailed backtest results from Alpha Tests & Portfolio Strategies; easier integration of Prediction Models on Dashboards, and download of model backtests & predictions; and other improvements & fixes.

New features

Domain-specific language (DSL) improvements

We have introduced a new <signal>.forecast() function with support for additional forecast models - see Improved univariate forecasting.

We also introduced a breaking change to the <signal>.z_score() function to be more intuitive in returning a Z-score by default (this was previously returning p-values by default). We have also added a new <signal>.p_value() function to return p-values. We had communicated this in advance to affected users, provided instructions for migration, and only released this after the affected users were comfortable with the change. See the Transformations page in the DSL reference for more details.

Lastly, we introduced a new portfolio_results() function to retrieve more detailed backtest results from Alpha Tests and Portfolio Strategies, such as daily returns, turnover, etc. See the Portfolios page in the DSL reference for more details.

Prediction model integrations

On dashboard tables, a new "Add model" button lets you add a prediction model, to display model predictions on a column. With this, users will no longer have to manually create separate signals to retrieve model predictions.

1456

Add a model to a dashboard table by clicking on "Add model"

When viewing prediction model results, we now also provide a "Download" button to easily download model backtests and predictions. (Backtests are the out-of-sample predictions made by the intermediate models during the training & backtesting process, and are displayed in the results interface. Predictions are those made by the final trained model with all of the available input data.)

2908

Download model backtests & predictions from a model results page

Improvements

  • Prediction models: we now re-train prediction models up to 10 times during backtesting (previously 5) to get more backtest data points and get better granularity for backtests.
  • Company searches now display the Bloomberg ticker rather than the MIC:ticker - eg AAPL US rather than XNAS:AAPL for Apple. For companies with listings in different regions, such as international stocks with ADRs, we display the Bloomberg ticker of the primary "regional" (a regional is a group of listings in the same region).
  • Signal Explorer
    • The default end date is now 1 year in the future - to simplify charting of consensus signals with data points in the future. The plotted charts are still truncated to the actual signal date range, so this will not impact charting of signals that only have historical data.
    • Enable syntax highlighting by default - we will look to remove the syntax highlighting toggle soon, as it has now been in production use for several months.
  • Drill-downs
    • Chart exports now include the widget title and a subtitle of charted entities for better contextualization of the chart content.
    • Charts may now also be viewed fullscreen.
    • We added an in-page navigation sidebar to more easily navigate to a specific widget.
    • Non-company entities may now be compared, as long as a tag of such entities is defined on the drill-down.
    • All chart widgets now have an "Open chart" link to Signal Explorer, for consistency.
    • The configuration UI for signal tables now shows the custom name on a column, if this has been defined.
    • Streamlined configuration UI for adding signals by allowing 'enter' keypress to submit changes.
    • Improved helper text explaining how to configure "Bar and line chart" and "Stacked area and line chart" widgets.
  • Portfolio strategies
    • Display mean benchmark deviation and chart of benchmark deviation over time, if a benchmark is selected (only applicable to new strategy backtests run since April 2022)
    • Display attribution tables as collapsed by default for simplicity.

Bug fixes

  • Portfolio Strategies: fixed issue with older strategies that showed the benchmark as being market-cap weighted when they were actually run as equal-weighted.
  • DSL
    • Fixed a bug in the <signal>.z_score() function to avoid incorrectly dropping data points. Previously, when evaluated for multiple entities at a time, if one entity was missing data on a given date, the function dropped the data points for all the other entities on that date. We now calculate the Z-score on each time series in isolation, and only remove NaN values from that time series.
    • Fixed the versions() signal (see Point-in-time in the DSL reference) failing when using the Visible Alpha va_actual() or va_consensus() functions as an input.
  • Dashboards
    • Fixed columns that were named "Hidden" being incorrectly hidden.
    • Fixed popup chart titles overflowing outside of the popup.
    • Fixed checkbox styling with long column names.
    • Fixed a bug where popup charts would show without a page refresh after changing column visibility.
  • Signal Explorer
    • Removed 'undefined' suffix showing up for certain signals in the chart legend.
    • Fixed correlation analysis (scatter plot) failing to show results when selecting a specific entity within a tag.
  • Drill-downs
    • Fixed bug causing tags to disappear when renaming a drill-down.
    • Fixed bug where removing one company from the comparison list removes all.
    • Fixed chart ticks not showing when a chart is configured to place ticks at data points.
    • Table widgets: fixed table filters not showing correctly; loading indicator not showing when changing comparison entities.
  • External APIs: added the missing updateMask parameter on the Update derived signal endpoint in the Analytics API.