Multi-agent AI trading analysis for Japanese stocks — powered by the Japan Finance Data Stack
Project description
japan-trading-agents
Multi-agent AI trading analysis for Japanese stocks — powered by real government data, not just LLM reasoning.
What is this?
9 AI agents analyze Japanese stocks using real financial data from government and market data sources:
| Agent | Role | Data Source |
|---|---|---|
| Fundamental Analyst | Financial statements, DuPont analysis | EDINET (有報) |
| Macro Analyst | GDP, CPI, interest rates | e-Stat + BOJ |
| Event Analyst | Earnings, dividends, M&A | TDNet (適時開示) |
| Sentiment Analyst | News sentiment scoring | Japan News RSS |
| Technical Analyst | Price action, volume | Yahoo Finance (yfinance) |
| Bull Researcher | Builds the bullish case | All analyst reports |
| Bear Researcher | Challenges with risks | All analyst reports |
| Trader | BUY/SELL/HOLD decision | Debate + analysis |
| Risk Manager | Risk validation | Final approval |
How it works
jta analyze 7203 (Toyota)
|
v
[Data Fetch] ── yfinance + 5 MCP sources in parallel
|
v
[5 Analysts] ── Fundamental, Macro, Event, Sentiment, Technical (parallel)
|
v
[Bull vs Bear Debate] ── Sequential argumentation
|
v
[Trader Decision] ── BUY / SELL / HOLD with confidence
|
v
[Risk Manager] ── Approve or reject with concerns
Quick Start
# Install with all data sources
pip install "japan-trading-agents[all-data]"
# Set your LLM API key
export OPENAI_API_KEY=sk-...
# Analyze a stock
jta analyze 7203
Use Any LLM
Powered by litellm — supports 100+ LLM providers:
# OpenAI
jta analyze 7203 --model gpt-4o
# Anthropic
jta analyze 7203 --model claude-sonnet-4-5-20250929
# Google
jta analyze 7203 --model gemini/gemini-2.0-flash
# Local (Ollama)
jta analyze 7203 --model ollama/llama3.2
# Any litellm-supported model
jta analyze 7203 --model deepseek/deepseek-chat
CLI Commands
# Full analysis
jta analyze 7203
# With EDINET code override
jta analyze 7203 --edinet-code E02144
# Multi-round debate
jta analyze 7203 --debate-rounds 2
# JSON output
jta analyze 7203 --json-output
# Check data sources
jta check
# MCP server mode
jta serve
Data Sources
Each data source is an independent MCP package. Install only what you need:
pip install japan-trading-agents # Core only
pip install "japan-trading-agents[edinet]" # + EDINET
pip install "japan-trading-agents[all-data]" # All 6 sources
| Source | Package | API Key Required |
|---|---|---|
| Yahoo Finance (stock prices) | yfinance (bundled) |
No |
| EDINET (financial statements) | edinet-mcp |
Yes (free) |
| TDNet (disclosures) | tdnet-disclosure-mcp |
No |
| e-Stat (government statistics) | estat-mcp |
Yes (free) |
| BOJ (central bank data) | boj-mcp |
No |
| News (financial news RSS) | japan-news-mcp |
No |
The system gracefully degrades — agents work with whatever sources are available.
Architecture
- No LangChain/LangGraph — pure
asynciofor orchestration - litellm for multi-provider LLM support (single interface, 100+ providers)
- Pydantic models for structured agent outputs
- Rich CLI with streaming progress
- FastMCP server for MCP integration
- All LLM calls are mocked in tests — no API keys needed to run tests
Part of the Japan Finance Data Stack
| Layer | Tool | Description |
|---|---|---|
| Corporate Filings | edinet-mcp | XBRL financial statements |
| Disclosures | tdnet-disclosure-mcp | Real-time corporate disclosures |
| Government Statistics | estat-mcp | GDP, CPI, employment |
| Central Bank | boj-mcp | Interest rates, money supply |
| Financial News | japan-news-mcp | RSS news aggregation |
| Stock Prices | yfinance | Yahoo Finance (TSE coverage) |
| Benchmark | jfinqa | Japanese financial QA benchmark |
| Analysis | japan-trading-agents | Multi-agent trading analysis |
See awesome-japan-finance-data for a complete list of Japanese finance data resources.
Development
git clone https://github.com/ajtgjmdjp/japan-trading-agents
cd japan-trading-agents
uv sync --extra dev
uv run pytest -v
uv run ruff check src tests
uv run mypy src
Disclaimer
This is not financial advice. For educational and research purposes only. Do not make investment decisions based on this tool's output.
License
Apache-2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file japan_trading_agents-0.4.2.tar.gz.
File metadata
- Download URL: japan_trading_agents-0.4.2.tar.gz
- Upload date:
- Size: 290.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3618e65c022e30419ba15fe2223245e3d72fd1082c454a9acdddadf2f7ba6eaf
|
|
| MD5 |
cf4eb42a08226232eb294f9befa75594
|
|
| BLAKE2b-256 |
1071a1dafc3c4812f4926c69ee68c421ac55ec7263329009b5487485ac405333
|
File details
Details for the file japan_trading_agents-0.4.2-py3-none-any.whl.
File metadata
- Download URL: japan_trading_agents-0.4.2-py3-none-any.whl
- Upload date:
- Size: 42.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4dceca5c1c2c6c45e0d42b7d408ffcdcdd40851d70cea23226830a7cc056efaf
|
|
| MD5 |
cc01664c21b6ef6a7d750ea29de3e60f
|
|
| BLAKE2b-256 |
71ba7b0d9f448b6fb806820a675f19df8f1ed1a9d9ab75f337339a9b30c01ee7
|