# SweetValueLab > Free equity-research tools computed from primary market data — SEC filings and > daily closes. No paywall, no rate limit, and nothing here has to be read with > an account; everything public is static, dated, and reproducible from its URL. > Accounts exist for one thing: writing for the blog, by hand or through an > agent holding a personal API token (see "Writing for the blog" below). Generated from the site's own page registry on every build, so every path below is a page that exists. Figures are refreshed by nightly jobs, not live: fetching a page of ours never triggers a market-data request, and neither does calling the api. ## Stocks (518 large US companies — the S&P 500 and the Nasdaq-100, rebuilt nightly) Index: https://sweetvaluelab.com/stocks — every covered company with its latest price, model value and the gap between them, grouped by sector. Stock lists (overview: https://sweetvaluelab.com/lists), each one ranked table of 50 drawn from the same companies (one row per company) and ranked by a fact, never by price against model: - https://sweetvaluelab.com/lists/largest-companies — largest companies (ranked by market value) - https://sweetvaluelab.com/lists/highest-dividend-yield — highest dividend yield (trailing twelve months) - https://sweetvaluelab.com/lists/highest-free-cash-flow-yield — highest free cash flow yield (last fiscal year, financials left out) - https://sweetvaluelab.com/lists/lowest-pe — lowest p/e (on last fiscal year's eps) - https://sweetvaluelab.com/lists/near-52-week-highs — near 52-week highs (closest to the year's high) - https://sweetvaluelab.com/lists/near-52-week-lows — near 52-week lows (closest to the year's low) - https://sweetvaluelab.com/lists/best-performing-this-year — best performing this year (price change since january 1) - https://sweetvaluelab.com/lists/worst-performing-this-year — worst performing this year (price change since january 1) - https://sweetvaluelab.com/lists/insider-buying — insider buying (open-market purchases, last 90 days) - https://sweetvaluelab.com/lists/dividend-growth-streaks — dividend growth streaks (consecutive years of higher dividends) Each company has a hub at `/stocks/` (lowercase; class shares use a dash, e.g. `/stocks/brk-b`), and the hub IS the valuation page: the price chart with the model band, then one row per reference model — DCF (growth and EBITDA exits, 5 and 10 years), trading multiples, PEG, earnings power value and dividend discount — each row opening on that model's own assumptions, with the WACC build-up last. The price against the model is "undervalued / overvalued by N% vs model", always with the number, with the range of the models beside it; the site issues no calls, grades or price objectives. - `/stocks//analysts` — consensus revenue and EPS estimates and the sell-side's published figures and grade changes, quoted as third-party data. - `/stocks//financials` — eight years of income statement, balance sheet and cash flow (annual and quarterly), ratios, and dividend history. - `/stocks//insiders` — SEC Form 4 transactions with the transaction code and the 10b5-1 plan flag. - `/stocks//ownership` — Schedule 13D/13G filers and which tracked superinvestors hold the stock. - `/stocks//filings` — the company's SEC filings for the past three years — 10-K and 10-Q reports, 8-Ks decoded by item code with the earnings press release, proxy statements and offerings — each linked to EDGAR. How the models work: https://sweetvaluelab.com/blog/how-we-value-a-stock. Where the numbers come from: https://sweetvaluelab.com/blog/where-the-numbers-come-from. ### Sum-of-the-parts pages A company taken apart by hand, segment by segment, over facts generated from its filings — only where one has been written: - [TSLA — Tesla](https://sweetvaluelab.com/stocks/tsla/valuation/sum-of-the-parts) ## Superinvestors (13F portfolios) Index: https://sweetvaluelab.com/investors — 85 tracked long-only managers with their latest quarter. Each has a page at `/investors/` (every position in the latest 13F with weight, value and price vs our model, and the quarter's changes), plus: - `/investors//activity` — bought, added to, reduced and sold versus the prior quarter. - `/investors//history` — every quarter's buys and sells since 2013, largest moves first, split-adjusted. Read from SEC Form 13F-HR; a 13F is filed up to 45 days after quarter end, so the latest quarter shown is a lagging one by construction. Across the roster: - `/investors/13f/-q` — one quarter's filings from every tracked manager: the top new buys and sell-outs, the largest net buying and selling, each big name's moves; only managers who filed both quarters are compared. - https://sweetvaluelab.com/investors/consensus — the stocks the managers hold in common, by how many hold each and the net change in the quarter. - https://sweetvaluelab.com/investors/big-bets — every position worth 5% or more of one manager's 13F, with the stock's latest close and 52-week range. ## Portfolio Backtest https://sweetvaluelab.com/tools/portfolio-backtest — Backtest a basket of stocks or ETFs on daily split-adjusted closes against the S&P 500 (SPY) or another ticker. Compares dividend reinvestment against taking the cash, and reports total return, CAGR, max drawdown, annualized volatility, dividend income by calendar year, the dividend's own growth rate (per share) beside the reinvested income's, yield on cost, per-holding results, and dividend cuts. Optionally adds a fixed amount every month (dollar-cost averaging); the comparison line gets the same money on the same days, and the result then reports both the basket's own time-weighted return and the money-weighted return on the money put in. Inputs are encoded in the URL (`?p=SCHD:60,VYM:40&years=10&initial=10000`, `monthly=500` for a monthly contribution, absolute `from=…&to=…` for a fixed window, `rb=1` to rebalance each January, `vs=QQQ` or `vs=none` for the comparison line), so any run is reproducible from its link. To compare two funds, put one in the basket and the other in `vs`. Every run reports the reinvested AND the dividends-as-cash path side by side; there is no setting to choose between them. Method: prices are split-adjusted daily closes; each dividend is applied as cash on its ex-date using the matching split-adjusted per-share amount, never a dividend-adjusted price series (which would double-count income). Buy and hold by default; with rebalancing on, both paths are reset to the target weights at the close of each year's first trading day. Monthly contributions buy at the target weights at the close of each month's first trading day, after that day's dividends. No taxes, no commissions. When a younger holding makes the basket start later, the comparison line is run again from that day. The window is the intersection of every holding's price history. A dividend cut is reported only when both the annual total per share and the average payment per ex-date fell, which avoids the two common false positives: a monthly payer with 13 ex-dates in one calendar year, and a BDC paying more in total across extra supplementals. Limits: up to 10 holdings, up to 20 years. A window deeper than the data goes back is trimmed to the earliest date every holding has prices, and the result says so. ### Ready-made runs (same tool, fixed baskets, own URLs) - [SPY, 10 years](https://sweetvaluelab.com/tools/portfolio-backtest/spy) — Ten years of the S&P 500, dividends included. - [SCHD vs S&P 500](https://sweetvaluelab.com/tools/portfolio-backtest/schd) — Ten years of the most-held US dividend ETF. - [SCHD vs VYM](https://sweetvaluelab.com/tools/portfolio-backtest/schd-vs-vym) — Quality screen versus pure high yield, over ten years. - [SPY vs QQQ](https://sweetvaluelab.com/tools/portfolio-backtest/spy-vs-qqq) — The whole market against the Nasdaq 100. - [NVDA vs S&P 500](https://sweetvaluelab.com/tools/portfolio-backtest/nvda) — Ten years of NVIDIA, drawdowns included. - [60/40 stocks and bonds](https://sweetvaluelab.com/tools/portfolio-backtest/sixty-forty) — The classic allocation over twenty years — and what the bonds saved. ## Bank Health Board https://sweetvaluelab.com/tools/banks — The largest US banks on one set of formulas: price to tangible book against return on tangible equity (with the multiple a given ROTCE justifies at 9 / 10 / 11% cost of equity), efficiency ratio, credit cost, NII share, AOCI as a share of tangible equity, CET1, and three on-or-off risk lights. Each bank's page carries its income waterfall, valuation range and eight quarters of trend. Trailing twelve months from filed quarters; no calls. 23 companies, each with its own page at `/tools/banks/`. Explained in https://sweetvaluelab.com/blog/how-to-value-a-bank. ## REIT Board https://sweetvaluelab.com/tools/reits — The largest US equity REITs on one set of formulas: price to Cash FFO (operating cash flow less the change in working capital, standing in for funds from operations) against its growth, dividend yield against the 10-year Treasury, Cash FFO payout, net debt to EBITDA, interest coverage, and three on-or-off lights (payout, leverage, coverage). Each REIT's page carries its five-year P/Cash FFO history, cash waterfall and eight quarters of trend. 24 companies, each with its own page at `/tools/reits/`. Explained in https://sweetvaluelab.com/blog/how-to-value-a-reit. ## Software Board https://sweetvaluelab.com/tools/software — The largest US software companies on the Rule of 40 (revenue growth + free-cash-flow margin, line switchable 30 / 40 / 50), EV to revenue and gross profit, stock-based compensation as a share of revenue and FCF net of it, share dilution, and three on-or-off lights (dilution, deceleration, cash burn). Each company's page carries its five-year EV/revenue history and the cash waterfall from revenue to FCF ex-SBC. 24 companies, each with its own page at `/tools/software/`. Explained in https://sweetvaluelab.com/blog/how-to-value-a-software-company. ## Reverse DCF https://sweetvaluelab.com/tools/reverse-dcf — A reverse DCF for the whole covered universe: the market price is taken as given and the free-cash-flow growth it implies is solved for (five years at one rate, a five-year fade to the terminal rate, a perpetuity). The board shows every stock at 8 / 10 / 12% beside its P/E and its own five-year FCF growth (two scatters, a ruler, a table by sector). Each stock's page draws the ten-year path against the reported years, the sensitivity table, the flip (the return at a growth you believe) and the company's own history as anchors. Computed in the browser from the filed statements; an assumption to argue with, never a value. 518 stocks, each at `/tools/reverse-dcf/`. Explained in https://sweetvaluelab.com/blog/how-to-read-a-reverse-dcf. ## DCF Calculator https://sweetvaluelab.com/tools/dcf — A forward discounted-cash-flow calculator that starts from a company's last reported free cash flow (operating cash flow minus capex, latest fiscal year) and never from analyst forecasts. Picking one of the covered stocks fills free cash flow, cash (with short-term investments), total debt, diluted shares and the latest close from the filed statements, read the same way as the reverse DCF; every figure stays editable, and with no stock chosen the page runs a round-number example company. The reader sets, for bear, base and bull: growth for years 1-5 and 6-10, the discount rate and the growth after year 10. Defaults come from the company's own history: base growth is the five-year FCF CAGR clamped to 0-25%, half that for years 6-10, bear and bull 5 points either side; discount rates 11/10/9%, terminal growth 2/2.5/3%. Output: value per share (ten years, then growth forever: FCF x (1 + g) / (r - g)), the share of the value that comes after year 10, bear/base/bull side by side, the bridge from enterprise value (+ cash - debt) to one share, the path year by year, and a discount rate x growth sensitivity table. A second page, the exit-multiple version, closes the same model with a sale at an EV/EBITDA multiple in year 10 (year 10's EBITDA read from FCF at today's FCF-to-EBITDA ratio; the multiple defaults to today's EV/EBITDA clamped to 6-25x and scaled 0.75/1/1.25) and sets it beside growth forever. The value is what the reader's inputs imply, stated against the price as a number; the pages offer no value of their own. Everything runs in the browser and the state is in the URL. ## Compare Stocks https://sweetvaluelab.com/tools/compare — Two to five covered stocks on one sheet: profile, the site's valuation models (price vs model, the range, and the free-cash-flow growth the price implies at a 10% return), trading and returns from one month to two years, valuation multiples, growth, profitability, the balance sheet, dividends, insider and analyst activity, and the statements. Every section is labelled with its period: income lines are the trailing twelve months to the latest 10-Q, cash-flow lines the last fiscal year (quarterly cash flow is filed year to date), the balance sheet the latest quarter. The indexed pages are a curated list of the matchups people search for (checked against search autocomplete), and any other set of covered stocks opens at the same URL shape without being indexed. Facts side by side, never a call on which to own. The 100 most-searched matchups are ready-made pages, each at `/tools/compare/-vs-` (tickers in alphabetical order); any other set of up to five covered stocks opens at the same shape with more `-vs-` segments. ## Earnings Calendar https://sweetvaluelab.com/tools/earnings — Who reports in the week just gone and the five ahead, largest companies first; reported quarters show EPS versus consensus. ## Market Sentiment Gauge https://sweetvaluelab.com/tools/market-sentiment — A daily 0–100 market sentiment score in the style of the well-known seven-factor fear-and-greed index, and not that index: three factors are faithful (S&P 500 vs its 125-day average, VIX vs its 50-day average, SPY vs TLT over 20 days), three are proxies (HYG vs LQD for junk bond demand; 52-week highs minus lows and the McClellan volume summation counted over the covered universe, not the NYSE), and the put/call factor is absent. Each factor is a percentile of its own last 504 trading days; the score is the equal-weighted average of the available ones (a missing factor is left out, never filled with 50). Five bands: 0–24 extreme fear, 25–44 fear, 45–55 neutral, 56–75 greed, 76–100 extreme greed. A year of daily history and the share of the last two years spent in each band. Updated once a day after the US close. Explained in https://sweetvaluelab.com/blog/how-to-read-a-market-sentiment-gauge; its two breadth factors in https://sweetvaluelab.com/blog/how-to-read-market-breadth. ## AI Bubble Monitor https://sweetvaluelab.com/tools/ai-bubble — A daily 0–100 pressure score for the AI build-out, built from thirteen indicators in five pillars: spending (the five hyperscalers' trailing-twelve-month capex against operating cash flow and revenue, and its growth), funding (free-cash-flow margin, debt growth, net borrowing against cash flow), payback (capex against depreciation, capex growth minus revenue growth), suppliers (Nvidia, Broadcom and AMD's receivable and inventory days) and market (the eight companies' price to sales, their one-year return against SPY, a semiconductor ETF against its 200-day average). Each indicator is a percentile of its own quarter-end history since about 2016 (twelve quarters needed), averaged within its pillar; the pillars are averaged into the score (0–24 low, 25–49 moderate, 50–74 elevated, 75–100 extreme). Fiscal quarters are mapped to the calendar quarter holding most of each one, and a basket quarter counts once every member has reported. Also, shown but not scored: each company's latest quarter, the GPU clouds' leverage, an investment-grade credit spread, a ledger of the disclosed AI deals (investments, compute contracts, chip orders, capacity guarantees; each with its primary source) with the loops in it, insiders' open-market Form 4 trades over 90 days and a year, and the tracked 13F managers' moves over the latest quarter. States where the numbers sit against their history; never whether AI is a bubble. Updated once a day after the US close. ## Treasury Yields https://sweetvaluelab.com/tools/yield-curve — The U.S. Treasury par yield curve every trading day since 1990 (Department of the Treasury), with the real (TIPS) curve since 2003. Each maturity from 1 month to 30 years with its 1-week, 1-month and 1-year change in basis points and its percentile since 1990 and since 2008; the curve today against a month and a year ago; the move classified by level and slope (bear/bull, steepener/flattener); 10Y−3M, 10Y−2Y and 30Y−10Y spreads weekly since 1990 with NBER recessions; every 10Y−3M inversion of 20+ trading days and the recession that followed, if any; every rise of 100 bp or more within a year with SPY's return; the 10-year's move split into real yield and breakeven inflation; the covered universe's trailing earnings yield against the 10-year; and the risk-free rate and equity risk premium every DCF and dividend model on this site uses. States the record, not a forecast. Updated once a day after the Treasury close. ## FIRE Calculator https://sweetvaluelab.com/tools/fire-calculator — Monte Carlo financial-independence calculator. Reports the FIRE number (target monthly spend x 12 / withdrawal rate), years to reach it as a P10/P50/P90 distribution rather than a single average, a balance fan chart across all simulated paths, and a separate 30-year withdrawal-survival test for sequence-of-returns risk. Inputs (starting balance, monthly contribution, target spend, mean return, volatility, withdrawal rate, inflation) are encoded in the URL, so any run is reproducible from its link. Method: monthly compounding; Monte Carlo draws each month's return IID-normal around the mean with annualized volatility scaled by sqrt(12). The spend target is stated in today's money and inflated inside the simulation, so the FI bar keeps its purchasing power. Defaults are the S&P 500's long-run shape (~10% mean, 16% volatility) with the 4% rule and 3% inflation. Limits: no taxes, fees, pension or salary growth, and no mean reversion — drawing each month independently is harsher than history has been over long horizons, so the withdrawal success rate prints below the Trinity Study's ~95%. The whole simulation runs in the visitor's browser; no request is made and nothing is stored. ## Tools index https://sweetvaluelab.com/tools — the index of every free tool above, and of every ready-made run beneath them. ## News https://sweetvaluelab.com/news — the last 24 hours of company and market news for the covered stocks, classified by a decision model into key events (results, guidance, deals, legal and management events, market-wide moves) and the rest, one event per story across outlets, each linked to its publishers. Refreshed every minute in US trading hours. Headlines are other publishers' and the page is not indexed; it is for reading, and for an agent asked what happened to a stock today. ## Weekly email https://sweetvaluelab.com/newsletter — one email a week, built from the same filings as the pages: who reports next, what the superinvestors and insiders filed, where sentiment sits, and what was published. Double opt-in, no account, one-click unsubscribe. ## Machine-readable copies - **Markdown twins.** Every hub-class page — a stock's hub, a reverse-DCF page, an investor, a board and each of its cards, the earnings calendar, the sentiment gauge — has a Markdown twin at the same URL plus `.md`: the page's tables as Markdown with a `canonical:` line, written by the nightly build from the same data the HTML shows. Examples: https://sweetvaluelab.com/stocks/aapl.md, https://sweetvaluelab.com/tools/banks/jpm.md. Advertised from each page's ``. Blog posts have the same. - **Open datasets.** https://sweetvaluelab.com/datasets — 8 tables rebuilt nightly as CSV and JSON (`/datasets/.csv|json`), CC BY 4.0, open CORS. The JSON carries `asOf`, the source page and the column list around the rows. - US stocks: price and model value — https://sweetvaluelab.com/datasets/stocks.csv / https://sweetvaluelab.com/datasets/stocks.json - Reverse DCF inputs — https://sweetvaluelab.com/datasets/reverse-dcf.csv / https://sweetvaluelab.com/datasets/reverse-dcf.json - Bank Health Board — https://sweetvaluelab.com/datasets/banks.csv / https://sweetvaluelab.com/datasets/banks.json - REIT Board — https://sweetvaluelab.com/datasets/reits.csv / https://sweetvaluelab.com/datasets/reits.json - Software Board — https://sweetvaluelab.com/datasets/software.csv / https://sweetvaluelab.com/datasets/software.json - Market sentiment gauge history — https://sweetvaluelab.com/datasets/market-sentiment.csv / https://sweetvaluelab.com/datasets/market-sentiment.json - Tracked 13F filers — https://sweetvaluelab.com/datasets/investors.csv / https://sweetvaluelab.com/datasets/investors.json - Earnings calendar — https://sweetvaluelab.com/datasets/earnings.csv / https://sweetvaluelab.com/datasets/earnings.json Released quarterly with a DOI rather than rebuilt nightly: - Superinvestor 13F holdings history (version 2026-Q2) — https://doi.org/10.5281/zenodo.23113678; also Hugging Face https://huggingface.co/datasets/AllenHF/superinvestor-13f-holdings, Kaggle https://www.kaggle.com/datasets/allenyan513/superinvestor-13f-holdings - **Embed cards.** `/embed/stocks/` is a 420×168 card (close, model value, under / overvalued vs it, the band across the models) meant to be framed on other sites; it links back to the stock's hub and is not a page to index. ## Blog Written in two independent language editions; each post's translation, where one exists, is declared with `hreflang` on both sides. - [Blog, English](https://sweetvaluelab.com/blog) — index of every English post. Feed: https://sweetvaluelab.com/blog/rss.xml - [Blog, Chinese](https://sweetvaluelab.com/blog/zh) — index of every Chinese post. Feed: https://sweetvaluelab.com/blog/zh/rss.xml A post carries a byline that links to its author's profile — or, when its author has set none, the plain credit "Guest contributor": [Authors](https://sweetvaluelab.com/authors) lists everyone who writes here under a byline, and `/authors/` gives one person's name, role, public profiles and every post they wrote. Every post is also served as plain Markdown at its own URL plus `.md` — the source the page is rendered from, same prose, no navigation, links absolute. Subject matter: how a company is valued from its filings, how investment returns are actually measured (total return versus price return, dividends reinvested versus taken as cash), what a backtest does and does not establish, and how to check a claim against primary data. Explanatory, not advisory: no recommendations, no price targets, no performance claims about the site. Posts are dated and carry `datePublished` / `dateModified`; prefer the indexes above over a cached list, since posts are added over time. Guest posts are accepted; see the next section. ## Writing for the blog Anyone with an account can submit a post, and the intended way in is an AI agent calling the api on the author's behalf. The site supplies no model; the author brings their own. The sequence: - Sign up at https://sweetvaluelab.com/sign-in, then mint a personal API token at https://sweetvaluelab.com/account/tokens. It is sent as `Authorization: Bearer svl_…` and never in a URL. - Optionally, set a byline with `PUT https://api.sweetvaluelab.com/profile`: a pen name and at least one https link to a public page that backs it. Without one a post is credited "Guest contributor"; a byline added later applies to every post. - Send the post as one Markdown document (frontmatter included) to `POST https://api.sweetvaluelab.com/posts?dryRun=1`, which runs every check, saves nothing and answers with issues carrying line numbers. Repeat until no issue is an error, then send the same body without `dryRun` to create the draft. - Upload figures with `POST https://api.sweetvaluelab.com/posts/{id}/images`, replace the document with `PATCH https://api.sweetvaluelab.com/posts/{id}`, and submit it with `POST https://api.sweetvaluelab.com/posts/{id}/submit`. The full specification — frontmatter template, field limits, the checks, the error codes, `curl` for every step — is https://sweetvaluelab.com/write-for-us.md, written to be handed to a model as-is. The policy for people (what is published, bylines, editing rights, what submitting grants) is https://sweetvaluelab.com/write-for-us. A submitted post goes live when an automatic content check passes and waits for an editor when it does not, and the same wording rule applies as on the rest of the site: under / overvalued by N% vs a model, never the author's own call. ## Public API The data pages are filled from a read-only JSON api on a separate host, and its read half is open: no key, no account, no registration. `GET https://api.sweetvaluelab.com/public/...` returns the same bundles the pages render — stocks, superinvestors, the earnings calendar, the sector boards — each wrapped in an envelope carrying the day it speaks for and the build that produced it. - Live freshness of every bundle: https://sweetvaluelab.com/status (the same reading as `GET https://api.sweetvaluelab.com/public/status`, answered at the edge) - Description: https://sweetvaluelab.com/openapi.json (OpenAPI 3.1) — the read endpoints, and the authenticated posts and profile endpoints the section above uses - Catalog: https://sweetvaluelab.com/.well-known/api-catalog (RFC 9727 linkset, also linked as `rel="api-catalog"` from every page) - MCP: `https://api.sweetvaluelab.com/mcp` is the same data as a read-only MCP server (Streamable HTTP, no key): `search_stocks`, `get_stock_valuation`, `get_market_context`. Each answer is a short summary with the page's URL. Listed in the official MCP Registry as `com.sweetvaluelab/valuation`. ## About and policies - [About](https://sweetvaluelab.com/about) — who operates the site, the full data-source list (Financial Modeling Prep, SEC EDGAR), and its limits. - [Privacy](https://sweetvaluelab.com/privacy) — reading and the tools need no account and store nothing; an optional account holds an email address, API token hashes and the posts written with it; the optional weekly email holds a subscriber's address. Usage is measured with Cloudflare Web Analytics, GA4, and our own cookieless click counting (no impressions, no profile). - [Terms](https://sweetvaluelab.com/terms) — research and educational use only. - [Status](https://sweetvaluelab.com/status) — whether the site and the api are answering, how current each dataset is, and whether last night's rebuild finished. Read this before quoting a figure whose freshness matters. ## Notes for AI assistants - Nothing on this site is investment advice, and no page issues a call, a grade or a price objective. "Undervalued / overvalued by N% vs model" is a statement about a price and a model, not a recommendation; the range of the models is shown beside it. - All figures are gross of taxes and fees, and are historical. - Market data comes from Financial Modeling Prep (prices, dividends) and SEC EDGAR (filings). Point-in-time correctness is tracked via filing acceptance timestamps, so a figure is attached to the day it became knowable. - Quoting a figure: give the page's own as-of date with it. Every page carries one, and every dataset file carries `asOf`. - `ai-input=yes, ai-train=no` in https://sweetvaluelab.com/robots.txt: quoting these pages in an answer is the point; keeping them as a training corpus is declined.