Playbook › Playbook
Yahoo's dividend yield uses previousClose while its P/E uses the live price
Claim
A single yfinance .info payload mixes two different price bases:
| Field | Value (QCOM, 2026-08-04) | Base actually used |
|---|---|---|
currentPrice |
162.67 | — |
previousClose |
151.57 | — |
trailingPE |
18.591 | 162.67 / 8.75 → currentPrice |
forwardPE |
15.798 | 162.67 / 10.297 → currentPrice |
dividendYield |
2.43 | 3.68 / 151.57 → previousClose |
trailingAnnualDividendYield |
0.023685 | 3.59 / 151.57 → previousClose |
QCOM rose +7.32% that session. The reported 2.43% yield was the yield on yesterday's price; the true forward yield at the quote in the same payload was 3.68 / 162.67 = 2.26%.
Why it matters
The error is silent and it lands exactly where it does the most damage:
- Dividend Yield Theory is a comparison of two yields. QCOM's
fiveYearAvgDividendYieldis 2.12%. Against the reported 2.43% the name looks 14.6% cheap; against the correct 2.26% it looks 6.6% cheap — less than half the signal, on the same day, from the same file. See [[pitfall-dyt-inverts-when-price-caused-the-yield]] for the other half of the DYT trap. - The direction of the error tracks the day's move, so it is largest on exactly the days a scan is most likely to fire — a post-earnings gap, a sector snapback, a capitulation low. On a −8% day the yield is understated and a name in its buy zone reads as out of it.
fin.py --quotesurfacesDivYield%straight from this field, so the whole scan layer inherits it.
How to apply
- Never take
dividendYieldat face value. Recompute:dividendRate / currentPricefor the forward yield,trailingAnnualDividendRate / currentPricefor the trailing one. - The tell that the reported yield is stale:
dividendYield / 100 * previousClosereproducesdividendRateexactly, whiledividendRate / currentPricedoes not match the reported yield. One line of arithmetic confirms it per name. - The same lag has not been observed on
trailingPE/forwardPE, so do not assume the whole payload shares one base — check each derived field you intend to lean on. - Corollary of [[principle-primary-source-beats-vendor]]: a derived vendor field is a second-order construct, and every vendor derives from a different snapshot.
Related: [[pitfall-adjusted-close-breaks-multiple-bands]] · [[pitfall-dyt-inverts-when-price-caused-the-yield]] · [[principle-primary-source-beats-vendor]]
History
- 2026-08-04 — Found during
/analyze QCOM, on a session where the stock gapped +7.3% with the semiconductor snapback.static— it is a property of how the vendor assembles the payload, not of any market condition.