Skip to content

gbd2/Change-HackRice13

Repository files navigation

Change

Change is an application that provides users with mature financial allocation advice. It was created for Hackrice 13, specially designed to "Reimagine banking" for Capital One. Change is meant to be a user-friendly interface that allows anyone, no matter how financially literate, to easily allocate money and save some extra change at a one-stop-shop. You can use Change by inputting in your age, salary, and how much money you will deposit for Change to allocate and watch as our algorithms determine the best way you can grow your money. In addition, try using our personal AI-powered chatbot that was designed to give tailored responses regarding the fund allocation strategy described! For this project, we used Python, PyQt5, NumPy, pandas, matplotlib, yfinance API, and the ChatGPT API.

How do I use Change?

To use Change, run the PyGui.py file and input your salary, age, deposit, and preferred risk level. When submitted, graphical results will appear on your screen. To use the chatbot, input your ChatGPT API key into the line "openai.api_key = 'insert api key here'" found in PyGui.py. If you have any questions about your results or do not understand what you are seeing, you can use the chatbot feature by enterring the chat and asking your question.

Our Algorithm

In broad strokes, our risk algorithm takes the approach that young people should primarily invest in higher risk, long term investments, which we implement by choosing a basket of large cap tech stocks as our primary investment vehicle, with the our average return calculated using data over the past year. As people get older, they generally switch to a lower risk, shorter term investment strategy, which is represented by a higher weight towards shorter term bonds. We achieved a smooth curve for any inputted age by creating investment plans for 3 key ages, 18, 42, and 65, and linearly interpolating a continuous function between the nodes that will output a vector of weights that represent the investment plan for each age. This way, for example, a 25 year old will have a plan mathematically suited to their needs.

We simulate the experience of a month to month use case of our banking system by generating a stochastic monthly expense component based on the average living expenses for a single person, withdrawing this amount from our cash on hand basket, and then depositing a months salary into our aforementioned allocation algorithm

Program Prerequisites

pip install PyQt5, pip install Pyside6, pip install openai, python -m pip install -U matplotlib

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages