Production Financial Research Guide生产级金融研究指南

AI Agents for Financial Research:
Build an Auditable Research System
面向金融研究的 AI Agent:
构建可审计的研究系统

Turn a research question into point-in-time evidence, reproducible calculations, challenged conclusions, and a source-backed memo.

把研究问题转化为时点一致的证据、可复现的计算、经过反证的结论,以及带来源的研究备忘录。

AI financial research workflow from a research question through identity and as-of controls, primary sources, normalization, calculations, challenge, citations, and human review

Decision brief

TL;DR

Start with a research mandate

Define the entity, question, allowed sources, cutoff time, horizon, materiality threshold, and prohibited actions before retrieval begins.

Preserve point-in-time truth

Store when each fact was published and available. Do not answer a historical question with later revisions, restatements, or future market knowledge.

Calculate outside the model

Use deterministic code for ratios and transformations. Keep formula version, inputs, period, currency, unit scale, and validation status.

Make every claim inspectable

Label fact, calculation, management statement, and analyst inference separately; attach claim-level evidence and require human review for consequential use.

先定义研究任务

在检索前明确实体、问题、允许的数据源、截止时间、研究周期、重要性阈值和禁止动作。

保存时点真相

记录每项事实何时发布、何时可用。历史问题不能使用后来修订、重述或未来市场信息。

计算放在模型外

比率和转换由确定性代码执行,并保留公式版本、输入、期间、币种、单位尺度和验证状态。

让每项结论可检查

分别标注事实、计算、管理层陈述和分析推断;绑定 Claim-level Evidence,高影响使用必须人工复核。

Scope: this guide is about research infrastructure, not an AI stock picker. It does not provide investment advice or authorize automated trade execution.

范围:本文讨论研究基础设施,不是 AI 选股器;不提供投资建议,也不授权自动交易。

Who this is for and what you need适用对象与前置条件

Use this architecture for company research, earnings preparation, diligence, risk monitoring, thematic research, and portfolio support. You need a trusted backend, persistent evidence storage, access to licensed or public data, deterministic calculation services, and a named human owner.

适用于公司研究、财报准备、尽调、风险监控、主题研究和投研支持。你需要可信后端、持久化证据库、合规的数据访问、确定性计算服务以及明确的人工负责人。

Mandate owner: defines scope and approval gates
Data contracts: identity, period, unit, source, time
Evidence store: raw payload, URL, hash, retrieval time
Evaluation set: known questions and reference evidence
任务负责人:定义范围与审批门槛
数据契约:身份、期间、单位、来源、时间
证据库:原始响应、URL、Hash、检索时间
评估集:已知问题与参考证据

Define the research mandate before collecting data先定义研究任务,再收集数据

A vague prompt such as “analyze this stock” has no stable completion condition. Convert it into a machine-readable mandate so every retrieval and conclusion can be tested against scope.

“分析这只股票”没有稳定的完成条件。应把它转成机器可读的 Research Mandate,让每次检索和每项结论都能按范围验证。

JSON · research mandate
{
  "entity": {"ticker": "ACME", "exchange": "NASDAQ"},
  "question": "What changed in operating quality?",
  "as_of": "2026-07-30T20:00:00Z",
  "periods": ["FY2024", "FY2025", "LTM"],
  "allowed_sources": ["filings", "official_macro", "licensed_market"],
  "materiality": {"revenue_pct": 2.0, "margin_bps": 100},
  "prohibited_actions": ["trade_execution", "personalized_advice"],
  "required_output": "evidence_backed_memo"
}

Financial data source hierarchy: match claims to authority金融数据源层级:让结论匹配权威来源

Priority优先级Source class来源类别Use it for适合用途Required caution必要注意
1Regulatory filings and official records监管 Filing 与官方记录Reported financials, legal disclosures, filing events已披露财务数据、法律披露、Filing 事件Preserve accession, form, period, amendment保留 Accession、Form、期间、修订
2Official economic and statistical sources官方经济与统计数据Rates, inflation, employment, macro context利率、通胀、就业与宏观背景Use vintages when series can be revised可修订序列应使用 Vintage
3Licensed market and reference data授权市场与参考数据Prices, corporate actions, identifiers, estimates价格、公司行动、标识符、预测Record vendor, adjustment policy, entitlement记录供应商、复权规则与授权
4Issuer materials公司材料Management framing, guidance, presentations管理层表述、指引与演示Label as management statement, not verified fact标为管理层陈述,而非已验证事实
5News, transcripts, and secondary analysis新闻、Transcript 与二手分析Discovery, chronology, competing interpretations线索发现、事件顺序、不同解释Corroborate material claims upstream重大结论须向上游来源核实

Point-in-time data: prevent look-ahead biasPoint-in-time 数据:防止前视偏差

Every historical answer needs a knowledge cutoff. Store both the period the value describes and the time the value became available. Current FRED observations may include later revisions; use ALFRED vintage dates when reconstructing what was knowable on an earlier date. Apply the same discipline to amended filings, restatements, estimates, prices, and corporate actions.

每个历史问题都需要 Knowledge Cutoff。既要保存数值描述的期间,也要保存数值何时可用。当前 FRED Observation 可能包含后续修订;重建历史认知时应使用 ALFRED Vintage Date。同样的纪律也适用于 Amendment、Restatement、Estimate、Price 与 Corporate Action。

Timestamp时间字段Meaning含义Failure if omitted缺失后果
period_endEconomic/accounting period described数据描述的经济或会计期间Quarter and fiscal-year mismatch季度与财年错配
published_atWhen the source released it来源发布时间Future information enters past analysis未来信息进入历史分析
retrieved_atWhen your system captured it系统采集时间No reproducible audit trail无法复现审计
vintage_atHistorical revision snapshot历史修订快照Revised macro data creates hindsight修订后宏观数据造成后见之明

Resolve the security and issuer before research研究前先解析证券与发行人身份

A ticker alone is not a durable identity. Map issuer, legal entity, security, exchange, share class, currency, CIK, LEI, ISIN or vendor identifier where available. Record the mapping source and effective dates. This prevents ticker reuse, dual-listing confusion, ADR/local-share mixing, and post-merger entity errors.

Ticker 不是持久身份。应映射 Issuer、Legal Entity、Security、Exchange、Share Class、Currency,以及可用的 CIK、LEI、ISIN 或 Vendor ID,并记录映射来源与生效日期。这能避免 Ticker 复用、双重上市、ADR/本地股混用和并购后的实体错误。

Reference architecture for an auditable research agent可审计研究 Agent 的参考架构

MANDATE
IDENTITY
ACQUIRE
NORMALIZE
CALCULATE
CHALLENGE
CITE
  • Orchestrator: enforces scope, cutoff time, budgets, retries, and approval gates.
  • Connectors: retrieve official and licensed sources without exposing credentials to the model.
  • Evidence store: keeps raw bytes, headers, source URL, timestamps, entitlement, and content hash.
  • Normalization layer: maps identity, periods, currencies, units, taxonomies, and corporate actions.
  • Calculation service: runs versioned formulas and accounting checks deterministically.
  • Research model: plans retrieval, compares evidence, explains calculations, identifies contradictions, and drafts the memo.
  • 编排层:执行范围、截止时间、预算、重试和审批门槛。
  • 连接器:检索官方与授权来源,不向模型暴露凭证。
  • 证据库:保留原始字节、Header、Source URL、时间、授权与 Content Hash。
  • 标准化层:映射身份、期间、币种、单位、Taxonomy 和 Corporate Action。
  • 计算服务:确定性执行带版本的公式与会计检查。
  • 研究模型:规划检索、比较证据、解释计算、识别矛盾并起草 Memo。

Step-by-step company research workflow公司研究的分步工作流

Step步骤System action系统动作Required output必须输出
1Parse mandate and reject ambiguity解析任务并拒绝歧义scope, entity, as_of, periods
2Resolve issuer/security identity解析发行人/证券身份identity record + effective date
3Build a source plan by claim type按结论类型生成来源计划source class + query + fallback
4Acquire and freeze raw evidence采集并冻结原始证据payload + URL + hash + timestamps
5Normalize and validate contracts标准化并验证契约canonical facts + warnings
6Calculate and reconcile计算并勾稽formula + inputs + result
7Search for contradictions主动寻找反证supporting and opposing evidence
8Draft, cite, and route for review起草、引用并提交复核memo + confidence + reviewer

Acquire raw evidence before transforming it先保存原始证据,再做转换

Write the exact response and safe request metadata before parsing. A normalized table without its raw source cannot explain later parser changes, vendor corrections, or conflicting values. For SEC data, keep accession and document URL; for market data, keep venue, adjustment policy and vendor timestamp; for macro data, keep series ID and vintage.

解析前先写入完整响应与安全的请求元数据。失去原始来源的标准化表无法解释 Parser 变化、供应商更正或冲突数值。SEC 数据应保留 Accession 与 Document URL;市场数据应保留 Venue、复权规则和 Vendor Timestamp;宏观数据应保留 Series ID 与 Vintage。

Use an evidence contract for every financial fact为每个金融事实使用 Evidence Contract

JSON · canonical evidence record
{
  "claim_type": "observed_fact",
  "entity_id": "issuer:12345",
  "security_id": "isin:US0000000001",
  "field": "revenue",
  "original_field": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
  "value": 1250000000,
  "currency": "USD",
  "unit_scale": 1,
  "period": {"start": "2025-01-01", "end": "2025-12-31"},
  "published_at": "2026-02-18T21:04:00Z",
  "source": {"url": "https://…", "retrieved_at": "2026-07-30T12:00:00Z", "sha256": "…"},
  "validation": {"status": "accepted", "checks": ["identity", "period", "unit"]}
}

Never collapse provenance: observed fact, management statement, deterministic calculation, and analyst inference are different record types even when they appear in the same paragraph.

不要压平 Provenance:观察事实、管理层陈述、确定性计算与分析推断是不同记录类型,即使它们出现在同一段中。

Make calculations deterministic and reproducible让计算确定、可复现

The model may select a metric and explain it, but code should execute the arithmetic. Reject incompatible periods, currencies, scales, and accounting definitions before calculation. Return the formula beside the answer.

模型可以选择指标并解释含义,但算术应由代码执行。计算前拒绝不兼容的期间、币种、单位尺度和会计定义,并在答案旁返回公式。

Python · versioned ratio with validation
from decimal import Decimal

def operating_margin(operating_income, revenue):
    assert operating_income["period"] == revenue["period"]
    assert operating_income["currency"] == revenue["currency"]
    assert revenue["value"] != 0
    value = Decimal(str(operating_income["value"])) / Decimal(str(revenue["value"]))
    return {
        "metric": "operating_margin",
        "formula_version": "operating_income/revenue@1",
        "value": str(value),
        "inputs": [operating_income["evidence_id"], revenue["evidence_id"]],
        "period": revenue["period"],
        "validation": "accepted"
    }

Challenge the thesis instead of confirming it挑战论点,而不是只寻找确认

A useful research agent actively searches for disconfirming evidence: amendments, adverse disclosures, segment divergence, working-capital deterioration, customer concentration, estimate dispersion, inconsistent management language, and alternative explanations. The output should show what would falsify the conclusion.

有价值的研究 Agent 会主动寻找反证:Amendment、不利披露、Segment 分化、营运资本恶化、客户集中度、Estimate 分歧、管理层措辞不一致和替代解释。输出中应说明什么情况会推翻结论。

Base rate: compare peers and prior cycles
Contradictions: list evidence against the thesis
Sensitivity: vary the material assumptions
Missing evidence: state what was not available
基准率:对比同业与历史周期
矛盾:列出反对论点的证据
敏感性:改变重大假设
缺失证据:明确哪些资料不可用

Define the research memo output contract定义 Research Memo 输出契约

JSON · answer contract
{
  "as_of": "2026-07-30T20:00:00Z",
  "answer": "Operating quality improved, but cash conversion weakened.",
  "claims": [{
    "text": "Operating margin increased 140 bps year over year.",
    "type": "calculation",
    "evidence_ids": ["ev_101", "ev_102", "calc_044"],
    "confidence": "high"
  }],
  "contrary_evidence": ["Receivables grew faster than revenue."],
  "unknowns": ["Customer-level retention was not disclosed."],
  "review": {"required": true, "status": "pending"}
}

Validation checklist before the agent answersAgent 回答前的验证清单

Mandate: question, entity, horizon and cutoff are explicit
Identity: issuer, security, exchange and currency agree
Time: every source was available by the cutoff
Period: fiscal, calendar, instant and duration facts align
Units: currency, scale, split and corporate actions align
Sources: material claims use authoritative evidence
Math: formula, inputs and version reproduce the result
Inference: fact, calculation, statement and opinion are labeled
Contradiction: opposing evidence was actively searched
Review: required human approval is still enforced
任务:问题、实体、周期与截止时间明确
身份:发行人、证券、交易所与币种一致
时间:所有来源在截止时间前已可用
期间:财年、日历、Instant 与 Duration 对齐
单位:币种、尺度、拆股与公司行动一致
来源:重大结论使用权威证据
计算:公式、输入和版本可复现结果
推断:事实、计算、陈述和观点已标注
反证:已主动搜索相反证据
复核:必要的人工审批仍被强制执行

Security, compliance, cost, and latency controls安全、合规、成本与延迟控制

  • Credentials: keep vendor keys server-side; use scoped secrets, rotation, and egress allowlists.
  • Entitlements: record vendor licensing and prevent unauthorized redistribution in prompts, logs, and outputs.
  • Prompt injection: treat filings, news, transcripts, and retrieved pages as untrusted data, never instructions.
  • Cost: quote or estimate tool cost before expensive calls; cache immutable evidence and deduplicate queries.
  • Latency: parallelize independent sources, set timeouts and retry budgets, and allow partial results with visible gaps.
  • Audit: log mandate, tool calls, source hashes, formulas, model version, policy decisions, reviewer, and final artifact.
  • 凭证:Vendor Key 留在服务端,使用最小权限、轮换和出口白名单。
  • 数据授权:记录 Vendor License,防止在 Prompt、Log 和输出中未授权再分发。
  • Prompt Injection:Filing、新闻、Transcript 和网页都是不可信数据,不是指令。
  • 成本:高成本调用前报价或估算;缓存不可变证据并去重查询。
  • 延迟:并行独立来源,设置 Timeout 与 Retry Budget,允许显示缺口的部分结果。
  • 审计:记录任务、工具调用、Source Hash、公式、模型版本、策略决定、Reviewer 和最终产物。

Common failure modes and troubleshooting常见失败模式与排错

Symptom现象Likely cause常见原因Fix修复
Historical answer looks too accurate历史答案异常准确Later revisions or filings leaked into context后续修订或 Filing 泄漏进上下文Enforce published_at and vintage cutoff强制 Published Time 与 Vintage Cutoff
Two providers disagree两个供应商数据冲突Adjustment, timezone, currency, or identifier mismatch复权、时区、币种或标识符不一致Compare raw contracts; do not average silently比较原始契约,不要静默取平均
Ratio cannot be reproduced比率无法复现Model arithmetic or missing formula inputs模型算术或公式输入缺失Run versioned deterministic calculation使用带版本的确定性计算
Citations open but do not support the claim引用可打开但不支持结论Document-level instead of claim-level retrieval只做到文档级而非结论级检索Store bounded evidence spans and offsets保存受控 Evidence Span 与 Offset
Ticker maps to the wrong companyTicker 映射到错误公司Ticker reuse, share class, ADR, or mergerTicker 复用、Share Class、ADR 或并购Resolve durable issuer and security IDs解析持久的 Issuer 与 Security ID
Agent always confirms the promptAgent 总是确认用户论点No adversarial retrieval or falsification step缺少反证检索与证伪步骤Require contrary evidence and unknowns强制输出反方证据与未知项

How to evaluate a financial research agent如何评估金融研究 Agent

Score the evidence chain before prose quality. Build a dated benchmark containing questions, source snapshots, accepted calculations, contrary evidence, and reviewer decisions. Re-run it when models, prompts, connectors, parsers, or formula versions change.

先评估证据链,再评估文字质量。构建带日期的 Benchmark,包含问题、来源快照、认可计算、反方证据和 Reviewer 决定;模型、Prompt、Connector、Parser 或公式版本变化时重新运行。

Identity accuracy: correct issuer and instrument
Temporal precision: no post-cutoff evidence
Citation precision: evidence supports each claim
Numeric integrity: reproducible values and units
Contradiction recall: material opposing evidence found
Calibration: confidence falls when evidence is weak
身份准确:Issuer 与 Instrument 正确
时间精度:没有截止时间后的证据
引用精度:证据支持每项结论
数值完整:数值和单位可复现
反证召回:找到重大相反证据
置信校准:证据薄弱时置信度下降

Human review gates for consequential decisions高影响决策的人工复核门槛

Require a named reviewer when research may influence investment, trading, legal, compliance, credit, disclosure, or client communication. The reviewer must see source excerpts, unresolved conflicts, calculation inputs, cutoff time, confidence, and what the agent could not verify. Tool access must not silently expand into trade execution.

当研究可能影响投资、交易、法律、合规、信贷、披露或客户沟通时,必须指定 Reviewer。Reviewer 应看到来源片段、未解决冲突、计算输入、截止时间、置信度以及 Agent 无法验证的内容。工具访问不能静默扩展为交易执行。

QVeris implementation pattern for financial researchQVeris 金融研究实现模式

A QVeris-based agent can Discover capabilities by research intent, Inspect parameters and operating statistics, Probe candidate inputs and cost before execution, then Call the chosen capability. Use Usage History and the Credits Ledger for operational reconciliation. Your application should still preserve original authoritative sources, point-in-time fields, evidence contracts, calculation records, and review decisions.

基于 QVeris 的 Agent 可以按研究意图 Discover 能力,Inspect 参数与运行统计,在执行前 Probe 候选输入和成本,再 Call 选定能力;并通过 Usage History 与 Credits Ledger 做运行核对。应用仍需保存原始权威来源、Point-in-time 字段、Evidence Contract、计算记录与审核决定。

Recommended loop: define mandate → Discover → Inspect → Probe → Call → validate and normalize → calculate → challenge → cite → human review → reconcile usage.

推荐循环:定义任务 → Discover → Inspect → Probe → Call → 验证与标准化 → 计算 → 反证 → 引用 → 人工复核 → 核对用量。

FAQ

What is a financial research agent?

A system that resolves entities, retrieves time-bounded evidence, normalizes facts, calculates deterministically, challenges conclusions, and returns a cited artifact for review.

How is it different from a chatbot?

It follows a mandate, cutoff time, data contracts, validation rules, and an audit trail instead of producing an unsupported conversational answer.

Why does point-in-time matter?

Without it, later filings, revised macro data, restatements, and future corporate-action knowledge can create look-ahead bias.

Can the agent calculate ratios?

Yes, if deterministic code uses validated inputs and stores the formula, units, periods, version, and source evidence.

Which sources come first?

Start with regulatory filings and official statistics, then licensed market data, issuer materials, and corroborated secondary context.

How do I reduce hallucinations?

Separate facts, calculations, statements, and inference; require claim-level citations; validate contracts; refuse when evidence is insufficient.

Can it make investment decisions?

No. Consequential investment, trading, legal, or compliance decisions require explicit human review. This workflow is not investment advice.

Where does QVeris fit?

QVeris supports capability discovery, inspection, probing, calling, and usage review; your system keeps authoritative evidence and governance.

什么是金融研究 Agent?

它解析实体、检索带时点的证据、标准化事实、确定性计算、挑战结论,并返回供复核的带引用产物。

它与 Chatbot 有何不同?

它遵循任务、截止时间、数据契约、验证规则和审计链,而不是生成无证据的对话答案。

为什么 Point-in-time 很重要?

否则后续 Filing、修订后宏观数据、Restatement 与未来公司行动会造成前视偏差。

Agent 可以计算比率吗?

可以,但应由确定性代码使用已验证输入,并保存公式、单位、期间、版本和来源证据。

哪些来源优先?

先用监管 Filing 与官方统计,再用授权市场数据、公司材料和经过核实的二手背景。

如何降低幻觉?

区分事实、计算、陈述与推断;强制 Claim-level Citation;验证契约;证据不足时拒绝。

可以自动做投资决策吗?

不可以。高影响投资、交易、法律或合规决定需要明确人工复核;本文不构成投资建议。

QVeris 位于哪里?

QVeris 支持能力发现、检查、Probe、调用与用量复核;权威证据与治理仍由你的系统保存。

Official sources官方资料