Skip to content

asad70/reddit-sentiment-analysis

Repository files navigation

reddit-sentiment-analysis

This program goes through reddit, finds the most mentioned tickers and uses Vader SentimentIntensityAnalyzer to calculate the ticker compound value.

Program Parameters

subs = []           sub-reddit to search
post_flairs = {}    posts flairs to search || None flair is automatically considered
goodAuth = {}       authors whom comments are allowed more than once
uniqueCmt = True    allow one comment per author per symbol
ignoreAuthP = {}    authors to ignore for posts
ignoreAuthC = {}    authors to ignore for comment 
upvoteRatio = float upvote ratio for post to be considered, 0.70 = 70%
ups = int           define # of upvotes, post is considered if upvotes exceed this #
limit = int         define the limit, comments 'replace more' limit
upvotes = int       define # of upvotes, comment is considered if upvotes exceed this #
picks = int         define # of picks here, prints as "Top ## picks are:"
picks_ayz = int     define # of picks for sentiment analysis

How to run:

pip install -r requirements.txt
python3 reddit-sentiment-analysis.py

Sample Output

It took 1574.61 seconds to analyze 14236 comments in 8 posts in 1 subreddits.

Posts analyzed saved in titles

10 most mentioned picks:
GME: 764
SPCE: 183
PLTR: 89
TSLA: 71
MVIS: 42
NVDA: 34
AMD: 30
F: 29
TLRY: 29
AAPL: 26

Sentiment analysis of top 5 picks:
         Bearish  Neutral  Bullish  Total/Compound
GME   0.087   0.707    1.548     0.030
SPCE   0.119   0.645    1.618     0.027
PLTR   0.073   0.649    1.751     0.032
TSLA   0.088   0.650    1.543     0.049
MVIS   0.155   0.698    1.714     -0.020

Data:

Includes US stocks with market cap > 100 Million, and price above $3. It doesn't include penny stocks.
You can download data from here:
Source (US stocks): https://www.nasdaq.com/market-activity/stocks/screener?exchange=nasdaq&letter=0&render=download\

License

This project is licensed under the MIT License - see the LICENSE.md file for details.