All Projects → anfederico → Stocktalk

anfederico / Stocktalk

Licence: mit
Data collection tool for social media analytics

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Stocktalk

Tweetfeels
Real-time sentiment analysis in Python using twitter's streaming api
Stars: ✭ 249 (-67.45%)
Mutual labels:  data-mining, sentiment-analysis, twitter
Twitterdatamining
Twitter数据挖掘及其可视化
Stars: ✭ 145 (-81.05%)
Mutual labels:  data-mining, twitter
Datastories Semeval2017 Task4
Deep-learning model presented in "DataStories at SemEval-2017 Task 4: Deep LSTM with Attention for Message-level and Topic-based Sentiment Analysis".
Stars: ✭ 184 (-75.95%)
Mutual labels:  sentiment-analysis, twitter
sentiment-thermometer
Measure the sentiment towards a word, name or sentence on social networks
Stars: ✭ 56 (-92.68%)
Mutual labels:  twitter, sentiment-analysis
Labeled Tweet Generator
Search for tweets and download the data labeled with its polarity in CSV format
Stars: ✭ 111 (-85.49%)
Mutual labels:  sentiment-analysis, twitter
R
Sentiment analysis and visualization of real-time tweets using R
Stars: ✭ 127 (-83.4%)
Mutual labels:  sentiment-analysis, twitter
Reaper
Social media scraping / data collection tool for the Facebook, Twitter, Reddit, YouTube, Pinterest, and Tumblr APIs
Stars: ✭ 240 (-68.63%)
Mutual labels:  data-mining, twitter
Twitter Sentiment Analysis
This script can tell you the sentiments of people regarding to any events happening in the world by analyzing tweets related to that event
Stars: ✭ 94 (-87.71%)
Mutual labels:  sentiment-analysis, twitter
twitter-analytics-wrapper
A simple Python wrapper to download tweets data from the Twitter Analytics platform. Particularly interesting for the impressions metrics that are unavailable on current Twitter API. Also works for the videos data.
Stars: ✭ 44 (-94.25%)
Mutual labels:  data-mining, twitter
Data-mining-python-script
It contain various script on web crawling/ data mining of social web(RSS,facebook,twitter,Linkedin)
Stars: ✭ 24 (-96.86%)
Mutual labels:  data-mining, twitter
hashformers
Hashformers is a framework for hashtag segmentation with transformers.
Stars: ✭ 18 (-97.65%)
Mutual labels:  twitter, sentiment-analysis
Stock Market Prediction Web App Using Machine Learning And Sentiment Analysis
Stock Market Prediction Web App based on Machine Learning and Sentiment Analysis of Tweets (API keys included in code). The front end of the Web App is based on Flask and Wordpress. The App forecasts stock prices of the next seven days for any given stock under NASDAQ or NSE as input by the user. Predictions are made using three algorithms: ARIMA, LSTM, Linear Regression. The Web App combines the predicted prices of the next seven days with the sentiment analysis of tweets to give recommendation whether the price is going to rise or fall
Stars: ✭ 101 (-86.8%)
Mutual labels:  sentiment-analysis, twitter
Learning Social Media Analytics With R
This repository contains code and bonus content which will be added from time to time for the book "Learning Social Media Analytics with R" by Packt
Stars: ✭ 102 (-86.67%)
Mutual labels:  sentiment-analysis, twitter
Twitter Sentiment Visualisation
🌍 The R&D of a sentiment analysis module, and the implementation of it on real-time social media data, to generate a series of live visual representations of sentiment towards a specific topic or by location in order to find trends.
Stars: ✭ 132 (-82.75%)
Mutual labels:  sentiment-analysis, twitter
Tia
Your Advanced Twitter stalking tool
Stars: ✭ 98 (-87.19%)
Mutual labels:  sentiment-analysis, twitter
Text mining resources
Resources for learning about Text Mining and Natural Language Processing
Stars: ✭ 358 (-53.2%)
Mutual labels:  data-mining, sentiment-analysis
Sarcasm Detection
Detecting Sarcasm on Twitter using both traditonal machine learning and deep learning techniques.
Stars: ✭ 73 (-90.46%)
Mutual labels:  sentiment-analysis, twitter
Orange3 Text
🍊 📄 Text Mining add-on for Orange3
Stars: ✭ 83 (-89.15%)
Mutual labels:  sentiment-analysis, twitter
TwEater
A Python Bot for Scraping Conversations from Twitter
Stars: ✭ 16 (-97.91%)
Mutual labels:  twitter, sentiment-analysis
Twitter Sent Dnn
Deep Neural Network for Sentiment Analysis on Twitter
Stars: ✭ 270 (-64.71%)
Mutual labels:  sentiment-analysis, twitter

                                                Python Dependencies GitHub Issues License

Purpose

Stocktalk is a visualization tool that tracks tweet volume and sentiment on Twitter, given a series of queries.

It does this by opening a local websocket with Twitter and pulling tweets that contain user-specified keywords. For example, I can tell Stocktalk to grab all tweets that mention Ethereum and periodically tally volume and measure average sentiment every 15 minutes.

It will then record this data continuously and update an online database that can be used to visualize the timeseries data via an interactive Flask-based web application.

Demo

https://anfederico.github.io/Stocktalk/

Prerequisites

Stocktalk requires API credentials with Twitter and Mlab

Twitter Steps (Creating an application)

  1. Sign into Twitter at apps.twitter.com
  2. Create a new application and fill out details
  3. Generate an access token
  4. Save the following information
    • Consumer Key
    • Consumer Secret
    • Access Token
    • Access Token Secret

Mlab Steps (Setting up an online database)

  1. Make an account at https://mlab.com
  2. Create a new deployment in sandbox mode
  3. Add a database user to your deployment
  4. Save the following information
    • Mongo deployment server
    • Mongo deployment id
    • Mongo deployment client
    • Deployment user
    • Deployment pass

Download

# Clone repository and install dependencies
$ git clone https://github.com/anfederico/Stocktalk
$ pip install -r Stocktalk/requirements.txt

# Install natural language toolkit sentiment corpus
$ python -m nltk.downloader vader_lexicon

Edit Settings

/stocktalk
└── /scripts
    └── settings.py
# Mongo
mongo_server = 'ds254236.mlab.com'
mongo_id     =  54236
mongo_client = 'stocktalk'
mongo_user   = 'username'
mongo_pass   = 'password'

# Twitter
api_key             = ''
api_secret          = ''
access_token        = ''
access_token_secret = ''
credentials = [api_key, api_secret, access_token, access_token_secret]

Code Examples

Twitter Streaming

This file opens the websocket and writes to the online databse until manually interrupted

/stocktalk
└── listen.py

$ python listen.py
from scripts import settings

# Each key or category corresponds to an array of keywords used to pull tweets
queries = {'ETH': ['ETH', 'Ethereum'],
           'LTC': ['LTC', 'Litecoin'],
           'BTC': ['BTC', 'Bitcoin'],
           'XRP': ['XRP', 'Ripple'],
           'XLM': ['XLM', 'Stellar']}

# Aggregate volume and sentiment every 15 minutes
refresh = 15*60

streaming.streamer(settings.credentials, 
                   queries, 
                   refresh, 
                   sentiment=True, 
                   debug=True)

Realtime Visualization

This file initiates a local web-application which pulls data from the online database

/stocktalk
└── app.py

$ python app.py

Underlying Features

Text Processing
t1 = "@TeslaMotors shares jump as shipments more than double! #winning"
print(process(t1))

t2 = "Tesla announces its best sales quarter: http://trib.al/RbTxvSu $TSLA" 
print(process(t2))

t3 = "Tesla $TSLA reports deliveries of 24500, above most views."
print(process(t3))
shares jump as shipments more than double winning
tesla announces its best sales quarter
tesla reports deliveries of number above most views
Sentiment Analysis
t1 = "shares jump as shipments more than double winning"
print(sentiment(t1))

t2 = "tesla reports deliveries of number above most views"
print(sentiment(t2))

t3 = "not looking good for tesla competition on the rise"
print(sentiment(t3))
0.706
0.077
-0.341
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].