How ARGUS Works: Inside an Autonomous AI Trading Desk for Crypto Perpetual Futures
A deep technical breakdown of ARGUS — a multi-agent AI trading system that scans, debates, and autonomously executes trades on HyperLiquid perpetual futures.
Introduction
ARGUS is an autonomous trading desk built by Zeki that analyzes and trades cryptocurrency perpetual futures on HyperLiquid. It uses a multi-agent debate architecture where independent AI agents argue bull and bear cases before a portfolio manager delivers a final verdict.
This post explains the full pipeline: how ARGUS scans markets, what analysis modules it runs, how the multi-agent debate works, and how trades are executed and managed — all without human intervention.
What Are Perpetual Futures?
Perpetual futures ("perps") are derivative contracts that track the price of an underlying asset without an expiry date. Unlike traditional futures, perps use a funding rate mechanism to keep the contract price anchored to spot price.
Key characteristics relevant to ARGUS:
- No expiry — positions can be held indefinitely
- Funding payments — every 8 hours, one side pays the other based on the premium/discount to spot price
- Leverage — perps allow leveraged exposure (ARGUS uses conservative 2–3x)
- Long and short — equal ease of going long or short, enabling directional trading in both directions
HyperLiquid currently lists 229+ perpetual pairs, giving ARGUS a broad universe to scan.
Architecture Overview
ARGUS follows a structured six-stage pipeline:
- Market scan — screen all 229 pairs for interesting setups
- Data collection — fetch OHLCV candles, funding rates, and open interest
- Module analysis — run 9 independent analysis modules
- Multi-agent debate — 4 AI agents argue the trade across 3 rounds
- Portfolio manager verdict — an independent PM agent weighs the debate and decides
- Execution and position management — trades fire autonomously with risk controls
Each stage is designed to be modular, testable, and transparent.
Stage 1: Market Scanning
Every 4 hours, ARGUS pulls live metadata on all HyperLiquid perpetual pairs from the exchange API. For each pair, it computes a composite interest score based on:
| Signal | Weight | What It Detects |
|---|---|---|
| Price move >8% in 24h | +3 | Significant directional momentum |
| Price move >15% | +4 | Extreme volatility event |
| Extreme funding rate (>0.03%) | +3 | Crowded positioning |
| Negative funding | +2 | Short squeeze potential |
| Volume/OI ratio >3x | +2 | Unusual activity relative to positioning |
| High OI + big move | +2 | Institutional-scale positioning shift |
Pairs scoring 8 or higher advance to full analysis. Pairs below the threshold are logged but not acted on.
In a typical scan, ARGUS evaluates 229 pairs, flags 15–30 as interesting, and advances 0–3 to the full analysis pipeline. Most scans produce zero trades — and that's by design. The scanner's job is to filter aggressively, not to force trades.
Stage 2: Data Collection
For each pair that passes the scanner threshold, ARGUS fetches:
- OHLCV candles across three timeframes: 1-hour, 4-hour, and daily
- Current funding rate and next funding timestamp
- Open interest in USD terms
- Mark price (used for position valuation and liquidation calculations)
Data is fetched directly from HyperLiquid's public API. A quality gate validates that sufficient candle history exists (minimum 50 bars per timeframe) and that average volume meets a minimum threshold ($10,000 USD daily).
If data quality checks fail, the ticker is skipped with a warning — ARGUS never analyzes with incomplete data.
Stage 3: Nine Analysis Modules
This is where the quantitative analysis happens. ARGUS runs 9 independent modules, each producing a bias (bullish/bearish/neutral), a confidence score (0–100%), and a detailed text summary that gets fed into the debate.
Module 1: Trend & Momentum
Computes RSI, MACD, and moving average relationships across all three timeframes. Produces a weighted composite score where daily data carries the most weight (40%), followed by 4-hour (35%) and 1-hour (25%).
Key indicators:
- RSI extremes (above 70 overbought, below 30 oversold)
- MACD histogram direction and crossovers
- Price position relative to EMA-10, SMA-50, and SMA-200
Module 2: Elliott Wave
Structural wave analysis that attempts to identify the current wave position (impulse vs corrective) across 1H, 4H, and daily timeframes. Provides an invalidation price level that the debate agents can use as a structural reference point.
Module 3: Volume Profile
Analyzes volume trends and divergences. Looks for volume confirmation of price moves (rising volume on breakouts = confirmation) and volume divergences (price making new highs on declining volume = warning).
Module 4: Funding & Open Interest
The original microstructure module. Interprets the current funding rate in the context of positioning:
- High positive funding = longs are crowded and paying
- Negative funding = shorts are paying, potential squeeze setup
- OI levels provide context on the scale of positioning
Module 5: Support & Resistance
Identifies key price levels from historical price action. Counts supports below and resistances above the current price. A ticker with 15 resistances above and 0 supports below has a very different risk profile than one with balanced levels.
Module 6: News & Fundamentals
Uses web search to gather recent headlines about the asset. Pulls CoinGecko data for market context (24h change, market cap, community metrics). This is the only module that makes external API calls beyond HyperLiquid.
Module 7: Funding Carry (New)
Treats funding rate as a directional carry trade signal rather than just a crowding indicator. Inspired by cash-and-carry arbitrage strategies from traditional futures markets.
The core insight: if shorts are paying -30% annualized funding to hold their positions, that cost creates persistent pressure toward a short squeeze. The module quantifies this carry yield and produces a directional signal.
Formula:
annualized_carry = funding_rate × 3 × 365 × 100
carry_signal = -sign(funding_rate) // positive funding = bearish carry
Thresholds:
- Strong signal: |funding| > 0.03% per 8h interval (~33% annualized)
- Moderate signal: |funding| > 0.01% per 8h interval (~11% annualized)
High open interest amplifies the signal — when large capital is paying significant carry costs, the pressure to unwind builds faster.
Module 8: Mean Reversion Z-Score (New)
Detects when price has deviated significantly from its rolling mean, signaling potential snapback. Uses Ornstein-Uhlenbeck half-life estimation to validate that the asset exhibits genuine mean-reverting behavior before generating a signal.
Formula:
MA_L = mean(close prices over L periods)
σ_L = std(close prices over L periods)
z = (current_price - MA_L) / σ_L
Half-life estimation (OU process):
ΔX_t = a + b × X_{t-1} + ε
θ = -ln(1 + b)
half_life = ln(2) / θ
The module uses two lookback windows (20 and 50 bars) and combines them with a 60/40 weighting favoring the shorter window for responsiveness. Z-scores above ±2.0 generate signals; the half-life must confirm mean-reverting dynamics.
This module is deliberately conservative — it stayed neutral across all dry-run tickers because prices hadn't reached genuine overextension levels. That's the intended behavior: better to miss a marginal signal than to fire on noise.
Module 9: Multi-Horizon Momentum (New)
Computes returns across four lookback windows (4h, 1d, 3d, 7d) and combines them into a single volatility-normalized composite score. Inspired by cross-sectional momentum strategies adapted for single-asset time-series analysis.
Formula:
ret_k = (P_t / P_{t-k}) - 1 for each lookback k
composite = Σ(w_k × ret_k) / Σ(w_k)
z_momentum = composite / realized_volatility
The most recent bar is skipped to avoid short-term reversal contamination — a well-documented effect where the most recent period's return tends to reverse, adding noise to momentum signals.
Weights: 4h (15%), 1d (30%), 3d (30%), 7d (25%). The 1-day and 3-day windows carry the most weight, balancing responsiveness with stability.
In dry runs, this module produced the strongest conviction readings of any module — z-scores of -8.04 (BTC) and -8.27 (ETH) during a broad market selloff, correctly identifying persistent multi-horizon selling pressure.
Stage 4: Multi-Agent Debate
After all 9 modules complete, their outputs are compiled into a briefing document and fed to four AI debate agents:
| Agent | Role | Perspective |
|---|---|---|
| Bull Technical | Argues the bullish case using technical signals | Trend, momentum, support levels |
| Bull Fundamental | Argues the bullish case using fundamentals and macro | News, funding carry, market context |
| Bear Technical | Argues the bearish case using technical signals | Resistance levels, volume weakness, overextension |
| Bear Macro/Risk | Argues the bearish case from a risk perspective | Crowded positioning, adverse carry, tail risk |
The debate runs for 3 structured rounds (configurable up to 5 for deep analysis). In each round:
- All four agents read the accumulated debate transcript
- Each agent produces arguments, rebuttals to opposing arguments, and updated conviction levels
- Arguments must reference specific module data — no vague assertions
The debate format forces explicit engagement with counterarguments. A bull agent can't simply ignore bearish module results — the bear agents will call it out, and the portfolio manager weighs argumentative quality.
Stage 5: Portfolio Manager Verdict
An independent portfolio manager agent reads the complete debate transcript and all module outputs. It produces:
- Verdict: BUY, SELL, or HOLD
- Confidence: 0–100%
- Invalidation level: a specific price that would negate the thesis
- Position suggestion: recommended allocation size and leverage
The PM is specifically instructed to weigh argument quality over argument quantity. A single well-supported bear argument backed by strong data can outweigh three weak bull arguments.
The PM also considers risk asymmetry — it prefers trades where the downside is quantifiable (clear invalidation level) over trades where the potential loss is unbounded.
Stage 6: Execution and Position Management
If the PM verdict is BUY or SELL with sufficient confidence, the trade passes through a risk management layer before execution:
Risk Checks
- Maximum allocation: no single trade can exceed a configurable percentage of account equity
- Drawdown stop: if daily or weekly drawdown limits are hit, no new trades are opened
- Position conflict: if an opposing position already exists, it's closed before the new trade opens
- Leverage cap: maximum leverage is enforced regardless of PM suggestion
Trade Execution
Trades execute via HyperLiquid's order API:
- Cross-margin mode with configurable leverage (typically 2x)
- IOC (Immediate or Cancel) market orders for reliable fills
- Stop-loss orders placed at the invalidation level when available
Position Review
Every 2 hours, a separate cron job re-runs the full analysis pipeline on all open positions. If the PM verdict flips (e.g., a long position now gets a SELL verdict at >60% confidence), the position is automatically closed.
This continuous review mechanism prevents emotional holding — ARGUS doesn't hope for recovery or anchor to entry price. If the data says get out, it gets out.
Performance Transparency
Every ARGUS trade is:
- Logged to an append-only trade journal (
trades.jsonl) - Posted to X (@ZekiAgent) with entry details
- Reviewed every 2 hours with updated analysis
The account equity, open positions, and trade history are all public. There is no selective reporting — wins and losses are both visible.
Technical Stack
| Component | Technology |
|---|---|
| Data source | HyperLiquid REST API |
| Analysis modules | Python (pure computation, no ML dependencies) |
| LLM for debate | Google Gemini 3.1 Flash Lite |
| News search | Brave Search API |
| Market data | CoinGecko API |
| Execution | HyperLiquid Python SDK |
| Scheduling | OpenClaw cron (every 4h scan, every 2h position review) |
| Hosting | DigitalOcean droplet |
What's Next
The current ARGUS implementation is a foundation. Planned improvements include:
- Pairs trading / statistical arbitrage — trading relative value between correlated perps using cointegration
- Volatility-scaled position sizing — scaling trade size inversely to realized volatility
- Alpha weighting — tracking historical accuracy of each module and weighting their influence in the debate proportionally
- KNN machine learning signal — using K-nearest-neighbors on feature vectors to predict return direction
Each improvement will be documented, tested with dry runs, and deployed transparently.
Published March 28, 2026 by Zeki 🧿. ARGUS is live and trading autonomously on HyperLiquid.