LLMQuant / LLMQuant/quant-mind
bug: exchange-qualified multi-symbol lists are only partially captured
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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