Skip to content

Incorrect exchange code "ASE" assigned to NYSE / NYSE American securities (BRK.B, BF.B, ...) #133

@Predatrador

Description

@Predatrador

Summary

The exchange column in equities.csv reports "ASE" for ~430 securities that are actually listed on NYSE main board (NYQ per Yahoo Finance), not on NYSE American. The value is also ambiguous as a short code: ASE collides with the ISO 10383 ACRONYM for Athens Stock Exchange (MIC ASEX).

Reproduction

import financedatabase as fd
eq = fd.Equities()
df = eq.select()
sample = df.loc[["BRK.B", "BF.B", "ARX", "ALH"], ["name", "exchange", "country"]]
print(sample)

Output:

symbol name exchange country
BRK.B Berkshire Hathaway Inc. Class B ASE United States
BF.B Brown-Forman Corp. Class B ASE United States
ARX Aeolus Pharmaceuticals ASE Cayman Islands
ALH ASE United States

Cross-check via yfinance:

import yfinance as yf
for sym in ["BRK-B", "BF-B", "ARX", "ALH"]:
    info = yf.Ticker(sym).info
    print(sym, info.get("exchange"), info.get("fullExchangeName"))

Output:

BRK-B NYQ NYSE
BF-B  NYQ NYSE
ARX   NYQ NYSE
ALH   NYQ NYSE

All four are NYSE main board listings, not NYSE American.

Why this matters

  1. Wrong segment — these securities are on NYSE (MIC XNYS), not NYSE American (MIC XASE). Berkshire Hathaway B is unquestionably a NYSE main board listing.
  2. Ambiguous short code"ASE" is also an ISO 10383 ACRONYM for Athens Stock Exchange (ASEX, GR). Downstream consumers that resolve exchange against ISO 10383 will land on Athens, which is materially wrong.
  3. Scope — the issue affects ~430 rows in equities.csv, including widely-tracked symbols (BRK.B, BF.B). The country distribution is heterogeneous (US, GR, CA, BR, CN, …), suggesting a default fallback rather than a deliberate per-row classification.

Suggested resolution

Either:

  • Re-classify these rows with the correct exchange code (NYSE / NYQ / ISO MIC XNYS), or
  • If "ASE" is intended as FinanceDatabase's internal code for NYSE American, document it explicitly in the README/exchange-code table and split off the rows that actually belong to NYSE main board.

Happy to provide the full list of 430 affected symbols if useful.

Context

Encountered while building a canonical instrument identifier pipeline that consumes both FinanceDatabase and ISO 10383. The collision between FD "ASE" and ISO ACRONYM "ASE" made it surface immediately.

Thanks for the great library.

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions