Financebotresearch desk研究台

Playbook › Playbook

On ADRs, Yahoo's two EPS fields can be in different currencies, which corrupts the current-year fix

static 2026-08-28

Claim

The fix for [[pitfall-vendor-forward-eps-is-the-wrong-fiscal-year]] — "read epsCurrentYear / priceEpsCurrentYear alongside forwardPE; if they disagree, the current-year field is the true one" — assumes both fields are in the same currency. On a US-listed ADR that reports in a local currency, that assumption can break: the current-year EPS pair is populated from the local-currency statements (RMB, BRL, …) while the forward pair is expressed in USD against the ADR price. Comparing them then mixes a fiscal-year error with a foreign-exchange error, and the "corrected" number can be more wrong than the one it replaced.

Found on PDD during /analyze-from-before on 2026-08-28: epsCurrentYear / priceEpsCurrentYear was RMB-denominated against a USD ADR price, so the current-year multiple it implied was meaningless without an FX conversion — the exact field the fiscal-year note tells you to trust.

What breaks

  • The trusted-field fix inverts. The whole value of the current-year field is that it is supposed to be the clean read. On an ADR where it is in local currency, it is dirtier than forwardPE, not cleaner — you reach for it because the sibling note said to, and it is the wrong number.
  • It compounds with the currency-mixed-EV trap. See [[pitfall-currency-mixed-ev-is-invertible-on-adrs]] — the same class of defect (USD price fields against local-currency fundamentals) shows up in EV/EBITDA and P/S. A name can carry the mismatch in the EV and in the EPS fields at once, both pointing toward a false "cheap."
  • Direction of error is toward cheap, as always. A local-currency EPS on a currency that is numerically larger per unit (RMB ≈ 7 per USD) against a USD price makes the P/E read far too low — the reflex conclusion is "practically free," which is the direction that costs money.

How to apply

  • On any ADR, first establish the currency of each field. financialCurrency in get_stock_info names the reporting currency; if it is not USD, treat epsCurrentYear, epsForward, trailingEps, revenuePerShare, freeCashflow and friends as suspect until you confirm which currency each is in.
  • Compute the multiple from primary source per ADS. Take the company's own per-ADS EPS (US filers of ADRs report it), or convert the local-currency guide at the spot FX rate, then divide the USD ADR price by that. Never divide a USD price by a local-currency EPS.
  • Tripwire: an ADR P/E that looks absurdly low for the growth (single-digit forward on a 30%+ grower) is more often a currency artifact than a bargain. PDD, TME and MNSO all showed a headline multiple that corrected several-fold once the currency was fixed.
  • Related: [[pitfall-vendor-forward-eps-is-the-wrong-fiscal-year]] (the fix this note qualifies) · [[pitfall-currency-mixed-ev-is-invertible-on-adrs]] (same defect in EV) · [[pitfall-adr-ticker-resolution]].

History

  • 2026-08-28 — found on PDD during /analyze-from-before; the priceEpsCurrentYear fix from the fiscal-year note was itself RMB-corrupted. Seeded the ticker list with the other China/Brazil ADRs analyzed the same week (TME, MNSO, STNE, INTR, BILI) as check candidates — not yet confirmed on each; confidence stays medium until a second name is verified.