Vibe-Trading: Turn Trading Ideas Into Backtestable Agent Research
- Smars
- Agent , Finance Research
- 18 May, 2026
Ask a trading question and an LLM can give you a polished answer. The problem is that it has no data, no backtest, no report, and no reproducible research path. You get an opinion, not research.
That is the dangerous part of financial agents. The risk is not that they cannot speak. It is that they speak too well. A trading assistant that cannot fetch data, validate assumptions, and leave inspectable artifacts is just a smoother way to hallucinate.
Vibe-Trading pulls the workflow back onto engineering ground: natural language is only the entry point. Behind it, you need market data, strategy code, backtest engines, validation reports, and persistent research memory.
What Vibe-Trading Is
Vibe-Trading is an open-source personal trading research agent from HKUDS. The project describes itself as “Your Personal Trading Agent” and frames the core promise as one command that gives your agent comprehensive trading capabilities.
It is not an automated live trading system. The README says the tool is designed for research, simulation, and backtesting. It does not execute live trades.
That boundary matters. It keeps Vibe-Trading away from the fantasy of an auto-profit bot and puts it in a more useful category: a workspace that turns trading questions into runnable, reviewable, and repeatable research workflows.
As of May 2026, the HKUDS/Vibe-Trading GitHub repository has about 7.5k stars and 1.5k forks. The project is moving fast. The 2026-05-17 Alpha Zoo v1 release added 452 pre-built quant alphas across four zoos: qlib158, alpha101, gtja191, and academic.
Where It Wins
Vibe-Trading’s value is not “letting an LLM look at markets.” Market lookup is only step one. The real value is the research pipeline around the agent.
| Layer | What happens |
|---|---|
| Plan | Select finance skills, tools, data sources, and swarm presets |
| Ground | Load A-share, HK, US, crypto, futures, forex, document, or web context |
| Execute | Generate testable strategy code and run the matching analysis or backtest workflow |
| Validate | Add benchmarks, Monte Carlo, Bootstrap, Walk-Forward checks, run cards, and warnings |
| Deliver | Return reports, artifacts, tool traces, and exports for TradingView / TDX / MetaTrader 5 |
This structure means the agent does not just answer “the strategy might work.” It leaves a run directory you can inspect: strategy code, metrics, benchmark comparison, validation outputs, reports, and reusable context for later sessions.
Core Capabilities
Natural language to backtest. You can ask: “Backtest a BTC-USDT 20/50 moving-average strategy for 2024, summarize return and drawdown, then export the report.” The agent turns that into data loading, strategy generation, backtesting, and reporting.
Cross-market data. The project covers A-shares, HK stocks, US stocks, crypto, futures, and forex. The README also notes that many markets work without extra API keys through free fallback sources such as yfinance, OKX, and AKShare.
Multi-agent trading teams. Vibe-Trading ships preset swarm teams such as investment committee, global equities desk, crypto trading desk, quant strategy desk, and risk committee. Instead of one agent monologuing, it splits research, quant, risk, macro, and portfolio roles.
Persistent research memory. The project supports cross-session memory, search, reuse, and editable skills. For trading research, that matters more than a single chat response. You should not have to explain your constraints, preferences, and repeat workflows from scratch every time.
Shadow Account. Upload broker trade records and the agent can analyze your behavior, extract rules, and compare your real trading path with a rule-based shadow strategy. The point is not just profit and loss. It surfaces rule breaks, early exits, missed signals, overtrading, momentum chasing, and anchoring.
Alpha Zoo. Version 0.1.8 added 452 pre-built quant alphas that can be benchmarked with one CLI command across a chosen universe and period, producing IC, IR, and alive/reversed/dead classification. That is for actual quant research, not a landing-page demo.
Data Sources and Market Coverage
Vibe-Trading does not depend on one market-data vendor. Its data layer is built around multiple loaders and automatic fallback. The current README lists 6 backtest loaders: tushare, okx, yfinance, akshare, ccxt, and futu.
| Data source | Main coverage | Key required |
|---|---|---|
| yfinance | HK equities, US equities, ETFs, indices, and other Yahoo Finance symbols | No |
| OKX | Crypto market data, especially pairs such as BTC-USDT | No |
| AKShare | A-shares, HK, US, futures, forex, and public financial-data aggregation | No |
| CCXT | 100+ crypto exchanges, depending on exchange support for spot, swaps, futures, and related markets | Usually no for public market data; yes for private account APIs |
| Tushare | A-share prices, statements, financial indicators, and point-in-time-safe fundamental fields | Optional, TUSHARE_TOKEN |
| Futu | HK and A-share data access for local Futu OpenD workflows | Depends on local Futu setup |
The official README makes the fallback model explicit: all markets can run without data API keys. yfinance covers HK/US, OKX covers crypto, and AKShare covers A-shares, US, HK, futures, and forex. Tushare is optional because AKShare acts as a free A-share fallback.
Supported markets are best understood like this:
| Market | Typical instruments / universe | Common use |
|---|---|---|
| A-shares | Shanghai/Shenzhen stocks, CSI 300 constituents, A-share factor universes | Multi-factor research, fundamentals, Alpha Zoo, risk filters |
| Hong Kong equities | HK stocks, H-shares, HK-related ETFs | Global equities research, ADR/H-share comparison, HK strategies |
| US equities | AAPL-style single names, ETFs, indices | Technical strategies, portfolio analysis, ETF flow, SEC filing research |
| Crypto | BTC-USDT, ETH-USDT, exchange spot and derivatives | Trend, mean reversion, funding, basis, liquidation heatmaps |
| Futures | Contracts available through AKShare, CCXT, or exchange loaders | Commodities, index futures, cross-market prototypes |
| Forex | Major FX rates and macro-related series | Macro rates FX workflows, currency research, allocation |
| Derivatives and thematic assets | Options, convertible bonds, ETFs, ADR/H-share, DeFi yield | Specialist analysis and agent skill workflows |
This does not mean every market has the same depth, frequency, licensing, or institutional quality. Free sources are good for research, prototypes, and review. For serious fundamental research or production-grade backtests, Tushare, Futu, or bring-your-own data still need separate evaluation.
Best Use Cases
Turning trading ideas into experiments. You have a rule, but it still lives in words. Vibe-Trading helps turn it into strategy code, historical tests, metrics, and reports.
Reviewing your own trading behavior. If you can export broker records, Shadow Account can turn “I feel like I exit too early” into observable behavior diagnostics.
Cross-market research. A-shares, HK, US, crypto, futures, and forex often require different data sources and backtest rules. Vibe-Trading’s advantage is putting those markets in one research workspace.
Plugging finance tools into an existing agent stack. It exposes CLI, Web UI, and MCP server paths. You can use it directly or wire it into tools such as Claude Desktop, OpenClaw, or Cursor.
Where It Does Not Fit
Do not use it for live trade execution. The official boundary is clear: research, simulation, and backtesting, not live trades. Use it to generate and validate ideas, not as your execution layer.
Do not trust one backtest. Financial data is full of lookahead, overfitting, survivorship bias, and source differences. Vibe-Trading provides validation and run cards, but you still need to inspect the assumptions.
Do not treat free data as institutional data. yfinance, AKShare, and OKX are useful for research and prototypes. They are not a guarantee that every adjustment, timestamp, financial statement field, or trading calendar detail is production-grade.
Do not treat multi-agent debate as truth. Swarms expose perspectives. Several LLMs discussing a trade does not equal market consensus. It is research assistance, not risk approval.
Vibe-Trading’s most useful idea is not trading automation. It is forcing agent output into a verifiable research workflow.
Installation
The fastest path is PyPI:
pip install vibe-trading-ai
After installation, you get three main commands:
| Command | Purpose |
|---|---|
| vibe-trading | Interactive CLI / TUI |
| vibe-trading serve | Launch the FastAPI web server |
| vibe-trading-mcp | Start the MCP server |
First run:
vibe-trading init
vibe-trading run -p "Backtest a BTC-USDT 20/50 moving-average strategy for 2024 and summarize return and drawdown"
For a Docker test run:
git clone https://github.com/HKUDS/Vibe-Trading.git
cd Vibe-Trading
cp agent/.env.example agent/.env
docker compose up --build
Then open http://localhost:8899.
Quick Start: Natural-Language Backtest
The smallest loop is: ask, load data, backtest, export a report.
vibe-trading run -p "Backtest a BTC-USDT 20/50 moving-average strategy for 2024, summarize return and drawdown, then export the report"
A better research prompt makes the assumptions explicit:
vibe-trading run -p "Backtest a BTC-USDT 20/50 moving-average crossover strategy for 2024. Use daily candles, include fees if supported, compare against buy-and-hold, report CAGR, max drawdown, Sharpe, trade count, and export the run artifacts."
Good prompts do not ask “is this strategy good?” They specify market, period, frequency, benchmark, fees, metrics, and deliverables. Otherwise the agent fills in assumptions for you, and those assumptions are where financial research breaks.
Practical Example: Review Your Own Trading
The Shadow Account entry point is direct:
vibe-trading --upload trades_export.csv
vibe-trading run -p "Analyze my trading behavior, extract my shadow strategy, and compare it with my actual trades"
The workflow does five things:
| Step | Output |
|---|---|
| Read the journal | Parse broker CSV exports or similar records |
| Profile behavior | Holding days, win rate, PnL ratio, drawdown, behavioral bias checks |
| Extract rules | Turn repeated entries and exits into an explicit strategy profile |
| Run the shadow | Backtest the rule-based strategy against the real trading path |
| Deliver the report | Produce inspectable HTML/PDF output for archive or later refinement |
The value is not a prettier return number. It turns vague trading habits into measurable rule differences.
Practical Example: Run Alpha Zoo
For factor research, Alpha Zoo is the harder-edged entry point.
vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025 --top 20
This evaluates a set of pre-built alphas on your chosen universe and period, then reports IC, IR, and status classification. Compared with asking an LLM to “suggest some factors,” this is closer to real research: run first, inspect next, then decide whether the idea deserves more time.
Common Traps
Treating Vibe-Trading as an execution engine. It is not a trading bot. Use it to produce research conclusions, then handle live execution, permissions, audit, and risk in a separate system.
Ignoring data-source differences. The same symbol can differ across sources because of adjustments, time zones, missing values, and trading calendars. When a backtest looks strange, inspect the data before changing the strategy.
Looking only at returns. Max drawdown, trade count, turnover, holding time, and benchmark excess return matter more than one total-return number. When the agent shows a clean equity curve, ask how it got there.
Letting the agent invent research assumptions. Market, period, frequency, fees, slippage, benchmark, and train/test split should be explicit. Vague prompts create vague conclusions.
Putting API keys in untrusted deployments. The README warns that unofficial hosted deployments should not be trusted with API keys or data-source tokens.
Bottom Line
Vibe-Trading is not about letting an agent trade for you. It is about making trading research runnable, verifiable, and reviewable.
Next time you want to ask “does this strategy work?”, do not settle for a judgment. Make the agent fetch data, run the backtest, and leave a report.
GitHub: https://github.com/HKUDS/Vibe-Trading
Docs: https://vibetrading.wiki/