Notes
Framework 4 min read

Publish after the fill, never before

The morning post renders at 08:50. The order fires at 09:20. Naming the stock in between is publishing your own order thirty minutes ahead of it — in names that trade a few lakh a day.


My investing system keeps a public journal — every decision written up and posted, because a timestamped public record is what makes a track record honest. The journal is generated from the same decision files the execution engine uses. That coupling is the point. It is also where the trap lives.

The content pipeline renders the morning post at 08:50. The order runner fires at 09:20. For thirty minutes, the system knows what it is about to buy — and for a while, the morning post was allowed to know it too.

In liquid large caps that is merely bad manners. In the small and micro caps my book actually trades — names that turn over a few lakh rupees on an ordinary day — it is three problems, each worse than the last:

  1. You trade against yourself. A public mention nudges the price in exactly the window your own limit order is trying to fill under its ceiling. Best case you pay more; realistic case the order rejects at its own maximum and you get nothing.
  2. The pattern is indistinguishable from misconduct. Publishing interest in an illiquid name minutes before your own order is the mirror image of trading ahead of your audience — and the regulator’s surveillance of financial influencers does not grade on intent.
  3. The disclaimer does not help. This was the realisation that reorganised my thinking. A disclaimer addresses advice liability — “this is not a recommendation.” It says nothing about market conduct — the sequencing of your publication and your order. Two different risks, two different bodies of rule, and only one of them is cured by a paragraph of legal text at the bottom of a post.

The same logic runs on the way out, with sharper teeth: announcing an intended exit from an illiquid holding is an invitation for the market to front-run your own sell.

The embargo, enforced structurally

The rule: a post may reference a filled position — never a queued or intended order. Past tense only. The journal narrates what happened, not what is about to.

What made it stick was refusing to leave it as an editorial guideline. The decision file that content is rendered from carries three fields naming what is queued for tomorrow. Those three keys are off-limits to every content template — the renderer sources position facts exclusively from the filled-state ledger, which by construction contains only executed reality. A writer cannot leak what the writing layer cannot read.

That gave the system’s old two-part separation its third leg:

  • Decisions never write content.
  • Content never drives action.
  • Content never precedes execution.

The transferable version

Any system that both acts and narrates has an ordering problem, and the safe order is act-then-narrate. The narration layer should be fed from a record of completed facts, never from the intent queue — enforced by what data it can access, not by a style guide.

And the nugget I underline for anyone publishing about their own trading, at any scale: check which risk your disclaimer actually covers. Most people bolt one on and believe they are done. It covers the reader suing you. It does not cover the market watching you signal your own order book.