Forecasting models use structured data like asset prices and fundamental factors to make long-range predictions about the future. These data points are usually widely available and somewhat lagging, so their ability to predict the future can be limited. In contrast, nowcasting uses more unstructured or semi-structured data to make direct measurements and produce short-range predictions. This can give traders and funds an advantage during times of crisis. For example, Marcos Lopez de Prado highlighted in his 2020 nowcasting presentation that an AI agent was able to use email receipts to detect the revenue of Best Buy was outpacing Target several months before the data was officially reported in the regulatory filings.

We sought to build a nowcasting model, so in this episode of Idea Streams, we use the news releases by biotech companies to predict short-term moves. We hypothesize that the price of biotech companies should rise in the short term if they are producing coronavirus therapies and have released positive news about it.

Our Process

In Lopez de Prado’s presentation, the four steps to implementing a nowcasting strategy are explained as the following:

  1. Identify a cause-effect mechanism.
  2. Develop an investment strategy that monetizes that mechanism.
  3. Evaluate the performance of (2) while assuming perfect knowledge of (1).
  4. Replace the perfect knowledge data set with nowcasted estimates.

For our example, we postulate that companies that are developing coronavirus vaccines or other medications will have their stock price increase following positive news announcements. To monetize this mechanism, we instruct our trading algorithm to buy the stock when a positive announcement is made and sell the stock a couple of days afterward. 

To initially test our cause-effect theory, we select various biotech companies that have been involved in developing coronavirus vaccines and treatments. Our universe includes the following securities:

  • GILD - Gilead Sciences, Inc.
  • MRNA - Moderna Inc
  • JNJ - Johnson & Johnson
  • INO - Inovio Pharmaceuticals Inc
  • PFE - Pfizer Inc.
  • NVAX - Novavax, Inc.
  • URGN - Urogen Pharma Ltd
  • CODX - Co-Diagnostics Inc
  • SNGX - Soligenix, Inc.
  • EGRX - Eagle Pharmaceuticals Inc
  • GRFS - Grifols SA - ADR ADR Class B
  • SRNE - Sorrento Therapeutics Inc

We initially assume we have perfect knowledge of the cause-effect mechanism, so we introduce look-ahead bias into the strategy by importing dates that we know positive news events happened for the companies in the universe. To evaluate the performance of our monetization method, we backtest the strategy through March-May 2020. During this first backtest, we submit market on open orders 1 day before the news events occur. The positions are held for 1 day, then liquidated on the following market open. In the case where multiple securities release news in a single day, the portfolio equal-weights the securities. As a result, the backtest achieved a 10.6 Sharpe ratio, 10.2% drawdown, and 98% Probabilistic Sharpe Ratio, however, we attribute these impressive results to the look-ahead bias we purposely included in the strategy.

Continuing on to step 4 in the 4-step process outlined above, we now replace the pre-selected dates included in the backtest. To do so, we subscribe to the Tiingo News feed which streams news articles into our trading algorithm in real-time as they are published. Whenever a news article is streamed into the algorithm, it is classified as positive news if the description of the article contains any of these groupings of keywords:

  • fda, approval
  • fda, approved
  • start, clinical, trails
  • start, human, trials
  • begin, trials
  • start trials


After replacing the hand-picked dates in our backtest with dates selected by our news article parser, we backtested the strategy again over the same time period. Without the look-ahead bias, the strategy was able to produce a 16.8% drawdown and 96% PSR.

This concludes our nowcasting development process. To summarize, we’ve taken a cause-effect idea that we hypothesized, tested it assuming the data for the cause-effect was perfect. The results of the initial test were favorable, so we created a trading strategy that doesn’t rely on perfect data with look-ahead bias. To get a copy of the strategy code, clone the backtest below.