Background

Our project collects and analyzes data about stock options. If you don't know what an option is, in basic terms to help you better understand our project and goals we have a brief explanation. Just like you can trade a stock on the market, an option is another equity traded on markets. An option is the right to buy stock on a future agreed upon date for a specified agreed upon price, allowing traders to essentially take a position betting on the underlying stock to move up or down within the timeframe. Thus, as a stock moves up and down, an option has a price that moves very similarly since it derives its value from the performance of the stock.

Inspiration

Over quarantine, our team members picked up investing as a new hobby. Over time we have also worked as traders in the options market. We decided that we could create a program to help traders like ourselves work day to day by making an option activity tracker and alert us to options that have unusual activity. This tool would be something to automate and improve our research that we do day to day.

What it does

This app is an option activity tracker searching for unusual and large activity in the options market. Our python program takes live data from Yahoo Finance, and organizes and writes it to Firestore for historical storage. Historical data is not available for options since there are so many data points so we created this resource for ourselves. Then, we look for contracts with unusual activity by comparing the details of daily trades to our collected historical data. This includes analyzing and comparing volumes, moving averages, and open interest. If our algorithms conclude an option has "unusual activity", the program writes the contract data as well as our calculations onto a new collection in our database. We are able to display the analysis of these detected options on a web app at our domain. The display shows the raw data of the option contract, our analysis and a short term and long term graph of data points.

How we built it

We built this project using Python for the backend data collection and analysis, Google Firestore for the Database Storage, and React for the frontend web app. We broke the project down into 3 main components that we divided between the team members: Python scripts/analysis, Firestore setup/queries, and React web app. We broke down each tool into steps and focused on these mini goals, swapping as we needed to give or get help until everything came together.

Challenges we ran into

Our group had never worked with cloud services before so one challenge we ran into was how to connect our Python to Firestore to query. Another major challenge we had was how to update our web app with new option activity as new options are found and added to the database.

Accomplishments that we're proud of

We are proud of creating a large, organized document model database on the cloud which we had never used either before. We are also proud that we figured out how to integrate Python, Firestore, and React to all work together and produce one cohesive project.

What we learned

We decided to try and use as many new tools during this project as possible so each of our group members learned at least two new tools/languages between Google Cloud, Document model database Firestore, Python, and React. We also learned how to create a fully integrated project by connecting Python, Firestore, and React together.

What's next for BDAK Unusual Option Activity Tracker

We want to automate our Compare Data File. Our next step would be to take advantage of Google Cloud Functions to run our scripts every 10 minutes on every trading day automatically as well as store new historical data automatically each day once the markets close. We would also like to make improvements to our website to include more details from the analysis, the ability to look at "usual" option activity, and historical unusual activity.

Team Leader Slack Profile Link

https://swamphacks-vii.slack.com/team/U01LDQZMDB5 @Dhruv Patel

Share this project:

Updates