Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,17 @@ All notable changes to Investo are documented here. The format follows
`investo.export` (`save_html`, `save_pdf`, `find_browser`, `html_to_pdf`).

### Changed
- **Quality-aware scoring — cash-rich, fairly-priced compounders are no longer under-rated.** The
valuation bucket was a pure cheapness screen (P/E · P/B · EV/EBITDA scored strictly
lower-is-better with hard ceilings), so a high-quality company at a fair premium lost almost the
whole bucket and a large net-cash balance sheet earned nothing. Now the multiple ceilings widen
quadratically with a four-signal **quality factor** (ROE, ROCE, operating margin, revenue+EPS-CAGR
growth); **net cash** is surfaced on `Ratios` (FX-normalized against market cap) and rewarded both
by lowering the effective equity multiple and by a signed term in the renamed **Balance Sheet**
bucket (which now also penalizes net debt); DCF is a 30% cross-check recentred so fair value scores
neutral; and the weights lean toward durable quality (Valuation 15→10, Profitability 15→17,
Competitive Moat 10→12, Balance Sheet 10→11). Rank order is preserved (Spearman ≈ 0.99 on a
synthetic basket) — the shift is targeted, not blanket inflation.
- **`investo analyze` output flags now compose.** `--json`, `--html` and `--pdf` each do one thing
and can be combined; previously `--html` silently suppressed `--json`. Bare `--html`/`--pdf` write
`investo-<SYMBOL>-<YYYY-MM-DD>.<ext>`; parent directories are created; a PDF-engine failure exits
Expand Down
10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,12 +59,18 @@ document rather than a dashboard — are available too.

### Rating buckets (out of 100)

| Growth | Profitability | Cash Flow | Debt | Valuation | Moat | Management | Industry | Innovation | Risk | ESG* |
| Growth | Profitability | Cash Flow | Balance Sheet | Valuation | Moat | Management | Industry | Innovation | Risk | ESG* |
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
| 15 | 15 | 10 | 10 | 15 | 10 | 10 | 5 | 5 | 5 | 5* |
| 15 | 17 | 10 | 11 | 10 | 12 | 10 | 5 | 5 | 5 | 5* |

\*ESG is optional; when unavailable the remaining buckets renormalize to 100.

**Valuation is quality-aware.** A premium multiple isn't punished when the company's economics
justify it — the acceptable P/E · P/B · EV/EBITDA ceilings widen with ROE, margins and growth, so a
proven compounder isn't floored just for not being cheap (while a low-quality expensive name still
is). **Net cash** strengthens the score — it lifts the Balance Sheet bucket and lowers the effective
equity multiple — and **net debt** weakens both.

---

## Install
Expand Down
Loading