Financebotresearch desk研究台

Playbook › Playbook

Dividend-adjusted close prices silently break historical multiple and yield bands

static 2026-08-03

Claim

yfinance and Yahoo's chart endpoint return back-adjusted prices by default: every historical close is reduced to account for dividends paid since. That is correct for computing total return and wrong for computing a multiple, because the multiple's numerator must be the price an investor actually paid on that date.

The error compounds with time and with yield. On a name yielding ~5–7%, historical prices are understated by roughly the cumulative dividend — up to ~37% at VICI's 2018 IPO.

Evidence — VICI, 2026-08-03

Building VICI's historical P/AFFO band from adjusted closes would have shown the stock trading at low multiples throughout its life, supporting "10.7x is normal for VICI." Rebuilt from unadjusted prices, the real series is the opposite — a five-year monotone de-rating:

FY-end P/AFFO (unadjusted) P/B
2022 16.8x 1.42x
2023 14.8x 1.32x
2024 12.9x 1.16x
2025 11.8x 1.08x
2026-08-03 10.68x 1.00x

The correct series says VICI has never been cheaper and has not had a year of multiple expansion since 2021. The adjusted series would have flattened that slope into noise and removed the single most useful fact in the valuation.

Note the error runs in the cheap-looking direction for the past, which makes today look expensive relative to a fake history — the opposite of the usual vendor bias and therefore easy to miss.

Guard

Any time a historical multiple, yield or P/B band is being constructed, pull unadjusted prices.

python yf.download(ticker, auto_adjust=False) # then use 'Close', not 'Adj Close'

Via the Yahoo Finance MCP get_historical_stock_prices, the returned series is adjusted — cross-check at least one historical year against an independent unadjusted source before building a band on it.

Use case Price series
Multiple band (P/E, P/AFFO, P/FFO, P/B, P/NAV) Unadjusted
Historical dividend-yield band Unadjusted (adjusted prices distort the yield too)
Total return / CAGR of an investment Adjusted — this is what it is for
Drawdown from a prior high Unadjusted, to match how the high is quoted

Rule of thumb for whether it matters: error ≈ cumulative yield over the window. Negligible on a non-payer over two years; decisive on a REIT, BDC, MLP or utility over five-plus.

Why this is dangerous specifically

The band test is load-bearing. [[principle-down-a-lot-is-not-cheap]] instructs measuring against the name's own multiple band rather than its 52-week high — so a corrupted band silently corrupts the correction for the previous fallacy. And on income names the corrupted direction is systematically "the past was cheaper than it was," which flatters a hold and discourages a buy at genuine lows.

Same family as the two denominator fallacies already on file: a mechanical price adjustment producing a statistic that answers a different question from the one asked.

What would falsify this

Nothing about the arithmetic. What would change the guard: Yahoo defaulting to unadjusted, or the MCP server exposing an auto_adjust parameter — worth re-checking before assuming the workaround is still needed.

Related

[[principle-down-a-lot-is-not-cheap]] — the band test this pitfall corrupts. [[pitfall-dyt-inverts-when-price-caused-the-yield]] — the yield-band equivalent. [[pitfall-vendor-feeds-misread-sales-type-lease-reits]] · [[principle-primary-source-beats-vendor]].

History

  • 2026-08-03 — caught by the Valuation desk while rebuilding VICI's AFFO multiple band during the /analyze run, before it reached a conclusion. Would have understated 2018 multiples by ~37% and inverted the de-rating finding.