--- id: staskh/trading_skills/fundamentals version: "f629bca9" license: MIT install: manual updated: 2026-07-20 --- # fundamentals — Fundamentals pulls financial data from Yahoo Finance, including key metrics, earnings history, and income statement figures. It also calculates Piotroski F-Score to assess a company's financial strength across nine criteria, helping you evaluate profitability, cash flow, leverage, and operational efficiency. Publisher: staskh · Stars: 299 · Updated: 2026-07-20 Install (manual): `git clone https://github.com/staskh/trading_skills` ## SKILL.md # Fundamentals Fetch fundamental financial data from Yahoo Finance. ## Instructions > **Note:** If `uv` is not installed or `pyproject.toml` is not found, replace `uv run python` with `python` in all commands below. ```bash uv run python scripts/fundamentals.py SYMBOL [--type TYPE] ``` ## Arguments - `SYMBOL` - Ticker symbol - `--type` - Data type: all, financials, earnings, info (default: all) ## Output Returns JSON with: - `info` - Key metrics (market cap, PE, EPS, dividend, etc.) - `financials` - Recent quarterly/annual income statement data - `earnings` - Historical and estimated earnings Present key metrics clearly. Compare actual vs estimated earnings if relevant. --- ## Piotroski F-Score Calculate Piotroski's F-Score to evaluate a company's financial strength using 9 fundamental criteria. ### Instructions ```bash uv run python scripts/piotroski.py SYMBOL ``` ### What is Piotroski F-Score? Piotroski's F-Score is a fundamental analysis tool developed by Joseph Piotroski that evaluates a company's financial strength using 9 criteria. Each criterion scores 1 point if passed, 0 if failed, for a maximum score of 9. ### The 9 Criteria 1. **Positive Net Income** - Company is profitable 2. **Positive ROA** - Assets are generating returns 3. **Positive Operating Cash Flow** - Company generates cash from operations 4. **Cash Flow > Net Income** - High-quality earnings (cash exceeds accounting profit) 5. **Lower Long-Term Debt** - Decreasing leverage (improving financial position) 6. **Higher Current Ratio** - Improving liquidity 7. **No New Shares Issued** - No dilution (or share buybacks) 8. **Higher Gross Margin** - Improving profitability efficiency 9. **Higher Asset Turnover** - More efficient use of assets ### Score Interpretation - **8-9:** Excellent - Very strong financial health - **6-7:** Good - Strong financial health - **4-5:** Fair - Moderate financial health - **0-3:** Poor - Weak financial health ### Output Returns JSON with: - `score` - F-Score (0-9) - `max_score` - Maximum possible score (9) - `criteria` - Detailed breakdown of each criterion with pass/fail status and values - `interpretation` - Text description of financial health level - `data_available` - Boolean indicating if year-over-year comparison data is available for criteria 5-9 ### Implementation Details - Criteria 1-4 use quarterly financial data (most recent year) - Criteria 5-9 use annual financial data for year-over-year comparisons - Compares most recent fiscal year vs previous fiscal year ### Use Cases Use Piotroski F-Score when: - Evaluating fundamental financial strength - Screening for value stocks with improving fundamentals - Assessing financial health trends - Comparing financial strength across companies - Identifying companies with strong fundamentals but undervalued prices ## Dependencies - `pandas` - `yfinance` ## Timezone All timestamps and time-based calculations must use the `America/New_York` timezone. All JSON output must include `generated_at` (NY time string) and `data_delay` fields. [View on SkillFed](https://skillfed.io/staskh/trading_skills/fundamentals) · [View on GitHub](https://github.com/staskh/trading_skills)