AGENTIC FINANCIAL RAG · SEC EDGAR · XBRL · TEMPORAL RAG · GRAPHRAG

FilingsGraph

Temporal Financial Due-Diligence & Risk Intelligence Engine

A portfolio-grade research system that routes financial questions across deterministic XBRL tools, hybrid filing retrieval, temporal disclosure comparison, provenance-preserving graph reasoning, and evidence-grounded Qwen3 synthesis.

View GitHub Repository

Research / portfolio demonstration only. Not investment, legal, accounting, or trading advice.

Final measured system
100%Financial fact selection
100%Router TEST accuracy
90%Blind graph edge precision
100%Claim support rate
17 / 17 frozen core files unchanged
01

What FilingsGraph solves

Financial research is not one retrieval problem.

∑

Exact financial facts

Deterministic XBRL / DuckDB tools answer numeric questions without treating the LLM as the source of truth.

⌕

Filing retrieval

BM25 + BGE-M3 + Reciprocal Rank Fusion + BGE reranking retrieves provenance-rich narrative evidence.

↔

Temporal intelligence

Topic-local year-over-year comparison classifies disclosure changes as NEW, REMOVED, UNCHANGED, EXPANDED, or REDUCED.

◇

Graph risk intelligence

A temporal company-to-risk graph supports cross-company exposure analysis with source provenance.

Measured data scale

5Companies
20SEC filings
121,745XBRL facts
97Parsed sections
2,521Text chunks
2,348Tables
223Graph nodes
347Graph edges

Initial semiconductor cohort

NVDAAMDINTCAVGOQCOM

The local research pipeline was evaluated on a balanced 200-question benchmark spanning exact financial, textual, temporal, graph, mixed, and no-answer cases.

02

Routed evidence architecture

Each question is sent to the evidence path that best fits the task.

Financial research question
↓
Financial Research Router
↓
NUMERICXBRL / DuckDB
TEXTUALBM25 + BGE-M3 + RRF
TEMPORALYear-pair topic comparison
GRAPHTemporal risk graph
MIXEDMulti-tool orchestration
↓
Evidence bundle with filing / XBRL / graph provenance
↓
Local Qwen3-8B synthesis
↓
CitationsID validity + claim attachment
NumericDeterministic checks
TemporalYear consistency
EntityCompany / period checks
↓
Evidence-grounded analyst answer
Engineering principle: exact financial questions are not forced through generic vector retrieval, and the language model is not allowed to become the source of truth for deterministic financial facts.
03

Final evaluation

Measured results are shown with their actual limitations.

CapabilityFinal measured resultInterpretation
Financial fact selection100%12 TEST questions
Financial unit accuracy100%Deterministic XBRL
Financial fact-ID accuracy100%Exact evidence selection
Router TEST accuracy100%NUMERIC / TEXTUAL / TEMPORAL / GRAPH / MIXED
Textual TEST Recall@10100%Ordinary filing lookup subset
Textual TEST MRR94.44%Hybrid + reranked retrieval
Textual TEST nDCG@1095.90%Hybrid + reranked retrieval
Temporal blind Macro F140.78%Primary measured limitation
Temporal blind accuracy60.00%30 fresh human-reviewed rows
Graph blind edge precision90.00%30 fresh human-reviewed edges
Graph path / QA accuracy76.67%Reviewed graph benchmark
Graph provenance completeness100%All final graph edges
Citation precision100%Representative live generation
Claim support rate100%Representative live generation
Unsupported claim rate0%Strict grounding policy
Thinking leak rate0%Output sanitizer
Non-empty answer rate100%NUMERIC / TEMPORAL / GRAPH / MIXED

Hybrid + reranker

0.4921Aggregate Recall@10All-category benchmark includes specialized tool-routed questions.

Textual retrieval

1.0000TEST Recall@10Textual lookup is evaluated separately from XBRL/Temporal/Graph tasks.

Retrieval latency

118.9 msMean hybrid-rerankedComponent retrieval latency measured locally.
04

Validated demo replay

Representative outputs from the locally executed system.

What was NVDA revenue in FY2025?
Route: NUMERIC → deterministic XBRL tool
Validated local result

NVDA reported FY2025 revenue of $130.497 billion.

[XBRL-NVDA-REVENUE-2025]
How did NVDA's export-controls risk disclosure change from FY2024 to FY2025?
Route: TEMPORAL → year-pair filing evidence
Workflow replay

The system retrieves topic-specific evidence from both fiscal years, aligns the disclosure pair, classifies the change, and returns the supporting SEC citation IDs.

NEW · REMOVED · UNCHANGED · EXPANDED · REDUCED
Which selected companies share exposure to export-controls risk, and what filing evidence connects them?
Route: GRAPH → provenance-preserving risk graph
Workflow replay

The graph layer traverses company-to-risk relationships, returns connected companies, and attaches the filing provenance used to create each retained edge.

Fresh blind edge precision: 0.9000
How did NVDA revenue change while export-controls risk language evolved?
Route: MIXED → XBRL + Temporal evidence + grounded synthesis
Multi-tool workflow

The orchestrator combines deterministic financial facts with year-specific filing evidence, then restricts the generated answer to citation-backed factual claims.

Citation precision 1.0 · Claim support 1.0 · Unsupported claims 0.0
Static Space disclosure: this public application replays validated architecture, metrics, and representative results. The full Qwen3-8B + BGE-M3 + Qdrant runtime is implemented and validated locally. This Static Space does not provide the GPU-backed Python runtime required to execute that stack live, so the public demo intentionally replays validated results instead of making a false live-inference claim.
05

Why the public demo is static

The full Agentic RAG system is implemented and locally validated; the public Space reflects the limits of this hosting environment.

FULL RUNTIME STATUS

Model + retrieval + API stack: ready and validated locally

FilingsGraph is not a mock architecture. The complete runtime has already been executed locally with Qwen3-8B, BGE-M3, BM25/RRF, reranking, Qdrant, DuckDB, Temporal RAG, GraphRAG, FastAPI and Gradio.

LOCAL GPU
VALIDATED

Full validated local runtime

  • Qwen3-8B: live local inference
  • BGE-M3 + BM25/RRF + reranker: live retrieval pipeline
  • Qdrant: vector index available locally
  • DuckDB / XBRL: deterministic financial fact tools
  • Temporal RAG + GraphRAG: live specialized reasoning paths
  • FastAPI + Gradio: locally validated application interfaces
  • Arbitrary supported research questions: processed through the real backend

Public Hugging Face Static Space

  • HTML / CSS / JavaScript: runs directly in the browser
  • Validated outputs: presents measured local results and workflow replays
  • No hosted Qwen weights: large model artifacts are intentionally excluded
  • No GPU-backed Python backend: this Static Space cannot execute the local model stack
  • No public Qdrant service: vector infrastructure is not exposed from static hosting
  • No claim of live inference: the portfolio demo stays technically transparent
Hosting limitation, not model-readiness limitation. The current Hugging Face deployment uses the Static SDK, which does not provide the persistent Python/GPU runtime required by Qwen3-8B, BGE-M3 and the local vector/database services. With an appropriate GPU-backed deployment environment, the same validated backend can be hosted as a fully live research application rather than a precomputed portfolio replay.
✓Core RAG codeComplete
✓Local GPU inferenceValidated
✓FastAPI / GradioValidated
✓GitHub CIPassing
✓Static HF demoDeployed
→Full hosted inferenceRequires GPU backend
Recruiter / reviewer note

The public site is intentionally static because this deployment does not include the GPU-backed runtime required by the full model stack. The implementation, local inference pipeline, evaluation, API, and UI are already complete and validated in the GitHub project.

06

Evaluation methodology

Leakage boundaries and final limitations are disclosed explicitly.

Benchmark design

  • 200 balanced questions
  • 140 DEV / 60 TEST
  • Exact financial, textual, temporal, graph, mixed and no-answer classes
  • Core retrieval architecture frozen after TEST observation
  • 17 frozen files checksum-protected

Fresh human review

  • Temporal final evaluation used 30 fresh reviewed rows
  • Graph edge precision used 30 fresh reviewed edges
  • Earlier reviewed examples were excluded
  • Final blind scores were not tuned away afterward
Primary limitation: Temporal five-class disclosure-change classification achieved a fresh blind Macro F1 of 0.4078 and accuracy of 0.6000. This limitation is retained in the public result rather than hidden through post-hoc tuning.