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
- Wrong segment — these securities are on NYSE (MIC
XNYS), not NYSE American (MIC XASE). Berkshire Hathaway B is unquestionably a NYSE main board listing.
- 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.
- 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.
Summary
The
exchangecolumn inequities.csvreports"ASE"for ~430 securities that are actually listed on NYSE main board (NYQper Yahoo Finance), not on NYSE American. The value is also ambiguous as a short code:ASEcollides with the ISO 10383 ACRONYM for Athens Stock Exchange (MICASEX).Reproduction
Output:
Cross-check via
yfinance:Output:
All four are NYSE main board listings, not NYSE American.
Why this matters
XNYS), not NYSE American (MICXASE). Berkshire Hathaway B is unquestionably a NYSE main board listing."ASE"is also an ISO 10383 ACRONYM for Athens Stock Exchange (ASEX, GR). Downstream consumers that resolveexchangeagainst ISO 10383 will land on Athens, which is materially wrong.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:
NYSE/NYQ/ ISO MICXNYS), or"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.