AutoProphet is an open source financial analytics tool designed to provide financial analytics capabilties at a low cost. The tool is meant to provide novice investors with the opportunity to learn and explore financial analytics capabilities, beginning with a simple set of analytics tools and gradually learning more complex tools and models.
To begin contributing to the repository follow the instructions below. If you are familiar with software development, please follow the quick install instructions. If you are new to software development, a more detailed set of instructions can be found after the quick install instructions.
{
"StockGateway": "AlphaVantageStockGateway",
"NewsGateway": "AlphaVantageNewsGateway",
"ReportGateway": "SecAPIGateway",
"RatioGateway": "AlphaVantageRatioGateway"
}
The following instructions provide greater detail for contributors new to software development.
To interact with this repository, you will need a version of git on your computer. Git is a program that allows you to store project files on a local repository on your computer that can communicate with this remote GitHub repository. There are some options that you can use for this purpose:
To view/edit code, contribute to documentation, or work with the folder and file structure of the software, you will need an integrated development environment (IDE). IDE's have many tools to help you build software. You can also use many IDEs to run git commands using simple user interface tools.
This software project utilizes NodeJS. Before you can successfully work on this project, you will need to download NodeJS. NodeJS will also install the node package manager (npm). You will use npm to install Javascript packages and start the software.
To contribute to the software project, you will need to set up the project environment so that you can view the code and run the software for testing purposes. The following steps will help you prepare your environment to run the software.
First, you will need to clone the repository. Cloning a repository copies the code from the GitHub repository to the repository on your local computer. There are multiple tools you can use to clone a repository. If you like command line tools, you can use GitBash, which comes with Git for Windows. If you prefer a graphical user interface, you can use GitHub Destkop or VS Code.
You will need the following repository URL to clone this repository: https://github.com/jeffreywallphd/AutoProphet.git
To clone a repository on GitHub Desktop, click File -> Clone repository. You will then paste the repository URL above and select a location to store the files on your computer.
You can also clone a repository within VS code. Click the source control icon in the left sidebar. Click the Clone Repository button. Paste the repository URL into the bar that appears at the top of the screen and click Clone from URL.
Once you clone the repository, you will need to rename a folder. For security and other reasons, some files should not exist on a public GitHub repository.
a. You will need to rename a folder that is used to store configuration information. The AutoProphet project is designed to be configurable. For example, you can choose different data providers for stock price and volume data, SEC financial statements, financial news, etc.
Open the default.json file and ensure that it contains information that looks something like this:
{
"StockGateway": "AlphaVantageStockGateway",
"NewsGateway": "AlphaVantageNewsGateway",
"ReportGateway": "SecAPIGateway",
"RatioGateway": "AlphaVantageRatioGateway"
}
With the repository cloned and the config folder renamed, you are now ready to start the program. If you haven't already done so, you will need to install NodeJS mentioned earlier. To run the program, open the terminal/command line.
After the install and startup finishes, you should see the desktop interface for the application.
With the application open, you now need to configure the environment settings. Once the application installs necessary data and loads the menu sidebar, click the Settings option.
a. In the Settings section, select the data providers you would prefer to use for different purposes, such as retrieving stock data, news data, financial reports, etc. Some of the data providers offer free keys with options to upgrade to premium keys. If you are using this software for a university course, your professor may be able to get you a premium key for free for some data providers, such as AlphaVantage.
Whenever you want to start the project to view what your code changes did to the software, simply use the terminal to get to the auto-prophet folder and run: npm start
This software is provided "as is" without any warranty of any kind, express or implied. This includes, but is not limited to, the warranties of merchantability, fitness for a particular purpose, and non-infringement.
The authors and copyright holders of this software disclaim all liability for any damages, including incidental, consequential, special, or indirect damages, arising from the use or inability to use this software.
The authors of this software are not financial experts. This software should not be used to replace the expert advice of financial professionals. The information and functionality of this software is for research and educational purposes. Consult a licensed professional for investing advice.
Please be sure to read through the Best Coding Practices document before you start collaborating.
As you use git and GitHub to manager your contributions, follow the guidelines outlined in the Git Practices document. Remember to pull from main regularly to avoid code conflicts.
To contribute feature ideas or to see other's ideas for features, please see the Issues section of this repository. Your ideas are welcome. Please tag your feature ideas as "enhancements" so they are easy to find.
All gratitude to the Michigan Tech students who worked on this project to develop IT and FinTech knowledge and skills through their coursework and share their contributions.
Please see the package.json file in the auto-prophet folder for a list of the dependencies used in this project.