Canonical: https://www.brettsanders.com/projects/j5-trade
Author: [Brett Sanders](https://www.brettsanders.com/)
Published: 2026-02-08

System Case Study February 8, 2026

# J5-Trade

J5-Trade is an automated Bitcoin trading system that runs three independent quantitative strategy models in concert, layers in LLM-based news-sentiment analysis and a multi-agent analyst pipeline, and enforces disciplined, guardrailed risk management with a real-time monitoring dashboard.

Trading Cryptocurrency Python asyncio pandas\_ta LLM Sentiment Multi-Agent Agno React TypeScript

# J5-Trade

**J5-Trade** is an automated Bitcoin trading system built around a simple idea borrowed from professional trading desks: run several independent strategies in concert, each with its own risk budget, and let a coordinator arbitrate between them.

## Multi-Model Architecture

Three independent **quantitative strategy models** run simultaneously — technical-analysis strategies built with `pandas_ta` (rules and indicators, not machine-learning models), each operating on its own timeframes with its own risk limits:

- **Aggressive** — short-timeframe momentum and mean-reversion on 1m/5m candles
- **Balanced** — trend-following and confirmation on mid-range timeframes
- **Conservative** — higher-timeframe, lower-frequency positioning

A **signal resolver** with a veto hierarchy reconciles their signals before anything executes.

## Genuine AI Layer

The real LLM work in J5-Trade lives in the context and analysis layers:

- **News-sentiment classification** — polls crypto news feeds and uses an LLM (local LM Studio with OpenAI/Gemini fallback) to score sentiment from -1.0 (panic) to +1.0 (euphoria). When technicals say "buy" but headlines say "exchange hack," the system stays flat.
- **Multi-agent analyst pipeline** — built on the Agno framework: a Pricing agent, a News-Sentiment agent, and a Trade agent, coordinated by a Coordinator agent.
- **Chat assistant** — an integrated LLM assistant for querying system state and trade rationale.

## Risk Management

Per-model daily loss limits, position caps, cooldowns, and a global kill-switch threshold. Every decision is logged and streamed to a real-time dashboard via server-sent events.

## A Note on "Self-Evolution"

An early experiment added a **heuristic missed-opportunity tracker** that nudged strategy parameters within hard guardrails. It was rule-based (not machine learning) and I **disabled it in April 2026** — it wasn't earning its keep. The enduring value is the multi-model architecture, the LLM sentiment/analyst layers, and the risk discipline.

## Stack

Python (asyncio) · pandas\_ta · Agno · LM Studio / OpenAI / Gemini · React · TypeScript · WebSockets / SSE · SQLite

[Back to All Systems](https://www.brettsanders.com/projects) [Discuss This Work on LinkedIn](https://www.linkedin.com/in/imbrett/)
