A Streamlit dashboard for PSX stock data, including price history and fundamental analysis.
Project description
📈 PSX Dashboard
A powerful, interactive dashboard built with Streamlit to fetch and visualize real-time and historical data from the Pakistan Stock Exchange (PSX). This tool is designed for investors, traders, and analysts to perform quick fundamental and technical analysis on KMI-30 companies.
✨ Features
- Real-Time Data: Fetches live trading metrics, including price, volume, and bid/ask spread, for a chosen stock.
- Historical Analysis: Displays interactive historical price and volume charts for any selected date range.
- Fundamental Metrics: Retrieves and presents key fundamental data such as P/E Ratio, profit margins, and earnings per share (EPS).
- Financials at a Glance: Provides detailed annual and quarterly financial statements, including sales, profit, and key ratios.
- Payout History: Shows a comprehensive history of dividends and bonus payouts.
- User-Friendly Interface: An intuitive, web-based interface built with Streamlit, making it easy to use for all levels of users.
🛠️ Installation
-
Clone the repository:
git clone https://github.com/your-username/psx-dashboard.git cd psx-dashboard
-
Install dependencies:
pip install -r requirements.txt
This will install all required libraries, including
streamlit,pandas,requests,beautifulsoup4,plotly, andnumpy.
🚀 Usage
To run the dashboard, execute the following command in your terminal from the project's root directory:
streamlit run psx_dashboard.py
This command will start a local web server and open the dashboard in your browser.
How to use the dashboard:
- Select a Company: Use the dropdown menu in the sidebar to choose a company from the KMI-30 index.
- Set Date Range: Select a start and end date to view historical data for a specific period.
- Fetch Data: Click the "Fetch Data" button to load all the information.
💡 Data Source & Limitations
All data is scraped from the Pakistan Stock Exchange (PSX) website.
- Data Accuracy: The data presented is dependent on the information available on the PSX website. Occasional discrepancies or missing data points may occur.
- No API: This tool relies on web scraping rather than an official API, which means its functionality may be affected by changes to the PSX website's structure.
- Delay: Data is fetched in real-time but may have a slight delay depending on network speed and the time required for scraping.
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file psx_dashboard_mwbk-0.1.0.tar.gz.
File metadata
- Download URL: psx_dashboard_mwbk-0.1.0.tar.gz
- Upload date:
- Size: 12.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
27c27d95bb92084e60b7a45be70a16ff1ad6a956e33f6a0ae01c5c0530c3d15e
|
|
| MD5 |
bd220c457de12b9d5b09eb05c0dc2597
|
|
| BLAKE2b-256 |
1ba3fca72f5f5572893ce6ac23bc902855c87b6ee86af4e995af6822065e642f
|
File details
Details for the file psx_dashboard_mwbk-0.1.0-py3-none-any.whl.
File metadata
- Download URL: psx_dashboard_mwbk-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
334edd1ceae366a94ed0c753c7f97ff79feffc54e9d99eb31752124a07ca3172
|
|
| MD5 |
ea366d488752a8694838cff15cd0646d
|
|
| BLAKE2b-256 |
f51249e100e18a53a2c224502fffb207019333c24fa8d688ce09a7d0c612d7f3
|