A Financial Statement Visualization Tool
This Python application provides a graphical interface to visualize key financial metrics from income statements, cash flows, balance sheets, and computed metrics of publicly traded companies, using data sourced from Yahoo Finance. The application uses PyQt5 for the GUI and Matplotlib for plotting, enabling dynamic selection of ticker symbols and interactive viewing of financial data.
- Dynamic Ticker Input: Enter any ticker symbol of a publicly traded company listed on Yahoo Finance to fetch and display its financial statements.
- Interactive GUI: Select the type of financial statement and specific metrics to plot via a dropdown menu. Financial data is displayed in a table that allows for multi-selection of metrics for plotting.
- Enhanced Data Display: Financial data is displayed in a user-friendly format in the QTableWidget, with values appropriately scaled to thousands or shown as percentages where applicable. Negative values are indicated with brackets.
- Bar Plot Visualization: Visualize selected financial metrics over time with dynamically adjustable bar plots.
- User-Friendly Navigation: Easily navigate through financial data using a clean and intuitive interface.
Ensure you have Python 3.x installed along with the following Python packages: PyQt5, numpy, matplotlib, and yfinance.
Install all required packages using pip:
pip install PyQt5 numpy matplotlib yfinance
To run the application, execute the following command in the terminal:
python path_to_script.py
Replace path_to_script.py
with the actual path to the Python script file.
- Start the application using the command above. The GUI will prompt you to input a ticker symbol.
- Enter the ticker symbol for the company whose financial data you want to analyze.
- Click 'Fetch Data' to load the financial statements associated with the entered ticker symbol.
- Use the dropdown menu to select the type of financial statement.
- The financial data will appear in a table. Select the rows (metrics) you wish to visualize.
- Click the 'Update Chart' button to generate a bar plot of the selected metrics.
- Values Formatting: Monetary values are shown in thousands with negative numbers displayed in brackets. Percentages and ratios retain their formatting to ensure clarity and accuracy.
- Table Interaction: The table allows for selection of multiple rows for data plotting, with each row representing a financial metric.
This tool is designed to be versatile, allowing analysis of financial data for any publicly traded company by simply entering a ticker symbol in the GUI.
- Data retrieval is dependent on the availability and responsiveness of the Yahoo Finance API.
- The GUI layout is optimized for simplicity but may not handle an exceptionally large number of financial metrics efficiently.
This project is open source and available under the MIT License.
Contributions to the project are welcome. To contribute, please fork the repository, make your changes, and submit a pull request.