How Algoagent researches a holding.

Each stage is code-enforced: the cursor cannot advance out of order, a stage cannot be filed before its rules are read, every claim needs a receipt, and the pre-mortem must finish before the verdict. Python computes the final score from the collected evidence. This is the framework for a holding; an IPO, which lives inside Research, runs a different nine.

Nine stages, in this order, every time.

  1. 01Mandate & IdentityWhat is this business, how does it make money, and why would it exist in a portfolio?
  2. 02Industry & PositionStructure, concentration, and where the company sits within it.
  3. 03Moat & DurabilitySource of advantage and how many years it plausibly lasts.
  4. 04Financial QualityReturn on invested capital versus its required return, plus cash conversion, growth and accounting red flags.
  5. 05Management & GovernancePromoter pledging, related-party transactions, auditor and CFO stability.
  6. 06ValuationGrowth-adjusted and reverse discounted-cash-flow checks, with bear, base and bull ranges.
  7. 07Pre-mortem & RisksAssume it went wrong. Why? Forced before the verdict, always.
  8. 08Catalysts & MonitorablesWhat changes the thesis, and what you’d watch to know.
  9. 09Synthesis & VerdictComputes quality, valuation, moat and confidence from the completed stages; the schema has no imperative output field.

Separate research frameworks for holdings and IPOs.

IPO is a desk inside Research, not a sidebar item. A listed company has a history to audit. An IPO has a prospectus, a promoter selling down, and a price nobody has tested. Running one framework over both would be the tidy answer and the wrong one, so the IPO desk runs its own nine stages.

Holding · nine stages

  • Mandate & Identity
  • Industry & Position
  • Moat & Durability
  • Financial Quality
  • Management & Governance
  • Valuation
  • Pre-mortem & Risks
  • Catalysts & Monitorables
  • Synthesis & Verdict

Offering · nine stages

  • Identity & Timeline
  • Business & Industry
  • Offer Structure
  • Financials
  • Earnings Quality
  • Governance & Risks
  • Valuation
  • Demand & Grey-Market Premium
  • Synthesis

Three stages share a name, six do not. Only financials, valuation and synthesis carry across. An offering has no operating history for a moat or catalysts stage, and the mandatory holding pre-mortem has no equivalent here. The “forced before the verdict” rule applies only to the equity path.

Grey-market premium is recorded, never priced in. Stage 08 files a GMP snapshot with its timestamp and source so you can see what the unofficial market was saying. It is excluded in code and cannot reach valuation. SEBI has repeatedly cautioned retail investors about this unregulated, off-market indicator, so it appears as sentiment rather than evidence.

Live IPO discovery was removed in 2.1.0. The desk lists only issues you add yourself. It cannot tell you what is open this week, and the release notes say so plainly rather than quietly dropping the capability.

The Lite Path runs six disclosed stages.

Lite mode runs the six load-bearing stages instead of nine. The shortcut stays explicit: it applies a larger margin of safety, caps confidence and labels the dossier as a Lite Path result.

Kept

  • Mandate: the decision brief
  • Moat: the evidence pass
  • Financial Quality: the forensic core
  • Valuation: with the tier margin of safety
  • Pre-mortem: mandatory disconfirmation and kill criteria
  • Synthesis: the thesis and its kill criteria

Skipped, and priced in

  • Industry & Position: skipped
  • Management & Governance: skipped
  • Catalysts & Monitorables: skipped
  • The required margin of safety rises by ten points
  • Confidence is capped at 60%, whatever the evidence supports
  • A skipped stage reads skipped, not insufficient data. “I did not look” and “I looked and could not source this” are different claims.

Full mode is the default. A lite dossier is labelled as one everywhere it appears.

How the second-model audit works.

When the nine stages close, the dossier is frozen and handed to a tenth call with its tools removed and a fresh context. It can inspect the record and object; it cannot fetch, compute or rewrite. Point LLM_AUDIT_* at another provider and the auditor is a different model entirely.

order endpoints0structurally absent — no adapter exposes an order method
broker scoperead-onlyno order credentials are requested or loaded
telemetrynoneno usage data, no licence check, no call home
citationsreceiptsfetched, hashed, stored, re-checkable on your disk
collectionsanctionedRSS, licensed APIs and regulator disclosure portals, or your own upload
dossier auditsecond passtool-free, fresh context, inventions dropped in code
missing dataunknownreported as a gap, never estimated
keys & holdingson-devicenever relayed, never custodied
verdictscomputedin Python, from stage evidence
decisionsyoursyou act in your own exchange

What code enforces at every stage.

Sector-specific checks for banks

The nine stages stay fixed and the answers change per sector. Packs ship for banking, NBFC, IT, pharma, FMCG, auto, REIT, SaaS, conglomerate, and a labelled generic fallback. A bank’s financials stage requires net interest margin (NIM), gross and net non-performing assets (GNPA and NNPA), provision coverage, current-account savings-account share (CASA), credit growth, capital adequacy (CRAR), slippage and credit cost. Its return-on-invested-capital, cost-of-capital, cash-conversion and debt-to-equity rows are excluded from scoring. If a holding has no pack, it gets the generic one and the dossier says so. For a REIT, funds from operations replaces the earnings multiple.

Collection happens through sanctioned channels only

No headless browser and no article scraper ship in the product at all, so there is no automated-collection path to misuse. Evidence arrives through curated RSS, licensed data APIs and regulator or exchange disclosure portals — or as a document you upload yourself. Nothing is fetched from a page whose terms restrict automated access, and no login, paywall, CAPTCHA or bot-block is ever bypassed. Annual reports you supply go into a local document store and are mined by later stages without re-fetching.

How growth and valuation inputs are computed

Quarter-over-quarter, year-over-year, trailing-twelve-month and compound annual growth, plus the margin bridge, are calculated from statement rows. A figure that disagrees with those rows is rejected with the difference shown. Confidence is a heuristic based on framework coverage, evidence grounding, recency and source primacy, weighted .35/.30/.20/.15. Any abstained stage caps it at 60%; no primary source caps it at 40%; a Lite Path dossier caps it at 60%.

How news enters a dossier.

A research report that ignores what happened this morning is a history essay. The sector pack picks the category in code. The catalysts stage needs two receipted items published inside thirty days, or it cannot be filed at all.

How it used to work

  • The model decided whether to look at news at all
  • The model picked the market and the topics, and could pick wrong
  • A dossier could be filed with nothing recent in it
  • Items arrived as text, with no shared definition of “fresh”

How it works now

  • The sector pack picks the category in code
  • The catalysts stage needs two receipted items inside thirty days
  • Publication dates are bounded by the receipt’s own fetch time
  • The same wire drives the standing detectors that can invalidate a finished dossier weeks later

Keyless by default. Curated RSS across three categories: India, macro, risk. Optional API providers are quota-gated per day behind a five-minute poll floor.

Freshness uses explicit thresholds. Fresh means under six hours, recent means under twenty-four, and anything older is stale. An item without a timestamp is unknown.

Fetched text is data, never instruction. Items are screened for prompt-injection patterns before the model ever sees them. A headline is not allowed to become a command.

No single outlet owns the wire. A diversity cap stops any one publisher taking more than half the items.

Honest limit: RSS is not a real-time feed, free sources are not exhaustive, and when everything available is stale the tool says so.

How dossier revisions and freezes work.

Re-running a holding opens a new revision instead of overwriting the old one. A detected red-flag event freezes the current dossier and asks you to run the research again.

Nine standing detectors, on every holding

A second class of tripwire runs in code over the same news wire, against every holding: auditor resignation or a qualified opinion; a CFO, MD or independent-director exit; SEBI, RBI or exchange enforcement; a rating downgrade; a promoter pledge increase; NPA divergence found in an RBI audit; a forensic audit ordered; NCLT admission; a trading ban or surveillance move. Deterministic matching, rather than a model, decides whether an event counts.

A red-flag event freezes a dossier. It never rewrites one.

The old assessment is withheld behind a banner naming the date it was built on, byte-identical to how it was filed. A score does not move on an unverified allegation; the event prompts a new research run instead, and that run opens revision 2 with all nine stages.

What Algoagent will never do.

These capabilities are excluded from the product by design, not withheld behind a setting.

place an orderimpossible

No adapter exposes an order method, so submitting, staging or relaying a trade has nothing to call.

call a trading endpointblocked

The app only ever hits read-only broker endpoints. Order paths are blocked at the network layer.

trade on its ownno loop

There is no autonomous trading loop, and no research run starts without you. Background polling only fetches news and re-checks standing detectors.

issue directivesno field

Output is a structured assessment, and you decide what to do with it. The schema has nowhere to write an instruction.

custody assetsnever

Algoagent is not a broker, exchange or investment adviser, and never holds money or securities.

publish a dossiernever

We neither receive nor host research. Optional delivery channels you configure can send a PDF you export — off by default.

From portfolio sync to your decision.

1

Bring your keys

Connect your own LLM key, your broker keys (read-only), and your fundamentals key(s). Calls go directly from your Mac to the provider you chose. A Google or Apple sign-in is required on first launch.

2

Put the AI to work

It runs the nine-stage framework over each holding and returns evidence, scenarios and a computed verdict, then audits the result with a tool-free second pass.

3

You decide, every time

The dossier is an assessment, not advice. You decide and act in your own exchange.

See all of this running in the browser Download Algoagent Core 2.2.0

61 MB · Apple Silicon · macOS 26+ · one-time sign-in, checked once.