Skip to content

Ticker filtering is collision-prone across exchanges; no name search; duplicate tickers error out #5

Description

@arcaputo3

Problem

--tickers filtering matches the ticker string across every exchange, so common US tickers silently pull in foreign namesakes — interleaved in the same result set, with no company name attached (see also the --expand company issue). Collisions actually hit in production agent runs:

Ticker asked Also/instead returned
ACA (Arcosa) Crédit Agricole (ENXTPA: ACA), interleaved
BLD (TopBuild) Boral (ASX: BLD)
CE (Celanese) Credito Emiliano (BIT: CE)
WM (Waste Management) Wallbridge Mining (co 21404)
COST (Costco) Costain Group (co 12590)
TEL (TE Connectivity) Telenor
AVNT (Avient) Avant Brands (TSX)

The reliable recipe agents converged on: companies list --tickers X → pick the right companyIdevents list --company-ids N. That's two calls plus a human-judgment join for what should be one call.

Two adjacent gaps make resolution harder than it needs to be:

  • companies list has no --search/name lookup — only --tickers / --ciks. (And CIK mapping has its own landmines: Cornerstone's CIK 0001061630 resolved to Blackstone Mortgage.)
  • Duplicate tickers in one --tickers list make the CLI error out — trivially fixable by deduping client-side before the request.

Proposed fixes

  1. Add an exchange/market filter (--exchange NYSE, or --tickers NYSE:BLD syntax) if the API supports it; otherwise filter client-side via the company join.
  2. Add a quartr companies resolve <ticker-or-name> convenience (or --search on companies list) that prints candidates with id/name/exchange so the disambiguation is one step.
  3. Dedupe the --tickers list before building the request instead of erroring.
  4. Document the collision hazard + the companies-first recipe in --help/README until then.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions