QuantumCat/Features/Quote radar
Quote radar · 12 of 18
When quotes stop adding up.
Six detectors watching the option chain for prices that cannot all be right at once — reported in rupees, net of the whole Indian cost stack, with each detector carrying its own measured record and demoting itself when it stops earning its place.
Arbitrage radar0:27 · narrated · real build
Prices that have to hold together
Options are not independent quotes. A call and a put at one strike imply the future. A butterfly cannot be worth less than nothing. A box spread is a loan at a knowable rate. When live quotes break one of those relations by more than the cost of trading it, that is not an opinion about the market — it is a measurable inconsistency, and this is where it is reported, in rupees, net of the whole Indian cost stack.
The radar is descriptive, never directive. It reports what the quotes say. It does not tell anyone to trade, and it places nothing.
Six detectors
| Detector | What it looks for |
|---|---|
| Below intrinsic | An option quoted under what it would be worth if the market froze — usually a deep in-the-money strike nobody is quoting properly. |
| Put-call parity vs future | A call minus a put at one strike must equal the future minus that strike, discounted. When the three disagree, the synthetic and the real future are two prices for one exposure. |
| Vertical / butterfly bounds | A spread cannot be worth more than the gap between its strikes, and a butterfly cannot be worth less than zero. Quotes that break those bounds are arithmetic errors, not views. |
| Box vs funding rate | A box spread is a fixed-rate loan with a known payoff. When its price implies a rate far from the funding rate you set, the box is mispriced against cash. |
| Stale-quote drift | One leg has stopped updating while the underlying moved. Reported as a resting note and never as crossable — a stale quote is usually a quote that will not fill. |
| Mechanical-flow calendar | Calendar spreads dislocated by mechanical flow — expiry rolls, index rebalances — rather than by a view on volatility. |
Crossable, resting, or context
The readout does not present every card as an opportunity. Each one is classified: crossable means the structure could be taken at the prices shown, resting means it could only be worked, and context means it is worth knowing and not worth trading. The header counts all three separately, so “34 crossable · 0 resting · 2 context” is the first thing you read.
Every card carries Show the maths — the construction, leg by leg, at the fillable prices actually used, not a walk average that no order could get — and Replay this moment, which takes you back to the recorded tape at the second the card was raised.
Net of the real cost stack, or it isn’t a number
Every card is priced after brokerage, STT, the exchange transaction charge, the SEBI fee, GST, stamp duty and the DP charge where it applies — from a dated cost table, named on screen with the financial year it belongs to. A gross discrepancy that the charge stack eats is not a discrepancy, and it never reaches the screen.
Cards also carry the one filter that beats every rupee threshold: how long the inconsistency has been standing. A discrepancy that has held for forty seconds is either genuinely fillable or a stale feed; one that lives three hundred milliseconds is a quote artefact. Both facts are printed, and live cards expire.
Every switch carries its own track record
Six detector switches and their thresholds — the rupee floor, minimum lots, maximum legs, the funding rate, the freshness window — sit beside the evidence they control, on the same screen. That is not a layout preference. The controls used to live in Settings while the cards lived at the bottom of a different view, so tuning them meant changing a number and then navigating somewhere else to see whether anything survived.
The surface is three tabs — the readout, the detector record and tuning — and every card in the readout carries its detector’s record inline: “37% of this detector’s 7,841 cards were still fillable 30 s later”. The app had been measuring that all along and never showing it.
A detector that never survives demotes itself. Below a floor of thirty-second survival, over enough outcomes for the number to mean anything, a detector is demoted and says why — it is describing the quote feed, not the market. And it can change its mind: the verdict is recomputed, not stamped for life.
Refusal over a plausible number
On an expiry where the chain’s only borrowable future settles on a different date, three of the six detectors cannot price the relation without treating calendar basis as something a trader could cross. They refuse, and the readout says which ones went dark and why.
Why that is a feature: a gate that refuses correctly but silently is an outage. A dark detector with no explanation looks exactly like a quiet market, and a trader tunes thresholds for weeks against a readout that was never running.
Observe mode is on by default
With observe mode on — the default — cards display and journal, and nothing can be staged. The app tells you why in its own words: leaving it on for a couple of weeks is how the detectors earn, or lose, their record on your feed before any of it is actionable. Turn it off and Stage basket does exactly one thing: it pre-fills the chain’s payoff builder with the legs. The armed human confirm on the basket remains the one and only trigger, the same one every other basket in the app goes through. Nothing on this surface sends an order.
The Decision Casebook
Reads are cheap to make and easy to forget, which is how a tool convinces you it works. The Casebook is the terminal’s answer: a retained archive of decisions across Pulse Coil, the quote radar and Market Radar activity, each case holding the original read, the receipt it was written from and whatever outcome was later retained. Open it from anywhere with the command palette, and search the whole retained archive by symbol and date rather than only the window that happens to be loaded.
- A pending read is pending, not missing. A Coil read whose horizon has not closed yet cannot have a grade — the grader runs on closed candles — so it is labelled “horizon still open” instead of being filed as a data gap.
- An unreadable source is not an empty history. If a source cannot be read, the Casebook says which one and why, and refuses to present the remainder as the whole record.
- Retained values are not refreshed from the live market. What you are reading is what was recorded at the time, which is the only version worth auditing.
What the radar is not
It is not an arbitrage promise and not a signal service. It is a microstructure research instrument with its own honesty ledger. A discrepancy on screen is a statement about quotes, not about fills: depth may be thin, a leg may be stale, and a multi-leg structure can fail on one leg and leave you with the other. Observe mode is the default for that reason. Nothing here is advice, and nothing here places an order.
