A library for sentiment analysis of financial social media posts
This library can help you extract market sentiment from short social media posts. Trained on data from Twitter, it can classify sentimetn into three classes: Bullish, Bearish, Neutral/No Sentiment. Note that we need to differentiate between market sentiment and general sentiment. Consider this example:
💬 Nice, already made loads of money this morning and now im shorting $AAPL, let's goooo!
While the general sentiment in the text is positve, the market sentiment is negative as the author is shorting a stock. Therefore, ...
- If you are looking for a generic sentiment model that works well on social media content, take a look at VADER or TwitterRoBERTa
- If you are looking for a sentiment analysis models that excels on new headlines sentiment analysis, check out FinBERT
- Otherwise, stay here 🙃
It's as easy as...
pip install pyfin-sentiment
📚 The documentation lives on pyfin-sentiment.readthedocs.io
from pyfin_sentiment.model import SentimentModel
# the model only needs to be downloaded once
SentimentModel.download("small")
model = SentimentModel("small")
model.predict(["Long $TSLA!!", "Selling my $AAPL position"])
# array(['1', '3'], dtype=object)
We use the following conventions for mapping sentiment classes:
Class Name | Meaning |
---|---|
1 | Positive, Bullish |
2 | Neutral, Uncertain |
3 | Negative, Bearish |