Sentiment analysis is one of the most popular uses of NLP and machine learning for trading because positive or negative perspectives on assets or other price drivers are likely to impact returns.
Generally, modeling approaches to sentiment analysis rely on dictionaries, such as the TextBlob library, or models that are trained on outcomes for a specific domain. The latter is preferable because it permits more targeted labeling; for instance, by tying text features to subsequent price changes rather than indirect sentiment scores.
We will illustrate machine learning for sentiment analysis using a Twitter dataset with binary polarity labels, and a large Yelp business review dataset with a five-point outcome scale.