Autonomous Multi-Agent Decision Support

Evidence-Backed Portfolio Analysis with Zero Math Hallucination

Unify relational portfolio holdings, live Google Search grounding, deterministic financial math, and 3-case scenario stress tests into a single audit-ready decision workflow.

Deterministic Java Arithmetic
Google Search Evidence Grounding
Strict Non-Advice Guardrails
The Core Dilemma

Why Financial Decision-Making Still Breaks Down

Investors and wealth professionals make decisions across fractured tools while generic AI chatbots fabricate financial arithmetic.

For Individual Investors: Fragmented Tools & Cognitive Fatigue

Holdings sit in brokerage statements, news breaks on public portals, and risk calculations remain buried in spreadsheets.

  • Math Hallucinations: Standard LLMs generate inaccurate cost basis, weighted returns, and DCF metrics.
  • Disconnected Context: Investors cannot easily test how macro interest rate hikes impact their exact holdings.
  • Unchecked Biases: Over-concentration in familiar stocks often goes unflagged until a drawdown occurs.

For Advisers & RIAs: Repetitive Portfolio-Review Overhead

Wealth managers lose up to 60% of their client prep time assembling manual portfolio review packets and cross-referencing news.

  • Manual Review Preparation: 15โ€“20 hours per week spent re-calculating asset allocation drift and formatting reports.
  • Evidence Sourcing Bottleneck: Sourcing audit-ready citations for macro catalysts and forward scenarios is slow.
  • Strict Fiduciary Compliance: Client deliverables require mandatory non-advice disclaimers and verified provenance.
Verified Capabilities

Six Pillars of Grounded Decision Support

Built strictly against verified codebase features in Google ADK Javaโ€”never speculative marketing concepts.

1. Relational Portfolio Ingestion

Ingests customer accounts and asset holdings from relational SQLite tables. Preserves symbols, quantities, purchase dates, and cost basis across multi-turn sessions.

LoadCustomerPortfolioTool • SQLite WAL

2. Risk & Concentration Alerts

Automated deterministic checks flag single-stock concentration risks (>25% allocation threshold) and asset class drift to prevent unintended portfolio skew.

PortfolioMathTool • Allocation Check

3. Grounded Market Intelligence

Retrieves recent quarterly filings, corporate announcements, and analyst revisions via Google Search tool, isolated to avoid model platform conflicts.

GoogleSearchTool.INSTANCE • Isolated

4. Deterministic Financial Math

Zero manual arithmetic in LLMs. Exact PnL, cost basis, percentage returns, and technical indicators are computed in verified Java 21 methods.

PortfolioMathTool • Strict Java Arithmetic

5. 3-Tier Scenario Stress Testing

Models forward sensitivity under Baseline, Upside Catalyst, and Downside Stress scenarios paired with a Two-Stage Discounted Earnings valuation model.

CalculateValuationTool • Gordon Growth DCF

6. Trade Blocking Guardrails

The agent provides educational rebalancing considerations only. All transactional tools (execute_trade) are intercepted and permanently blocked.

ToolOperationGuard • Read-Only Security
End-to-End System

How It Works: Real Architecture

A clean boundary separating client presentation, high-throughput cloud gateway, autonomous ADK agent, and deterministic tools.

1. Presentation & State
React 18 / Vite UI SPA
Dark terminal layout deployed to Firebase Hosting. Renders executive markdown reports and scenario cards.
AG-UI State Memory Live
State inspector tracking active thread ID, loaded customer holdings, and company metadata.
Cloud Firestore Debounced
Queues messages in memory; commits atomic batch on 5-min inactivity or session switch (80%+ I/O savings).
2. Google ADK Java Core
Javalin 6 REST Gateway Port 8089
Containerized server on Cloud Run exposing /query and Server-Sent Events (SSE) /stream.
FinanceAdvisorAgentV14 LlmAgent
Powered by Gemini 2.5 Flash with prompt engineering, dynamic placeholders, and dual-presentation output.
5-Stage Safety Guardrails 5 Hooks
BeforeAgent (injection guard), BeforeModel (PII scrubber), and BeforeTool (blocks trading).
3. Tools & Data Engines
PortfolioMathTool Java Math
Deterministic arithmetic for PnL, cost basis, return %, and allocation concentration risk (>25%).
SQLite Holdings DB WAL Mode
Relational tables for customer portfolios seeded with Customers 1001 (RELIANCE/TCS) and 1002 (INFY).
Finance MCP Server Sample Data
In-process JSON-RPC 2.0 MCP server exposing get_quote, company profiles, and DCF valuation tools.
Verified Tech Stack

Built with Production Foundations

Every technology listed below is verified in the repository code and deployment configuration.

ADK

Google ADK Java 1.4.0

Official Google Agent Kit core & tools

Java

Java 21 LTS

Strongly typed records & toolchain

LLM

Gemini 2.5 Flash

Google GenAI SDK model reasoning

MCP

Model Context Protocol

MCP 1.1.2 stdio & in-memory server

REST

Javalin 6 Web Server

High-throughput REST & SSE streaming

React

React 18 & Vite 5

TypeScript SPA with Vanilla CSS

Sync

Cloud Firestore

Debounced batch persistence engine

SQL

SQLite (WAL Mode)

Embedded relational portfolio store

Trust & Provenance

Honest Data Attribution & Safety Limits

We are transparent about where our data comes from, what our software can do, and what it deliberately blocks.

Live Data vs. Sample Data

Live Sources: SQLite holdings ingestion, Google Search web citations, and Java math calculations operate live.

Sample Data: Default in-memory MCP quotes (INFY.NS, TCS.NS, AAPL) operate on sample catalogs for reproducible testing.

Zero Automatic Trading

This system does not place orders, rebalance accounts, or route trades to brokerages. Transactional operations are explicitly blocked by code guardrails. All rebalancing considerations require independent human review.

Regulatory Disclaimer

Not registered financial advice. This software is an informational decision-support and scenario-modeling tool. It does not guarantee investment returns or replace a licensed fiduciary or certified financial planner.

Target Applications

Built for Discerning Investors and Professional Teams

From individual risk audits to enterprise RIA review automation and fintech integrations.

Individual Investors

Conduct personal portfolio health checks, calculate cost basis accurately, detect high single-stock concentration skew (>25%), and stress test personal holdings against macroeconomic shifts.

Wealth Advisers & RIAs

Slash routine portfolio-review preparation time from hours to minutes. Generate grounded client-ready summaries, audit-ready evidence citations, and balanced 3-case scenario stress tests.

Fintechs & Wealth Enterprises

Integrate autonomous financial intelligence via standardized Model Context Protocol (MCP) or secure REST/SSE gateways. Deploy containerized instances directly to Cloud Run or internal infrastructure.

Frequently Asked Questions

Honest Answers to Practical Questions

Clear, transparent details on how the system operates, its data sources, and its architectural boundaries.

No. The AI Finance Advisor is strictly an analytical decision-support tool. It has zero automated execution or order routing capabilities. Transactional tools like execute_trade or place_order are blocked by code guardrails (ToolOperationGuard and PreToolSourceValidationHook). All scenario exploration is for educational analysis and requires independent human review.
Standard large language models hallucinate arithmetic because they predict probability tokens rather than executing deterministic algorithms. Our architecture eliminates this by offloading all arithmetic calculations (unrealized PnL, cost basis, percentage allocation weights, concentration risk flags, and Two-Stage DCF intrinsic valuations) to deterministic Java code in PortfolioMathTool and CalculateValuationTool. The LLM only interprets and summarizes verified calculations.
Portfolio holdings are retrieved live from relational SQLite tables. Breaking news, earnings revisions, and regulatory disclosures are retrieved live via GoogleSearchTool. Mathematical formulas execute live in Java. The default in-memory Model Context Protocol (MCP) quote catalog (such as INFY.NS, TCS.NS, AAPL) uses verified sample data to enable reliable offline testing without rate limits.
No. This platform is designed for educational decision support and scenario stress testing. It does not provide registered investment advice, guarantee returns, or replace a certified financial planner or registered investment adviser. Every output automatically includes a mandatory regulatory disclaimer enforced by ComplianceDisclaimerGuard.
Direct OAuth custodial feeds are on our enterprise product roadmap. In the current release, the system supports relational SQLite database ingestion (via LoadCustomerPortfolioTool) and structured JSON payloads. Custom database connectors can be plugged into the Google ADK Java tool interface.
The Google ADK Java backend includes an automated 5-stage defensive perimeter. Our BeforeModelGuardrail intercepts outbound LLM requests and scrubs sensitive Personally Identifiable Information (PII) such as bank accounts, credit cards, emails, and customer IDs using privacy tokens (e.g. [REDACTED_...]).
The entire platform is packaged as a multi-stage, hardened Docker container (JDK builder + JRE runtime with non-root security UID 10001) that can be self-hosted on Google Cloud Run, AWS ECS, or internal Kubernetes clusters. We offer tailored pilot programs for wealth management teams and fintech developers.
Get in Touch

Request a Demo or Discuss a Custom Solution

Speak directly with the engineering and product team. Whether you are an independent adviser exploring review automation or an enterprise fintech evaluating Google ADK Java, we are here to assist.

15-Minute Technical Architecture Walkthrough
Docker & Cloud Run Deployment Blueprint
Enterprise Hybrid Security & IAM Review
Hosted on Firebase Hosting • Backend on Google Cloud Run
Production API: finadv-agent-api.adhyaconsulting.org
Privacy Notice: Do NOT submit account numbers, passwords, or personal financial data.
Zero sensitive financial information is requested or collected.