Yusuf Musa
Generative AI / Agents

Bond News Deep Agent

Bond News Deep Agent
5Specialist Subagents
TavilySearch Tool
Any LLMModel-Agnostic
MarkdownReport Output
By Yusuf Musa

1. Overview

The Bond News Deep Agent is a production-grade agentic workflow that fetches and synthesizes fixed-income bond news. A single orchestrator LLM drafts a plan, then delegates to five specialist subagents — each covering a distinct slice of the bond market — before writing a single, consolidated Markdown report.

Every specialist draws from a single Tavily-backed search_bond_news tool tuned for the news topic. The result is a repeatable, source-cited briefing that would otherwise take an analyst hours to assemble by hand.

Disclaimer: This tool is for informational and research purposes only and does not constitute investment advice. Always verify primary sources and consult a licensed professional before making investment decisions.

2. Architecture

The system follows an orchestrator-and-specialists pattern. A user query flows into the main Deep Agent, which delegates to the five specialists; each queries Tavily News and returns findings that the orchestrator merges and writes to disk.

Orchestration Flow

User Query
Main Deep Agentorchestrator LLM · planning + delegation
Treasuries / Rates
IG Corporates
High Yield
Sovereign & EM
Munis
search_bond_news
Tavily News
write_file
reports/bond_news_*.md

3. The Five Specialists

Rather than asking one model to reason about the entire bond universe at once, the workload is split across five focused subagents. Each owns a coverage area, isolating context and enabling parallel research:

Treasuries / Rates

Sovereign rates, the yield curve, and duration risk across the Treasury complex.

IG Corporates

Investment-grade issuance, spreads, and primary-market supply from blue-chip issuers.

High Yield

Sub-investment-grade credit, distressed names, and default / recovery dynamics.

Sovereign & EM

Emerging-market sovereigns, hard- vs local-currency debt, and country risk.

Munis

Municipal bonds, tax-exempt supply, and state / local credit developments.

4. How It Works

The agent is built on the Deep Agents harness, which provides four core capabilities that turn a single query into a structured, source-backed report:

1

Planning

The orchestrator drafts a todo list before fetching, decomposing the query into subagent-scoped tasks.

2

Tools

A single Tavily-backed search_bond_news tool — validated, retried, and normalized for reliable news retrieval.

3

Subagents

Five specialist agents parallelize the work and isolate context so each stays focused on its slice of the market.

4

Virtual Filesystem

The orchestrator writes the final report to a virtual file, which run_agent extracts and persists to reports/.

5. Model Flexibility

The agent passes its model_name straight through to LangChain's init_chat_model, so any supported provider works — switchable from .env with no code changes. You only need an API key for the one provider you choose.

Supported Model Providers

Google Gemini *
google_genai:gemini-2.5-pro
OpenAI
openai:gpt-4o / gpt-4.1
Anthropic
anthropic:claude-sonnet-4-6
OpenRouter
openrouter:anthropic/claude-sonnet-4-6
Azure OpenAI
azure_openai:gpt-4o
AWS Bedrock
bedrock:anthropic.claude-sonnet-4
Ollama (self-hosted)
ollama:llama3.1:70b

* Default provider — ships with langchain-google-genai

6. Usage

A CLI entry point drives the agent end to end. Point it at a query, scope it to a window of days, or drill into a single specialist:

# Top-level fixed-income headlines for the last 7 days
bond-news-agent --query "Top fixed-income bond news this week" --days 7

# Drill into a single specialist (skip orchestrator delegation)
bond-news-agent --query "Latest IG corporate issuance" \
  --category ig-corporates

# Save report to a specific path
bond-news-agent --query "EM sovereign distress watchlist" \
  --output reports/em.md

As a library

from bond_news_agent import Settings, run_agent

settings = Settings()  # loads from env / .env
result = run_agent(
    "Summarize this week's investment-grade corporate bond news",
    settings,
)
print(result.report_md)
print(f"Saved to: {result.report_path}")