News modules stream articles in real time from news sources such as Bloomberg, RSS feeds and many other places - including custom feeds you create.

News is unscheduled, ad-hoc and opinionated - it is not 'real' Data, nor scheduled Calendar events. For example, a Fed rates decision is due next week. The rate itself is Data. That it will be announced is Calendar. Bloomberg saying "Surprise 25 point increase" is news. The distinction is subtle, but important.

News is qualitative and subjective so unlikely to directly be part of an execution strategy, it is included for:

  • visualization in dashboards (in the News widget) and charts to aid analysis of the impact of news events, in both strategy design and real-time discretionary/machine-assisted trading
  • news can be quantified into Data, e.g. by sentiment analysis, by frequency of keyword mention, or by more advanced ML/NLP processing - the output of which is quantitative and can be used directly in a strategy

News feeds can be interacted with in a similar fashion to Data; i.e. a consistent API for retrieving articles and for streaming both historic and real-time data.

You can run any number of news modules in your environment, mux will automatically multiplex/syndicate the news streams.

Latency and history

Also built into the news structure is not just when news was posted, but when it became knowable to the system - i.e. latency. This manifests through the publishedAt and foundAt fields in the news APIs; publishedAt is when the article was published at the source, foundAt is when it became known to the AWTS system. In an engine/backtest run or a historic market replay, news articles will not appear in the feed until after the foundAt time.

There is also a special case when a new news source is first added to the system; typically the source will then scan for all known historic articles. In these scenarios the foundAt value is approximated based on an estimated latency. The value for this latency may depend on the news source and so is module-dependent. Consult the documentation for the news modules you run for specific details.