"Vibe-Trading: Your Personal Trading Agent"
Vibe-Trading is a multi-agent Python framework that gives Claude and other LLMs a full suite of quantitative trading tools through a single pip install (`vibe-trading-ai`). It connects to Claude via MCP, meaning Claude Code and Claude Desktop can invoke its tools directly, and it also exposes a FastAPI backend with a React 19 frontend for chat-based interaction. The agent system includes named swarm presets such as an investment committee, quant desk, and risk committee, each with real-time per-worker status cards streamed into the chat timeline. An Alpha Zoo module houses over 191 backtestable alphas that can be benchmarked head-to-head using IC mean, information ratio, and IC-positive ratio metrics. A Shadow Account feature lets users simulate trades without real capital. The project targets retail traders, quant researchers, and developers who want to wire LLM reasoning into algorithmic trading workflows without building execution, backtesting, or data infrastructure from scratch.
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Healthy fork ratio
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
git clone https://github.com/HKUDS/Vibe-Trading && cp Vibe-Trading/*.md ~/.claude/agents/24 items in this repository
Professional finance research toolkit — backtesting (10 engines + benchmark comparison panel), factor analysis, Alpha Zoo (462 pre-built alphas across qlib158/alpha101/gtja191/academic/fundamental), options pricing, 90 finance skills, 30 multi-agent swarm teams, Trade Journal analyzer, and Shadow Account (extract → backtest → render) across 25 market-data sources (tushare, yfinance, okx, binance, akshare, baostock, tencent, mootdx, ccxt, futu, mt5, tickerall, local, eastmoney, sina, stooq, yahoo, pykrx, india_broker, qveris, longbridge, plus optional-key finnhub/alphavantage/tiingo/fmp).
ADR/H-share/A-share cross-listing premium analysis — track pricing gaps between US-listed ADRs, HK-listed H-shares, and A-shares for arbitrage signals, dual-listing valuation, and delisting risk assessment.
AKShare financial data aggregator (18k+ stars). Free, no API key. Covers A-shares, US, HK, futures, macro, forex. Primary fallback for tushare and yfinance.
Browse and bench the bundled alpha zoos — prebuilt cross-sectional factor libraries (Kakushadze 101, GTJA 191, Qlib 158, Fama-French / Carhart). Use when the user asks "which alphas exist", wants metadata on a named alpha, or wants to run IC/IR on a whole zoo over a universe.
A 股 ST/*ST 风险预测框架 — 基于最新中报/三季报或业绩预告/快报,预测下一财年是否会因营收、利润、净资产、分红不达标而被风险警示,并将新浪监管处罚记录作为独立证据面纳入风险等级。仅适用于 A 股,不预测财务造假。
Asset allocation theory and optimizer usage — MPT / Black-Litterman / risk budgeting / all-weather strategy, including guides for 5 optimizers and rebalancing rules.
Diagnose failed or underperforming backtests, locate the root cause, and fix the issue
Behavioral finance applications: theories of overreaction and underreaction, behavioral explanations for momentum and reversal, investor sentiment cycles, cognitive-bias checklists, and debiasing quantitative strategies.
Candlestick pattern recognition engine, pure pandas vectorized implementation of 15 classic candlestick patterns (5 single-candle + 5 double-candle + 4 triple-candle + 1 trend confirmation), generating a composite signal from bullish/bearish pattern scores.
CCXT unified crypto exchange library (100+ exchanges). Free public market data. Fallback when OKX is unavailable.
基于缠论(缠中说禅)的形态识别引擎,使用czsc库自动检测K线分型、笔、中枢,并生成一买/一卖/二买/二卖/三买/三卖等买卖点信号。支持多周期分析和形态分类(3/5/7/9/11笔形态)。
Commodity analysis (oil supply-demand balance / gold pricing / copper as an economic predictor / inventory cycles / futures premium-discount structure / seasonality), generating directional commodity signals.
Correlation and cointegration analysis — co-movement discovery, deep return-correlation analysis, sector clustering, realized correlation, Engle-Granger / Johansen cointegration, half-life, Kalman dynamic hedge ratio, cross-market linkage analysis, and pair-trading signal generation
Write signal_engine.py for portfolios spanning multiple markets (A-shares + crypto, equity + forex, etc.)
Crypto-derivatives strategies — perpetual funding-rate arbitrage, futures term-structure contango/backwardation trading, and option volatility-smile / Greeks analysis.
The single ROUTER for every data need. Load this skill BEFORE any backtest, data-fetch, or research task to pick the best available source/tool, honour auth (env) requirements, and avoid ban-risk providers.
DeFi yield analysis and optimization — lending rates, LP yields, staking returns, yield farming strategies, risk-adjusted yield comparison, and protocol-level sustainability assessment.
Dividend stock analysis for income, dividend-growth, and shareholder-return strategies, including yield quality, payout sustainability, ex-dividend mechanics, and yield-trap checks.
Read any common document/data file — PDF, Word (.docx), Excel (.xlsx/.xls), PowerPoint (.pptx), images (OCR), CSV/TSV, plain text, JSON/YAML/TOML, HTML/XML, and most source-code files. Use the `read_document` tool.
Earnings estimate revisions, guidance analysis, and post-earnings drift (PEAD) — track analyst consensus changes, earnings surprise patterns, and management guidance shifts for US/HK equities.
Subagents overview
<p align="center"> <b>English</b> | <a href="README_zh.md">中文</a> | <a href="README_ja.md">日本語</a> | <a href="README_ko.md">한국어</a> | <a href="README_ar.md">العربية</a> | <a href="README_es.md">Español</a> </p> <p align="center"> <img src="assets/icon.png" width="120" alt="Vibe-Trading Logo"/> </p> <h1 align="center">Vibe-Trading: Your Personal Trading Agent</h1> <p align="center"> <b>One Command to Empower Your Agent with Comprehensive Trading Capabilities</b> </p> <p align="center"> <a href="https://trendshift.io/repositories/25527" target="_blank"><img src="https://trendshift.io/api/badge/repositories/25527" alt="HKUDS%2FVibe-Trading | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a> </p> <p align="center"> <img src="https://img.shields.io/badge/Python-3.11%2B-3776AB?style=flat&logo=python&logoColor=white" alt="Python"> <img src="https://img.shields.io/badge/Backend-FastAPI-009688?style=flat" alt="FastAPI"> <img src="https://img.shields.io/badge/Frontend-React%2019-61DAFB?style=flat&logo=react&logoColor=white" alt="React"> <a href="https://pypi.org/project/vibe-trading-ai/"><img src="https://img.shields.io/pypi/v/vibe-trading-ai?style=flat&logo=pypi&logoColor=white" alt="PyPI"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow?style=flat" alt="License"></a> <br> <a href="https://github.com/HKUDS/.github/blob/main/profile/README.md"><img src="https://img.shields.io/badge/Feishu-Group-E9DBFC?style=flat-square&logo=feishu&logoColor=white" alt="Feishu"></a> <a href="https://github.com/HKUDS/.github/blob/main/profile/README.md"><img src="https://img.shields.io/badge/WeChat-Group-C5EAB4?style=flat-square&logo=wechat&logoColor=white" alt="WeChat"></a> <a href="https://discord.gg/6TdQnT5xcF"><img src="https://img.shields.io/badge/Discord-Join-7289DA?style=flat-square&logo=discord&logoColor=white" alt="Discord"></a> </p> <p align="center"> <a href="https://vibetrading.wiki/">Website</a> · <a href="https://vibetrading.wiki/docs/">Docs</a> · <a href="#-news">News</a> · <a href="#-key-features">Features</a> · <a href="#-shadow-account">Shadow Account</a> · <a href="#-demo">Demo</a> · <a href="#-quick-start">Quick Start</a> · <a href="#-examples">Examples</a> · <a href="#-api-server">API / MCP</a> · <a href="#-roadmap">Roadmap</a> · <a href="#contributing">Contributing</a> </p> <p align="center"> <a href="#-quick-start"><img src="assets/pip-install.svg" height="45" alt="pip install vibe-trading-ai"></a> </p> --- ## 📰 News > ⚠️ **Security warning:** The X account `VibeTrading_HKU`, Virtuals project `101845`, and token contract `0x640BDBF77b6447E8b7DB7894cED84BD1c40571f4` are not official Vibe-Trading assets. We have never launched or endorsed any token or memecoin. Do not buy, connect a wallet, or sign anything. [Details](SECURITY.md#official-channels--impersonation). - **2026-09-12** 📥 **A dividend row that looks like a holding, and a number format where one misplaced separator is a thousandfold error**: extraETF's CSV exports can now be read into the portfolio layer's position shape — read-only, standard library only, and failing closed on anything it cannot read without guessing ([#1406](https://github.com/HKUDS/Vibe-Trading/pull/1406), toward [#1170](https://github.com/HKUDS/Vibe-Trading/issues/1170)). The Investments export becomes positions and the Transaktionen export becomes typed movements, so a `Dividende` row, which carries a quantity and a price of its own, is never read as a position, and a transactions file cannot pose as an empty portfolio. Numbers follow the export's German grammar exactly: `1.386,608` is 1386.608, a US-ordered `1,234.56` is refused rather than read a thousandfold off, and a value the eight-decimal wire format cannot hold is refused rather than rounded — `0,000000004` shares would otherwise have become zero. An unknown header (the error names both known column sets), an unknown transaction label, a movement with no instrument, and one instrument listed twice under a single portfolio ID are all refused, while the same ISIN under two portfolio IDs — the export's normal multi-portfolio case — stays two positions. The export carries no snapshot date, so the file's modification time is reported as `source_mtime` and no position claims an observation time. Nothing calls the reader yet; wiring it into the portfolio container is next. Thanks [@cgycorey](https://github.com/cgycorey) and [@KaiLuettmann](https://github.com/KaiLuettmann)! - **2026-09-11** 📉 **Eight years of Tencent history that came back as the last two, and an evidence gate that turned away every backtest the agent ran itself**: Tencent's `fqkline` endpoint serves the **last** 500 bars of a window, not the first — a CSI 300 request for `2018-01-01..2026-06-30` returns `2024-06-06..2026-06-30` — while the loader paginated forward, stepped past the window after one page and returned a tail-only series with exit code 0 and no warning. It now walks backward from the end date, re-requests an empty page once before believing it, treats an error-shaped reply as a failure, and bumps the loader cache version so series cached by the old walk are never served again ([#1411](https://github.com/HKUDS/Vibe-Trading/pull/1411), closes [#1410](https://github.com/HKUDS/Vibe-Trading/issues/1410)). `refresh_strategy_evidence` rejected every run produced by the `backtest` tool, because only the agent runtime wrote the `state.json` its ingestion gate reads; the tool now records success, failure and timeout itself, and the gate stays fail-closed for runs nobody vouches for ([#1413](https://github.com/HKUDS/Vibe-Trading/pull/1413), closes [#1412](https://github.com/HKUDS/Vibe-Trading/issues/1412)). Concurrent cold-start data requests could come back `_unresolved` for symbols that were perfectly available: the loader registry marked itself initialised before its imports ran, so simultaneous first callers saw it empty — seven of eight in the reporter's run ([#1405](https://github.com/HKUDS/Vibe-Trading/pull/1405), closes [#1403](https://github.com/HKUDS/Vibe-Trading/issues/1403)). A swarm worker's `skills:` list, documented as its allowlist, is now enforced by `load_skill` instead of only by the prompt ([#1414](https://github.com/HKUDS/Vibe-Trading/pull/1414)), and the correlation skill's Engle-Granger example, which crashed on an unnamed series, now calls the tested quantlib functions instead of its own OLS fit ([#1404](https://github.com/HKUDS/Vibe-Trading/pull/1404)). One more was ours: thirteen broker config files that hold API keys — `alpaca.json`, `zerodha.json` and the rest — were missing from `.gitignore` though its comment claimed them, so anyone whose `VIBE_TRADING_HOME` is the checkout was one `git add -A` away from committing credentials; a test now derives the list from the code. So was a paper cancel that answered for orders it never placed: the Zerodha, Dhan and Shoonya paper connectors simulate orders locally but read the real account, and acknowledged a cancel for any order id — a live one included, which would have kept working; they now accept only the ids their simulator issued. Thanks [@shadowinlife](https://github.com/shadowinlife), [@alanwilhelm](https://github.com/alanwilhelm) and [@Shizoqua](https://github.com/Shizoqua)! - **2026-09-10** 🧾 **A remediation message that named a variable nothing reads, and an adapted strategy that wore its parent's sign-off**: when stooq answers with its anti-bot challenge page, the loader tells the operator how to route around it — and both halves of that advice were unreachable as printed. `VIBE_TRADING_MARKET_DATA_ORDER_*` is read nowhere: the registry builds `MARKET_DATA_ORDER_<MARKET>` and the config layer passes it to a bare `os.getenv`, so exporting the name as printed was a silent no-op and stooq stayed at position 2 of the US-equity chain. The other half, "drop stooq from it", is rejected outright — an override must be a **permutation** of the default chain, so a source can be reordered but not removed. The message now names the variable the registry actually reads and states the constraint, pinned to the registry rather than to a literal so it cannot drift again ([#1402](https://github.com/HKUDS/Vibe-Trading/pull/1402)). Separately, the first half of description-driven strategy adaptation landed: an adapted strategy is a **new** artifact pointing at its parent through `derived_from`, the description may change universe, name and position sizing while the signal is copied verbatim, and the child starts with empty evidence so its numbers come from its own backtest instead of inheriting the parent's ([#1391](https://github.com/HKUDS/Vibe-Trading/pull/1391), refs [#1149](https://github.com/HKUDS/Vibe-Trading/issues/1149)). Two gaps were closed on the way in, both one field over from the rule that PR was written to enforce. `dataclasses.replace` copies every field the call does not name, so the child came out `UNVALIDATED` while still carrying the parent's `validator` and `approver` — an independent sign-off worn by something that never earned it — along with an `artifact_version` and a `model_version` for code no model had generated yet. And the parent-evidence gate was reachable only from tests: `register_adaptation` never consulted it, so a stale or insufficient parent was written anyway, against what the substrate advertised. Its inputs are keyword-only and required now, so the check cannot be skipped by forgetting it. Thanks [@chiww](https://github.com/chiww) and [@modelpath-dev](https://github.com/modelpath-dev)! <details> <summary>Earlier news</summary> - **2026-09-09** 🚀 **v0.1.15 released** ([Release notes](https://github.com/HKUDS/Vibe-Trading/releases/tag/v0.1.15), `pip ins
What people ask about Vibe-Trading
What is HKUDS/Vibe-Trading?
+
HKUDS/Vibe-Trading is subagents for the Claude AI ecosystem. "Vibe-Trading: Your Personal Trading Agent" It has 33.3k GitHub stars and its last recorded update is dated 2026-09-11.
How do I install Vibe-Trading?
+
You can install Vibe-Trading by cloning the repository (https://github.com/HKUDS/Vibe-Trading) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is HKUDS/Vibe-Trading safe to use?
+
Our security agent has analyzed HKUDS/Vibe-Trading and assigned a Trust Score of 100/100 (tier: Verified). See the full breakdown of passed checks and flags on this page.
Who maintains HKUDS/Vibe-Trading?
+
HKUDS/Vibe-Trading is maintained by HKUDS. The last recorded GitHub activity is dated 2026-09-11, with 11 open issues.
Are there alternatives to Vibe-Trading?
+
Yes. On ClaudeWave you can browse similar subagents at /categories/agents, sorted by popularity or recent activity.
Deploy Vibe-Trading to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/hkuds-vibe-trading)<a href="https://claudewave.com/repo/hkuds-vibe-trading"><img src="https://claudewave.com/api/badge/hkuds-vibe-trading" alt="Featured on ClaudeWave: HKUDS/Vibe-Trading" width="320" height="64" /></a>More Subagents
The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
The agent that grows with you
Java 面试 & 后端通用面试指南,覆盖计算机基础、数据库、分布式、高并发、系统设计与 AI 应用开发
Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype to production without rebuilding the stack.
The agent engineering platform.
Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.