Stock Analyzer V.1 is a native Python graphical user interface. The GUI allows user(s) to enter their desired stock ticker symbol to conduct stock analysis. Current stock analysis features in the current version includes the ability to calculate the overall average of the opening, high, low, and closing prices, and the volume of the stock. With the given csv file from Yahoo CSV Finance API for each stock, the average(s) calculates the start to end date. The current version also supports histogram graph(s) for each stock ticker symbol. The histogram graph(s) are plotted based on desired days of 30 days, 60 days, or 90 days.
- Python 3.5
- Tkinter
- Matplotlib
- Numpy
- Yahoo CSV Finance API
- Py2App
The application has already been packaged and bundled in an app format.
- Download the zip file
- Go to dist and click on the GUI.app or you can simply drag the dist folder out to your desktop and then open the folder, and GUI.app icon should be there to run the app.
However, if that doesn't work. Manually download with the following steps:
- Download the zip file
- Open up terminal and download all necessary Python dependencies
- Direct into the absolute path using Mac command cd stockanalyzer/stockanalyzer
- Run python GUI.py
There is a .xlsx file inside of the StockPrediction/Misc folder that has all the Ticker Symbols from Yahoo Finance. The source link of the file can be found here: (http://investexcel.net/all-yahoo-finance-stock-tickers/)
Once the program opens up, there are two main buttons at the start page, "Start" and "Close". The "Start" button allows you to precede into the main page(s). The "Close" button will close the program.
Once you are in the first main page after pressing "Start". You can enter the ticker symbol and select the open, high, close, low, and/or volume check boxes that you wish conduct the average analysis on. You must enter a ticker symbol and select at least one of the check boxes option to precede or errors will occur. You can hit "Calculate" after you have done that, and the analysis will display on the bottom half of the page.
When you hit "Clear", the program will automatically clear all of the selected check boxes, displayed analyzed information, and the ticker symbol you've inputted.
Now, if you want to graph, you must calculate the ticker symbol first and have your desired selected check boxes option(s) selected, or it will either show an error or no graph will be displayed.
If you have successfully calculated and the results are displayed, then you can precede on to the graph by clicking on "Graph". It will take you the next page. If you try to print graph without selecting the days you want the range to be of the particular stock, then an error will show up and no graph will be displayed.
Thus, in order to graph and display the graph, you can select the range of days you want the histogram(s) to be displayed as.
Click on the image/screen viewer to view the entire video at regular speed.
If you select "Open" and "Close" on the first page after putting your ticker symbol into the entry, and you select 30 days for your desired range analysis, then it will gather the last 30 days up to the most recent date from the CVS, and display how many of that opening and close price(s) there were with the given days range fo 30 days. In other words, let's say the most recent (current) day is December 16 and you select 30 days. Then it will gather all the opening prices from November 13 to December 16 which includes regular stock exchange business days. The histogram will then display how many of the opening prices there were with the given bins.
The "Print Graph" button allows you to constantly change colors of the graph. Each histogram will display a random color each time the "Print Graph" button is hit. You may plot more than one histogram within a graph. You may clear the graph if you'd like and re-graph or you can select a different range of days and it will automatically re-graph for you.
- Allow user(s) to have the option to select different types of plots including stock plots and charts.
- Implement a navigation toolbar from matplotlib
- Calculate outliers of opening, high, low, and closing prices.
- Calculate the daily stock returns
- Login menu and personalize the application to each user
-
Yahoo CSV Finance API: (http://ichart.finance.yahoo.com/table.csv?s="ticker_symbol")
-
Icon Source: http://www.freeiconspng.com/free-images/stock-exchange-icon-png-9909
-
Here is another resource for a list of ticker symbols for New York Stock Exchange (NYSE), (http://eoddata.com/symbols.aspx)