After exposing myself to the world of computation-backed trading, I noticed that there was something incredibly underutilized--human thoughts. Many trading strategies use technical indicators based purely on numbers, but what if they could take advantage of words?

What it does

Insight Analytics brings you a highly visual web dashboard of company analytics using data from real people. It conducts Twitter data mining, derives sentiment and statistics through Natural Language Processing, and combines them into a trading strategy with deep learning.

How it works

Data sourcing is done with Twitter's Developer API and twitterscraper web scraping where needed. I conduct Natural Language Processing with the help of nltk and gensim, using a Multinomial Bayes Model for sentiment analysis and Latent Dirichlet Allocation (LDA) for topic grouping. I convert stock price data and NLP-derved statistics into time-series data and run it through a LSTM to output trading decisions.

I served up my models in a web application through Flask and Pickle and used Bootstrap to quickly bring my design to reality.

What's next!

Given the short time frame of this hackathon, it's no surprise that my NLP models and LSTM trading model aren't perfect. Diving into the stock market using Insight's predictions as a sole trading strategy probably isn't a great idea. Yet, regardless of performance, I was able to bring my full prototype to fruition, and moving forward, I'm confident I'll be able to turn Insight Analytics into an impactful application.

As I continue to work on my project, I plan on:

  • Doing significant backtesting and model optimization
  • Setting up cloud integration (I'm thinking Google Cloud Platform) to improve performance and scalability
  • Creating a mobile application with React Native to broaden my potential user base
Share this project: