TL;DR
Vibe-Trading is HKU Data Science Lab’s open-source trading agent that turns natural-language prompts into runnable market research, backtests, alpha benches, and — if you opt in — bounded live orders through a broker you authorize. It’s been live since April 2026, is MIT licensed, sits at 12,526 GitHub stars (2,409 forks, 9 open issues), and has shipped daily updates through June.
The pitch is simple: most “AI trading” projects are either a thin ChatGPT wrapper that hallucinates ticker prices, or a backtest framework with no LLM in front. Vibe-Trading is one of the first that actually combines a real agent loop (48 tools, 77 finance skills, 29 multi-agent presets) with the boring infrastructure quant work actually needs — point-in-time data loaders, lookahead-banned alphas, walk-forward validation, a kill-switch broker connector, and an audit ledger.
Key facts:
- 12,526 GitHub stars, 2,409 forks, 9 open issues (extremely low for a project this size — they’re actively triaging)
- Created 2026-04-01, hit PyPI on day 19; v0.1.9 is current
- MIT licensed, FastAPI backend + React 19 frontend + Python 3.11+ agent core
- 48 agent tools, 77 finance skills, 29 swarm presets, 452 pre-built alphas
- 10 broker connectors (IBKR, Robinhood, Alpaca, Tiger, Longbridge, OKX, Binance, Futu, Dhan, Shoonya) — most paper-only, a few gated for live with a mandate + kill switch
- 13+ LLM providers — Claude (Opus 4.8+), GPT, Gemini 3.x, Kimi, DeepSeek, Z.ai, MiniMax, Qwen, OpenRouter, Ollama, Codex, GLM/Zhipu, MoonShot
- Bills itself as research-first — never custody, never trades outside your committed limits
It’s the rare “vibe-trading” repo that doesn’t immediately fall apart when you actually try to ship a strategy from it.
Who Builds This and Why It Matters
HKUDS is the Data Science Lab at the University of Hong Kong. Their previous open-source releases (LightRAG, GraphGPT, MMSSL) are among the most-cited graph + recommendation system repos on GitHub, and they have a track record of shipping research artifacts that actually run, not just awesome-list README repos.
That academic anchor is doing real work here. “AI trading bot” is the most-spammed category on GitHub. The thing that separates Vibe-Trading from the 10,000 LangChain-plus-yfinance demos is the lab actually understands point-in-time data, the lookahead-bias trap, and why a 191-alpha factor library needs an AST purity gate before it’s safe to bench. Every alpha shipped in their Alpha Zoo (Qlib 158, Kakushadze Alpha101, GTJA 191, Fama-French 5 + Carhart) is paired with a license file and a same-universe random-control test to catch factors that just track market beta.
The Trendshift trending badge plus 12.5K stars in 2.5 months also tells you something: this is filling a real gap.
What “One Command to Empower Your Agent” Actually Looks Like
The whole pitch fits in one bash block:
pip install vibe-trading-ai
# Natural-language research
vibe-trading run -p "Backtest a BTC-USDT 20/50 moving-average strategy for 2024, summarize return and drawdown, then export the report"
# Bench a pre-built alpha zoo (one line)
vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025 --top 20
# Compare alphas head-to-head
vibe-trading alpha compare alpha012 alpha034 alpha101 --sort ir
That second command is the differentiated one. It says: take the 191 alphas from Guotai Junan’s 2014 short-horizon factor report, bench all of them on the CSI 300 universe from 2018 through 2025, sort by Information Coefficient, and print the top 20. Three minutes ago that was a half-week of pandas yak-shaving. Now it’s a single line, and every alpha has a license attribution baked into the result.
The Web UI does the same thing with a chat interface, an Alpha Zoo “Compare” tab, and a live swarm dashboard. The CLI version stays the production surface because it’s scriptable and the team treats --version, vibe-trading provider doctor, and vibe-trading resume <session-id> like first-class citizens.
The Four Things It Actually Does Differently
1. Shadow Account — diagnose your own trades
This is the feature that earned the project its 0.1.5 release. Upload a CSV exported from your broker — Tongdaxin (同花顺), East Money (东方财富), Futu, or any generic format — and the agent extracts your behavior:
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"
It produces a holding-days profile, win rate, PnL ratio, max drawdown, and four bias diagnostics (disposition effect, overtrading, momentum chasing, anchoring). Then it converts your recurring entries and exits into an explicit rule-based “shadow strategy,” backtests it across markets, and shows you how much money your rule-breaking is costing. The output is an 8-section HTML/PDF report you can hand to a partner or archive for next quarter’s review.
This isn’t a model. It’s deterministic OHLCV feature evaluation, recently upgraded from a calendar-phase stub. It does the un-sexy thing well.
2. Connector-first broker architecture with a real kill switch
The trading layer has 10 brokers and treats paper vs live as an attribute of the connector, not a global config:
vibe-trading connector list
vibe-trading connector use robinhood
vibe-trading connector account
vibe-trading connector positions
vibe-trading connector orders
For brokers whose API doesn’t structurally separate paper from live (Longbridge, Dhan, Shoonya), live trading is structurally refused at the first line of place_order. For the five brokers that do support live (Robinhood Agentic, Tiger, Alpaca, OKX, Binance, Futu), there’s a five-layer safety model:
- User-committed mandate — symbol universe / order size / exposure / leverage / daily cap, all signed off explicitly
- Filesystem kill switch — touch a file and every order halts before the next iteration
- Fail-closed pre-trade gate — every order checked against the mandate before transit
- Full audit ledger — every decision and order written, no silent retries
- Auto-expiry — the mandate dies on its own schedule unless you re-commit
I’ve reviewed maybe 50 “agentic trading” repos this year. This is the only one I would actually trust with a $500 paper account, let alone a real one.
3. The Alpha Zoo — 452 pre-built alphas with attribution
Pre-built alphas with proper licensing is the kind of work no one does because it’s not glamorous. Vibe-Trading shipped four zoos:
| Zoo | Source | Alphas | License |
|---|---|---|---|
qlib158 | Microsoft Qlib | 158 | Apache-2 (attributed) |
alpha101 | Kakushadze 2015 paper (arXiv:1601.00991) | 101 | Paper rewrite |
gtja191 | Guotai Junan 2014 factor report | 191 | Source-cited |
academic | Fama-French 5 + Carhart momentum | 2 | Public-domain proxies |
Plus an AST purity gate (no I/O, no globals, no lookahead operators) and pytest-socket as a network kill-switch in tests. The run_bench_strict() variant adds a same-universe random control and an OOS split to catch factors that just track market beta. This is the kind of plumbing PhD students at HKU spend a semester building. They open-sourced it.
4. Multi-agent swarms with real worker visibility
The 29 swarm presets aren’t toys. The investment_committee preset runs a bull-bear debate, hands the conclusions to a risk reviewer, then to a portfolio manager for the final call. The quant_strategy_desk chains a screener → factor researcher → backtester → risk auditor. Each worker has its own tool set, including a local get_market_data tool that pulls through the same normalized loader as MCP — so you don’t get the classic LangGraph failure where one worker hallucinates a price and contaminates the chain.
Workers stream their state (waiting / running / done / failed / blocked / retrying) into the chat timeline in real time, and a finished card rehydrates from the final run_swarm result on reconnect. That last bit matters more than it sounds: most swarm frameworks treat a UI disconnect as a permanent state loss.
Honest Limitations
This isn’t ProductHunt copy. Things that aren’t great yet:
- The terminology is awful. “Vibe-Trading” is a name that sounds like a meme stock. Half the search results for “vibe trading” are TikTok how-to videos, not the repo. Discoverability suffers. (HKUDS clearly knows this — note the trendshift badge — but the name is sticky now.)
- Robinhood Agentic is the only live broker that’s been verified end-to-end. The others are paper-account or read-only by current design. If you want fully autonomous live execution on Interactive Brokers, you’re still waiting on their official remote MCP path to stabilize.
- Cost transparency is incomplete. Per-run token usage now persists as
llm_usage.json(added 2026-06-14), but it’s provider-reported only with no price estimation. You still have to multiply yourself. - Provider quirks bite. Multiple recent releases are dedicated to fixing DeepSeek hangs, Kimi User-Agent rejections, and Gemini 3.x
thoughtSignatureround-tripping. The “agent loop avoiding assistant-prefill messages rejected by Opus 4.8+” was a fix shipped on 2026-06-17. The capability layer is much better than v0.1.0, but if you run a less-common provider, expect to file an issue or two. - The repository is huge. First-time clone + dev install is real work. The Docker image is the recommended on-ramp, and
vibe-trading initdoes the right thing for the bare-CLI path, but going frompip installto a benched alpha on the CSI 300 universe is not a five-minute experience the first time. - A-share bias. The lab is at HKU and roughly half the loaders, brokers, and presets are tuned for Chinese markets. US-only users will use maybe a third of the features. (That’s also a strength — the Chinese-market support is by far the best you’ll find in any English-readable open-source project.)
How It Compares
Three points of comparison worth naming:
vs. FinRobot / FinGPT (AI4Finance Foundation): AI4Finance’s projects are still the most-starred in the category, but most of them are research artifacts that haven’t shipped a working CLI in 6+ months. Vibe-Trading ships weekly, has live PyPI releases, and is much more “actually a tool you’d use” than “a paper with attached code.”
vs. CrewAI + a custom yfinance tool: CrewAI is more general-purpose but you’re building the entire alpha library, backtest engine, broker connector, and safety layer yourself. Vibe-Trading gives you all of that for free with the same multi-agent pattern.
vs. QuantConnect Lean / Backtrader: Lean and Backtrader are still the right answer if you already know exactly what backtest you want to run. Vibe-Trading is the right answer if you want to ask “is this strategy idea worth testing at all?” in plain English first, then iterate.
Community Reactions
The repo’s velocity speaks for itself: 12.5K stars in 79 days, 4 translated READMEs (Chinese, Japanese, Korean, Arabic), a Discord, a public wiki at vibetrading.wiki, and a Cloudflare Pages-hosted Alpha Library that auto-renders every shipped alpha.
The PRs and issue triage tell a more interesting story. Almost every recent News entry is a fix credited to a community contributor (thanks @BillDin, thanks @LemonCANDY42, thanks @Teerapat-Vatpitak, thanks @mvanhorn, and many more). The 9 open issues number is real — the team aggressively triages and closes, which is the strongest signal that maintainer attention is high. A 12.5K-star repo with single-digit open issues two months in is something I see roughly once a year.
There’s a Hacker News thread asking “Anybody keep hearing about vibe-trading on TikTok and Reddit? Who has tried it” from October 2025 — predating this repo — that suggests the term itself was already in the air, which probably helped the project’s initial discovery.
FAQ
Is Vibe-Trading actually safe to use with a real brokerage account?
The safety model is solid for what it claims: a committed mandate, a kill switch, an audit ledger, and structural refusal of live trading for brokers that can’t separate paper from live. The team is explicit about this being experimental and recommends paper accounts first. I would absolutely paper-trade it; I would only live-trade after running paper for at least a month with the same mandate I planned to use live. That advice is also exactly what their README says.
How does it handle lookahead bias and data leakage?
This is where the academic provenance shows. Every alpha in the Alpha Zoo passes an AST purity check before it can be benched (no I/O, no globals, no lookahead operators), pytest-socket is used as a network kill-switch in tests, and run_bench_strict() adds a same-universe random control plus OOS split. Point-in-time financial-statement enrichment fails fast rather than silently falling back to raw bars. This is markedly better than 95% of the “AI quant” repos on GitHub.
Can I use it with a local LLM via Ollama?
Yes, and the Docker workflow even has a host-side Ollama default (OLLAMA_BASE_URL=http://host.docker.internal:11434) that “just works” on Docker Desktop and Linux. Smaller local models will struggle with the multi-agent presets — those want a real frontier model — but for simple vibe-trading run -p "<question>" calls and alpha benches, a quantized Qwen3 or Llama 3.5 8B is enough. Pair it with whichllm to pick the right model for your hardware before you commit.
What’s the difference between Vibe-Trading and just asking ChatGPT?
ChatGPT will hallucinate prices, can’t backtest, has no access to PIT financial statements, can’t bench 191 alphas on a real universe, and can’t issue a paper order to your broker. Vibe-Trading is the agent loop that uses an LLM as the planning brain and routes everything else through deterministic finance tools — backtest engines, data loaders, the alpha registry, broker connectors. It’s the difference between “a model that knows about trading” and “a system that does trading work.”
Should You Try It?
Try it if you:
- Want to test a strategy idea quickly without writing the backtest plumbing yourself
- Have a broker CSV sitting in a folder and have been meaning to audit your own trading
- Work on Chinese or Hong Kong markets and want the best open-source coverage available
- Are research-curious about quant alphas but didn’t want to spend two weeks on the AST safety layer
- Want a multi-LLM-provider agent that doesn’t lock you into one API key
Skip it if you:
- Already have a working Lean / Backtrader pipeline and don’t need an LLM front-end
- Only trade US equities and don’t care about the A-share-heavy data layer
- Need real-time, sub-second tick execution (this is research-grade, not HFT)
- Are looking for an “AI bot that prints money” — that’s not what this is, and the team is clear about that
pip install vibe-trading-ai and start with the BTC moving-average backtest example. If you finish that and feel underwhelmed, you can be confident in walking away. If you finish it and immediately go look for your broker’s CSV export — like I did — you’ve found a project worth the next few hours of your week.
Vibe-Trading is open source on GitHub, available via pip install vibe-trading-ai, has its own wiki, and has a Discord linked from the README. MIT licensed, so you can fork it.