Inspiration

Many people consider investing in the stock market a very elitist field that is hard to enter due to the time and research required to confidently understand the mechanics of every little moving piece. As a result, these people invest in index funds as a way to outsource all the work to someone else, despite the majority of these index funds underperforming the market.

The solution: Cultivating an Insider Edge to create customizable portfolios in minutes while creating a pathway to learn investing.

We promote retail investor’s edge, which is their personal knowledge within a field. Let's say you are a software engineer at a big tech company and hear murmurs about new trends toward quantum computing for bitcoin mining, you can utilize this edge with our tool to pull companies within that theme to invest in. No financial analyst would be able to replicate the knowledge of someone working directly in an industry, giving them a significant advantage in the investing field. All of this is done in a couple of minutes to target the market that believes they don’t have the time for investing and ignite a passion to continue learning with our modules.

What it does

We want to address the abhorrent state of financial literacy across the United States by creating a way for people to learn about investing. However, we didn't just want to be a financial forum that hits you with blocks of text and expects the information to stick. Instead, we have cultivated an experiential learning experience that creates passion through hands-on experience with investing research tools and terminology. Our Learning Pathways alongside the Index Builder allow members to trade either real money as part of a long term financial strategy or paper trade to test out different intuitions and backtest strategies.

How we built it

Frontend: Our user-facing section of the project is hosted using AWS S3 Buckets and is built entirely with React.js and vanilla CSS. A user who visits this site is prompted to sign in using Google which is provided through Firebase. After this, the user is prompted to enter in their Alpaca key and secret which is a platform over which we can conduct trading through their API.

The user can select between 4 different views on our website: Portfolio, IndexBuilder, WhaleTracker, and Learn.

The Portfolio (currently a work in progress) will showcase the user’s personal ETFs and financial status. Under this are educational resources for the user to learn more about the entire trading process we have created.

The IndexBuilder allows users to search a market of their choice and select stocks based on their growth potentials and risk scores. After creating their collection, they can input how much money they would like to invest and click the Invest button to conduct the trade.

The WhaleTracker (currently a work in progress) will showcase the current portfolios of “whales” or the big players of the stock market.

The Learn page allows the user to chat with an AI chatbot which can answer any questions related to finance and the stock market

Backend: Our backend is hosted on an AWS EC2 instance using the flask API. To query the stocks that are related to a keyword, we are using perplexity's api to access the web for stocks that are related to that keyword, and then we are using the yfinance api to get financial data about each stock ticker and process those financials through our proprietary algorithm that calculates risk and potential growth of the stock over the next 5 years.

We have a chatbot function which seeks to help the user learn more about stocks or financial data, and we are using Perplexity as well to query and return relevant and updated information in the ever changing global landscape.

Challenges we ran into

One of the biggest challenges we ran into was integrating our frontend with our backend. We chose to deploy both of these sections with AWS resources (EC2 instance and S3 bucket). We had several issues with security groups and permissions which took quite a bit of research to finally fix.

Another issue arose in the backend, where we were unable to pull directly from yfinance for every company, due to a lack of complete data. Instead of fudging the values, we made sure to output that our values were faulty due to a lack of data. This way, we wanted to show the customer that there are sometimes errors with the value, and instead of making up false financial values, we want to be transparent with the customer and ultimately, increase trust within us as a company.

Accomplishments that we're proud of

Hosting on s3 ec2 Using Perplexity API Making a Bot that Gets the most Updated Stock Information Mathematical Equation that Calculates Risk and Potential Growth

What we learned

Rohan: As a rookie, I personally learned a lot about collaborating through Github and ensuring proper version control. I got to leverage my experience with algorithmic trading with a more user-focused application, providing new experiences with React and the backend-frontend collaboration.

Abhave: I learned alot about choosing a solution before you start coding out an entire app, which enables for streamlined workflows and seamless integration between the frontend and backend development.

Aditya: I learned a lot about the various use cases for S3 buckets, Routing with React, Contexts with React, and CSS tricks. Bunch of technical stuff.

What's next for Trivecta

Refinement of algorithm for theme investing: We want to continue and refine our algorithm to increase its accuracy and provide more insight into a company’s inner workings.

Whale Tracker: The Whale Tracker should be able to pull trade data from big-name investors like Congress members and the investing greats. Using this data, we can display successful stock picks that can inspire our users to learn more about these companies and apply them to their own ETFs.

Module Learning Pathway Tree: Our learning pathway should be formatted in a tree-like pathway, that creates pathways into the different forms of investing and would be a much more interactive approach to financial literacy.

Portfolio Weighting and Rebalancing functionality: In the future, we would like to create functionalities to create proper weights for each stock in an ETF based on their calculated growth potential and risk scores. We would assign lower weights for the stocks that are much riskier, especially if the user decides to hold a more conservative portfolio. We would assign higher weights for the stocks that have higher growth potentials for riskier users. Additionally, we would want to implement stop losses for each stock. If the price of a stock falls against our predictions, we can automatically sell such underperformers and help rebalance portfolios.

Built With

Share this project:

Updates