Financebotresearch desk研究台

Playbook › Playbook

An issuer that terminates its ADR programme becomes fully analysable — verify, don't assume

static 2026-08-05

Claim

pitfall-adr-book-value-corrupts-price-to-book establishes that vendor feeds mangle per-share metrics on ADRs. The natural defensive habit that follows — "foreign issuer, so distrust P/B, Graham IV and the yield history" — is wrong in a specific and increasingly common case, and being wrong in that direction silently discards usable signal.

AstraZeneca, 2026-08-05. The company terminated its ADR programme (ADSs mandatorily cancelled 2026-01-27) and direct-listed its ordinary shares on the NYSE on 2026-02-02, under a harmonised NYSE / LSE / Nasdaq Stockholm structure. The old 2-for-1 ADS is gone: 1 NYSE share = 1 ordinary share, and AstraZeneca reports in USD, so there is no FX conversion step to get wrong either.

Every metric the pitfall note normally disqualifies reconciled cleanly:

Check Result
SharesOut 1.55B vs Shares(dil) 1.56B No clean-integer ratio → no ADR ratio hiding in the file. This is the tell, inverted.
Market cap 1.55B × $161.50 = $250.3B vs reported $250.47B ✅
EPS $10.22B ÷ 1.56B = $6.55 vs reported $6.54 ✅
BVPS $48.67B ÷ 1.50B = $32.4 vs reported $32.43 ✅
Revenue/share $58.74B ÷ 1.55B = $37.90
Graham IV $69.81 — correctly computed, simply the wrong lens for an 82%-gross-margin IP business

The part that is genuinely easy to miss — the price history was restated too

Yahoo booked the conversion as a Stock Splits: 0.5 event dated 2026-02-01 and restated the entire prior series into ordinary-share terms. Confirmed independently by the dividend column, which shows $1.00, $2.10, $1.03, $2.153 — AstraZeneca's actual per-ordinary-share declarations, not per-ADS halves.

Consequence: the 52-week range, the 5-year average dividend yield, and therefore Dividend Yield Theory are all valid on a consistent basis across the conversion. On AZN, DYT produced a clean, usable read (current yield 2.05% vs 5yr average 2.09% → fair value ≈ $158) which agreed with two independent lenses. Had the pitfall been applied reflexively, that cross-check would have been thrown away.

How to apply

Run this four-point gate before deciding which regime a foreign ticker is in. It costs one fin.py call and settles the question:

  1. Do the two share-count fields differ by a clean small integer (2, 4, 5, 10)? If yes → live ADR, the original pitfall applies. If they are within ~1% of each other → likely direct listing.
  2. Does market cap reconcile? price × shares against the reported figure.
  3. Do EPS and BVPS both reconcile against net income ÷ shares and equity ÷ shares? BVPS is the field that fails first in the broken case.
  4. Does the dividend column in the price history match the issuer's declared per-share amounts? This is what tells you whether the history was restated, which is what DYT and any multi-year band depend on. A conversion handled as a split factor restates cleanly; one handled as a ticker change does not.

Also check what currency the issuer reports in. A USD reporter (AZN) removes an entire class of failure that a TWD or JPY reporter (TSM, 8035.T) still carries even post-conversion.

Do not skip the gate because the answer was clean last time. The regime is a property of the ticker at a point in time — a company can terminate an ADR programme between two analyses, as AstraZeneca did between the July screens and this file.

What would falsify this

A vendor that handles an ADR termination as a ticker re-listing rather than a split factor, leaving a discontinuity in the price/dividend series while the current per-share metrics reconcile fine. Points 1–3 would pass and point 4 would fail — which is exactly why point 4 is in the gate separately.

Related

  • [[pitfall-adr-book-value-corrupts-price-to-book]] — the base case this note bounds.
  • [[pitfall-adr-ticker-resolution]] · [[pitfall-yahoo-share-count-dual-class-fpi]] · [[pitfall-yahoo-mixes-cad-usd-on-cross-listed-issuers]]
  • [[principle-primary-source-beats-vendor]] · [[principle-currency-consistency-roe-vs-coe]]
  • [[pitfall-dyt-inverts-when-price-caused-the-yield]] — DYT is only as good as the price series it reads; this note is about establishing that the series is sound before running it.