Financebotresearch desk研究台

Playbook › Playbook

Foreign ADR tickers silently resolve to the wrong company

static 2026-08-26

Claim

The failure is silent. The tool returns a complete, well-formed record — price, market cap, margins — for a real company that is not the one requested. Nothing looks wrong.

Requested Ticker tried Actually returned
Screen Holdings (Japan, semi equipment) SCRYY SCOR SE (French reinsurer)
Capcom (Japan, games) CPCAY Cathay Pacific (HK airline)

A reinsurer's numbers dropped into a semiconductor-equipment comparison will not obviously look wrong — the margins are plausible, the multiples are plausible, and the whole comparison is quietly corrupted.

Guard

Read the returned company name field on every foreign ticker, every time. Not the ticker — the name. If the tool doesn't return a name, don't use the data.

Related: .mcp/fin.py returns broken or negative enterprise value for foreign ADRs. A negative EV is the tell that the ADR path is unreliable for that name; drop to primary filings or the local listing.

Extension — the name can resolve correctly and the EV block still be junk (added 2026-08-26)

IHG resolved to the right company and the data was still unusable. Name verification is necessary, not sufficient. The second check is the share-count block, and the tell is float exceeding or wildly diverging from sharesOutstanding on the same issuer (see [[pitfall-vendor-ev-inverts-net-cash]]).

IHG ADR carried Float 836.30M against SharesOut 147.42M — the float is 5.7× the entire company. That single bad field poisons every EV-derived multiple:

Field Yahoo IHG (ADR) Yahoo IHG.L (local) Hand-rebuilt
Enterprise value $150.80B $27.99B $27.83B
EV/EBITDA 117.27 21.8× 20.7×
EV/Revenue 28.30 5.25 5.4×
Inst% 0.11 0.57 —

A screen filtering on EV/EBITDA rejects IHG at 117× when the true figure is ~21×. This is how a good business disappears from a discovery pass without anyone noticing.

The fix is cheap: pull the local listing and reconcile. Hand-rebuilding EV (cap + debt − cash) landed within 2.3% of the local feed — two independent routes agreeing is what makes the rebuild trustworthy. Do both; agreement is the evidence, not either number alone.

Two further cautions on local listings:

  • IHG.L returns 52wLow = 0.00 — broken by IHG's GBp→USD trading-currency change on 2 Jan 2026. Any 52-week-range or drawdown logic is unreliable across that boundary. A trading-currency change is not a listing change and not a split, and feeds handle it badly.
  • Analyst consensus differs by listing. IHG's ADR mean target was $143.33 (9 analysts) against $158.83 on IHG.L — same company, same currency, ~11 points apart, because the ADR polls a thin stale US set. Never quote an ADR consensus target without checking the local one.

What would falsify this

Nothing — these are fixed ticker collisions. The general lesson (verify the name on foreign listings) holds regardless.

Related

[[pitfall-not-investable-universe]] — the other class of wasted-research trap.

History

  • 2026-07-29 — both collisions hit during the Japan tech/semis sweep.
  • 2026-08-26 — IHG: name resolved correctly, EV block still 5.4x wrong. Added the share-count-block check, the local-listing reconciliation, and the split consensus-target caution.