Sentiment Filter for Equity Investment
Sentiment Analysis is extraction of the positivity or negativity of an asset using news. It has been claimed to be an alternative investment technique to traditional fundamental and technical analysis techniques.
In this report, we hope to introduce sentiment as a viable stock selection criteria and show that sentiment alpha exists using a simple and obvious strategy.
Every trading day, we filter out stocks in our trading universe that meet the filter criteria and invest in them, closing on the next trading day where we repeat the process.
Long-Only Positive Sentiment Filter Strategy
The strategy can be described as follow:
At the start of each trading day
Select stocks in the universe with previous day sentiment > 7 and invest in them with weightage based on the previous day sentiment holding for 1 trading day
We basically invest in stocks that had a strong sentiment on the previous trading day, believing that the sentiment will drive further gains and profit.
The weightage assigned to each stock will be (sentiment/sum of all sentiment that fits filter) as we want to assign more weightage on stocks with the best sentiment.
For example, if we have the following 3 stocks,
- Stock1 Sentiment: 8
- Stock2 Sentiment: 10
- Stock3 Sentiment: 8
The weightage assigned to each will be
- Stock1 Weightage: 8/(8+10+8)=0.308
- Stock2 Weightage: 10/(8+10+8)=0.385
For our tests, we used 30 stocks that are either current components in the Dow Jones Industrial Average or were component of the index in the past and backtested over the whole of 2016 on the Quantopian Platform.
**The benchmark used is the S&P500 index
** More details and Source code on Quantopian
Trading too many Stocks
It is important to ensure that the strategy does not trade too many stocks. With an extremely short holding period of 1 day and high portfolio turnover, trading too many stocks can lead to extremely high transaction costs.
Some of the causes of trading too many stocks:
- Filter is not strict enough, leading to many stocks passing the filter criteria.
- Trading universe is too large which also allows many stocks to pass the filter criteria. Tests using the S&P500 Components as our trading universe led to 50+ stocks daily and huge transaction costs.
Some of the solutions to the above:
- Stricter selection criteria.
- Smaller trading universe. In our tests, we limited to just 30 stocks so in the worst case, we invest in at most 30 stocks. Though on average, only 3-6 stocks pass the criteria daily.
- Use secondary selection criteria. If we find that the first filter selects too many stocks, we can further select by taking the n-largest or n-random stocks from the selection based on how many we need.
Other Possible Filters
Here are some suggestions for other possible filters:
- Sentiment – 5-day Sentiment SMA/EMA
- (Sentiment – 5-day Sentiment Low)/ (5-day Sentiment High – 5-day Sentiment Low) (Variant of the Stochastic Oscillator in Technical Analysis)
Both above filters work on the concept of relative sentiment, which means that when we look at current sentiment data, we need to also consider the sentiment data of the recent past before we can determine how good or bad current sentiment data is.
For example, if the past sentiment has been extremely bad for successive days and the sentiment today is not as bad, we will view this as a good sign and count the current sentiment as good even though the absolute value of the sentiment is not high. The above filters will allow us to compare how the current sentiment is compared to the sentiment of the recent past.
The use of sentiment filter conditions allows us to narrow down on specific stock to invest in, leading to strong outperformance of the benchmarks even with a simple and obvious filter condition such as investing in stock with good sentiment.
It is possible that more complex methods and models can uncover and lead to even better returns.
More about the Data
The FinSentS News Sentiment database offers daily media sentiment indicators for 23,000+ global equities, calculated by applying sophisticated real-time machine-learning algorithms to the content of thousands of news websites and media sources from around the world.
Each stock has 5 indicators:
- Sentiment Score: a numeric measure of the bullishness / bearishness of news coverage of the stock.
- Sentiment High / Low: highest and lowest intra-day sentiment scores.
- News Volume: the absolute number of news articles covering the stock.
- News Buzz: a numeric measure of the change in coverage volume for the stock.
List of stocks in Universe
AMERICAN EXPRESS CO
BANK OF AMERICA CORP
CISCO SYSTEMS INC
DU PONT DE NEMOURS
EXXON MOBIL CORP
GENERAL ELECTRIC CO
HOME DEPOT INC
INTL BUSINESS MACHINES CORP
JOHNSON & JOHNSON
JPMORGAN CHASE & CO
MERCK & CO
PROCTER & GAMBLE CO
TRAVELERS COS INC
UNITED TECHNOLOGIES CORP
UNITEDHEALTH GROUP INC
VERIZON COMMUNICATIONS INC
WAL-MART STORES INC