aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorTyler Hoang <tyler@tylerhoang.xyz>2026-04-09 20:15:30 -0700
committerTyler Hoang <tyler@tylerhoang.xyz>2026-04-09 20:15:30 -0700
commit97ad5fb0f9b3cbee06279c9df24ca11ca1de5634 (patch)
tree975b269ac2d88fba14b34143d5f359e04cbf329c /README.md
parentad40fbe3095b2f837b015b3208c0828bd0f47d2b (diff)
Update README to reflect current app state
- Add Top Movers section - Note sidebar live price and company info display - Rename DCF Model tab to Models; document all four valuation models - Update project structure with top_movers.py and valuation_service.py description - Expand valuation notes to cover EV/EBITDA, EV/Revenue, and P/B models Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'README.md')
-rw-r--r--README.md34
1 files changed, 27 insertions, 7 deletions
diff --git a/README.md b/README.md
index f4b471e..b3cf7e4 100644
--- a/README.md
+++ b/README.md
@@ -9,12 +9,17 @@ A local financial analysis dashboard. Search any stock ticker to get a comprehen
### Market Bar
Live S&P 500, NASDAQ, DOW, and VIX at the top of every page.
+### Top Movers
+Day gainers, losers, and most-active tickers shown below the market bar — expandable from 3 to 8 entries per category.
+
### Overview
- **Score card** — at-a-glance green/yellow/red signal badges for Valuation, Growth, Profitability, Leverage, Momentum, and Short Interest
- **52-week range bar** — visual indicator showing where the current price sits between the 52W low and high, with % context
- **Short interest** — % of float, days to cover, shares short vs. prior month
- Price chart (1M / 3M / 6M / 1Y / 5Y), key stats (market cap, P/E, volume, beta)
+The sidebar also shows a live price (with day change), exchange, currency, sector, employee count, and website link for the selected ticker.
+
### Financials
Annual and quarterly Income Statement, Balance Sheet, and Cash Flow Statement with year-over-year % change columns color-coded green/red (cost/debt rows are correctly inverted). CSV export on every statement.
@@ -25,7 +30,7 @@ Seven sub-tabs:
|---|---|
| Key Ratios | P/E, Forward P/E, P/S, P/B, EV/EBITDA, EV/Revenue, margins, ROE, ROA, ROIC, D/E, current/quick ratio, interest coverage, dividend yield, payout ratio |
| Historical Ratios | Annual P/E, P/B, P/S, EV/EBITDA, margins, ROE, ROA, D/E charted over time |
-| DCF Model | Adjustable WACC, terminal growth, projection years, FCF growth; waterfall chart; EV/EBITDA implied price below |
+| Models | Four collapsible valuation models: **DCF** (adjustable WACC, terminal growth, projection years, FCF growth, waterfall chart), **EV/EBITDA**, **EV/Revenue**, and **P/B** — each with an implied price, bridge breakdown, and reasoning summary |
| Comps | Peer valuation table with editable ticker set |
| Forward Estimates | Analyst revenue, EPS, and EBITDA estimates with low/avg/high ranges and chart overlay |
| Analyst Targets | Price target range (low/mean/median/high), upside to mean, recommendation distribution chart |
@@ -119,9 +124,10 @@ prism/
│ ├── data_service.py # yfinance — price, financials, options, compute_ttm_ratios
│ ├── fmp_service.py # FMP API — peers, forward estimates, news, historical ratios
│ ├── news_service.py # Finnhub — news + sentiment
-│ └── valuation_service.py # DCF engine + EV/EBITDA implied price
+│ └── valuation_service.py # DCF, EV/EBITDA, EV/Revenue, and P/B valuation engines
├── components/
│ ├── market_bar.py # Index metrics row
+│ ├── top_movers.py # Day gainers, losers, most active
│ ├── overview.py # Score card, 52W bar, short interest, price chart
│ ├── financials.py # Color-coded statement tables + CSV export
│ ├── valuation.py # 7-tab valuation panel
@@ -135,20 +141,34 @@ prism/
---
-## DCF Model Notes
+## Valuation Models Notes
+
+The **Models** tab contains four collapsible valuation models, each computing an implied price per share with a bridge breakdown:
-The DCF uses historical **Free Cash Flow** from yfinance and projects forward using your chosen assumptions:
+### DCF
+
+Uses historical **Free Cash Flow** from yfinance and projects forward:
| Input | Default | Range |
|---|---|---|
| WACC | 10% | 5–20% |
| Terminal Growth Rate | 2.5% | 0.5–5% |
| Projection Years | 5 | 3–10 |
-| FCF Growth Rate | Historical median | −20–30% |
+| FCF Growth Rate | Historical median (uncapped) | −50–50% |
+
+Terminal value uses the **Gordon Growth Model**. Enterprise value is bridged to equity value using net debt. The FCF growth slider shows the raw historical median and can be overridden.
+
+### EV/EBITDA
+
+Applies a target EV/EBITDA multiple to trailing EBITDA (sourced from income statement). Slider defaults to the current computed market multiple.
+
+### EV/Revenue
+
+Applies a target EV/Revenue multiple to TTM revenue. Useful for pre-profit or high-growth companies.
-Terminal value uses the **Gordon Growth Model**. Enterprise value is bridged to equity value using net debt before calculating value per share. The FCF growth slider defaults to the historical median and can be overridden.
+### P/B (Price-to-Book)
-The **EV/EBITDA** section derives an implied price from a target multiple applied to trailing EBITDA (sourced from the income statement, not the info dict). The slider defaults to the current computed market multiple.
+Applies a target P/B multiple to book value per share. Shown by default for financial companies (banks, insurance, REITs) and as a fallback when cash-flow models are not reliable.
---