The inspiration behind Porygon comes from our own personal experiences as novice traders. We wanted to build a tool that could help us analyse whether a stock will go up or down based on social sentiments. It is believed that in the long run, valuations may drive up stock prices, but in the short term it is market sentiments that move prices.
Market sentiment is about feelings and emotions and that data is fragmented across different social media platforms and investment forums.
Along with your typical high, low, open, close and volume data, Porygon will also include a sentiment score to assist with analysis. 90% of trading is in researching!
What it does
- Displays time-aggregated price and volume data in different types of chart (candlestick, area etc.).
- Streams Twitter for stock tweets
- Generates sentiment score from tweets (Sentiment Analyzer ML model)
- Extracts key phrases from tweets (Keyphrase Extractor ML model)
How we built it
Lambdas, ML models and some pixel dust.
Challenges we ran into
The models take forever to run... it's not as instant as we hoped.
- Getting historic data proved to be difficult. We initially wanted to show a history of tweets along with their sentiments at any point in time to visualise how stock prices are affected by social media such as Twitter and Stock twits. Piecing that together with live data would be very valuable to user in analysing a stock for short term trades.
- The data is not perfect. Tweets and stock twits contains a lot of spam, weird/special characters etc. Using the data as input may return no results. It took a lot of trial and error to determine where the model is failing.
- The models took a very long time to process the data so it was not ideal and requests from the client may time out
- Data is expensive. To get good, premium data with higher limits requires $$$...
Accomplishments that we're proud of
- Learnt how to use API gateway together with Lambda to build a very simple serverless service