About Benzinga News Feed
The Benzinga News Feed dataset by Benzinga tracks US Equity news releases. The data covers about 1,250 articles per day across 8,000 Equities, starts in January 2016, and is delivered on a second frequency. This dataset is created by structuring the content produced by Benzinga's editorial team.
This dataset depends on the US Equity Security Master dataset because the US Equity Security Master dataset contains information on splits, dividends, and symbol changes.
About Benzinga
Benzinga was founded by Jason Raznick in 2010 with goal of connecting the world with news, data, and education that makes the path to financial prosperity easier for everyone, everyday. Benzinga provides access to real-time news for individual investors.
About QuantConnect
QuantConnect was founded in 2012 to serve quants everywhere with the best possible algorithmic trading technology. Seeking to disrupt a notoriously closed-source industry, QuantConnect takes a radically open-source approach to algorithmic trading. Through the QuantConnect web platform, more than 50,000 quants are served every month.
Algorithm Example
from AlgorithmImports import *
from QuantConnect.DataSource import *
class BenzingaNewsDataAlgorithm(QCAlgorithm):
current_holdings = 0
target_holdings = 0
# A custom word-score map for calculating the total sentiment score
word_scores = {
'good': 1, 'great': 1, 'best': 1, 'growth': 1,
'bad': -1, 'terrible': -1, 'worst': -1, 'loss': -1}
def initialize(self) -> None:
self.set_start_date(2021, 1, 1)
self.set_end_date(2021, 6, 1)
self.set_cash(100000)
# Requesting data to obtain the updated news for sentiment score calculation
self.aapl = self.add_equity("AAPL", Resolution.MINUTE).symbol
self.benzinga_symbol = self.add_data(BenzingaNews, self.aapl).symbol
# Historical data
history = self.history(self.benzinga_symbol, 14, Resolution.DAILY)
self.debug(f"We got {len(history)} items from our history request")
def on_data(self, slice: Slice) -> None:
if slice.contains_key(self.benzinga_symbol):
# Assign a sentiment score to the news article by specific word appearance scoring
content_words = slice[self.benzinga_symbol].contents.lower()
score = 0
for word, word_score in self.word_scores.items():
score += (content_words.count(word) * word_score)
self.target_holdings = int(score > 0)
# Ensure we have AAPL data in the current Slice to avoid stale filling
if not (slice.contains_key(self.aapl) and slice[self.aapl] is not None and not slice[self.aapl].is_fill_forward):
return
# Buy or sell if the sentiment has changed from our current holdings
if self.current_holdings != self.target_holdings:
self.set_holdings(self.aapl, self.target_holdings)
self.current_holdings = self.target_holdings
Example Applications
The Benzinga News Feed enables you to accurately design strategies harnessing real-time news releases. Examples include the following strategies:
- Creating a dictionary of sentiment scores for various words and assigning a sentiment score to the content of each news release
- Calculating the sentiment of news releases with Natural Language Processing (NLP)
- Trading securities when their news releases that Benzinga tags with current buzzwords
Pricing
Cloud Access
Harness Benzinga News Feed data in the QuantConnect Cloud for your backtesting and live trading purposes.
On Premise Download
Benzinga News Feed archived in LEAN format for on premise backtesting and research. One file per ticker.
Explore Other Datasets
Binance Crypto Price Data
Dataset by CoinAPI
Brain ML Stock Ranking
Dataset by Brain
CNBC Trading
Dataset by Quiver Quantitative