A single event produces a wall of headlines. The RBI announces a policy decision and within the hour you have twenty stories about it — a wire report, three aggregator rewrites, a television summary, a dozen social posts quoting the same two lines. Nothing new happened after the first one. What you are looking at is one event photocopied twenty times. The genuinely useful thing a machine can do here is not tell you what the news means. It is tell you that these twenty items are one item.
That is the honest pitch for AI in news work: triage, not prediction. Triage — sorting incoming items by relevance and urgency before anyone acts on them — is a volume problem, and volume is exactly what software is for. A language model can group duplicate coverage, tag which companies a story genuinely concerns, and separate an exchange filing from an anonymous forward. It does all three reasonably well. What it cannot do is tell you whether the event will move a price, and attaching a sentiment score does not change that.
The trap is subtle and almost everybody walks into it. A tool returns a headline with a label stuck on the front — “sentiment: strongly negative” — and the label quietly starts doing your reading for you. But that label summarises the words the journalist used. It is not a judgement about whether the underlying event matters to the business. An angrily written piece about a routine matter scores negative. A flat, procedural filing announcing something serious scores neutral. Tone and materiality are different things, and only one of them moves a stock.
The one thing to remember
AI earns its keep on market news by deduplicating and routing it, not by scoring it — a sentiment number describes the language inside an article, never whether the event behind it actually matters.
What a News Filter Is Actually For
Start by being precise about the job. You are not asking a model to forecast a reaction. You are asking it to reduce a hundred incoming items to the handful that concern you, so that a human being — you — has time to read those properly. That is a sorting task. Sorting is mechanical, checkable and boring, which is precisely why it suits a machine and why it is the part most tools skip over on their way to the exciting-sounding score.
Three sub-tasks make up almost all of the value. Deduplication: recognising that many items describe one event. Relevance routing: deciding which names on your list a story actually touches. Source grading: separating what a company formally told the exchange from what somebody said a person familiar with the matter told a reporter. Each of these has a right answer you can verify by opening the source, which makes them safe to delegate.
Notice what is missing from that list. Nothing there predicts anything. Nothing there is an opinion about price. The moment a tool crosses from “these twenty items are one event” into “this is bearish for the sector”, it has left the ground where its output is checkable and entered the ground where it is just fluent guessing. You want the first half of that tool and none of the second.
There is a practical reason to insist on the split. During a busy session your scarce resource is attention, not information. Information is free and infinite. A filter that hands you six real events instead of a hundred headlines has given you back most of an hour. A filter that hands you a hundred headlines each wearing a confident label has given you a hundred small decisions to make instead of one.
The value is in the collapsing, not in the labelling — six real events beat a hundred scored headlines every session.
Clustering: Twenty Headlines, One Event
Clustering means grouping items that describe the same underlying event, however differently they are worded. A model does this well because it compares meaning rather than matching words. “Board approves fund raise” and “Company to raise capital via QIP, board clears plan” share almost no vocabulary and are obviously the same event to any reader. A keyword filter misses that. A language model catches it.
The output you want from clustering is one neutral sentence per group, built only from facts present in the items, plus a list of which sources carried it. That format has a useful side effect: if the group cannot be reduced to one clean sentence, it usually means you have accidentally merged two events, and you go and look. Ambiguity in the summary is a signal, not a defect.
Clustering also exposes something the raw feed hides — how thin a story actually is. Twenty items that all trace back to a single unnamed source are not twenty pieces of evidence. They are one claim, repeated. Volume of coverage feels like confirmation and is not. A group that collapses to “all of these cite the same one report” tells you more about how much weight the story can carry than any sentiment score would.
Where it fails is on genuinely borderline cases. A regulatory change and a company’s response to that regulatory change are two events, closely linked; models will sometimes merge them. Two companies announcing similar things on the same morning may get merged for the same reason. So read the group headings, not just the count. The clustering is a first pass you check, not a filing system you trust blindly.
Twenty headlines, two events
The collapse is the work. Volume of coverage feels like confirmation and is not.
Pro tip — Ask for the cluster to name every source it grouped, not just a count. Twenty items citing one unnamed report is one claim repeated twenty times, and only the source list makes that visible.
Relevance Versus a Passing Mention
The second job is deciding which of your names a story is actually about. This matters more than it sounds. Financial writing is full of names used as scenery — a story about one company that lists four competitors for context, a sector piece that names every large player in its second paragraph, an analyst quote that compares a business to an unrelated one. A crude keyword alert fires on all of them.
A useful relevance verdict has three levels rather than two. Direct: the story is about this company — its filing, its results, its regulator, its plant. Indirect: the story is about something this company demonstrably depends on, such as a customer, a supplier, an input cost or a rule that governs its business. Passing mention: the name appears, and nothing in the text connects the event to it. Most alerts on most days are the third kind.
The indirect category is where a language model adds something a filter cannot. It can read “the government revised the duty structure on imported cells” and connect it to a manufacturer that assembles using those cells — because the connection lives in the meaning of the sentence, not in a shared keyword. That is a genuine capability. It is also the category where false positives cluster, because the same reasoning that finds a real link will happily invent a plausible one.
So the rule is simple: a relevance verdict without a stated mechanism is not a verdict. If the model says a story is relevant to a name, it must be able to quote the words in the text that make the connection and state, in one checkable sentence, what would have to be true for the event to reach that business. If it cannot, the flag is decoration.
Confirmed Sources Versus Unconfirmed Reports
The third job is grading the source, and it is the one with real money attached. Under India’s listing disclosure framework, a listed company is required to inform the exchanges of material events, and those filings appear on the NSE and BSE corporate announcement pages. That is a primary source: named, dated, and attributable to the company itself. It is a different class of object from a report saying that people familiar with the discussions expect an announcement.
Unconfirmed reports move price. That is the whole problem. A market reacts to a plausible story before anybody can check it, and if the story does not survive contact with a filing, the move unwinds as fast as it came. Buying the reaction to an unconfirmed report is a bet on the report, not on the business — and you usually discover which one you were betting on only after the position is on.
A model is decent at this grading because the linguistic markers are consistent. Filings and official releases carry named authority, dates, regulatory references and specific figures. Unconfirmed reporting carries hedges — sources said, is understood to, may consider, is exploring. Ask for the grade and the phrase that earned it, and you get a check you can eyeball in a second.
What the model cannot do is verify. It can tell you the item reads like an unattributed report. It cannot open nseindia.com and confirm whether a filing exists. That step is yours, it takes under a minute, and skipping it is how people end up trading a headline that was withdrawn before the session closed.
| Item | What it is | How fast it reverses | How to treat it |
|---|---|---|---|
| Exchange filing | Filed by the company to NSE or BSE, dated and attributable | Does not reverse; it can be amended or clarified | Primary source — open it and read the wording |
| Company or regulator release | Published on an official site under a named authority | Rarely reversed, sometimes clarified later | Primary source — check the date and the exact scope |
| Attributed media report | A journalist naming a document or an on-record person | Occasionally corrected within the same session | A lead worth following — go find the document |
| Unattributed media report | Sourced to people familiar with the matter, no document | Often reversed, or quietly dropped and never followed up | Treat as a question to answer, not a fact |
| Social or messaging chatter | A forwarded claim with no traceable origin | Can reverse within minutes of being questioned | Ignore until it turns up in a filing |
| AI summary of any of these | A compression, one step further from the original | Inherits whatever the underlying source does | Never the thing you act on — open the source |
Watch out — Never act on an AI-summarised headline before you have opened the underlying filing or release and read the actual wording. Summaries drop qualifiers — “subject to shareholder approval”, “for one plant”, “over three years” — and the qualifier is very often the entire story.
Why a Sentiment Score Is Not a Materiality Judgement
Sentiment scoring works by reading the words and rating how positive or negative the language is. That is a real measurement of a real thing. The mistake is what people do with it. A score of “80% negative” is a compression of vocabulary. It says the article used unhappy words. It says nothing about whether the event described will affect earnings, cash flow, competitive position or anything else that eventually shows up in a price.
Two failure directions follow, and both are common. A minor matter written up in dramatic language scores strongly negative — a routine consumer complaint, a small penalty, an executive’s awkward interview. Meanwhile a filing announcing a genuinely serious development is written in flat regulatory prose and scores neutral, because filings are always written that way. The scoring system is behaving exactly as designed. It is being asked the wrong question.
There is a second, quieter problem. Sentiment on financial text is measured against how the language reads, not against what the market already expected. A result described in glowing terms can still be below what was priced in. Nothing in a language score knows what was priced in. Expectation is the missing variable, and it is the variable that decides most reactions.
None of this makes the score worthless. As a sorting aid — surface the items whose language changed sharply versus the same company’s previous coverage — it is a reasonable trigger to go and look. As a reason to act, it is a number that feels like analysis and is not. Use it to decide what to read. Never use it to decide what to do.
A sentiment score tells you how the article was written. It has no access to whether the event matters, or to what the market already expected.
Using a sentiment score without being used by it
Do
- Treat the score as a trigger to go and read the item yourself.
- Compare a name’s language against its own previous coverage, where a shift is at least meaningful.
- Read the actual event description before you form any view on whether it matters.
- Ask what the market was already expecting — the score cannot know, and you sometimes can.
- Keep the score and your own materiality judgement in separate columns of your notes.
Don't
- Let a label substitute for reading the underlying news.
- Read a strongly negative score as evidence that the event is serious.
- Read a neutral score on a filing as evidence that nothing important happened.
- Compare sentiment scores across different sources, which write in different registers.
- Size a position on a number that measures adjectives.
Ask It Why — The Reasoning Is Where You Catch the False Positive
The single habit that upgrades news triage from a toy to a tool is forcing the filter to explain itself. Not “is this relevant to this company” but “which words in this text connect this event to this company, and what would have to be true for it to reach the business”. A verdict is a coin flip you cannot inspect. A stated mechanism is something you can immediately agree or disagree with.
False positives become obvious the moment the reasoning is visible. You will see the model connect a story to a name because both appear in the same sector, which is not a mechanism. You will see it build a chain three links long — this affects an input, which affects a supplier, which supplies this company — where each link is plausible and the chain is not. Written out, that is transparently weak. Delivered as a flag with a coloured dot, it looks like a signal.
The demand for a quoted justification also constrains invention. A model asked to quote the exact words that create the link has to find words that exist. That does not make fabrication impossible, but it makes it visible, because you can search the pasted text for the quote in about two seconds. This is the same discipline that makes filing extraction trustworthy: claims travel with their evidence or they do not travel.
Finally, insist on an explicit null answer. Give the model permission to reply “no relevant names in this text” and it will use it. Withhold that permission and it will find something, because the shape of the request implies that finding something is the job. Most headlines on most days are relevant to none of your names, and a filter that never says so is not filtering.
You are triaging market news. Below is one headline and the opening paragraphs of the story. STORY: <paste headline, source name, timestamp and the first two paragraphs> MY WATCHLIST: <paste the list of names> For every watchlist name you believe this story touches, answer in exactly this format and nothing else: NAME RELEVANCE: direct / indirect / passing mention only QUOTED LINK: the exact words from the story that connect it to this name MECHANISM: one sentence, containing the word "because", explaining how the event reaches this business WHAT WOULD HAVE TO BE TRUE: one checkable claim I can go and verify Rules: - If a name only appears in a list, a comparison or a quote about someone else, label it "passing mention only" and give no mechanism. - If the text does not support a link to any name on my list, reply "no relevant names in this text" and stop. - Do not use any fact that is not in the text I pasted. - Do not say anything about price, direction or what I should do.
When to use — When a headline lands during the session and you want to know which of your names it genuinely concerns before you open a single chart.
A good answer — Most names come back as “passing mention only” or do not appear at all, every “direct” verdict quotes words you can find in the text you pasted, and the mechanism sentence is something you could go and check in a filing.
A Triage Routine You Can Run in Ten Minutes
Put the pieces together and you get a short, repeatable routine rather than a scroll through a feed. Collect, cluster, route, grade, then verify by hand the two or three items that survived. The order matters: deduplicate before you route, or you will assess the same event five times; grade the source before you verify, so you know which items are worth the minute it takes to open a filing.
The routine also has a fixed stopping point, which is the part people skip. Once the surviving items have been checked against their primary sources, triage is over. Everything after that — what the event means for the business, whether it changes your view, whether you do anything at all — is your work, done against a chart and your own notes. Handing that stage to the model is where the process quietly turns into taking headline tips from software.
Keep the surviving items in a simple log with four fields: the one-sentence event, the primary source link, the date you saw it, and one line on what you decided to do about it — including “nothing”. Over a few weeks that log tells you something a feed never will: how many of the events that felt urgent actually mattered, and how many of your reactions to headlines you would repeat.
One warning about speed. The reason this is called machine speed is that the machine is fast. You are not, and you should not try to be. If the entire advantage of a process is that it lets you act on a headline thirty seconds sooner, you are competing on the one dimension where retail infrastructure loses by design. The advantage you are actually buying is that you read the right six things instead of skimming a hundred.
- 1
Collect into one place
Paste the session’s headlines into a single block, each with its source name and timestamp. Sources and times are what make the grading step possible later.
- 2
Cluster into distinct events
Ask for groups, one neutral sentence per group, and the full list of items in each. If a group will not reduce to one clean sentence, two events have been merged — split it yourself.
- 3
Route to names, with mechanisms
Run the relevance prompt on each surviving group. Reject any relevance verdict that arrives without quoted words and a mechanism sentence.
- 4
Grade the best source in each group
Filing, official release, attributed report, unattributed report, or chatter. The grade sets how much weight the item can carry before you have verified it.
- 5
Verify by hand, then stop
Open the exchange announcement or official release for the two or three items that survived and read the wording. Triage ends here; interpretation is yours.
Below are the market news items I collected this session. Each item is separated by a line of three dashes and begins with its source name and timestamp. <paste items> Do exactly this, in this order: 1. GROUP the items into distinct events. Items describing the same underlying event belong in one group, however differently worded. 2. For each group, write ONE neutral sentence stating what happened, using only facts present in the items. No interpretation. 3. For each group, list every item you placed in it, by source name. 4. Label each group's strongest source as one of: EXCHANGE FILING / COMPANY OR REGULATOR RELEASE / ATTRIBUTED MEDIA REPORT / UNATTRIBUTED MEDIA REPORT / UNTRACEABLE. Quote the words that earned the label. 5. Put every group whose strongest source is UNATTRIBUTED or UNTRACEABLE into a separate section headed "UNCONFIRMED - verify before use". Rules: - If two items conflict on a fact, say so plainly instead of choosing one. - Do not add any fact that is not in the items I pasted. - Do not give a sentiment score. - Do not say what any of this means for prices, and do not suggest an action.
When to use — Once at the end of a session, or once in the morning before the open, on the pile of headlines you collected rather than on each one as it arrives.
A good answer — Far fewer groups than items, a one-line summary you could read aloud without adding anything, a source list per group that lets you see when twenty items trace to one report, and an unconfirmed section you have not yet acted on.
Before you act on any news item
Run this against the two or three items that survive triage. It takes about a minute each and it is the minute that matters.
- You have opened the primary source yourself — the exchange filing or the official release — not a summary of it.
- The qualifiers in the original are intact in your understanding: scope, timeline, conditions, approvals still pending.
- You can state the mechanism by which this reaches the business in one sentence containing the word “because”.
- You have checked whether this is genuinely new, or a re-report of something already disclosed on an earlier date.
- You know which of the twenty items in the cluster is the original, and whether the rest add any independent fact.
- Nothing in your reasoning rests on a sentiment label rather than on the event itself.
- You have written the item into your log with its source link, before doing anything about it.
Common questions
No. A language model has no access to positioning, to what the market already expected, or to who is willing to trade at what price. It can tell you what an item says and which names it concerns. The reaction depends on expectation versus outcome, and expectation is not in the text.
Knowledge Check
A tool labels a company filing “neutral sentiment”. What does that tell you?
Written By
Rohit Singh
Mr. Chartist
With 14+ years of experience in Indian financial markets, Rohit Singh (Mr. Chartist) is a SEBI Registered Research Analyst, Amazon #1 bestselling author, and the founder of Investology — a premium trading ecosystem trusted by a 1.5 Lakh+ strong community across India.
Keep reading
Filings and Concalls with AI — Turning 300 Pages into Ten Sourced Claims
One document at a time, one fixed checklist every time, a page reference beside every number. The workflow that makes compression defensible.
Research CraftHallucination and the Audit Trail — Verify Everything That Moves Money
A wrong answer and a right answer arrive in identical tone. Tone is not a reliability signal, so the defence has to be procedural.
Market ApplicationAI-Assisted Screening — Casting a Wider Net, Not Picking the Winner
Numbers still belong in a real scanner. What AI adds is the qualitative layer no numeric filter can reach.
