Inspiration
Machines has speed, they can quickly evaluate the data to make buy/sell decisions. Our aim is to lift the decision making burden out of humans shoulder so they do not have to constantly monitor their own portfolio, everyday and make hundreds of buy/sell decisions daily. Besides, people can often succumb to their emotions which clouds their judgement, causing them to make incorrect decisions. So there is a really good case for the argument that algorithms can be better decision makers than an average person when it comes to asset management.
What it does
Algorithmic trading: Automize your day-trading (with supercharged returns)
How we built it
Alpha model: Based on past data, uses machine learning to predict the stock price movement. Then this can be leveraged in the decision making process. Portfolio model: Decision maker. Distributes the money to different stocks, leverages predictions that comes from alpha model to make buy/sell decisions with the goal of maximizing returns. Event-driven backtest environment: For testing the model.
Challenges we ran into
Some of the challenges I faced:
- Connecting 3 components of our algorithm together: namely alpha model, portfolio model, and backtest simulation environment.
- Finding free finance data. Really wanted to get my hands on the minutely past data but it is non-existing (only sold with exorbitant prices) . So I just used EOD (End of Day) data of Yahoo finance. It was good enough for my purpose.
- Many, many, many code debugging.
Accomplishments that we're proud of
- Outperform SPY ETF index by algorithmic trading on SPY ETF index itself! By continuously buying /selling the stocks, algorithm outperforms a person who invests in the SPY at the beginning and waits until the end. This shows that, adapting to the stock prices can boost gains by 2X!
- Make finance be accessible to people who now nothing about finance by providing them such automized algorithmic solutions. People does not have theadaptivity/speed of algorithms. An algorithm can place orders every milisecond, how long does it take for a human to click the buy button on Robinboots (imaginary trading platform), let alone the time to think and decide on which stock to buy?
- Customizable risk tolerance. Algorithm is risk sensitive. If a person does not want to take too much risks, and satisfied with moderate returns, and don't wanna see those nasty drawdowns, algorithm can accommodate for her! She just can input her risk sensitivity buy sliding a bar from 0% to 100%! (Obviously, this is a very simplistic approach and I plan to add features to allow for more sophisticated risk sensitivity input from the users to accommodate the clients who are more advanced traders)
What we learned
- A lot of things about algorithmic trading.
- Learned how machine learning might be used in this area.
- Learned some finance jargon.
- Event driven backtester is a cool idea.
- Learned that brokerage platforms get a commission per each transactions.
- Results are so promising, maybe I should be an algorithmic trader myself! Jokes aside, more testing is required to confirm the validity of our approach.
What's next for FinHacks
Make trading social! Let people share their favorite trading algorithm(s) with their friends online, in a Twitter (now X) like social platform. Let them share their equity chart and make their friends envious by showing their gains!
Although we considered only 1, there are gazillions of trading algorithms and different strategies out there. We should make a library of them. People can pick whichever they want, and test it. Also, provide even more high level, intuitive user customization options.

Log in or sign up for Devpost to join the conversation.