AI-Powered Trade Assistant for Equities Trading Workflows

jefferies_equities · Finance · 2025 · source Agentic: yes · promotional bias: med · source-backed · extracted with prompt 0.5.4 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: Equities trading analytics

Jefferies front-office traders needed faster access to fragmented global trading data and real-time insights without depending on analysts or developers to build custom dashboards and queries.

Constraints:

Architecture

Jefferies built a Trade Assistant inside its Global Flow Monitor BI platform on AWS. Authenticated traders use a UI widget to ask natural-language questions. EKS-hosted services manage authentication, sessions, bot routing, and query-agent invocation. A Strands agent uses Amazon Bedrock, Titan, a Bedrock Knowledge Base, and multiple MCP tools to choose the right data source, generate SQL, execute it against GridGain-backed trading data, and return text, tables, charts, or graphs. Guardrails, row-level entitlements, and conversation logging provide governance.

Diagram confidence: explicit (topology described by the source).

flowchart LR
  global-flow-monitor["global-flow-monitor"] --> eks-bot-services["eks-bot-services"]
  global-flow-monitor["global-flow-monitor"] --> row-level-entitlements["row-level-entitlements"]
  eks-bot-services["eks-bot-services"] --> strands-query-agent["strands-query-agent"]
  strands-query-agent["strands-query-agent"] --> mcp-tool-layer["mcp-tool-layer"]
  strands-query-agent["strands-query-agent"] --> amazon-bedrock-knowledge-base["amazon-bedrock-knowledge-base"]
  strands-query-agent["strands-query-agent"] --> query-executor-service["query-executor-service"]
  strands-query-agent["strands-query-agent"] --> bedrock-model-layer["bedrock-model-layer"]
  mcp-tool-layer["mcp-tool-layer"] --> trading-data-sources["trading-data-sources"]
  amazon-bedrock-knowledge-base["amazon-bedrock-knowledge-base"] --> bedrock-model-layer["bedrock-model-layer"]
  query-executor-service["query-executor-service"] --> gridgain-data-grid["gridgain-data-grid"]
  query-executor-service["query-executor-service"] --> markdown-visualization-renderer["markdown-visualization-renderer"]
  gridgain-data-grid["gridgain-data-grid"] --> trading-data-sources["trading-data-sources"]
  markdown-visualization-renderer["markdown-visualization-renderer"] --> global-flow-monitor["global-flow-monitor"]
  row-level-entitlements["row-level-entitlements"] --> trading-data-sources["trading-data-sources"]
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
global-flow-monitor Existing Jefferies BI platform where traders authenticate and use the Trade Assistant widget. eks-bot-services, row-level-entitlements
eks-bot-services AWS EKS services for authentication, session creation, bot routing, and query-agent invocation. global-flow-monitor, strands-query-agent
strands-query-agent Core agent that interprets trader questions, plans steps, calls MCP tools, selects data sources, and creates SQL. mcp-tool-layer, amazon-bedrock-knowledge-base, query-executor-service, bedrock-model-layer
mcp-tool-layer Tool interface that exposes data-source choices and execution capabilities to the Strands agent. strands-query-agent, trading-data-sources
amazon-bedrock-knowledge-base Vector store providing relevant context for the agent's reasoning. strands-query-agent, bedrock-model-layer
bedrock-model-layer Amazon Bedrock model access, including Titan embeddings and future model flexibility. strands-query-agent, amazon-bedrock-knowledge-base
query-executor-service Runs generated SQL against underlying trading data and returns query results. strands-query-agent, gridgain-data-grid, markdown-visualization-renderer
gridgain-data-grid In-memory data grid hosting Jefferies trading data for fast retrieval. query-executor-service, trading-data-sources
markdown-visualization-renderer Controlled renderer for charts, tables, and visualizations selected by the LLM. query-executor-service, global-flow-monitor
row-level-entitlements Security layer that limits traders to data they are authorized to view and supports auditability. global-flow-monitor, trading-data-sources
trading-data-sources Fragmented global equity-trading stores and visualization systems behind the assistant. mcp-tool-layer, gridgain-data-grid, row-level-entitlements

Data flow

A trader logs into GFM and is authorized for the data they may see. Their natural-language query is routed to bot services that create a session and invoke the Strands query agent. The agent uses MCP tools and Bedrock context to pick a data source, create SQL, and pass it to a query executor. The executor queries GridGain and underlying data services, while the LLM chooses the output format and a markdown UI library renders the visualization in the BI interface.

4 supporting quotes
“Once a user successfully authenticates the request is routed to the bot services, step three, which establishes a user session and invokes query agent.”transcript, stated
“It takes a question from a trader and interacts with multiple MCP tools to decide which data source to pick to best answer the trader's question.”transcript, stated
“Once the query agent identifies the right data source and creates the SQL query, the query executor service queries the underlying data.”transcript, stated
“The LLM chooses the visualization to display and we use the markdown UI library to render the visualizations in step eight.”transcript, stated

Why this architecture

The architecture keeps the assistant inside an existing BI product to fit trader workflows, uses Strands and MCP tools for low-code agent orchestration across fragmented data sources, and reserves visualization rendering for a deterministic UI library rather than letting the LLM draw charts directly. Bedrock provides model flexibility and knowledge-base retrieval, while EKS, GridGain, entitlements, and logging fit the operational and compliance needs of a financial institution.

4 supporting quotes
“ease of use and accelerating time to insights were key drivers in the design here.”transcript, stated
“We selected Strand agents for their simplicity and advanced functionality”transcript, stated
“there's also flexibility in here for Jefferies to easily choose different LLMs for specific use cases through Amazon Bedrock as the trade assistant evolves.”transcript, stated
“From a security perspective, the solution has advanced guardrails coupled with row level data entitlements to prevent accidental access to customer sensitive data”transcript, stated

Models used: Amazon Bedrock · Amazon Titan embeddings · Strands Agents · Amazon Bedrock Knowledge Base · MCP · AWS EKS · GridGain · markdown UI library

Scale

Alternatives considered (roads not taken)

LangChain as the agent orchestration layer

Rejected because: Jefferies pivoted to Strands after AWS recommended it and the team observed better processing and easier orchestration for a from-scratch build.

“we started over with the Lang chain and then eventually pivoted to Strands.”transcript, stated
“we observed a lot of improvements in the processing and having that ability, we decided since we're starting from scratch might as well use the latest.”transcript, stated

Custom dashboards built by analysts and developers

Rejected because: That approach slowed traders and imposed technical burden across desks; self-service natural-language analytics reduced dependency on tech resources.

“oftentimes they don't have the time during the day or the coding ability to generate and maintain a system capable of delivering this.”transcript, stated
“It's self-service capabilities also means lesser dependency on tech resources, while creating a consistent user experience across multiple desks.”transcript, stated

Direct LLM-generated visualizations

Rejected because: The LLM only chooses the visualization while the markdown UI library renders it, giving the team more control over outputs.

“The LLM chooses the visualization to display and we use the markdown UI library to render the visualizations in step eight.”transcript, stated

Patterns

tool-use-orchestration (agent architecture)

The Strands agent calls MCP tools to choose the appropriate trading data source and drive SQL execution.

“interacts with multiple MCP tools to decide which data source to pick to best answer the trader's question.”transcript, stated

rag-retrieval (retrieval)

Amazon Bedrock Knowledge Base provides vector-store context for the agent before it creates SQL over trading data.

“we also decide to use Amazon Bedrock knowledge base as a vector store as you can see in step six.”transcript, stated

structured-output-contract (reliability)

The LLM generates SQL and chooses an output form, while execution and visualization rendering are handled by controlled services.

“the underlying LLM, which in this case is the Titan embeddings model generates the resulting SQL query”transcript, stated
“The LLM chooses the visualization to display and we use the markdown UI library to render the visualizations”transcript, stated

privacy-preserving-processing (security)

Row-level data entitlements, intelligent access controls, and conversation audit trails protect sensitive financial data.

“row level data entitlements to prevent accidental access to customer sensitive data through intelligent access controls.”transcript, stated
“all conversations of course are logged with complete audit trails to meet compliance requirements.”transcript, stated

Tradeoffs

Pivot agent orchestration from LangChain to Strands.

Chose Strands agents over LangChain.

Rationale: AWS recommended Strands, and Jefferies observed processing improvements and simpler orchestration while starting from scratch.

“we started over with the Lang chain and then eventually pivoted to Strands. Basically based on the recommendation from AWS team”transcript, stated

Embed the assistant in GFM.

Chose Existing Global Flow Monitor BI platform over A separate analytics application.

Rationale: Traders already rely on GFM for real-time trading data, so embedding the widget avoids workflow switching and preserves entitlements.

“The interface is part of our existing BI platform called the Global Flow Monitor or GFM for short.”transcript, stated
“The GFM contains a drove of realtime trading data that our front office traders rely on every day”transcript, stated

Use self-service conversational analytics.

Chose Natural-language queries over trading records over IT-produced custom dashboards for each request.

Rationale: Self-service reduces dashboard toil while giving business users real-time discovery over trading data.

“Business users can now query millions of records of equity trading data using simple natural language”transcript, stated

Gotchas (what bit them)

Trading insight data was too fragmented for direct human exploration.

Root cause: Millions of trades were spread across multiple data stores and visualization tools globally.

Resolution: Use an agent to coalesce access through natural-language SQL generation and data-source selection.

“the amount of data is so vast and so fractured that I mean we are talking about millions of trades a single day”transcript, stated
“we built a solution that reduces these barriers to providing insights that empowers our traders to access real time conversation analytics”transcript, stated

The assistant has to respect trader-specific data authorization.

Root cause: Front-office trading data includes customer-sensitive information and users should only see authorized data.

Resolution: Verify GFM credentials, enforce row-level entitlements, and log conversations for audit trails.

“when the traders log in the credentials are verified to ensure the right entitlement so that they only see their data that they're authorized to see.”transcript, stated

Visual outputs need guardrails beyond model text generation.

Root cause: Trading users need charts and tables, but hallucinated visualization generation would be risky.

Resolution: Let the model select a visualization and render it through a markdown UI library.

“The LLM chooses the visualization to display and we use the markdown UI library to render the visualizations in step eight.”transcript, stated

Evaluation

Jefferies evaluated the assistant through beta deployment with sales and trading users, measuring time saved on routine analytics, adoption, user satisfaction, tech-burden reduction, and readiness for global rollout.

Metrics: 50 beta users · 80% reduction in routine analytical-task time · adoption rate · user satisfaction · technical burden for custom dashboards · global rollout readiness

3 supporting quotes
“in our beta rollout to around 50 users across sales and trading operations, we delivered an 80% reduction in the time spent on routine analytical tasks.”transcript, stated
“The adoption rate has also been high, which speaks to the solution effectiveness and the user satisfaction”transcript, stated
“the solution has reduced the tech burden for producing custom dashboards across multiple prototypes and trading desks.”transcript, stated

Outcomes

The case reports millions of daily trades, a 50-user beta, an 80% time reduction for routine analytical tasks, and planned global rollout.

4 supporting quotes
“we delivered an 80% reduction in the time spent on routine analytical tasks.”transcript, stated
“It's self-service capabilities also means lesser dependency on tech resources”transcript, stated
“Business users can now query millions of records of equity trading data using simple natural language”transcript, stated
“we are planning for a global rollout to your trading user base.”transcript, stated