Inspiration
We wanted a project that would last longer than just one weekend, a project that we could actually use, a project that makes us money. As such, we decided to build a program that would help us make money via stocks.
What it does
Stock Automation uses multiple trend-based algorithms to determine the best time to buy and sell stocks. After determining the proper time to buy and sell stocks, our program will automatically place an order to buy/sell the appropriate amount of stocks through E*TRADE.
How we built it
Using the Alpha Vantage API and Restful framework, we built a Java application that pulled stock information used in our algorithms to calculate whether to buy or sell a stock. Then, the Selenium framework was used to automate placing the order for the stocks through E*TRADE. This saves time and allows stocks to be bought/sold at the optimal time in order to maximize profits.
Challenges we ran into
- Each algorithm takes a decent amount of time to develop, allowing us to only properly develop and test one algorithm.
- In order to allow our program to run constantly, we planned on having our program run on a website. However, creating a website to run .java files was harder than expected, so we were not able to have our code run in a server.
- Using Java to parse JSON projects presented a unique challenge as there is no built-in solution in Java.
- The Alpha Vantage API only allows for 5 requests/minute and 500 requests/day. As a result, we manually scalped data from the MarketWatch website to get around this limit.
Accomplishments that we're proud of
- Successful automation of stock order placing in a headless browser.
- Successful generation of an algorithm known to make money (tested using backtesting to ensure algorithm accuracy/efficiency).
- Successful creation of a way to backtest different trading algorithms.
What we learned
- How to call and use different APIs.
- How to parse Javascript and JSON objects.
- How to use source control.
What's next for Stock Automation
The next step for our project is to create a website to run our service. This will allow us to access our information from anywhere with internet access and will also allow the program to constantly run and try to find the best stock deals.
Log in or sign up for Devpost to join the conversation.