LLMQuant / LLMQuant/quant-mind

bug: exchange-qualified multi-symbol lists are only partially captured

Open
#108 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area: preprocess stale type: bug
Dominant language
Python
Stars
3k
Forks
484
PR merge metrics
No merged PRs in 30d

Description

## Summary

`extract_exchange_ticker_hints` only captures the first symbol after an exchange prefix. Public PR Newswire releases use several human-edited list forms, so extending this behavior requires an explicit list grammar rather than a larger one-off regex. This is intentionally low priority because the observed incremental recall is very small.

## Public examples

The following five shapes appeared in one public 24-hour PR Newswire window:

```text
(OTCID: QVCAQ, QVCGQ, QVCPQ)
(NYSE: EVEX, EVEXW; B3: EVEB31)
(NYSE: TME and HKEX: 1698)
(NASDAQ: VMAR; TSXV: VMAR)
(NYSE: ASR; BMV: ASUR)
```

## Current behavior and impact

The three dual-listing forms with an explicit prefix on each side already yield the supported US symbol (`TME`, `VMAR`, and `ASR`). The two true shared-prefix lists have limited additional value: `(NYSE: EVEX, EVEXW; B3: EVEB31)` loses only the warrant `EVEXW`, while the QVC group is entirely under `OTCID`, which is not in the current exchange whitelist. In this window, the net supported-symbol gain would therefore be approximately one warrant.

## Design questions

1. Which separators belong to the grammar: comma, semicolon, `and`, or a bounded subset?
2. Where does a shared exchange group end when another `EXCHANGE:` prefix appears?
3. Should numeric symbols and additional exchanges be handled here, or in a separate whitelist policy change?
4. What should `NewsTickerHint.raw` mean for additional list members: the full group, the individual token, or a reconstructed exchange-symbol pair?

## Suggested scope

Define the list grammar and `raw` semantics before implementation, then use the five strings above as deterministic regression fixtures. Keep this independent from #107, which only normalizes Markdown link and emphasis decoration on the ticker scan copy.

## Environment

- QuantMind version: 0.2.0 (master, commit `ac89d20f8adc5cc8064cb6402ba4886d46bd41b5`)
- Observation source: public PR Newswire feed/article pages, 24-hour window

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the extract_exchange_ticker_hints entry point and review the five PR Newswire examples in the issue. Define the supported separators, exchange-prefix boundaries, numeric-symbol policy, and NewsTickerHint.raw semantics before implementation. Done means deterministic regression fixtures cover all five shapes without changing the separate scope of #107.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.