Can You Build a Bot That Trades Options on News in India? (Yes)
Can a bot trade options on news in India? Yes: poll NSE and regulator filings, let a model judge exposure, queue capped orders at the open. How mine works.

Yes, you can build a bot that trades options on news in India, and the broker side is the easy part: Zerodha, Angel One and others expose order APIs that place an index or stock option order in well under a second. The hard parts are everything before the order. You need a news source that publishes with a timestamp earlier than the crowd reads it, a decision step that can tell "this filing hurts this listed company" from "this filing is noise", and a cage of hard limits around the whole thing so a wrong judgement costs a bounded amount.
I built exactly this after watching a regulator upload a discussion paper one evening and a listed insurer open band-locked the next morning, losing more than a third of its value. Below is what a news trading bot for Indian markets needs, where the real edge lives, and why mine trades paper by default and a single share before it ever touches an option. One sentence of context first: this is an engineering write-up, not financial advice, and anyone running such a bot trades their own account at their own risk.
Where does news actually come from fast enough to trade?
Not from news websites. By the time a headline is written, the information has been public for minutes or hours. The sources with a real time advantage in India are the primary publishers:
- NSE and BSE corporate announcements. Companies file results, orders, resignations and regulatory actions here first, with an exchange timestamp.
- SEBI, RBI and IRDAI. Consultation papers, circulars, penalties and policy changes land on regulator websites, frequently after market hours, and they carry upload timestamps.
- Court and tribunal orders for the handful of cases where a listed company's fate hinges on a ruling.
- Wire and feed services as a secondary layer to catch anything the primary pollers miss.
The important insight is that an after-hours regulator document is a gift to a machine: the market cannot react until 09:15, so there is a whole night to read it, decide, and queue an order. The insurer case that triggered my project was published late in the evening; a human analyst would have needed to be awake and reading the regulator's website at that hour.
How does a bot decide whether news is tradeable?
This used to be the wall. Keyword rules ("penalty", "ban", "approval") are hopeless because the same word appears in filings that mean nothing. A language model changes that: it can read a 40-page consultation paper and answer two narrow questions, which listed companies are exposed and in which direction, with a confidence level.
What makes this safe enough to automate is discipline in how the model is asked:
- The prompt is strict and structured. It asks for exposure, direction, confidence and a one-line reason, nothing else.
- The model is told the document is data to analyse, never instructions to follow, so a filing cannot talk the bot into anything.
- Below a confidence threshold the answer is logged and discarded.
- Every decision is written to a journal with the document reference, so judgement can be audited later.
The fourth point feeds the most useful tool in the whole system, which I describe in the build section: a replay that runs historical documents through the decision step offline, so you can see how the model would have judged last year's filings before you trust it with this year's.
Why should a news bot start with shares, not options?
Because options multiply every mistake. A wrong direction on a share costs you the move; a wrong direction on an at-the-money weekly option can cost you the whole premium by lunchtime, and illiquid stock options add a wide spread on top. For an engine whose judgement you are still learning to trust, the sensible first live phase is a single share of the underlying. It proves the whole pipeline, polling, decision, order placement at the open, square-off, in real conditions with a loss you can shrug at.
Options come second, as a switch that stays off. The option-selection logic (pick the nearest expiry, choose a strike a step or two out of the money, size by premium budget) can be written and tested in paper mode long before it is enabled. Separating "code exists" from "code is allowed to trade" is the most important structural decision in the project.
What risk controls does an automated news trader need?
Hard caps that the code cannot talk itself out of. In mine, these are configuration values, not runtime decisions:
- Budget per trade and per day, after which new signals are logged but not placed.
- Paper mode as the default, with live requiring the owner to flip a setting manually.
- A STOP file: if a file with that name exists, the engine does nothing, which is a kill switch any human can trigger from a phone in seconds.
- Halt on broker auth errors. If the broker returns an IP-whitelist or token error, the engine halts instead of retrying blindly, because retry storms against a broker API are how accounts get rate-limited at the worst moment.
- A fixed square-off time in the afternoon so nothing is carried overnight by accident.
If you are planning a broker integration in India for the first time, the static-IP requirement is worth understanding before you design anything; I wrote about it in the static IP post for TradingView-to-Zerodha automation.
How fast does the order need to be at the open?
Less fast than people assume, for this style of trading. The signal was read overnight, so the race at 09:15 is against other humans who read the same filing, not against colocated machines. I queue orders for one minute after the open rather than the opening tick, because the first minute's auction and spread chaos is a poor place to execute, and a news-driven move of the size worth trading does not resolve in sixty seconds. For a band-locked stock, speed is irrelevant anyway; nothing fills.
How I built this: Shock Trader: Regulatory-News Event Bot with Hard Caps
Shock Trader is the system that came out of that insurer morning. It is a Python service around Zerodha Kite Connect with a language-model decision step, and the workflow runs like this:
- Pollers fetch new items from NSE announcements, SEBI, RBI and IRDAI pages and a set of news feeds on a schedule, recording each document's publish timestamp and skipping anything already seen.
- The decision step hands each new document to a model running through the Claude command-line tool with strict instructions: decide which listed names are exposed, the direction, and a confidence, and treat the document as data. Low-confidence or no-exposure results are journaled and dropped.
- Queueing turns qualified signals into orders with per-trade and per-day caps applied from the configuration file. A signal that would breach a cap is kept in the journal, not the order book.
- Execution at 09:16. The engine places the queued orders through Kite, in paper mode by default. The first live phase trades a single share of the underlying; the options engine is present but disabled.
- Square-off at 15:10, followed by a status tool that reports the day's signals, fills and remaining budget.
- Offline replay. A separate tool reruns archived documents through step two so the model's calls can be audited across history without touching a broker.
The design decisions that mattered: paper default and manual live flip, a STOP file as the simplest possible kill switch, config-enforced budgets rather than code-level checks that a future edit could remove, and halting instead of retrying on broker authentication errors. The outcome is a pipeline that has proven the whole loop from regulator upload timestamp to broker order under caps, with options held back until the paper record earns them. It is deliberately a slow, auditable system, because the one thing a news bot must never do is act fast on a misreading.
FAQ
Can this work for intraday news during market hours?
The same architecture works, but the time advantage shrinks to seconds and the decision step's latency starts to matter. For intraday reaction I would restrict the universe to liquid index constituents and raise the confidence threshold, because there is no overnight window to sanity-check a judgement.
Which Indian brokers support this kind of automation?
Zerodha Kite Connect, Angel One SmartAPI, Upstox, Dhan and Fyers all expose order APIs with Python clients. Kite Connect has a monthly fee and requires a static IP for the API session; others differ. The bot logic is broker-agnostic; only the execution adapter changes.
Is using an AI model to read filings reliable?
Reliable enough to shortlist, not reliable enough to trust blind, which is why the caps, paper default and replay audit exist. The replay over past documents is the honest way to measure it: how often did the model flag the right companies, and how often did it flag noise?
Does the bot handle options Greeks or hedging?
No. It is an event bot with a simple directional thesis and fixed budgets, not an options-pricing engine. Options support, when enabled, picks a liquid near-expiry strike and sizes by premium, nothing more sophisticated.
If you want an event-driven bot like this built around your own sources and broker, tell me about it on the contact page.
Building something in this space? I ship trading automation, Pine Script, MQL5 EAs, and full-stack tools with source and docs.
Start a project →