Evaluate · how it works

RAG for financial documents: one research question, traced

Retrieval-augmented generation is one step of eight when the documents are financial: a plan shown first, permissions checked per reader and per source, filings read in their own language, disagreements kept apart and every sentence verified. This guide follows one question through Investment Research Assistant to show each step.

Updated · 14 min read

RAG for financial documents, retrieval-augmented generation, means having a language model answer from passages it retrieves from your filings, research and notes at the moment of the question, rather than from what it memorised in training. It is the right starting point for investment research, and on its own it is not enough. A single search over every document returns passages the reader may not be licensed to see, misses filings written in other languages, blends a broker's estimate into the firm's own, and still lets the model write sentences its passages do not support. Botminds' Investment Research Assistant treats retrieval as one step of eight. This guide traces one cross-sector question through all eight, using a fictional sample firm, Quillfield Capital, so that a technical buyer can see what each step adds and what to test for.

Where a cross-sector question's days go, by hand and with the agents reading

By hand≈ 3.5 days
Opening broker portals1 day
Notes, minutes, expert calls½ day
10-Ks and local-language reports1 day
Reconciling views½ day
Writing and clearing½ day
  • Opening broker portals1 day
  • Notes, minutes, expert calls½ day
  • 10-Ks and local-language reports1 day
  • Reconciling views½ day
  • Writing and clearing½ day
With the agents≈ 0.6 days
Reading, reconciling, writing and clearing≈ 0.6 day
  • Reading, reconciling, writing and clearing≈ 0.6 day
Botminds' estimate for one cross-sector question, from the solution's own design data: the four reading and reconciling steps fall from 1, ½, 1 and ½ day to about a tenth of a day each. Most of what remains is the analyst's own reading, choices and approvals. An estimate, not a measured customer result.

What is RAG in finance? Retrieval-augmented generation, defined

RAG in finance is the use of retrieval-augmented generation on financial documents: a search step finds the passages relevant to a question, and a language model writes an answer from them. The technique was set out in a 2020 paper that combined "pre-trained parametric and non-parametric memory for language generation", in plain terms a trained model plus an index of documents it can look things up in (Lewis et al., NeurIPS 2020). The authors' motivation still describes the finance problem: language models' "ability to access and precisely manipulate knowledge is still limited", and "providing provenance for their decisions and updating their world knowledge remain open research problems".

Financial documents stretch both halves. Search has to find the right passage among millions of pages in which the same figure appears in several places on different bases. Generation has to reason over numbers. The FinanceBench test of models answering questions on filings found that the retrieval design moved one model's accuracy more than any change of model did, which is why a buyer should ask about the pipeline before the model (Islam et al., arXiv 2311.11944, 2023; not peer reviewed). What that benchmark measures and leaves out is covered in FinanceBench and the defensible answer.

How does retrieval augmented generation work on a research question? Eight steps

On a research question, retrieval-augmented generation works best as a sequence of separate jobs, each done by an agent with written limits, with a person deciding at the points where judgment or accountability sits. The chain below is how Investment Research Assistant is configured in the sample.

Eight steps from question to cited memo in Investment Research Assistant

  1. Agent

    1 · Planner

    Turns the question into sub-questions, names the sources and scope for each, and shows the plan.

    Never: read a document before the plan is shown, or override the analyst's edits

  2. A person decides

    2 · Analyst approves the plan

    Switches sub-questions on or off, adds one, or narrows the funds and dates, then runs it.

  3. Agent

    3 · Four retrievers, one per source

    Notes, broker research, filings and transcripts, and expert calls are each searched by their own agent under the reader's permissions.

    Never: read a provider the reader is not licensed for, a private draft or a call on compliance hold

  4. Agent

    4 · Filings in their own language

    Reads annual reports and transcripts in the issuer's language and anchors each translated passage to its page.

    Never: cite a translation without its original passage and page

  5. Agent

    5 · Dissent agent

    Finds claims where sources disagree and sets both quotes side by side with why they differ.

    Never: pick a side on an estimate

  6. Agent

    6 · Verifier

    Re-reads every cited passage on its own, deletes sentences it cannot support, scores confidence and checks the restricted list.

    Never: let an uncited sentence through or edit a quotation

  7. A person decides

    7 · Analyst decides and approves

    Chooses in each disagreement with a reason code and approves the final memo text.

  8. Agent

    8 · Memo & Sharing agent

    Checks every recipient's licences, swaps passages they may not read for references, and routes approvals.

    Never: share outside the team without the Director of Research

Agent duties and limits as configured in the fictional Quillfield Capital sample. A sentence under the 0.80 confidence setting goes to the analyst instead of the answer.

Step one is a plan, shown before anything is read

The first step is a plan, because a cross-sector question is several questions, and the analyst should see and edit them before the system spends a minute reading. In the sample, analyst Lena Whitfield is asked by her portfolio manager on a Friday in October which of the firm's consumer holdings are most exposed to a proposed 25% duty on footwear made in Vietnam, due to start on January 1, 2027. At 09:12 she types the question in plain words.

The Planner returns five sub-questions: which holdings sell footwear and how much; how much of it is made in Vietnam; what the proposal says; how much can be passed on or moved; and what it means for gross margin and positions. Each names its sources, from the holdings list to filings in their original languages. The scope is her coverage: four funds, four sources, 4,005,955 documents. Nothing is read until she runs it, which is also when a plan that misread the question costs nothing to fix.

Can RAG respect document permissions? Yes, if retrieval runs per source and per reader

RAG can respect document permissions when each source is searched under the permissions of the person asking, rather than through one service account that can see everything. That rules out the simplest design, a single shared index. It is also a security matter: NIST's generative AI profile warns of indirect prompt injection, in which adversaries exploit AI applications "by injecting prompts into data likely to be retrieved" (NIST AI 600-1, July 2024). The less a retriever is allowed to read, the less can reach the model.

In the sample run, each source got its own agent. The Notes Retriever read 41 notes her team can see. The Broker Research Retriever checked her licences with each of the firm's 22 providers, read 72 reports under the 18 she is licensed for, and withheld one report, naming the provider but not the text. The Filings Retriever read 58 filings and transcripts, three of them in German, Japanese and Vietnamese. The Expert Call Retriever read 15 cleared transcripts and skipped one on compliance hold, naming the hold and not its content. A question about an issuer on the restricted list would have stopped before any of them started.

186 documents read, and 23 citations kept, across four sources

Broker research · 72 read · 6 cited
72
Filings and transcripts · 58 read · 9 cited
58
Internal notes · 41 read · 6 cited
41
Cleared expert calls · 15 read · 2 cited
15
Fictional sample data: documents read per retriever on the tariff question, out of 4,005,955 in scope. One broker report was withheld for want of a licence and one expert call skipped on compliance hold; neither counts as read.

Each source in its own lane, under the analyst's own permissions

Investment Research Assistant, agents at work. Plan approved by Lena Whitfield: 5 sub-questions across 4 sources and 4 funds. Lanes: Notes Retriever, internal research notes 412,380, only notes your team can see, 41 read, 6 cited. Broker Research Retriever, 2,861,400 reports from 22 providers, checked your licenses: 18 of 22 providers, 1 report withheld, Ostrander Partners, not licensed for you; Halden Brothers from Thursday's copy; 72 read, 6 cited. Filings Retriever, filings and transcripts 684,215, read 3 filings in their own language, German, Japanese, Vietnamese, anchored to the page; 58 read, 9 cited. Expert Call Retriever, 47,960 cleared transcripts, 1 transcript not read, on compliance hold H-0412; 15 read, 2 cited. Dissent agent and Verifier waiting. Searching 4,005,955 documents.
Fictional sample data. A broker portal that failed overnight is served from the previous day's copy and labelled as such, so the reader knows how fresh each source is.

Can RAG read SEC filings, and filings in German or Japanese?

RAG can read SEC filings and foreign annual reports, provided it retrieves passages with their page and keeps the original language beside any translation. EDGAR filings are public and searchable; the work is in finding the right passage among near-duplicates and keeping the period, unit and statement straight. Position matters too: Liu and colleagues found that language models do best when the relevant information sits at the beginning or end of their input, and markedly worse when it sits in the middle of a long one (Liu et al., Transactions of the ACL, 2024; what that did to FinanceBench's long-context runs is in FinanceBench and the defensible answer). Retrieving the right passage beats handing a model the whole report.

Foreign filings add translation. In the sample, one holding's share of footwear made in Vietnam came from its German annual report, page 47 of 214. The footnote opens the original sentence beside the English, labels it as checked by the Verifier, and shows a 97% match between the sentence and the passage. A broker's estimate of about 22% from two weeks earlier lost to the company's own newer figure of 34%, and the answer says so. Extracting individual KPIs from filings into models, a different job from answering questions across them, is covered in KPI extraction, field to source.

How do you stop RAG from hallucinating? Verify each sentence against its passage

You stop RAG from hallucinating by adding a separate step that re-reads each cited passage and deletes any sentence it does not support; retrieval alone narrows the problem but does not close it. The clearest evidence comes from law, where vendors marketed retrieval-based research tools as free of hallucination. A preregistered study found that claim "overstated": the leading legal research tools built on retrieval each hallucinated "between 17% and 33% of the time", fewer than a general-purpose chatbot but far from none (Magesh et al., Journal of Empirical Legal Studies, 2025).

Where plain RAG fails on financial documents, and the step that answers each failure

FailureWhat goes wrongThe step that answers it
One index over everythingSearches the whole corpus at once; in FinanceBench the shared index was the weakest document setup.One retriever per source, each with its own scope and permissions.
Permissions ignoredReturns licensed or restricted text to whoever asks.Licence and restricted-list checks before reading, again at sharing.
Lost in the middleRelevant passages buried in a long input are used less.Retrieve the passage and its page, not the whole report.
Translation driftA figure changes between original and English.Original beside translation, matched and labelled.
Averaged viewsA broker's and the firm's estimates blended into one number.Dissent agent sets both side by side; the analyst chooses.
Unsupported sentencesFluent claims with citations that do not say what the sentence says.Verifier re-reads every passage and deletes, rather than hedges.
Poisoned inputsInstructions hidden in retrieved text steer the model.Narrow retrieval from controlled sources; agents with written limits.
Failures drawn from FinanceBench (arXiv 2311.11944), Liu et al. (TACL, 2024), Magesh et al. (JELS, 2025) and NIST AI 600-1. Right column: Investment Research Assistant as configured in the sample.

In the sample run the Verifier re-read the draft's 16 sentences and struck two: one claimed a price rise no passage supported, and one overstated a source that said a company was qualifying a plant, not that it had moved production; it came back rewritten in the source's terms. The answer arrived 74 seconds after the plan ran, with all 14 sentences cited, 23 footnotes from 17 documents and a confidence of 0.94.

The sample question in Investment Research Assistant, from plan to answer

74s

from running the plan to a cited answer

186

documents read, out of 4,005,955 in scope

14 of 14

sentences cited to their page, after 2 drafted sentences were struck

3

disagreements set side by side for the analyst to decide

Fictional sample data, Investment Research Assistant on the Quillfield Capital tariff question.

When sources disagree, retrieval must not average

A research answer must show disagreement rather than resolve it silently, because two sources can both be right under different assumptions. Retrieval pipelines tend to blend: the model sees two figures and writes one sentence that sits between them, or picks whichever passage ranked higher. In the sample, a broker put the most exposed holding's margin hit at 180 basis points before any mitigation; the firm's own note said 90, after a 4% price rise and a shift of production to Indonesia.

The Dissent agent found three such disagreements and set each side by side with its source and a one-line reason. The analyst chose "Show both" for the margin case, with the reason code "Different assumptions, both valid", and the answer and any memo made from it now carry both figures. When she asked why the broker's hit was twice the firm's, the agents answered with footnotes: the gap is the mitigation, and an expert's estimate of 18 to 24 months to move a production line is why the broker's figure stays as the downside case.

Two sources that disagree, and the analyst's choice kept with the answer

Investment Research Assistant answer with a dialog 'Stridewell · FY27 gross-margin hit: Show both'. The answer will show both figures with their sources; the memo and anyone it is shared with will see the same. Reason code: Different assumptions, both valid. Optional note. Checkbox: I, Lena Whitfield, make this decision; it is recorded with my name, the time and the evidence. Behind it, the 'Where sources disagree' panel: Pellam & Co. broker research −180bp before any mitigation, beside Quillfield's internal note −90bp net of the 4% price rise and a 12-point shift to Indonesia; and Northgate Securities ≈22% estimate beside Vogtmann's German annual report 34%.
Fictional sample data. The agent explains the difference; the analyst decides, and the decision travels with the answer.

What the logs of a research RAG system must hold

A research RAG system should keep the question, the plan, every passage read and cited, every permission check, every deletion and decision, and every viewer, for as long as the firm keeps research. FINRA's 2026 oversight report lists, among the considerations for firms using AI agents, "how to track agent actions and decisions" and "how to monitor agent system access and data handling" (FINRA, 2026 Annual Regulatory Oversight Report). For SEC-registered advisers, written communications relating to recommendations fall under the books-and-records rule and are kept for at least five years (17 CFR 275.204-2(e)(1); the rule is applied to research in investment adviser recordkeeping requirements).

The sample firm keeps seven years by default in an append-only trail. Asked afterwards for the licence checks on the tariff question, the trail listed 26: the 22 broker providers plus the analyst's note permissions, the expert-call hold list, the transcript licence and the restricted list. A change to an agent's settings, such as raising the Verifier's confidence floor from 0.80 to 0.85, is versioned and needs a second approver.

Buying RAG for research: eight tests to run, and where it does not fit

Test a RAG system for research on your own questions and permissions, not on a demonstration corpus. The tests below each target one of the failures above; a system that passes them is doing more than retrieval.

Eight tests before buying a RAG system for investment research

  1. Ask a cross-company question

    Rank exposure across several holdings; FinanceBench's own questions never compare two companies.

  2. Ask as a reader without a licence

    The provider should be withheld and named, never quoted.

  3. Ask about a restricted issuer

    Nothing should be read, and the question should be logged.

  4. Include a filing in another language

    Look for the original sentence and page beside the English.

  5. Plant a contradiction

    A broker estimate that differs from your note should appear side by side, not averaged.

  6. Count unsupported sentences

    Open every footnote; count sentences the passage does not support, and whether any were deleted.

  7. Share the answer with someone less licensed

    Licensed passages should be replaced for that recipient, and a second person should approve outside the team.

  8. Ask the logs a question

    Who saw which passage under which licence, for a question a week old.

Our test plan for research teams evaluating retrieval-based tools, including ours.

RAG of this kind is not the right tool for everything. It does not replace a market-data terminal for prices and estimates in bulk, a quant team's systematic signals, or the analyst's own models; it answers questions across documents and shows its sources. The test plan above, extended into a go-live sequence, is in best AI for investment research: prove it on your own sources. To trace a question of your own through the eight steps, start from Investment Research Assistant.

Questions people ask

What is an AI research agent?

An AI research agent is software that plans and carries out research steps on a user's behalf, such as searching sources, reading passages and drafting an answer, within limits it is given. FINRA describes AI agents as systems that can autonomously perform tasks for a user and lists risks of scope, auditability and data handling. In Investment Research Assistant, eight agents each have written limits, and people decide at the plan, the disagreements and the memo.

What is the difference between RAG and fine-tuning for financial documents?

Fine-tuning changes the model's weights by training it on examples; RAG leaves the model unchanged and retrieves documents at question time. For research, RAG has the advantage that answers can cite the passage they rest on and that new filings are usable the moment they are indexed, while permissions can be checked at retrieval.

Can RAG work on PDF annual reports and tables?

Yes, if passages and tables are extracted with their page numbers and retrieved as units, so that a figure keeps its row, column, period and unit. Most RAG errors on reports are retrieval errors, such as the right number from the wrong table, which is why sentence-level verification against the page matters.

How fresh are the documents a research RAG system reads?

As fresh as each source's sync, which is why freshness should be shown, not assumed. In the sample, one broker's portal failed overnight, so its reports came from the previous day's copy and were labelled that way under the answer; sources older than twelve months are flagged by default.

Does RAG need a vector database?

Most RAG systems use a vector index for semantic search, often combined with keyword search for names and figures. The index design matters less than the controls around it: one index per source, per-reader permissions, page anchors, and a verification step after generation.

Investment Research Assistant.
See it on your own files.

An agentic solution from Botminds. Ask one question across your own notes, licensed broker research, filings in their original languages and expert calls; the agents plan, read under each reader's licenses, set disagreements side by side and cite every sentence to its page. Book a demo, or explore how it works.