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:
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.
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.