From 1cf833cc1820bb8ef4e22639d7ba29b58cf21e6a Mon Sep 17 00:00:00 2001 From: Tyler Date: Mon, 30 Mar 2026 23:11:41 -0700 Subject: delete readme --- readme | 210 ----------------------------------------------------------------- 1 file changed, 210 deletions(-) delete mode 100644 readme (limited to 'readme') diff --git a/readme b/readme deleted file mode 100644 index cfeedf3..0000000 --- a/readme +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - - -

🔷 Prism

-

A local financial analysis dashboard. Enter any stock ticker to get a formatted view of financial statements, valuation metrics, a DCF model, and a news feed — all in your browser.

-
-

Features

- -
-

Setup

-

1. Clone / navigate to the project

-
cd ~/Work/prism
-
-

2. Activate the virtual environment

-
source .venv/bin/activate
-
-

3. Add API keys

-
cp .env.example .env
-
-

Open .env and fill in your keys:

-
FMP_API_KEY=your_key_here
-FINNHUB_API_KEY=your_key_here
-
-

Both are free: -- FMP (Financial Modeling Prep) — financialmodelingprep.com — 250 requests/day -- Finnhub — finnhub.io — 60 requests/minute

-
-

No keys? The app still works. Price data, financials, and market indices are sourced from yfinance (no key required). Ratios, comps, and news won't load until keys are added.

-
-

4. Run the app

-
streamlit run app.py
-
-

Opens at http://localhost:8501

-
-

Daily Usage

-
cd ~/Work/prism
-source .venv/bin/activate
-streamlit run app.py
-
-
-

Project Structure

-
prism/
-├── app.py                    # Entry point
-├── requirements.txt
-├── .env                      # Your API keys (not committed)
-├── .env.example              # Key template
-├── .streamlit/
-│   └── config.toml           # Dark theme + layout settings
-├── services/
-│   ├── data_service.py       # yfinance — price, financials, indices
-│   ├── fmp_service.py        # FMP API — ratios, peers
-│   ├── news_service.py       # Finnhub — news + sentiment
-│   └── valuation_service.py  # DCF engine (Gordon Growth Model)
-├── components/
-│   ├── market_bar.py         # Index metrics row
-│   ├── overview.py           # Company header + price chart
-│   ├── financials.py         # Statement tables
-│   ├── valuation.py          # Ratios, DCF, comps
-│   └── news.py               # News feed
-└── utils/
-    └── formatters.py         # Number formatting helpers
-
-
-

DCF Model Notes

-

The DCF model uses historical Free Cash Flow from yfinance, computes a capped median growth rate from valid positive-FCF periods, and then projects forward using your chosen assumptions:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
InputDefaultRange
WACC10%5–20%
Terminal Growth Rate2.5%0.5–5%
Projection Years53–10
FCF Growth RateHistorical median-20–30%
-

The model uses the Gordon Growth Model for terminal value. It first estimates enterprise value, then bridges to equity value using debt and cash before calculating value per share. Terminal growth must remain below WACC. The FCF growth slider defaults to the historical median but can be freely overridden.

-

The EV/EBITDA tab derives an implied price by applying a target multiple to trailing EBITDA, subtracting net debt, and dividing by shares outstanding. The slider defaults to the company's current market multiple.

-
-

API Rate Limits

- - - - - - - - - - - - - - - - - - - - - - - - - -
SourceLimitUsed For
yfinanceNonePrice, financials, indices
FMP (free)250 req/dayRatios, comps, news
Finnhub (free)60 req/minNews, sentiment
-

Data is cached in-memory per session to minimize API calls (financials: 1h, news: 10min, indices: 5min).

- - \ No newline at end of file -- cgit v1.3-2-g0d8e