YUDA Score is a sophisticated financial analysis tool designed to evaluate stocks based on a wide range of financial metrics, providing investors and analysts with deep insights into a stock's overall attractiveness. The system integrates real-time data retrieval, metric computations, benchmarking against sector averages, and visualization to support data-driven investment decisions.
- Utilizes Yahoo Finance API to fetch fundamental stock and sector-level data.
- Retrieves financial statements, balance sheets, and cash flow reports.
- Computes key financial indicators across various categories:
- Profitability: Net Margin, Operating Margin, Return on Assets (ROA), Return on Equity (ROE).
- Liquidity: Quick Ratio, Current Ratio.
- Risk Assessment: Debt-to-Equity Ratio, Interest Coverage Ratio.
- Valuation: Price-to-Earnings (P/E) Ratio, Price-to-Book (P/B) Ratio, Dividend Yield.
- Cash Flow Analysis: Cash Conversion Cycle, Free Cash Flow.
- Compares a stock's financial metrics with its sector peers.
- Computes sector averages and integrates them into scoring.
- Normalizes financial data to ensure comparability across different industries and market conditions.
- Detects and adjusts for extreme outliers.
- Generates a comprehensive stock attractiveness score by weighting financial categories.
- Categorizes stocks as:
- ✅ Very Attractive (≥ 1.5)
- 👍 Attractive (0.5 to 1.5)
- 😐 Neutral (-0.5 to 0.5)
- ❌ Unattractive (-1.5 to -0.5)
- 🚨 Very Unattractive (< -1.5)
- Bar Charts for financial metric weights.
- Time-Series Stock Price vs. YUDA Score Trends.
- Sector Comparisons & Score Distributions.
- Interactive visualizations powered by Matplotlib.
├── data_fetcher.py # Retrieves stock & sector financial data
├── metrics_manager.py # Computes and normalizes financial metrics
├── sector_manager.py # Manages stock sector comparisons
├── weights_manager.py # Handles dynamic weighting for financial categories
├── plotter.py # Generates financial data visualizations
├── config.py # Configuration settings (symbols, weights, metrics)
├── app.py # Main script to execute the YUDA Score pipeline
├── requirements.txt # Dependencies list
└── README.md # Documentation
-
Clone the repository:
git clone https://github.com/mertmetin1/yuda-score.git cd yuda-score
-
Create a virtual environment (recommended):
python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
To compute financial scores and visualize insights, run:
python app.py
- Financial Metric Reports 📑
- Sector Comparisons & Benchmarking 📊
- YUDA Score Calculations & Rankings 🎯
- Stock Valuation Trends & Graphs 📉
- Data Collection: Fetches stock and sector financials.
- Metric Normalization: Applies Z-score transformations.
- Sector Comparisons: Evaluates company performance against industry norms.
- Score Computation: Weighs different financial factors based on category importance.
- Visualization: Displays results with plots and tables.
Using the following customizable weight configuration:
weights = {
"profitability": 0.25,
"liquidity": 0.20,
"risk": 0.15,
"return": 0.25,
"valuation": 0.10,
"cash_flow": 0.05
}
Each stock is scored based on:
YUDA Score = Σ (Z-Score of Financial Metric * Category Weight)
Higher scores indicate stronger financial health & investment potential.
- Modify Weights: Adjust importance of each financial category in
config.py
. - Add New Metrics: Extend
metrics_manager.py
to include additional financial indicators. - Change Sector Comparisons: Edit stock sector configurations in
sector_manager.py
. - Enhance Visualizations: Customize charting options in
plotter.py
.
🔥 Enhance your stock analysis with YUDA Score today! 🚀